Аналитика
http://geosystema.net/forum/

Все про скрипти
http://geosystema.net/forum/viewtopic.php?f=1&t=2809
Страница 2 из 83

Автор:  Deffar [ 30 янв 2013 15:33 ]
Заголовок сообщения:  Re: Все про скрипти

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

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

Автор:  Bondarets Alexander [ 30 янв 2013 17:10 ]
Заголовок сообщения:  Re: Все про скрипти

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

Автор:  Deffar [ 31 янв 2013 15:18 ]
Заголовок сообщения:  Re: Все про скрипти

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

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

Автор:  Deffar [ 19 фев 2013 09:43 ]
Заголовок сообщения:  Re: Все про скрипти

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

Автор:  Bondarets Alexander [ 19 фев 2013 09:55 ]
Заголовок сообщения:  Re: Все про скрипти

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

Автор:  Bondarets Alexander [ 19 фев 2013 09:59 ]
Заголовок сообщения:  Re: Все про скрипти

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

Самый гибкий вариант - это использование скриптов Digitals. Скрипт можно сохранить в нужном слое DMT шаблона и заставить его активироваться по событию. Например, использовать слой участка и запускать скрипт по событию %Events.OnAdd. При этом вы сможете выполнять все необходимые действия при генерации документа на основе DMT шаблона.

Автор:  Deffar [ 19 фев 2013 10:36 ]
Заголовок сообщения:  Re: Все про скрипти

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

Как убрали, только вчера добавили :?: Так бы я ее и вовсе не замеметил :)
Изображение
Задач серьезных по этому поводу нет.
Есть кнопка для поворота @Map.Selected.Rotate 1 подумал что можно в цикле на пару с новой функциеей использовать (при нажатой кнопке - поворачивать), или я неправильно понял ее действие ?
А за идею с %Events.OnAdd спасибо, буду пробовать.

Автор:  Bondarets Alexander [ 19 фев 2013 10:40 ]
Заголовок сообщения:  Re: Все про скрипти

Цитата:
Как убрали, только вчера добавили :?: Так бы я ее и вовсе не замеметил :)

А ну значит, я просто не в курсе последних событий. Надо обновить Digitals :)

Автор:  Dmitry_Zolotar [ 19 фев 2013 11:09 ]
Заголовок сообщения:  Re: Все про скрипти

Deffar писал(а):
Есть кнопка для поворота @Map.Selected.Rotate 1 подумал что можно в цикле на пару с новой функциеей использовать (при нажатой кнопке - поворачивать), или я неправильно понял ее действие ?


Нажатие на кнопку с обработчиком событий меняет состояние "нажата/не нажата". Для них актуально проверять @ToolbarButtonState.
Обычная кнопка запускает скрипт в момент отпускания, потому @ToolbarButtonState=0 всегда для этой кнопки в скрипте.

Автор:  Deffar [ 19 фев 2013 11:24 ]
Заголовок сообщения:  Re: Все про скрипти

Dmitry_Zolotar писал(а):
Нажатие на кнопку с обработчиком событий меняет состояние "нажата/не нажата". Для них актуально проверять @ToolbarButtonState.
Обычная кнопка запускает скрипт в момент отпускания, потому @ToolbarButtonState=0 всегда для этой кнопки в скрипте.
С этим ясно, спасибо :!: Есть еще вопросы :wink:
Как "добыть" из XML/Місцерозташування земельної ділянки значение Urban/ или Rural/ (в межах/за межами)? @XML.XPath -запрос не дает результата, наверное из за того что Urban/ и Rural/ тоже являются тегами :?:

Автор:  Bondarets Alexander [ 19 фев 2013 12:16 ]
Заголовок сообщения:  Re: Все про скрипти

Для определения наличия тега можно использовать функцию @XML.NodeCount Query Tag XMLString где в Query указывать путь к родительскому тегу, а в Tag имя искомого дочернего элемента.

Автор:  Deffar [ 19 фев 2013 13:22 ]
Заголовок сообщения:  Re: Все про скрипти

Bondarets Alexander писал(а):
Для определения наличия тега можно использовать функцию @XML.NodeCount Query Tag XMLString где в Query указывать путь к родительскому тегу, а в Tag имя искомого дочернего элемента.

Что-то у меня с дружественным XML-форматом сразу не заладилось. Напишите пожалуйта пример для Urban, заранее спасибо.

Автор:  Bondarets Alexander [ 19 фев 2013 13:57 ]
Заголовок сообщения:  Re: Все про скрипти

Цитата:
Что-то у меня с дружественным XML-форматом сразу не заладилось. Напишите пожалуйта пример для Urban, заранее спасибо.
Код:
$N=@Map.SelectedObject
@If $N<=0 @Break Выделите XML участок
$XML=@Map.Object[$N].Parameter[ID7000500]
$Path=/ParcelLocationInfo/ParcelLocation
$Found=@XML.NodeCount $Path Urban $XML
@if $Found>0 then @Dialog.Message Участок в черте города
@if $Found=0 then @Dialog.Message Участок за городом

Автор:  Deffar [ 19 фев 2013 15:04 ]
Заголовок сообщения:  Re: Все про скрипти

:) От воно, як все просто. Ще раз дякую за допомогу !

Автор:  Deffar [ 19 фев 2013 16:31 ]
Заголовок сообщения:  Re: Все про скрипти

Bondarets Alexander писал(а):
Самый гибкий вариант - это использование скриптов Digitals. Скрипт можно сохранить в нужном слое DMT шаблона и заставить его активироваться по событию. Например, использовать слой участка и запускать скрипт по событию %Events.OnAdd. При этом вы сможете выполнять все необходимые действия при генерации документа на основе DMT шаблона.
Немного "разобрался" с событиями %Events - узнал много нового и интересного :) Но так и не нашел ответа на вопрос - как передать значение переменной из скрипта в заранее подготовленую таблицу местоположение, размер, "форматирование" которой определяется DMT шаблоном. Да можно использовать %Events.OnAdd - посоздавать/позаполнять параметры какого-либо слоя и создать для них подпись, но это "шаг назад" в оформлении плана.Функции FIL и SEF + обмен значений через файл txt - вполне себе рабочий вариант но только на один раз :lol: Может разработчики согласятся их "допилить", а именно - считывать данные из файла каждый раз при обращении, или это ломает логику их работы :?: Всю обработку данных из XML сегодня можно полноценно делать в скрипте и необходимость в генераторе отчета для построения кад.плана как бы отпадает...

Страница 2 из 83 Часовой пояс: UTC + 2 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/