RUS  ENG 

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

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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 42 След.
Как удалять карты и слои?, Возможно, это банальный вопрос и это базовые вещи, но не могу понять. Если слои вроде понятно - слой - уничтожить, то как удалить карты я не совсем понимаю
 
Эдмонд, добрый день!
1. Массово физически удалять слои с сервера не делали из соображений безопасности, чтобы минимизировать случайные удаления.
2. Удаление карт на сервере тоже пока не делали, даже запроса такого пока не было. Мы можем сделать, но тоже одиночное, не массово из соображений в п.1
Разработка плагина/модуля для работы с Zulu в фоновом режиме
 
[QUOTE] написал:
[QUOTE] написал:
Добрый день!
Нет, пока ловить такие события нет возможности. Для этого нужно, чтобы плагин или иное расширение работало на сервере в связке со службой ZuluServer, а сейчас плагины и ActiveX предназначены для клиентской части.[/QUOTE]
А такой фунционал планируется в ближайшем будущем или упор на это не делается?[/QUOTE]
Нет, пока в этом направлении не велись разработки. Сейчас доступ к данным есть через COM-модель (ActiveX), причём допустим дополнительная служба, использующая её, обращается к серверу как обычный клиент.
Проблема только с событиями ядра.
Вариант через прямой вызов кода обработчика возможен только в пространстве процесса службы ZuluServer, это потребует механизма плагинов/расширений для сервера. Но именно этот (inproc) вариант мы пока не разрабатываем, из-за соображений надёжности и безопасности, требования к качеству плагина будут гораздо выше квалификации прикладных программистов.
Второй вариант (outproc) - делать механизм подписки на события из другого процесса (той же службы на пример), возможно также через COM-модель, через дополнительный канал. Мы пока не брались за это, разработка может вестись уже в следующей, 11-й версии.
Разработка плагина/модуля для работы с Zulu в фоновом режиме
 
Добрый день!
Нет, пока ловить такие события нет возможности. Для этого нужно, чтобы плагин или иное расширение работало на сервере в связке со службой ZuluServer, а сейчас плагины и ActiveX предназначены для клиентской части.
Не заполняется макросом подчинённая таблица.
 
[QUOTE] написал:
Разнос информации в главной таблице автоматизирован за счёт запросов, буквально 10 полей[/QUOTE]
"Разнос информации" - это заполнение данных в главной таблице ?

Если да, то
[QUOTE] написал:
В подчинённой таблице много нужно заносить, запросы не работают[/QUOTE]
В подчинённых таблицах данные тоже можно программно заносить с помощью запросов, где эти таблицы главные.
Не заполняется макросом подчинённая таблица.
 
Добрый день!
Судя по всему скрипт писался с помощью какого-то бредогенератора (в простонародье ИИ), т. к. таких методов как GetSubTableIndexByName, GetSubTableRecordCount, GetSubFieldValue и проч. в объектной модели ZuluGIS нет, ИИ их просто выдумал.
Поэтому и выдаёт ошибку.
Запись объектов из одного слоя в другой
 
Владимир Смирнов,
Проверьте как описал Алексей через оператор SELECT:
Код
SELECT A.Sys, B.Sys
FROM [Тепловые сети и ГВС на 2025] AS A, [Истра ТС] AS B
WHERE A.typeid = 3 AND B.typeid = 3
AND A.geometry.Within(B.geometry)
Должен выдаться список пар Sys куда и откуда надо будет переписать информацию.
Если он пуст, то координаты не совпадают.

Для точечных объектов (потребители) результаты STWithin и STEquals должны совпадать.
Шаблон поиска. Unresolved symbol
 
percogaz, добрый день!
Возможно при просмотре информации открывается один запрос, а в шаблоне поиска указан другой, где такого поля нет.
Либо возможно в шаблоне указан запрос "по умолчанию", а в базе формой по умолчанию (которая автоматически открывается в окне инвормации) указана та, что создана для другого запроса.
Макрос c выборкой из БД(IZbDataset)
 
