Аналитика

Цифровая фотограмметрия, картография и землеустройство
Текущее время: 28 мар 2024 16:58

Часовой пояс: UTC + 2 часа




Начать новую тему Ответить на тему  [ Сообщений: 300 ]  На страницу 1, 2, 3, 4, 5 ... 20  След.
Автор Сообщение
 Заголовок сообщения: XML против Reports
СообщениеДобавлено: 10 фев 2011 11:52 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
06 фев 2008 18:09
Сообщения: 312
Откуда: Ужгород
С XML в дигиталсе еще можно разобратся, поскольку элементы XMLя читаются как простые параметры, можем использовать уже накатанные пути заполнения параметров, к тому же разработчики постоянно дополняют функционал самой программы.
Но что делать с отчетами (Reports)?
Новые требования по технической документации запрашивают больше чем задано в ин4, по этому конвертацию из хмеля в ин4 не рассматриваю(собственно и развитие старых шаблонов).
Открыл пример нового обменника с сайта, и попытался создать отчет. Сразу понял что придется начинать с белого листа, список шаблонов был пуст, и это не удивительно, откуда им взяться?
Вставив буфер обмена в Notpade++, обнаружил совершенно новую картину:
В шапке огромное количество текста (более 7000 символов), были обнаружены знакомые нам ранее параметры. Далее часть тела XML, далее описание межевых знаков, и угодий, далее каталог углов поворота и длин линий с координатами.
В общем возникает вопрос, с какой стороны к этому подходить, и как начинать с этим работать.
Не дублировать элементы обменника в параметры подобные ин4 и далее с ними работать?

_________________
ГрызЁм гранит науки, и внедряем осколки в массы!


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: XML против Reports
СообщениеДобавлено: 10 фев 2011 22:40 
Специалист
Специалист

Зарегистрирован:
19 мар 2009 11:05
Сообщения: 19
Откуда: Хмельницкий
А что за новые требования по технической документации?

Я думаю, что примеры работы с xml можно почерпнуть в отчетах для Регистратора.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: XML против Reports
СообщениеДобавлено: 12 фев 2011 10:18 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
06 фев 2008 18:09
Сообщения: 312
Откуда: Ужгород
Цитата:
А что за новые требования по технической документации?

На местном уровне чинуши извращаются.
добавлено:
сам шаблончик
Цитата:
Я думаю, что примеры работы с xml можно почерпнуть в отчетах для Регистратора.

Не так все просто.

_________________
ГрызЁм гранит науки, и внедряем осколки в массы!


Последний раз редактировалось kukin 11 мар 2011 20:31, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: XML против Reports
СообщениеДобавлено: 11 мар 2011 19:29 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
06 фев 2008 18:09
Сообщения: 312
Откуда: Ужгород
Продолжаем войну с ветряными мельницами :twisted:

Поскольку родной Report дигиталса пока адекватно не реагирует на XML, решил позаимствовать RegReports из регистратора (переименовав RegReports.exe в Reports.exe)
Далее скормил ему шаблоны регистратора, после чего отчеты не стали ругаться на свежие функции типа XPATH (пропала надпись слишком много параметров).
Насколько я понял теперь в буфер будет поступать чистое тело обменника(в отличии от "чистых" параметров ин4, и метрики), а уж далее операции будут производится с чистым XML.
Можно сделать вывод, что нужные строки можно подтягивать по тегам, структура стандартна и можно с ней работать.

Пока весит вопрос о метрической информации.

Хотелось бы увидеть, как работают новые функции, желательно на простых примерах.

PS: Так-же RegReports почему то очень долго выполняет обработку шаблонов на одном ядре 1,4гГц, и 512 оперативки, это нормально :shock: ?

_________________
ГрызЁм гранит науки, и внедряем осколки в массы!


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: XML против Reports
СообщениеДобавлено: 17 мар 2011 10:42 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
06 фев 2008 18:09
Сообщения: 312
Откуда: Ужгород
Было б здорово, если выпустили наконец Reports для работы с XML, с работающими функциями :roll:

_________________
ГрызЁм гранит науки, и внедряем осколки в массы!


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: XML против Reports
СообщениеДобавлено: 31 мар 2011 21:57 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
06 фев 2008 18:09
Сообщения: 312
Откуда: Ужгород
Уряя заработало!)
begin
xxx:=XPATH('AdditionalPart/ServiceInfo/FileID/FileDate');
end.


в мемо переменная [xxx] отображает дату создания обменника.

можно заменить на:
begin
xxx:=XPATH('AdditionalPart/ServiceInfo/FileID/*[1]');
end.


Лед тронулся Изображение

_________________
ГрызЁм гранит науки, и внедряем осколки в массы!


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: XML против Reports
СообщениеДобавлено: 31 мар 2011 22:43 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
06 фев 2008 18:09
Сообщения: 312
Откуда: Ужгород
Dmitry_Zolotar могли бы вы описать существующие оси, системные функции, тд.. для Xpath в отдельной ветке форума(которую могли править только вы, чтоб лишить её лишнего флуда).
Сам Xpath видимо увесистая функция.
Тяжко незнающему догадыватся :roll:

