Всі ці скрипти стосуються роботи з лісовими картами, отже, мабуть, становитимуть для Вас цінність лише як наглядний матеріал для вирішення тих чи інших питань автоматизації. Але тоді треба мати шаблон лісових карт і створені на ньомк карти. Краще писати скрипти самому, коли надоїдатиме виконувати однотипні операції вручну.
а нет хорошей книжечки или просто инфы или видео по алгоритмам написания скриптов буду очень признателен))
![]()
просто я в этом деле совсем новичок а было бы не плохо научиться)
![]()
и еще как присвоить иконку??ну что б потом различать кнопки просто рисунок не подходит великоват по размеру по ходу пришлите примерчик пожалуйста и параметры
![]()
спасибо а вот в дигиталсе есть какая то библиотека с огромным количеством скриптов уже готовых?
![]()
вопрос как узнать какой что делает???или все методом тыка?
![]()
Ставите перед собою задачу, автоматизуєте її вирішення скриптом - отримуєте скрипт. Все в скриптах залежить від знань скриптових функцій + логіка алгоритму.
и еще как присвоить иконку??ну что б потом различать кнопки просто рисунок не подходит великоват по размеру по ходу пришлите примерчик пожалуйста и параметры
![]()
Ikon.exe (231 KB)
Нужна помощь ![]()
Кроме приведенных примеров больше ничего не получается
Не понимаю логику построения запроса для функции (или что-то неработает
) … Добавьте, пожалуйста еще несколько примеров, как вернуть значение:
- “Прізвище” из “дані про фізичну особу” / “Інформація про власника”
- “Назва села, селища, міста” из “Адреса” / “Дані про фізичну особу” / “Інформація про власника”
Есть ли возможность напрямую передать значения переменных из скрипта в генератор отчетов и в графические шаблоны DMT или только через параметры слоя ?
UPD: Кое с чем разобрался, все работает (вопросы по-прежнему актуальны). Как правильно определить/указать “путь” из XML тегов ?
$SO=@Map.SelectedObject
$SOLID=@Map.Object[$SO].Parameter[-7]
@if $SOLID<>70005 then @Goto %ParcelNotSelected
$ParcelAddress=@Map.Object[$SO].Parameter[ID7000500]
$NP=@XML.XPath Settlement $ParcelAddress
@Dialog.Message Нас.пункт: $NP
$Props=@Map.Object[$SO].Parameter[ID7000520]
$PropLN=@XML.XPath ProprietorInfo[1]/Authentication[1]/NaturalPerson[1]/FullName[1]/LastName[1] $Props
$PropFN=@XML.XPath ProprietorInfo[1]/Authentication[1]/NaturalPerson[1]/FullName[1]/FirstName[1] $Props
$PropMN=@XML.XPath ProprietorInfo[1]/Authentication[1]/NaturalPerson[1]/FullName[1]/MiddleName[1] $Props
$INN=@XML.XPath /Proprietors/ProprietorInfo[1]/Authentication[1]/NaturalPerson[1]/TaxNumber[1] $Props
$PropNM=$PropLN $PropFN $PropMN
@Dialog.Message Власник: $PropNM
@Dialog.Message ІНН: $INN
@Goto %Exit
%ParcelNotSelected
@Dialog.Message Помічений об'єкт не є XML-ділянкою
%Exit
Простой запрос XPath фактически состоит из тегов “по пути” от корневого тега к искомому, разделенных косой чертой. Корневой тег можно и не указывать (пример: ProprietorInfo[1]/Authentication[1]/NaturalPerson[1]/FullName[1]/LastName[1]), а можно и указать (пример: /Proprietors/ProprietorInfo[1]/Authentication[1]/NaturalPerson[1]/TaxNumber[1]). Цифры в квадратных скобках указывают какой по счету тег выбрать из одинаковых, если их не указывать, то подразумевается “[1]”.
З.Ы. XPath конечно же не описать в двух примерах.
З.Ы.Ы. Возможно будет удобно для составления запросов использовать Stylus Studio (пример использования)
Спасибо за развернутый ответ! А как на счет -
Я це робив зі скрипта, записуючи значення в ini-файл (@Text[N].Save Filename), а код шаблона в Reports читав значення з файла ini.
Доволі хитро, дякую за ідею !!
Наверное для модуля Reports такой подход подойдет, еще не добрался …
А вот с DMT непроходит, как я понял информация из файла ini подгружается единожды при обращении программы (или нет
) и обновленный ini-файл не читается через функцию FIL, читается “первая версия” файла, и видимо та же история с функцией SEF … Может у кого еще какие идеи есть ?
А для DMT шаблонов зачем так извращаться? Чем передача данных через параметры не устраивает?
Правильный вопрос ))
Задумка такая - взять некоторую информацию из XML-файла, обработать ее посредством скриптов и использовать для построения карты из DMT шаблона, не используя при этом модуль Reports.
Эта информация привязана к объектам? Тогда записывайте ее прямо в параметры объекта после обработки. Параметры можно создавать динамически прямо из скрипта.
Все получилось, спасибо. Еще остался вопрос с подписями. Как я понял подпись параметра можно создать через “створення/видалення підписів”, можно создать таблицу через вставку. А вот как заполнить существующую таблицу (местоположение, размер, “форматирование” определяется шаблоном) из данных записанных в параметры уже после генерации документа (из скрипта) ? Именно за этим я пытался создать .txt файл с необходимыми данными и прочитать их в нужную мне таблицу в процессе создания документа, но уперся в “ограничения” функций FIL и SEF.
Приведіть будь ласка приклад використання @ToolbarButtonState -Возвращает 1 если кнопка скрипта нажата и 0 если отжата ніяк неможу від неї 1 отримати ![]()
Похоже эту команду вовсе убрали из скриптов. Расскажите свою задачу, может эта команда и не нужна вам вовсе.