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

Формирорвание отчета в Reports
http://geosystema.net/forum/viewtopic.php?f=1&t=295
Страница 45 из 49

Автор:  shyrko [ 05 июл 2017 16:47 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

Дякую!

Автор:  GeKo [ 16 авг 2017 12:03 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

Доброго дня! Підкажіть де є помилка в коді...
Чомусь НЕ виконується умова IsNodeExists???
код:
TypeeStAct:=Trim(XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/StateActInfo/StateActType'));
SeriyaDA:=Trim(XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/StateActInfo/StateActForm/Series'));
NomerDA:=Trim(XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/StateActInfo/StateActForm/Number'));
DerzhAktDate:=Trim(XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/StateActInfo/DeliveryDate'));
DAktDate:=Copy(DeliveryDate,9,2)+'.'+Copy(DeliveryDate,6,2)+'.'+Copy(DeliveryDate,1,4);
if TypeeStAct=1 then TupDAkt:='державний акт на право колективної власності на землю' else
if TypeeStAct=2 then TupDAkt:='державний акт на право приватної власності на землю' else
if TypeeStAct=3 then TupDAkt:='державний акт на право власності на землю' else
if TypeeStAct=4 then TupDAkt:='державний акт на право власності на земельну ділянку' else
if TypeeStAct=5 then TupDAkt:='державний акт на право довічного успадкованого володіння землею' else
if TypeeStAct=6 then TupDAkt:='державний акт на право постійного володіння землею' else
if TypeeStAct=7 then TupDAkt:='державний акт на право постійного користування землею' else
if TypeeStAct=8 then TupDAkt:='державний акт на право постійного користування земельною ділянкою';
PPPPatch:='EmbeddedXML/UkrainianCadastralExchangeFile/InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/StateActInfo';
if IsNodeExists(PPPPatch+'StateActInfo')
then begin
Pidsttt:=TupDAkt;
NoPidst:=' серія '+SeriyaDA+' № '+NomerDA+' від ';
DatePidst:=DAktDate+' р. ';
end
else begin
NomerPidstavy:=Trim(XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/Proprietors/ProprietorInfo/PropertyAcquisitionJustification/DocumentNumber'));
DataPidstavy:=Trim(XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/Proprietors/ProprietorInfo/PropertyAcquisitionJustification/DocumentDate'));
if DataPidstavy<>'' then
DataPid:=Copy(DataPidstavy,9,2)+'.'+Copy(DataPidstavy,6,2)+'.'+Copy(DataPidstavy,1,4)+'р. ' else
DataPid:='01.01.2000'+' р. ';
TypeDoc:=Trim(XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/Proprietors/ProprietorInfo/PropertyAcquisitionJustification/Document'));
Organn:=Trim(XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/Proprietors/ProprietorInfo/PropertyAcquisitionJustification/ApprovalAuthority'));
OrgannROP:=ROP(Organn);
NazvaPidstawyy:='';
if TypeDoc=001 then NazvaPidstawyy:='рішення '+OrgannROP;
if TypeDoc=002 then NazvaPidstawyy:='розпорядження '+OrgannROP;
if TypeDoc=003 then NazvaPidstawyy:='цивільно-правовий договір';
if TypeDoc=004 then NazvaPidstawyy:='свідоцтво про право на спадщину';
if TypeDoc=005 then NazvaPidstawyy:='рішення суду';
Pidsttt:=NazvaPidstawyy;
NoPidst:=' №'+NomerPidstavy+' від ';
DatePidst:=DataPid;
end;

Автор:  Dmitry_Zolotar [ 16 авг 2017 14:41 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

або так
....
PPPPatch:='EmbeddedXML/UkrainianCadastralExchangeFile/InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/StateActInfo';
if IsNodeExists(PPPPatch)....

або так
....
PPPPatch:='EmbeddedXML/UkrainianCadastralExchangeFile/InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/StateActInfo';
if IsNodeExists(PPPPatch+'/StateActType') ....

в залежності від того який вузол перевіряється

Автор:  GeKo [ 16 авг 2017 15:50 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

Dmitry_Zolotar
Виникла інша помилка, коли немає (не заповнений тег) державного акту, мені вибиває таку помилку:
Cloud not convert variant of type (String) into type (Double)

Автор:  Dmitry_Zolotar [ 17 авг 2017 08:00 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

Можливо так потрібно:
DAktDate:=Copy(DerzhAktDate,9,2)+'.'+Copy(DerzhAktDate,6,2)+'.'+Copy(DerzhAktDate,1,4);

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

Автор:  fair_18 [ 17 авг 2017 16:49 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

Добрый день,

Каким способом можно уменьшить размер файл при сохранение отчета? Основная причина огромного размера(до нескольких мегабайт) это изображение которые добавляются в отчет. Возможно ли уменьшить размер изображения без потери качества?

Автор:  Dmitry_Zolotar [ 18 авг 2017 08:44 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

Все изображения в отчете сохраняются в несжатом виде, потому отчеты с изображениями так велики.

Автор:  fair_18 [ 22 авг 2017 15:18 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

1. А как сжать изображения? Если способ это сделать так чтобы отчет с изображением сохранить с минимальным размером?
2. Существуют ли шаблоны кадастровых планов в dmt под XML? Если да, укажите пожалуйста где посмотреть их примеры.

Автор:  Dmitry_Zolotar [ 22 авг 2017 21:12 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

1. Fast report сохраняет растры в несжатом виде, изменить нет возможности. Даже при встраивании метафайлов, они растеризуются.
2. Существуют, но в дистрибутиве есть только типа CadPlanA4 (dmt+fr3), парсить xml-строки формулами (XPT-функция для извлечения строк, SEF-функция вместо условного оператора) не удобно - формулы громоздкие получаются. Как вариант можно парсить в обработчике события OnAdd для слоя XML_Ділянка, если использовать Reports вера не позволяет.

Автор:  shyrko [ 23 окт 2017 14:27 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

Чи є можливість витягнути інформацію по суміжниках для n-ділянок для формування пофамільного звіту

Автор:  Руслан Пархуць [ 23 окт 2017 14:44 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

shyrko писал(а):
Чи є можливість витягнути інформацію по суміжниках для n-ділянок для формування пофамільного звіту

Так, через тип звiту - груповий.

Автор:  shyrko [ 23 окт 2017 15:03 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

Вибачаюсь протупив, була помилився у формулі

Автор:  Dmitry_Zolotar [ 23 окт 2017 16:26 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

shyrko писал(а):
Чи є можливість витягнути інформацію по суміжниках для n-ділянок для формування пофамільного звіту

Давній приклад переробив під груповий режим

Вложения:
Neighbors.fr3 [2.84 Кб]
Скачиваний: 605
Комментарий к файлу: В карту додано параметр з формулою
Neighbors.dmf [19.78 Кб]
Скачиваний: 610

Автор:  shyrko [ 02 ноя 2017 10:42 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

Доброго дня. Як вивести дані по всіх угіддях для земельної ділянки. Результат має бути десь такий, як в прикріпленому файлі

Вложения:
.rtf [71.69 Кб]
Скачиваний: 434

Автор:  Руслан Пархуць [ 02 ноя 2017 14:17 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

shyrko писал(а):
Доброго дня. Як вивести дані по всіх угіддях для земельної ділянки. Результат має бути десь такий, як в прикріпленому файлі
Працює з форматами IN4 та XML

Вложения:
01.bmp
01.bmp [ 486.38 Кб | Просмотров: 9930 ]
bnd_rep.fr3 [7.84 Кб]
Скачиваний: 681

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