RUS  ENG 

Алексей Демин (Все сообщения пользователя)

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

Страницы: 1
Area_sph
 
Подскажите пожалуйста аналог area_sph из обычного запроса в sql запросе. Всю документацию перелистал, нашел только про Length_sph(), она то в sql запросе работает, а вот area_sph() нет.
Расчет надежности
 
Добрый день. Можете подсказать:
1)Как исходя из результата расчета надежности понять предполагаемое кол-во отказов?

2)По какой формуле для одного участка рассчитывается вероятность отказа, для какого интервала времени определяется вероятность отказа? Это год, час или tотоп.пер., которая указывается в окне настройки расчета?
Вопрос по OutPut
 
Понимаю. Но не хотелось бы писать под каждый расчет макрос. В идеале хотелось бы нажимать 1 кнопку и сохранять лог в нужное мне место с нужным названием. По типу "название слоя, название расчета, дата"
DECLARE sql
 
Спасибо! Теперь начинаю понимать.
DECLARE sql
 
Мне нужно провести некоторые вычисления, прежде чем обновить поле запросом. Можно было бы обойтись и без этого, но это будет огромная формула, в которой потом будет долго разбираться, и я хотел чтобы промежуточные значения записывались в эти переменные. Чтобы это потом можно было бы прочитать. Я не могу ни где найти рабочий пример.
DECLARE sql
 
Подскажите пожалуйста, почему не получается выполнить следующий запрос

DECLARE @t1 float, @gf float;
SET @t1 = 123;set @gf =[Расчетная нагрузка на отопление, Гкал/ч]/@t1;
sel ect
sys, @gf
fr om [тnev_term]
where typeid =3

Ответ:Type mismatch in expression.

Либо если писать


set @gf =[Расчетная нагрузка на отопление, Гкал/ч];

Ответ будет: Internal error: unpack value vt(1).
Вопрос по OutPut
 
Есть другие способы получить результат последнего расчета не прибегая к окну сообщений?
Вопрос по OutPut
 
Как сохранить в файл именно открытое [B]на текущий момент[/B] окно сообщений, без ввода в строку
Set Out = Zulu.OpenOutputChannel("Надежность") имени конкретного окна сообщений.
Вычисление площади поверхности земли. TIN
 
Доброго времени суток. История следующая: имеется TIN модель рельефа и слой в котором тысячи областей. Горная местность.
Требуется для каждой области вычислить площадь поверхности земли. Как это делать в ручном режиме вполне понятно (Карта->Рельеф->Площадь, объем). Но проблема в том, что каждую область обводить контуром ("задать регион") не хватит времени. В руководстве нужной функции я не нашел. Можете подсказать как тут можно ускорить процесс?
Bulk load data conversion error
 
Версия клиента 8.0.0.8245u. У сервера аналогичная версия.

Добрый день. В руки попал слой, который при расчетах выдает следующую ошибку
Запись результатов по потребителям...
Не удалось сформировать временную таблицу.
Ошибка доступа к данным.
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 15, column 65 (F64).
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 14, column 65 (F64).
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 13, column 65 (F64).
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 12, column 65 (F64).
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 9, column 65 (F64).
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 8, column 65 (F64).
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 4, column 65 (F64).
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 2, column 65 (F64). (Код ошибки: 0x80040E14).
Запись результатов по объектам 'Узел'

База данных SQLServer. Дополнительных таблиц не привязано. Имеются дополнительные справочники.


Ссылается на поле 64 "Hcirc" "Потери напора в системе ГВС, м", с ним ничего подозрительного не обнаружили.


В чем может быть дело?
Журнал потребителей
 
Добрый день. Имеется слой инженерной сети, потребители в котором представляют из себя отдельных абонентов, а не тепловые вводы в здание. Т.е визуально это выглядит как "куст потребителей".

https://imgur.com/tcMRitd

Задача следующая: для проведения адекватных расчетов требуется заменить каждый такой "куст" на отдельный тепловой ввод, в котором будут учтены нагрузки абонентов, НО при этом, учитывая интересы инвентаризации, не удалять и не терять информацию данных абонентов.


В данный момент у нас имеется 2 решения:
1) Просто отделить абонентов от сети, чтобы они не участвовали в расчете и "висели в воздухе" рядом со вводом.
2) Настроить базу данных потребителей следующим образом:
1. Создать дополнительную таблицу, SQLserver которая будет помимо sys иметь ID - счетчик (идентификатор), в этой таблице будет храниться информация об абонентах;
https://imgur.com/eos4A0G , https://imgur.com/AzScO0b
2. В запросе связываем таблицы sys -> sys связь много к одному. Поле связи с картой - sys основной таблицы.
https://imgur.com/feSxz6X
3. В последствии при просмотре информации потребителя появится некий журнал, в который можно будет занести всех абонентов. Т.е ставим 1 потребитель, который символизирует тепловой ввод в здание, в нем есть строки из второй таблицы (журнала), листая которые мы переключаемся между абонентами.

