Подскажите, пожалуйста, как заполучить дату модификации слоя, опубликованного на сервере. Нашел метод GetLastChangesTime , но кажется, это чего-то другое и непонятно, как работает. Для локальных слоев вроде понятно - можно через FIleSystemObject добраться до атрибутов файла. А на опубликованном слое откуда дату забрать?
Я тут, короче, на досуге сделал запрос, вдруг кому пригодится. Там у нас при расчете протяженности сетей есть такая проблема, что для участков с двойной проводимостью длину участка следует умножать на два, а участки с отключенной подающей или обратной линией надо считать без умножения. Желательно делать это прям в запросе, причем так, чтоб расчет был независимо от количества созданных в слое пользовательских режимов участков. Условием является то, что при добавлении новой категории участков, в структуре слоя создается четыре режима участка: 1 - включен, 2 - отключен, 3 - отключен обратный, 4 - отключен подающий. Таким образом, длина участков с номером режимов modeid = 1,2,5,6,9,10, ... умножается на 2, а длина участков с modeid=3,4,7,8,11,12,... не изменяется. И вот пример, с группировкой по диаметрам и выводом расчетной протяженности по карте (для сравнения данных в БД с данными геометрии):
SEL ECT [Внутpенний диаметp подающего тpубопpовода, м],
Sum(iif(Round((modeid/4-Floor(modeid/4))*4,0) > 0 and Round((modeid/4-Floor(modeid/4))*4,0) < 3, [Длина участка, м]*2, [Длина участка, м])) as "Протяженность по БД",
Round(Sum(iif(Round((modeid/4-Floor(modeid/4))*4,0) > 0 and Round((modeid/4-Floor(modeid/4))*4,0) < 3, geometry.length()*2, geometry.length())),4) as "Протяженность по карте Zulu"
FR OM [Название слоя]
GROUP BY [Внутpенний диаметp подающего тpубопpовода, м]
Внимание вопрос. Можно ли как-нибудь упростить выражения в запросе (например, введя переменную)? А то я чего-то в SQL не силён.
P.S. я с детства ужасно боюсь вещественных чисел с плавающей запятой, поэтому в выражениях на всякий случай стоят лишние операторы Round с округлением до целого числа.
Добрый день! Имеется слой тепловой сети, в составе которого имеется источник с неограниченной подпиткой, ЦТП (номер схемы 25) и ряд потребителей. Схемы подключения потребителей после ЦТП - 4 и 26 (ГВС). Для ЦТП указан погодный регулятор. Если задать на источнике текущую температуру воды в подающем трубопроводе 73-74 градуса, то при выполнении поверочного расчета выводятся сообщения о том, что температура внутреннего воздуха на потребителях после ЦТП ниже расчетной на 13-19 градусов. При температуре 75 градусов на источнике, расчет не завершается и выводятся сообщения о том, что температура на потребителях ниже 0 градусов. А если установить текущую температуру воды в подающем трубопроводе 72 или 76 градусов, то расчет завершается нормально и подобные сообщения не выводятся. В чем может быть причина?
Расчет выполняется на текущую температуру наружного воздуха -12 градусов. У потребителей расчетная температура внутреннего воздуха задана 20 градусов. Количество и диаметр установленных шайб на ЦТП указаны нулевые.
Версия ПО 8.0.0.7525u, но и в предыдущей версии картина такая же.
Кажется, при смене режима объекта должна быть опция "Обновить состояние сети". Пробовал менять режимы участков и что-то я не могу ее найти. Это так и должно быть?
Спасибо. Та я добавил в свой макрос инструкцию, которая меняет неправильный символ, если он есть в строке и если он неправильный. Обновление централизованное, будет позже, но код макроса менять необязательно.
Есть у меня еще ощущение, что метод ZuluTools.GetFileName(nIndex) не совсем корректно работает, в случае, если
при вызове ZuluTools.ShowOpen() с множественным выбором слоев пользователем было выбрано несколько слоев. И выбор слоев происходит на сервере
А сама некорректность заключается в том, что возвращаемая GetFileName() строка содержит обратный слэш "\" перед именем файла, например: "zulu://MyServer:6473/Termo\teplosam.zl" Это обстоятельство вызывает удивление у следующего метода LayerCopyEx() который не может найти слой по такой строке и стыдливо возвращает висючее False вместо гордо стоячего True.
Метод GetLayerUserName для локально размещенного слоя *.b00 возвращает строку с пользовательским названием слоя. Для опубликованного на сервере слоя *.zl - пустую строку.
Проверял только на одном сервере, других не знаю. Предположил, что он везде так работает.
Да, думаю, что скорее всего, это запись результатов наладочного/поверочного расчета в БД, т.к. в логе на тот же период времени имеется аналогичное сообщение об изменении расчетных параметров по узлам сети: [CODE]01.11.2017 14:27:47 zb: 2190 1F387388 execsql: UPDATE [ТС_kamera1] AS T1 SET T1.[H_obr] = ?, T1.[H_ras] = ?, T1.[H_pod] = ?, T1.[Ppod] = ?, T1.[Pobr] = ?, T1.[Tpod] = ?, T1.[Tobr] = ?, T1.[Nist] = ?, T1.[Time] = ?, T1.[Dist] = ?, T1.[Tb] = ?, T1.[Hstat] = ?, T1.[Hstat_out] = ? WHERE T1.[Sys] = ?[/CODE]
Два слоя тепловой сети с именами условно слой "ААА" и слой "БББ" Можно ли написать запрос (интересует синтаксис обращения к полям БД разных слоев ТС), который выводит:
Вопрос программистам расчетного модуля ZuluThermo. Я правильно понял, что проводимость двухтрубных участков определяется при расчете по двум последним битам порядкового номера режима участка (нумерация с нуля), а вовсе не по значению поля (выпадающего списка) "Состояние" в структуре слоя (Структура->Слой->Типы и режимы->Участки)? Любопытство-с...
Добрый день! Какую схему подключения можно выбрать на ЦТП и у потребителей, для интересного случая бойлера на систему отопления с открытым водоразбором на ГВС (до бойлера)? Можно ли в этом случае рисовать 3,4-трубную сеть после ЦТП с разделением на потребителей ГВС и отопления?