_________________
ГрызЁм гранит науки, и внедряем осколки в массы!


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: XML против Reports
СообщениеДобавлено: 01 апр 2011 09:46 
Гуру
Гуру

Зарегистрирован:
26 фев 2007 12:04
Сообщения: 1751
Откуда: Vinnitsa
Цитата:
Сам Xpath видимо увесистая функция.
Тяжко незнающему догадыватся :roll:


Функция как раз очень простая. Передается один лишь параметр, непосредственно XPath запрос. Сами запросы могут быть довольно сложные. Но так как XPath в Reports может возвращать лишь значение одного текстового узла, все запросы упрощаются до конкретного указания пути к узлу.

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: XML против Reports
СообщениеДобавлено: 02 апр 2011 11:01 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
06 фев 2008 18:09
Сообщения: 312
Откуда: Ужгород
Цитата:
Функция как раз очень простая.

:shock:
а как-же?

_________________
ГрызЁм гранит науки, и внедряем осколки в массы!


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: XML против Reports
СообщениеДобавлено: 02 апр 2011 13:26 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
06 фев 2008 18:09
Сообщения: 312
Откуда: Ужгород
Начнем изучение работы репорта с отчетов регистратора, но тут в шаблонах коды под иной XML, придется много править и разбирать.
Пригодится легкий поиск пути в XML.
Такс, для легкого отображения пути к элементу в XML, я использую полезный редактор Notpad++, распространяется бесплатно и открытым кодом (лицензия GNU GPLv2.0), также использую его с выбором определенного синтаксиса при кодинге в Reports.
Тут понадобится плагин XML Tools (dll требуется распаковать в корневую папку программы notepad++, обратите внимание что не в папку плагин!)
Также нужны библиотеки из архива ext_libs.zip которые тоже распаковываются в корневую папку программы notepad++.
Далее Опции/Импортировать плагины выбираем XMLTools.dll и перезапускаем программу.

Пользуемся плагином (дополнением)через главное меню, или быстрыми клавишами Ctrl+Alt+Shift+P.
Получаем при этом в буфер нужный путь с отображением информационного меню на экране.


Вложения:
Комментарий к файлу: скрин программы
notpad.JPG
notpad.JPG [ 117.38 Кб | Просмотров: 38020 ]

_________________
ГрызЁм гранит науки, и внедряем осколки в массы!


Последний раз редактировалось kukin 02 апр 2011 16:38, всего редактировалось 2 раз(а).
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: XML против Reports
СообщениеДобавлено: 02 апр 2011 15:08 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
06 фев 2008 18:09
Сообщения: 312
Откуда: Ужгород
Приходится начинать все с "0", поскольку программа в которой я работал совершенно не подготовлена к XML.
Скачал установочный файл Digitals
обрезал папку digitals и папку Templates до вида отображенных на картинках(удалил все "ненужное", чтоб пока не мешалось, вес программы при этом сократился до 30метров).
В папку Templates и Lists вложил шаблоны и текстовые документы взятые из пакета Регистратора (LandBook.fr3; Zayava1.fr3; Zayava2.fr3).
На всякий случай обновил XMLNormal.dmf
Скачал образец XML файла.


Вложения:
Комментарий к файлу: папка digitals
dig.JPG
dig.JPG [ 71.06 Кб | Просмотров: 38023 ]
Комментарий к файлу: папка Templates
templ.JPG
templ.JPG [ 49.08 Кб | Просмотров: 38023 ]

_________________
ГрызЁм гранит науки, и внедряем осколки в массы!


Последний раз редактировалось kukin 02 апр 2011 15:35, всего редактировалось 1 раз.
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: XML против Reports
СообщениеДобавлено: 02 апр 2011 15:25 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
06 фев 2008 18:09
Сообщения: 312
Откуда: Ужгород
Открыв XML в дигиталсе, запускаю репорт. Далее правлю пакеты документов( добавляю в дизайнер), в которых самым интересным является LandBook.fr3
В этом шаблоне практически все работает без сбоев, надо лишь решить вопрос с открытием изображения(я просто его отключил):
....
{procedure Picture1OnBeforePrint(Sender: TfrxComponent);
var FN:String;
begin
FN:=WorkDir+'\Pictures\LBCP'+CadNumberClear+'.bmp';
Picture1.LoadFromFile(FN);
end;}
...

После запуска отчета, мы увидим странички поземельной книги, с экспликацией и многими полезными полями!
Меня это сильно порадовало, думаю стоит сказать спасибо тем кто трудился над шаблоном, за такие заготовочки!*

* заготовочки именно для технички, а не для того, чтоб заменить регистратор, на дигиталс (хотя это тоже полезно в некоторых случаях)

Первое, что заинтересовало как Дмитрий (Dmitry_Zolotar) перевел форму 6-Зем на XML, насколько я понимаю это его труд. Тут понадобится потратить времени на изучение :D

