RUS  ENG 

Иван Вотчинов (Автор тем)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Настройка оповещения, Можно ли настроить оповещение по скрипту Версия 10.0.0.9020u.x64
 
Можно ли настроить оповещение по скрипту:
Sub CheckDataAndNotify()
   Dim Db As Object
   Dim LastRecordTime As Date
   Dim CurrentTime As Date
   Dim TimeDifference As Double
   Dim NotificationMessage As String
   
   ' Открываем базу данных
   Set Db = CreateObject("Zb.ZbDatabase")
   Db.Open "Z:\skru-3-nydro\Водоснабжение СКРУ-3 В1.sqlite"  ' Укажите имя вашей базы данных
   
   ' Получаем время последней записи
   LastRecordTime = Db.ExecuteScalar("SEL ECT MAX(TagTimeStamp) FR OM HistoryData")  -- Укажите таблицу и колонку с временем
   
   ' Получаем текущее время
   CurrentTime = Now
   
   ' Вычисляем разницу во времени (в минутах)
   TimeDifference = DateDiff("n", LastRecordTime, CurrentTime)
   
   ' Проверяем, превышает ли разница допустимый порог (например, 10 минут)
   If TimeDifference > 10 Then
       NotificationMessage = "Ошибка: данные с расходомеров не поступают уже " & TimeDifference & " минут."
       
       ' Отправляем оповещение
       MsgBox NotificationMessage, vbCritical, "Оповещение"
       
       ' Дополнительно: отправка уведомления по электронной почте
       SendEmailNotification NotificationMessage
   End If
End Sub

Sub SendEmailNotification(Message As String)
   Dim OutlookApp As Object
   Dim MailItem As Object
   
   ' Создаем объект Outlook
   Set OutlookApp = CreateObject("Outlook.Application")
   Set MailItem = OutlookApp.CreateItem(0)
   
   ' Настраиваем письмо
   With MailItem
       .To = "[URL=mailto:ivan.votchinov@uralkali.com]ivan.votchinov@uralkali.com[/URL]" -- Укажите email для уведомлений
       .Subject = "Оповещение Zulu: данные с расходомеров не поступают"
       .Body = Message
       .Send
   End With
   
   ' Освобождаем ресурсы
   Set MailItem = Nothing
Изменено: Иван Вотчинов - 12.03.2025 06:19:50
SQL запрос на получение диаметров запорной арматуры с группировкой по колличеству, Помогите написать SQL запрос
 
Написал запрос, но не могу понять где ошибка. Прошу исправить

SELECT [Условный диаметр, м] AS "Диаметр",
COUNT(*) AS "Количество арматуры",
SUM("Запорные устройства") AS "Колличество"
FROM [Водоснабжение СКРУ-2 (В2)]
WHERE typeid=9
GROUP BY [Условный диаметр, м]
Нумерация объектов по порядку (напр. колодцы в слое водоснабжение: ВК- и дальше номер), Помогите написать SQL запрос для того, чтобы можно было нумеровать по порядку колодцы в слое водоснабжение. ВК- и дальше номер
 
Помогите написать SQL запрос для того, чтобы можно было нумеровать по порядку колодцы в слое водоснабжение. ВК- и дальше номер.
Пробывал такой вариант:

UPD ATE [Конструкторский ХПВ РУ-4]
SE T "Узел" = CONCAT('ВК', LPAD(CAST(SUBSTRING("Узел", LOCATE('ВК', "Узел") + 2) AS INT) + 1, 2, '0'))
WHERE "Узел" LIKE 'ВК%';

Выдаёт:
nknown function 'CONCAT'.
Text: '('ВК', LPAD(CAST(SUBSTRING("Узел", LOCATE('ВК', "Узел") + 2) AS...'
Pos: 55, Ref: 0xE208
Изменено: Дмитрий Озеров - 10.09.2025 09:30:56
Страницы: 1