Нам предпочтителен второй вариант.
Вопросы:
1) Можно ли использовать второй вариант? Не возникнут ли в последствии конфликты?
2) Если второй вариант можно использовать - каким образом можно автоматически или полуавтоматически (с помощью запросов, либо макросов) просуммировать нагрузку всех абонентов теплового ввода и добавить ее в соответствующее расчетное поле?
Создание таблицы в БД слоя
 
CreateTable2 работает. Как локально так и сервером воспользуюсь им. Спасибо за ответ!
Создание таблицы в БД слоя
 
[QUOTE] написал:
[URL=/forums/?PAGE_NAME=profile_view&UID=2538&sphrase_id=20033]Алексей[/URL], добрый день!
В методе CreateTableEx есть ещё один параметр, который в первом примере (VB.Net) вы передаёте (см. "out tblinf"), а в случае VB Script его (а это объект по ссылке) и не передать, из-за чего и ошибка. Для VB Script введён похожий метод CreateTable2 без этого параметра. Воспользуйтесь им.[/QUOTE]
А я думал не обязательный параметр. Но и с ним тоже пробовал, не уверен конечно, что правильно - просто добавлял переменную

dim tblinf и туда ее подставлял. Те. если полностью

dim tblinf

potr_db.CreateTableEx source,TBLNAME,tbldef,True, tblinf

Была та же ошибка.
Создание таблицы в БД слоя
 
Добрый день. Пытаюсь создать таблицу в БД.
Вот эта конструкция работает

public static void AddTable(string pathSloy)
       {
           try
           {
               var actLayer = new Layer();
               actLayer.Open(pathSloy);


               var zdb = new ZbDatabase();
               try
               {
                   //Для участков индекс 5
                   var baseName = actLayer.ObjectTypes.GetItemByIndex((int)MyZuluDBType.enItems.HeatSector).BaseName;
                   zdb.Open(baseName);

                   string tblName = "qq";
                   var source = zdb.Tables[0].Source;


                   var tbldef = new ZbTableDef();
                   tbldef.AddField("Sys", zbFieldType.zbftInteger, 0, 0, true);
                   tbldef.AddField("Descr", zbFieldType.zbftString, 50, 0, false);

                   IZbTableInfo tblinf;
                   bool res = zdb.CreateTableEx(source, tblName, tbldef, true, out tblinf);
                   if (res)
                       MessageBox.Show("Таблица добавлена");
                   else
                       MessageBox.Show("Ошибка добавления таблицы");
               }
               finally
               {
                   zdb.Save(0);
                   zdb.Close(true);
               }
           }
           catch (Exception ex)
           {
               MessageBox.Show("Сбой - " + ex.Message);
           }

       }


А вот эта почему то не работает. Хотя вроде бы как все тоже самое, не могу понять, что тут может быть не так. Подскажите пожалуйста.

' ActiveX enumeration values definitions start (do not change!)
Const zbftFloat = 6
Const zbftString = 1
Const zbftInteger = 3
' ActiveX enumeration values definitions end


Sub avar
Set Out = Zulu.OpenOutputChannel("")
Out.Clear
Out.Put "Start" + CHR(10)
Set L = CreateObject("ZuluLib.Layer")
L.Open "C:\Users\alexe\OneDrive\Рабочий стол\Сервис аварийности\testmacro\2.b00"
Set B = L.Bases
Set potr_db = B.ItemById(8).Open

tblName = "qqqq"

source = potr_db.Sources.Item(0).Name

Set tbldef = CreateObject("Zb.ZbTableDef")

tbldef.AddField "sys", zbftInteger, 0 , 6, True
tbldef.AddField "Descr", zbftString, 50, 0, false
   
potr_db.CreateTableEx source,TBLNAME,tbldef,True

potr_db.Save(0)
Out.Put "Finish" + CHR(10)
End Sub

Ошибка следующая "potr_db.CreateTableEx: несоответствие типа"
Макрос для добавления полей
 
Разобрался сам. Но ваши ответы на эту тему все-равно буду рад увидеть. Один только вопрос остался:

Source - источник таблицы (необязательный параметр). Может быть          объектом [URL=https://www.politerm.com/zuludoc/zuluax/IZbSourceInfo_cls.html]IZbSourceInfo[/URL], либо содержать строку - имя источника данных, либо пусто.

Не понимаю пока, как и где его достать?
Макрос для добавления полей
 
Добрый день. Помогите пожалуйста. Нужен макрос VBScript, для добавления полей в существующую БД, слоя инженерной сети, и вывод их в запрос с пользовательскими названиями.
Изменено: Алексей Демин - 08.04.2022 16:20:35
Страницы: 1