Интересно, что весь шаблон использует условный оператор (if..then...else) постоянно определяя перед нами ин4 , или же XML. У меня даже мысли не появлялось использовать ин4, в регистраторе наверное надо использовать два формата.

При генерации шаблона LandBook.fr3 из ин4 для работы экспликации (формы 6-Зем) потребовалось файл 6ZemCols.txt записать в папку Templates.
Удивительно, что файл в новом дистрибутиве дигиталса 6ZemCols (размером 7,5Кб) "порвал как Тузик тряпку" нашу экспликацию, пришлось доставать из старых "запасов " 6ZemCols (размером 7,4Кб, 07.04.09 даты рождения), при этом экспликация приобрела читабельный вид, но поля шифр рядка и номер рядка заполнились не правильно

а вот, что это за зверь: XML573Root:String; //путь к корню XML573?
ко всему применимо:
then XML573Root:=IIF(IsNodeExists('InfoPart'),'','EmbeddedXML/UkrainianCadastralExchangeFile/'); ?

_________________
ГрызЁм гранит науки, и внедряем осколки в массы!


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: XML против Reports
СообщениеДобавлено: 03 апр 2011 12:07 
Гуру
Гуру

Зарегистрирован:
26 фев 2007 12:04
Сообщения: 1751
Откуда: Vinnitsa
kukin писал(а):
Цитата:
Функция как раз очень простая.

:shock:
а как-же?


XPath запрос возвращает список узлов, удовлетворяющих условиям запроса. В Reports функция XPath не возвращает список узлов, не возвращает даже один узел. Она возвращает значение заданного текстового узла. Поэтому она намного проще чем полноценные XPath запросы.

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: XML против Reports
СообщениеДобавлено: 03 апр 2011 12:21 
Гуру
Гуру

Зарегистрирован:
26 фев 2007 12:04
Сообщения: 1751
Откуда: Vinnitsa
Цитата:
а вот, что это за зверь: XML573Root:String; //путь к корню XML573?
ко всему применимо:
then XML573Root:=IIF(IsNodeExists('InfoPart'),'','EmbeddedXML/UkrainianCadastralExchangeFile/'); ?


Шаблоны новой версии Регистратора действительно создаются как универсальные, способные работать не только с данной программой, но и напрямую с Digitals. Регистратор последней версии передает в Reports все данные в виде XML файла, скопированного в буфер обмена. Данный XML содержит обменный UkrainianCadastralExchangeFile(он же XML573), целиком записанный в ветку EmbeddedXML. А также дополнительную информацию, которую XML573 не содержит: номер и тип заявления, данные о заявителе, данные о лице, заключающем договор и проч.

Во всех шаблонах используется переменная XML573Root, которая как раз и указывает на узел, содержащий обменный XML. Это пустая строка, если в буфере только обменный файл, или путь EmbeddedXML/UkrainianCadastralExchangeFile/, если в буфере данные из Регистратора.

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: XML против Reports
СообщениеДобавлено: 05 апр 2011 22:51 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
06 фев 2008 18:09
Сообщения: 312
Откуда: Ужгород
Продолжаем "пилить" программу :twisted:.

Добрался до setup.ini и папки Lists.
В папке Lists удалил во всех списках "лишние" области. Вряд найдутся специалисты орудующие в нескольких областях.
Далее ручки потянулись в setup.ini поправил нужные константы.
Выяснилось, что область, областная санстанция, областные экологи, областная архитектура (названия в разных падежах) превратились из списков в одну строку, в бессмысленную кучу файлов которых и без этого многовато.
Меняем:
RepНазва(Область)=SEF(RegionID,'Obl.txt')
DMTНазва(Область)=SEF(CUT(1,2,P[ID106]),Obl.txt)

на:
RepНазва(Область)=...... область
DMTНазва(Область)=...... область

и тд..
Таким образом было удалено 21 файл однострочных списков.
Хорошо б, чтоб LEdit.exe понимал этот файл (хотя это не критично, увидим позже почему).

Чтоб получить возможность работать в setup.ini с населенным пунктом, головой сельской рады(города), и сельским землеустроителем, в репорте требуется ввести еще одну константу аналогичную:
RegionID:=Copy(CadNumberClear,1,2);
RayonID:=Copy(CadNumberClear,1,5);
RadaID:=Copy(CadNumberClear,1,8);

LocID:=Copy(CadNumberClear,1,10);
Аналогично для DMF и репорт в setup.ini запишем:
RepНазва(.....)=SEF(LocID,'....txt')
DMTНазва(......)=SEF(P[ID106],......txt)

Тут придется дописать списки голов, сельских землеустроителей и населенных пунктов.
Вот только LEdit.exe после такого надругательством над ini нужно похоронить :roll: .
В общем займусь правкой списков, благо они уже существуют(но устарели).

_________________
ГрызЁм гранит науки, и внедряем осколки в массы!


Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 300 ]  На страницу 1, 2, 3, 4, 5 ... 20  След.

Часовой пояс: UTC + 2 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 105


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB