Аналитика

Цифровая фотограмметрия, картография и землеустройство
Текущее время: 20 июн 2021 03:18

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




Начать новую тему Ответить на тему  [ Сообщений: 719 ]  На страницу Пред.  1 ... 44, 45, 46, 47, 48
Автор Сообщение
 Заголовок сообщения: Re: Формирорвание отчета в Reports
СообщениеДобавлено: 21 июн 2020 07:34 
Эксперт
Эксперт

Зарегистрирован:
16 фев 2017 21:10
Сообщения: 67
[quote="Stas"]Добрий день. Підкажіть будь-ласка щодо створення шаблонів для техдокументації та проектів.
Посмотрите zem.kiev.ua


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Формирорвание отчета в Reports
СообщениеДобавлено: 21 июн 2020 08:01 
Специалист
Специалист

Зарегистрирован:
28 дек 2010 11:48
Сообщения: 21
Vladimirart08 писал(а):
Stas писал(а):
Добрий день. Підкажіть будь-ласка щодо створення шаблонів для техдокументації та проектів.
Посмотрите zem.kiev.ua


Дякую!


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Формирорвание отчета в Reports
СообщениеДобавлено: 04 сен 2020 13:45 
Эксперт
Эксперт

Зарегистрирован:
09 дек 2015 12:30
Сообщения: 73
Доброго дня.
Підкажіть будь-ласка, чи можна при формуванні документу в Reports, забрати (скрить) це вікно
Вложение:
.jpg
.jpg [ 19.58 Кб | Просмотров: 1050 ]

Воно з'являється після відпрацювання скрипта, під час запуску шаблону Reports із скрипта командою
@Run $Papka\Reports.exe -t$Papka\Templates\Шаблон.fr3.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Формирорвание отчета в Reports
СообщениеДобавлено: 07 сен 2020 01:15 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 368
Откуда: м.Львiв
petrogeo писал(а):
Доброго дня.
Підкажіть будь-ласка, чи можна при формуванні документу в Reports, забрати (скрить) це вікно
Вложение:
.jpg

Воно з'являється після відпрацювання скрипта, під час запуску шаблону Reports із скрипта командою
@Run $Papka\Reports.exe -t$Papka\Templates\Шаблон.fr3.

Напишiть, що робить даний скрипт i якi данi передаються в Reports (вiн працює з буферними даними у форматi XML, а отримує щось iнше, тому i вискакує дане вiкно).

_________________
Більшість хороших програмістів виконують свою роботу не тому, що очікують оплати або визнання, а тому, що отримують задоволення від програмування.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формирорвание отчета в Reports
СообщениеДобавлено: 07 сен 2020 09:28 
Эксперт
Эксперт

Зарегистрирован:
09 дек 2015 12:30
Сообщения: 73
Руслан Пархуць писал(а):
Напиш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, тому можливо.


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

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 368
Откуда: м.Львiв
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сту
    <?xml version="1.0" encoding="utf-8" ?>
    <param>
    <value>1</value>
    <scale>2000</scale>
    </param>
i все це скопiювати в буфер за допомогою @Text[N].Copy, пiсля чого викликати @Run $Papka\Reports.exe -t$Papka\Templates\Шаблон.fr3.
З Reports за допомогою ф-цiї XPath отримуєте данi [value, scale], переданi скриптом. Десь був приклад на форумi, але не пам'ятаю, де я його бачив.

_________________
Більшість хороших програмістів виконують свою роботу не тому, що очікують оплати або визнання, а тому, що отримують задоволення від програмування.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формирорвание отчета в Reports
СообщениеДобавлено: 08 сен 2020 10:40 
Эксперт
Эксперт

Зарегистрирован:
09 дек 2015 12:30
Сообщения: 73
Руслан Пархуць писал(а):
Спробуйте, використавши @Text[N].Add Value створити текст приблизного вмiсту
    <?xml version="1.0" encoding="utf-8" ?>
    <param>
    <value>1</value>
    <scale>2000</scale>
    </param>
i все це скопiювати в буфер за допомогою @Text[N].Copy, пiсля чого викликати @Run $Papka\Reports.exe -t$Papka\Templates\Шаблон.fr3.
З Reports за допомогою ф-цiї XPath отримуєте данi [value, scale], переданi скриптом. Десь був приклад на форумi, але не пам'ятаю, де я його бачив.

Велике дякую. Допомогло. :D


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Формирорвание отчета в Reports
СообщениеДобавлено: 02 июн 2021 15:28 
Эксперт
Эксперт

Зарегистрирован:
29 окт 2012 12:15
Сообщения: 93
Откуда: Запорізька область, м. Кам'янка-Дніпровська
<area>
1 2.0000 Для ведення
2 1.9999
....
</area>
AS:=XPath('./area');
N:=StringPart(AS,2,chr(9));
Допоможіть витягти з AS:
N: другої або іншої строки


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Формирорвание отчета в Reports
СообщениеДобавлено: 02 июн 2021 22:18 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 368
Откуда: м.Львiв
ТОВ Аспект писал(а):
<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)+']').

_________________
Більшість хороших програмістів виконують свою роботу не тому, що очікують оплати або визнання, а тому, що отримують задоволення від програмування.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формирорвание отчета в Reports
СообщениеДобавлено: 03 июн 2021 10:59 
Эксперт
Эксперт

Зарегистрирован:
29 окт 2012 12:15
Сообщения: 93
Откуда: Запорізька область, м. Кам'янка-Дніпровська
Файл 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


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Формирорвание отчета в Reports
СообщениеДобавлено: 03 июн 2021 23:48 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 368
Откуда: м.Львiв
ТОВ Аспект писал(а):
Файл 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зуємо :)

_________________
Більшість хороших програмістів виконують свою роботу не тому, що очікують оплати або визнання, а тому, що отримують задоволення від програмування.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формирорвание отчета в Reports
СообщениеДобавлено: 11 июн 2021 10:53 
Эксперт
Эксперт

Зарегистрирован:
29 окт 2012 12:15
Сообщения: 93
Откуда: Запорізька область, м. Кам'янка-Дніпровська
Зробив як Ви рекомендували, та не знаю як додати номер ділянки.
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).


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Формирорвание отчета в Reports
СообщениеДобавлено: 11 июн 2021 13:00 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 368
Откуда: м.Львiв
ТОВ Аспект писал(а):
Зробив як Ви рекомендували, та не знаю як додати номер ділянки.
А також 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;

_________________
Більшість хороших програмістів виконують свою роботу не тому, що очікують оплати або визнання, а тому, що отримують задоволення від програмування.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формирорвание отчета в Reports
СообщениеДобавлено: 11 июн 2021 15:52 
Эксперт
Эксперт

Зарегистрирован:
29 окт 2012 12:15
Сообщения: 93
Откуда: Запорізька область, м. Кам'янка-Дніпровська
Дякую! З StringPart що тільки не робив, від тепер буду знати.


Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 719 ]  На страницу Пред.  1 ... 44, 45, 46, 47, 48

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


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

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


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

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