alw39, добрый день!
GetDataFields вернёт объект IZbDataFields (см. [URL=https://www.politerm.com/zuludoc/zuluax/index.html#IZbDataFields_cls.html]https://www.politerm.com/zuludoc/zuluax/index.html#IZbDataFields_cls.html[/URL]).
Из него значения можно получить методом GetFieldValue (см. [URL=https://www.politerm.com/zuludoc/zuluax/index.html#IZbDataFields_GetFieldValue.html]https://www.politerm.com/zuludoc/zuluax/index.html#IZbDataFields_GetFieldValue.html[/URL])
Работа с IZbDataset object, Несколько вопросов на тему работы с БД в C#
 
Алексей, добрый день!
Объект IZbDataset - набор данных последовательного доступа. Примерный паттерн работы с ним такой (в продолжение Вашего примера):
[CODE]df.MoveFirst()
while (!df.Eof)
{
   string str;
   str = ds.FieldValue[0];
   str += ",";
   str += ds.FieldValue[1];
   str += "\n";
   Out.Put(str);
   ds.MoveNext();
}
[/CODE]Кроме этого ds.FieldCount вернёт кол-во полей.
Через ds.GetFieldValueVar и ds.GetFieldValueBlob модно получать данные в бинарном виде или в виде объекта IZbBlob (для полей типа blob)
Запись объектов из одного слоя в другой
 
percogaz, добрый день!
Уточните, в слой 1 не записываются сами графические объекты ?
Структура слоя/Базы данных/<требуемая БД>/сервис/ sql... /Тест
 
soil_eater, добрый день!
Здесь можно протестировать любой произвольный SQL запрос, адресованный непосредственно СУБД.
Обратите внимание на ниспадающий список "Источник:": здесь нужно выбрать соединение, с которым будет выполняться набранный в окошке редактирования SQL-оператор.
Такое же окно можно вызвать из редактора запроса, тогда будут работать кнопки "Выборка по ключу" и "Все записи". Они будут формировать соответствующий текст запроса, который можно будет проконтролировать и выполнить.
Проблема c обработчиком событий при подключении плагина на С#
 
Дмитрий, хорошо. Если что-то не так, дайте знать, мы подправим.

Основная сложность, с которой мы сталкиваемся, это взаимодействие управляемого (managed) кода C# c неуправляемым (unmanaged, native) кодом ZuluGIS. На стороне управляемого кода работает сборщик мусора, который вмешивается в обычное время жизни тех или иных объектов ZuluGIS и мы возникающие нюансы вручную обходим.
Проблема c обработчиком событий при подключении плагина на С#
 
Дмитрий, исправили проблему. В текущем обновлении исправления включены. Попробуйте, пожалуйста.
Всплывающая аннотация к макросу.
 
Алексей, добрый день! В текущей версии это не сделать - пока нет поддержки многострочных всплывающих подсказок. Но в будущем подумаем как сделать.
Проблема c обработчиком событий при подключении плагина на С#
 
Дмитрий, добрый день!
Мы воспроизвели проблему. Как только разберёмся в чём дело, ответим подробнее.
Некорректные возвращаемые данные эвента evBrowserRecordChanged(196609)
 
Алексей, добрый день!
В Вашем примеры в параметре Param3 совершенно корректно приходит значение поля Sys (в виде пары: имя и значение).
В этом параметре приходит массив полей и их значений, которые (внимание!) идентифицируют запись. В большинстве случаев это ключевое поле (Sys), бывает это какое-то поле-счетчик, а бывает сложный ключ и тогда в массив попадают несколько значений полей.

Для программной работы в каким-то полем в браузере посмотрите, пожалуйста, на объекты-обработчики (см. [URL=https://www.politerm.com/zuludoc/zuluax/index.html#CustomBrowseObject_cls.html]https://www.politerm.com/zuludoc/zuluax/index.html#CustomBrowseObject_cls.html[/URL]).
Сценарий при этом будет несколько иной. При добавлении в свойствах какого-либо поля (или полей) тегов "(custombrowseobject)" и "(custombrowsemethod)" у поля в браузере будет появляться многоточие, по нажатию на которое будет вызывать указанный обработчик.

Посмотреть как это устроено можно на примере тепловой сети, где допустим у участков через особую форму-справочник задаётся сортамент труб и местные сопротивления.
Функции GeoSQL при работе в Zulu, Функции пересечения объектов между разными слоями
 
А можете прислать пример данных (фрагмент) и запрос на douser@politerm.com, мы проверим ?
Функции GeoSQL при работе в Zulu, Функции пересечения объектов между разными слоями
 
Необходимое условие для всех пространственных операций - оба слоя должны быть в одной проекции.
Функции GeoSQL при работе в Zulu, Функции пересечения объектов между разными слоями
 
Например, для "Примера тепловой сети" следующий оператор
Код
SELECT L1.Sys, L2.geometry.Intersection(L1.geometry).AsText()
FROM [Пример тепловой сети] AS L1, [Кварталы] AS L2
WHERE L1.typename="Участки" AND L1.geometry.Crosses(L2.geometry)
вернёт отрезки участков, "обрезанных" кварталами.

В посте выше опечатка. Правильно
Код
<polygon-geometry>.Intersection(<linestring-geometry>)
("Intersects" - это отношение "пересекает ли")
Изменено: Дмитрий Озеров - 16.10.2025 20:03:35
Microsoft Print To PDF в PrintInfo
 
Проверьте, точно ли объявлена константа ePrintNoPrintDlg (и заодно ePrintExplicitScale) ?[CODE]const ePrintNoPrintDlg = &H10000000
const ePrintExplicitScale = &H1
[/CODE]Также ещё проверить установились ли опции[CODE]MsgBox objPrintInfo.Options[/CODE]
Microsoft Print To PDF в PrintInfo
 
Выложили сегодняшнее обновление с обсуждаемыми исправлениями.
Помимо этого, добавлена опция ePrintFragment[CODE]const ePrintFragment = &H80[/CODE]которая отвечает за печать выделенного фрагмента:[CODE]objPrintInfo.Options = ePrintNoPrintDlg + ePrintFragment + ePrintExplicitScale[/CODE]Исправления внесены как в ZuluGIS 2021, так и в ZuluGIS 8.0
Иконка для кнопки команды плагина
 
Сергей, добрый день!
1. Сейчас ZuluGIS умеет работать только с ресурсами Win32 (т.е. в "нативных" сборках).
Можно с помощью Visual C++ создать DLL с ресурсами кнопок (BMP) и в манифесте .plugin указать эту DLL в качестве <resourcemodule> (по аналогии с тегом <module>) Так сделано например в .\Plug-Ins\Politerm\ZuluPiezo.plugin
2. Сейчас такой режим кнопки ("check-box") включается только для команды, отвечающей за отображение/скрытие окна плагина. МЫ доработаем в следующей версии, чтобы можно было управлять стилем кнопок.
Параметры запуска ZuluGIS.exe
 
Георгий, добрый день!
Есть служебные /Register и /UnRegister для регистрации COM-сервера (осталось рудиментарно от предыдущих версий)
Есть /nologo чтобы не показывать заставку.
Функции GeoSQL при работе в Zulu, Функции пересечения объектов между разными слоями
 
Aleksandr, добрый день!
Есть функция geometry.Intersection(), которая вернёт объект geometry-пересечение.
Выполнение функции над полигоном и полилинией вида:
Код
<polygon-geometry>.Intersects(<linestring-geometry>)

вернёт часть линейного объекта, попавшего в площадной.
Однако не понятно
Цитата
записать характеристики площадных объектов к вычисленным частям линейных.
Записать можно в данные к конкретному линейному объекту, нет понятия частей объекта, к которым можно записывать отдельно данные.
Microsoft Print To PDF в PrintInfo
 
Георгий, добрый день!
Просим прощения, пропустили июньское сообщение.
У нас в коде была ошибка, связанная с указанием Device и Driver, сейчас исправили.
Однако в PrintInfo не хватает опции печати по выделенному фрагменту (ePrintExplicitRect не подходит).
Мы в ближайшее время внесём доработки для этого.
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 42 След.