RUS  ENG 

Иван Вотчинов (Все сообщения пользователя)

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

Страницы: 1
Настройка оповещения, Можно ли настроить оповещение по скрипту Версия 10.0.0.9020u.x64
 
Необходимо чтоб раз в 60 мин запускался данный скрипт. И проверить правильность его написания
Настройка оповещения, Можно ли настроить оповещение по скрипту Версия 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 запрос
 
Выдаёт ошибку Unresolved symbol 'Запорные устройства'

SEL ECT [Условный диаметр, м] AS "Диаметр",
COUNT(*) AS "Количество арматуры",
SUM ([Запорные устройства]) AS "Колличество"
FR OM [Водоснабжение СКРУ-2 (В2)]
WHERE typeid=9
GROUP BY [Условный диаметр, м]
SQL запрос на получение диаметров запорной арматуры с группировкой по колличеству, Помогите написать SQL запрос
 
Может потому-что "Запорные устройства" это не число, а текст?
SQL запрос на получение диаметров запорной арматуры с группировкой по колличеству, Помогите написать SQL запрос
 
SEL ECT [Условный диаметр, м] AS "Диаметр",
COUNT(*) AS "Количество арматуры",
SUM [Запорные устройства] AS "Колличество"
FR OM [Водоснабжение СКРУ-2 (В2)]
WHERE typeid=9
GROUP BY [Условный диаметр, м]
SQL запрос на получение диаметров запорной арматуры с группировкой по колличеству, Помогите написать SQL запрос
 
Ошибку выдаёт
Syntax error.
Text: 'Запорные устройства AS "Колличество"
FROM [Водоснабжение СКРУ-...'
Pos: 105, Ref: 0xE001
SQL запрос на получение диаметров запорной арматуры с группировкой по колличеству, Помогите написать SQL запрос
 
Type mismatch in expression.
SQL запрос на получение диаметров запорной арматуры с группировкой по колличеству, Помогите написать SQL запрос
 
Написал запрос, но не могу понять где ошибка. Прошу исправить

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

'type_uz - Водопроводный колодец
'preff - префикс
type_uz = 6
preff= "ВК-"

Set L = Zulu.ActiveMapDoc.Layers.Active

Set Db = CreateObject("Zb.ZbDatabase")

Db.Open L.ObjectTypes.Item(type_uz).BaseName



Set Keys = L.ElementKeys.SelectByType(type_uz,1)

n = 1

For i = 1 To Keys.Count


Set el = L.Elements.Item(Keys.Item(i)) 'Получаем объект по ключу

If el.ModeId = 1 Or el.ModeId = 4 Then 'Применяем только к нужным режимам

text = preff & n

Db.UpdateBaseRecord Keys.Item(i), "Name" , text, 0

n = n + 1

end if

Next

MsgBox "Пронумеровано " & n-1 &" узлов"

End Sub
Нумерация объектов по порядку (напр. колодцы в слое водоснабжение: ВК- и дальше номер), Помогите написать SQL запрос для того, чтобы можно было нумеровать по порядку колодцы в слое водоснабжение. ВК- и дальше номер
 
Не пойму куда вставить
Нумерация объектов по порядку (напр. колодцы в слое водоснабжение: ВК- и дальше номер), Помогите написать SQL запрос для того, чтобы можно было нумеровать по порядку колодцы в слое водоснабжение. ВК- и дальше номер
 
А если оставить в нумерации несколько режимов?
Нумерация объектов по порядку (напр. колодцы в слое водоснабжение: ВК- и дальше номер), Помогите написать SQL запрос для того, чтобы можно было нумеровать по порядку колодцы в слое водоснабжение. ВК- и дальше номер
 
Спасибо получилось, но он нумерует все узлы.
Sub set_name_uzel

'type_uz - Водопроводный колодец
'preff - префикс
type_uz = 6
preff= "ВК-"

Set L = Zulu.ActiveMapDoc.Layers.Active

Set Db = CreateObject("Zb.ZbDatabase")

Db.Open L.ObjectTypes.Item(type_uz).BaseName



Set Keys = L.ElementKeys.SelectByType(type_uz,0)

n = 1

For i = 1 To Keys.Count


text = preff & n

Db.UpdateBaseRecord Keys.Item(i), "Name" , text, 0

n = n + 1
Next

MsgBox "Пронумеровано " & n-1 &" узлов"

End Sub

Мне нужно пронумеровать только водопроводный колодец, а разветвления не надо. Что-то подскажете?
Нумерация объектов по порядку (напр. колодцы в слое водоснабжение: ВК- и дальше номер), Помогите написать 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