Аналитика https://geosystema.net/forum/ |
|
Формирорвание отчета в Reports https://geosystema.net/forum/viewtopic.php?f=1&t=295 |
Страница 48 из 49 |
Автор: | Vladimirart08 [ 21 июн 2020 07:34 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
[quote="Stas"]Добрий день. Підкажіть будь-ласка щодо створення шаблонів для техдокументації та проектів. Посмотрите zem.kiev.ua |
Автор: | Stas [ 21 июн 2020 08:01 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Vladimirart08 писал(а): Stas писал(а): Добрий день. Підкажіть будь-ласка щодо створення шаблонів для техдокументації та проектів. Посмотрите zem.kiev.ua Дякую! |
Автор: | petrogeo [ 04 сен 2020 13:45 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Доброго дня. Підкажіть будь-ласка, чи можна при формуванні документу в Reports, забрати (скрить) це вікно Вложение: .jpg [ 19.58 Кб | Просмотров: 10343 ] Воно з'являється після відпрацювання скрипта, під час запуску шаблону Reports із скрипта командою @Run $Papka\Reports.exe -t$Papka\Templates\Шаблон.fr3. |
Автор: | Руслан Пархуць [ 07 сен 2020 01:15 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
petrogeo писал(а): Доброго дня. Підкажіть будь-ласка, чи можна при формуванні документу в Reports, забрати (скрить) це вікно Вложение: .jpg Воно з'являється після відпрацювання скрипта, під час запуску шаблону Reports із скрипта командою @Run $Papka\Reports.exe -t$Papka\Templates\Шаблон.fr3. Напишiть, що робить даний скрипт i якi данi передаються в Reports (вiн працює з буферними даними у форматi XML, а отримує щось iнше, тому i вискакує дане вiкно). |
Автор: | petrogeo [ 07 сен 2020 09:28 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Руслан Пархуць писал(а): Напишiть, що робить даний скрипт i якi данi передаються в Reports Скрипт опрацьовує карту (аналізує об'єкти карти по певних критеріях), результат опрацювання записується у текстовий файл. А Reports зчитує дані з текстового файлу, по ключі: var NameFile:String; Дата:String; Назва:String; NP01:String; .... begin NameFile:=File('Obrobitok.ini','Назва файла'); Дата:=File('Obrobitok.ini','Дата'); Назва:=File('Obrobitok.ini','Назва'); NP01:=File('Analizpolya.ini','NP01'); .... end. Цитата: (вiн працює з буферними даними у форматi XML, а отримує щось iнше, тому i вискакує дане вiкно) Цей шаблон був зроблений на основі одного з шаблонів що є в папці Templates, тому можливо. |
Автор: | Руслан Пархуць [ 07 сен 2020 13:26 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
petrogeo писал(а): Руслан Пархуць писал(а): Напишiть, що робить даний скрипт i якi данi передаються в Reports Скрипт опрацьовує карту (аналізує об'єкти карти по певних критеріях), результат опрацювання записується у текстовий файл. А Reports зчитує дані з текстового файлу, по ключі: var NameFile:String; Дата:String; Назва:String; NP01:String; .... begin NameFile:=File('Obrobitok.ini','Назва файла'); Дата:=File('Obrobitok.ini','Дата'); Назва:=File('Obrobitok.ini','Назва'); NP01:=File('Analizpolya.ini','NP01'); .... end. Цитата: (вiн працює з буферними даними у форматi XML, а отримує щось iнше, тому i вискакує дане вiкно) Цей шаблон був зроблений на основі одного з шаблонів що є в папці Templates, тому можливо. Спробуйте, використавши @Text[N].Add Value створити текст приблизного вмiсту
<param> <value>1</value> <scale>2000</scale> </param> З Reports за допомогою ф-цiї XPath отримуєте данi [value, scale], переданi скриптом. Десь був приклад на форумi, але не пам'ятаю, де я його бачив. |
Автор: | petrogeo [ 08 сен 2020 10:40 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Руслан Пархуць писал(а): Спробуйте, використавши @Text[N].Add Value створити текст приблизного вмiсту
<param> <value>1</value> <scale>2000</scale> </param> З Reports за допомогою ф-цiї XPath отримуєте данi [value, scale], переданi скриптом. Десь був приклад на форумi, але не пам'ятаю, де я його бачив. Велике дякую. Допомогло. |
Автор: | ТОВ Аспект [ 02 июн 2021 15:28 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
<area> 1 2.0000 Для ведення 2 1.9999 .... </area> AS:=XPath('./area'); N:=StringPart(AS,2,chr(9)); Допоможіть витягти з AS: N: другої або іншої строки |
Автор: | Руслан Пархуць [ 02 июн 2021 22:18 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
ТОВ Аспект писал(а): <area> 1 2.0000 Для ведення 2 1.9999 .... </area> AS:=XPath('./area'); N:=StringPart(AS,2,chr(9)); Допоможіть витягти з AS: N: другої або іншої строки Цiкавий формат запису тегiв XML. Скиньте детальну структуру Вашого файлу, можливо пошук потрiбно робити, як у звичайнiй текстовiй стрiчцi. Якщо це XML - тодi дивiться на використання ф-цiї NodesCount (XPath('./area['+IntToStr(N)+']'). |
Автор: | ТОВ Аспект [ 03 июн 2021 10:59 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Файл XML звичайний. Метою є створення ТД для поділу. З відкритих файлів xml скриптом витягую номер ділянки площу та інше. В результаті маю більше однієї строки та не розумію як їх обробляти. З функцією NodesCount не вистачає параметрів (що тільки не робив) тому прошу допомоги, розпишіть будь ласко з самого початку. Ось скрипт $PrPath=@ProgramPath $Tab=@Calc char(9) $Tab=@DequoteText $Tab @Text.Clear @Text.Add <?xml version="1.0" encoding="utf-8" ?> @Text.Add <report> @Text.Add <area> $MC=@MapCount @ActivateMap 1 $Zagal=0 $I=0 %LoopObject $I=$I+1 @if $MC<0 then @Goto %Continue @ActivateMap $I %Library.Obmejena @Map.SelectLayer ID70005 $D=@Map.SelectedObject $P=@Map.Object[$D].Parameter[0] $CV=@Map.Object[$D].Parameter[ID7000510] $P=%Library.ReplaceComma $P $P=@DequoteText $P $L=$I$Tab$P $L=$L$Tab$CV $L=@Text.Add $L $F=@Text.Text $Zagal=$Zagal+$P @Map.DeselectAll %Continue @if $I<$MC then @Goto %LoopObject @Text.Add </area> @Text.Add <MapCount>$MC</MapCount> @Text.Add </report> @Text.Copy @Run $PrPath\Reports.exe -tTemplates\TD sectionOPG.fr3 |
Автор: | Руслан Пархуць [ 03 июн 2021 23:48 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
ТОВ Аспект писал(а): Файл XML звичайний. Метою є створення ТД для поділу. З відкритих файлів xml скриптом витягую номер ділянки площу та інше. В результаті маю більше однієї строки та не розумію як їх обробляти. З функцією NodesCount не вистачає параметрів (що тільки не робив) тому прошу допомоги, розпишіть будь ласко з самого початку. Я б робив скрипт приблизно такого змiсту, i далi в Reports обробляв отриману iнформацiю (закоментував деякi рядки, оскiльки вони не були потрiбнi для аналiзу): Код: $PrPath=@ProgramPath $Tab=@Calc char(9) $Tab=@DequoteText $Tab @Text.Clear @Text.Add <?xml version="1.0" encoding="utf-8" ?> @Text.Add <Report> @Text.Add <Parcels> ; $MC=@MapCount @ActivateMap 1 ;$Zagal=0 $I=0 %LoopObject $I=$I+1 @if $MC<0 then @Goto %Continue @ActivateMap $I ;%Library.Obmejena @Text.Add <ParcelInfo> @Map.SelectLayer ID70005 $D=@Map.SelectedObject $P=@Map.Object[$D].Parameter[0] $CV=@Map.Object[$D].Parameter[ID7000510] $P=%Library.ReplaceComma $P $P=@DequoteText $P @Text.Add <Area>$P</Area> @Text.Add <Purpose>$CV</Purpose> ;$L=$I$Tab$P ;$L=$L$Tab$CV ;$L=@Text.Add $L ;$F=@Text.Text ;$Zagal=$Zagal+$P @Map.DeselectAll @Text.Add </ParcelInfo> %Continue @if $I<$MC then @Goto %LoopObject ; @Text.Add </Parcels> @Text.Add <MapCount>$MC</MapCount> @Text.Add </Report> $Buf=@Text.Text @Dialog.Message $Buf ;@Text.Copy ;@Run $PrPath\Reports.exe -tTemplates\TD sectionOPG.fr3 Якщо потрiбно обробляти отриманий Вами результат (у виглядi стрiчки), тодi напишiть, проаналiзуємо |
Автор: | ТОВ Аспект [ 11 июн 2021 10:53 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Зробив як Ви рекомендували, та не знаю як додати номер ділянки. var I,N: Integer; AS: String; begin N:=NodesCount('./Parcels','ParcelInfo'); I:=0; if N=1 then begin ShowMessage('Однієї ділянки не достатньо для поділу, формування звіту зупинено'); Engine.StopReport; end; begin for I:=1 to N do AS:=AS+'діл. № '+(XPath('/Parcels/ParcelInfo['+IntToStr(I)+']/Area'))+' га '+(XPath('/Parcels/ParcelInfo['+IntToStr(I)+']/Purpose'))+#13#10; end; end. А також CV розбити на код. Щоб було діл. №1 0.2500 га (02.01). |
Автор: | Руслан Пархуць [ 11 июн 2021 13:00 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
ТОВ Аспект писал(а): Зробив як Ви рекомендували, та не знаю як додати номер ділянки. А також CV розбити на код. Щоб було діл. №1 0.2500 га (02.01). потрiбно визначити змiнну AS а також додати саму нумерацiю ну i StringPart - для отримання першого значення зi стрiчки ЦВ Код: AS:='';
AS:=AS+'діл. № '+IntToStr(I) + ' ' + XPath('/Parcels/ParcelInfo['+IntToStr(I)+']/Area') + ' га '+ StringPart(XPath('/Parcels/ParcelInfo['+IntToStr(I)+']/Purpose'),1,' ') + #13#10; |
Автор: | ТОВ Аспект [ 11 июн 2021 15:52 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Дякую! З StringPart що тільки не робив, від тепер буду знати. |
Автор: | ТОВ Аспект [ 03 фев 2022 13:55 ] | ||
Заголовок сообщения: | Re: Формирорвание отчета в Reports | ||
Доброго дня. Прошу допомогти розібратися, в файлі XML коли більше одного власника, мемо3 становиться вище, тоді Мемо1 та 2 підіймаю на Height Memo3, під Мемо1,2,3 є аналогічні мемо4,5,6:ShiftMode=smAlways які в такому випадку зміщується нижче, але одне мемо, мемо4 не зміщується. Підкажіть будь ласко що ще треба зробити.
|
Страница 48 из 49 | Часовой пояс: UTC + 2 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |