Все про скрипти

Всі ці скрипти стосуються роботи з лісовими картами, отже, мабуть, становитимуть для Вас цінність лише як наглядний матеріал для вирішення тих чи інших питань автоматизації. Але тоді треба мати шаблон лісових карт і створені на ньомк карти. Краще писати скрипти самому, коли надоїдатиме виконувати однотипні операції вручну.

а нет хорошей книжечки или просто инфы или видео по алгоритмам написания скриптов буду очень признателен)) :question: :question: :smiley: :smiley: :smiley: :smiley: :smiley:
просто я в этом деле совсем новичок а было бы не плохо научиться) :smiley: :smiley: :smiley:

и еще как присвоить иконку??ну что б потом различать кнопки просто рисунок не подходит великоват по размеру по ходу пришлите примерчик пожалуйста и параметры :laughing: :laughing: :laughing: :laughing: :laughing: :question: :question: :question:

Рекомендую Digitals-scripts і всяке збірне

спасибо а вот в дигиталсе есть какая то библиотека с огромным количеством скриптов уже готовых? :question: :question: :question:
вопрос как узнать какой что делает???или все методом тыка? :question: :question: :question: :question: :smiley: :smiley: :smiley: :smiley: :smiley: :smiley: :smiley:

Ставите перед собою задачу, автоматизуєте її вирішення скриптом - отримуєте скрипт. Все в скриптах залежить від знань скриптових функцій + логіка алгоритму.

и еще как присвоить иконку??ну что б потом различать кнопки просто рисунок не подходит великоват по размеру по ходу пришлите примерчик пожалуйста и параметры :laughing: :laughing: :laughing: :laughing: :laughing: :question: :question: :question:

Ikon.exe (231 KB)

Нужна помощь :exclamation:

Кроме приведенных примеров больше ничего не получается :frowning: Не понимаю логику построения запроса для функции (или что-то неработает :confused: ) … Добавьте, пожалуйста еще несколько примеров, как вернуть значение:

  • “Прізвище” из “дані про фізичну особу” / “Інформація про власника”
  • “Назва села, селища, міста” из “Адреса” / “Дані про фізичну особу” / “Інформація про власника”

Есть ли возможность напрямую передать значения переменных из скрипта в генератор отчетов и в графические шаблоны 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 подгружается единожды при обращении программы (или нет :question: ) и обновленный ini-файл не читается через функцию FIL, читается “первая версия” файла, и видимо та же история с функцией SEF … Может у кого еще какие идеи есть ?

А для DMT шаблонов зачем так извращаться? Чем передача данных через параметры не устраивает?

Правильный вопрос ))
Задумка такая - взять некоторую информацию из XML-файла, обработать ее посредством скриптов и использовать для построения карты из DMT шаблона, не используя при этом модуль Reports.

Эта информация привязана к объектам? Тогда записывайте ее прямо в параметры объекта после обработки. Параметры можно создавать динамически прямо из скрипта.

Все получилось, спасибо. Еще остался вопрос с подписями. Как я понял подпись параметра можно создать через “створення/видалення підписів”, можно создать таблицу через вставку. А вот как заполнить существующую таблицу (местоположение, размер, “форматирование” определяется шаблоном) из данных записанных в параметры уже после генерации документа (из скрипта) ? Именно за этим я пытался создать .txt файл с необходимыми данными и прочитать их в нужную мне таблицу в процессе создания документа, но уперся в “ограничения” функций FIL и SEF.

Приведіть будь ласка приклад використання @ToolbarButtonState -Возвращает 1 если кнопка скрипта нажата и 0 если отжата ніяк неможу від неї 1 отримати :confused:

Похоже эту команду вовсе убрали из скриптов. Расскажите свою задачу, может эта команда и не нужна вам вовсе.