Аналитика

Цифровая фотограмметрия, картография и землеустройство
Текущее время: 25 ноя 2017 06:02

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




Начать новую тему Ответить на тему  [ Сообщений: 285 ]  На страницу Пред.  1 ... 15, 16, 17, 18, 19
Автор Сообщение
 Заголовок сообщения: Re: XML против Reports
СообщениеДобавлено: 04 апр 2016 10:03 
Гуру
Гуру

Зарегистрирован:
06 дек 2011 13:07
Сообщения: 200
Откуда: Дубно
mixey_dubno писал(а):
Dmitry_Zolotar писал(а):
Dmitry_Zolotar писал(а):
"Попробуйте запустить под админом."

або тимчасово відключіть UAC

запустив від адміна та отключивuac всерівнно нічого не змінилося :(

можливо є ще якісь варіанти вирішення проблеми?


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

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 1865
Откуда: Vinnitsa
Заміна усіх RichEdit на MemoView допоможе. RichEdit - це така "чорна скриня" від Microsoft, яка глючить постійно.

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


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

Зарегистрирован:
06 дек 2011 13:07
Сообщения: 200
Откуда: Дубно
Dmitry_Zolotar писал(а):
Заміна усіх RichEdit на MemoView допоможе. RichEdit - це така "чорна скриня" від Microsoft, яка глючить постійно.

ціава ситуація колись в мене глючив MemoView сказали краще користуватись RichEdit))))) ну менш з тим, дякую!


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

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 1865
Откуда: Vinnitsa
Dmitry_Zolotar писал(а):
RichEdit - трохи "глючна" штука від майкрософт, тому його не використовую. Колись під час розробки шаблону звіту з десятком сторінок усі формули були замінені значеннями та збереглись в шаблон. Роботу над шаблоном довелось починати майже з нуля. До того ж періодично виникають проблеми з дивними шрифтами в RichEdit.

Dmitry_Zolotar писал(а):
Проблема замечена с RichEdit в Reports, в нем постоянно "проскакивает" шрифт "MS Mincho". Digitals XE тут ни при чем, а вот операционная система "виновата". Из-за этой проблемы я лично стараюсь избегать использования RichEdit, использую Memo.

Dmitry_Zolotar писал(а):
Можливо використовувався RichText, а він щось глючить: то якісь екзотичні шрифти з'являються, то розмір файла збільшується на порядок без причини.
Поведінку RichText (Microsoft) в фастрепорті ми поміняти не можем, раджу використовувати тільки MemoView.

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


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

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 470
Добрий вечір. Підкажіть, яким чином замінити CV при формуванні Звіту з XML по декількох ділянках (Пофамільний режим)? Щоб розрізняло ОЖБ та ОСГ

function GetSRByCV(CV:string):integer;
var i:Integer;
begin
for i:=1 to OBJCOUNT do
if Copy(Param('CV',i),1,Pos(' ',Param('CV',i))-1)=CV
then begin
Result:=i;
exit;
end;
Result:=0;
end;
var i:Integer;
BudSR:Integer;
SilSR:Integer;
begin
BudSR:=GetSRByCV('1.8');
SilSR:=GetSRByCV('1.2');

_________________
додатково про скрипти Digitals на www.digitals.at.ua


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

Зарегистрирован:
06 дек 2011 13:07
Сообщения: 200
Откуда: Дубно
допоможіть будь ласка витягнути серію та номер держ акту з ХМЛ, щось неполучається цього зробити


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

Зарегистрирован:
06 дек 2011 13:07
Сообщения: 200
Откуда: Дубно
Dmitry_Zolotar писал(а):
Додайте наступний код в шаблон, та використовуйте виклик функції FormatXMLDate() для конвертування дат

const MonthNames='січня,лютого,березня,квітня,травня,червня,липня,серпня,вересня,жовтня,листопада,грудня';

//функция конвертирует дату типа xsd:date в строку вида "08" серпня 2009
function FormatXMLDate(S:String):String;
var MM,DD:String; Y,M,D:Integer; LeapYear:Boolean;
begin
if (S='') or (Length(S)<>10)
then begin
Result:='';
Exit;
end;
M:=StrToInt(Copy(S,6,2));
if (M<1) or (M>12) then begin Result:='';Exit; end;
MM:=StringPart(MonthNames,M,',');
Y:=StrToInt(Copy(S,1,4));
if (Y<1900) or (Y>2099) then begin Result:='';Exit; end;
LeapYear:=IsLeapYear(Y);
//LeapYear:=((Y mod 4)=0) and (((Y mod 100)<>0) or (Y=2000));
D:=StrToInt(Copy(S,9,2));
if (D<1) or ((D>31) and (M in [1,3,5,7,8,10,12]))
or ((D>30) and (M in [4,6,9,11]))
or ((D>28) and (M=2) and not LeapYear)
or ((D>29) and (M=2) and LeapYear)
then begin Result:='';Exit; end;
DD:='0'+IntToStr(D); DD:=Copy(DD,Length(DD)-1,2);
Result:='"'+DD+'" '+MM+' '+IntToStr(Y)+' р.'
end;

щось я недуже зрозумів як це зробити((( у мене використовується ось таке в репорті

// Рішення

temp:=XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/Proprietors/ProprietorInfo/PropertyAcquisitionJustification/Document/';
temp1:=xpath(temp);
temp:=XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/Proprietors/ProprietorInfo/PropertyAcquisitionJustification/DocumentNumber/';
nr:=xpath(temp);
temp:=XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/Proprietors/ProprietorInfo/PropertyAcquisitionJustification/DocumentDate/';
datr:=xpath(temp);
drr:=ROP(temp1);

case temp1 of
'001': drr:='рішення '+sr+' №'+nr+', від '+datr;
'002': drr:='розпорядження '+sr+' №'+nr+', від '+datr;
'003': drr:='цивільно-правового договору '' №'+nr+', від '+datr;
'004': drr:='свідоцтва про право на спадщину '+'зареєстрованого в реєстрі'' №'+nr+', від '+datr;
end;

case temp1 of

'001': dr:='Рішення '+sr+' №'+nr+', від '+datr;
'002': dr:='Розпорядження '+sr+' №'+nr+', від '+datr;
'003': dr:='Цивільно-правовий договір '+sr+' №'+nr+', від '+datr;
'004': dr:='Свідоцтво про право на спадщину '+'зареєстрованого в реєстрі'' №'+nr+', від '+datr;
end;

як поєднати це з вашою функцією? буду вдячний за допомогу


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

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 1865
Откуда: Vinnitsa
Dmitry_Zolotar писал(а):
Додайте наступний код в шаблон, та використовуйте виклик функції FormatXMLDate() для конвертування дат

В самий початок скрипта можна додати

mixey_dubno писал(а):
// Рішення

temp:=XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/Proprietors/ProprietorInfo/PropertyAcquisitionJustification/Document/';
temp1:=xpath(temp);
temp:=XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/Proprietors/ProprietorInfo/PropertyAcquisitionJustification/DocumentNumber/';
nr:=xpath(temp);
temp:=XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/Proprietors/ProprietorInfo/PropertyAcquisitionJustification/DocumentDate/';
datr:=xpath(temp);
drr:=ROP(temp1);

case temp1 of
'001': drr:='рішення '+sr+' №'+nr+', від '+datr;
'002': drr:='розпорядження '+sr+' №'+nr+', від '+datr;
'003': drr:='цивільно-правового договору '' №'+nr+', від '+datr;
'004': drr:='свідоцтва про право на спадщину '+'зареєстрованого в реєстрі'' №'+nr+', від '+datr;
end;

case temp1 of

'001': dr:='Рішення '+sr+' №'+nr+', від '+datr;
'002': dr:='Розпорядження '+sr+' №'+nr+', від '+datr;
'003': dr:='Цивільно-правовий договір '+sr+' №'+nr+', від '+datr;
'004': dr:='Свідоцтво про право на спадщину '+'зареєстрованого в реєстрі'' №'+nr+', від '+datr;
end;

як поєднати це з вашою функцією? буду вдячний за допомогу


замість
datr:=xpath(temp);
напишіть
datr:=FormatXMLDate(xpath(temp));

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


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

Зарегистрирован:
06 дек 2011 13:07
Сообщения: 200
Откуда: Дубно
Dmitry_Zolotar писал(а):
Dmitry_Zolotar писал(а):
Додайте наступний код в шаблон, та використовуйте виклик функції FormatXMLDate() для конвертування дат


замість
datr:=xpath(temp);
напишіть
datr:=FormatXMLDate(xpath(temp));

Безмежно вдачний Вам усе получилось!


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: XML против Reports
СообщениеДобавлено: 19 май 2017 09:29 
Участник
Участник

Зарегистрирован:
11 май 2017 16:26
Сообщения: 7
Виник ряд питань по яким потрібна допомога! :roll:

1. Як вивести в текстовий звіт з ХМЛ дані держ акту в родовому відмінку (в називному виводиться без питань).
2. Опис суміжних землекористувача з кадастровими номерами та без, рився в зразках шаблонів, але витягти у власний покищо не виходить (а вже дуже хочеться щоб все було в одному місці) прошу вказати необхідний кусок коду для цього блока.
3. З того ж ХМЛя коряво витягується знак "№" (відображається в іншому шрифті, що портить зовнішній вигляд звіту, так так звіт так має виглядати симпатично :D )
Dmitry_Zolotar писал(а):
Dmitry_Zolotar писал(а):
RichEdit - трохи "глючна" штука від майкрософт, тому його не використовую. Колись під час розробки шаблону звіту з десятком сторінок усі формули були замінені значеннями та збереглись в шаблон. Роботу над шаблоном довелось починати майже з нуля. До того ж періодично виникають проблеми з дивними шрифтами в RichEdit.

Dmitry_Zolotar писал(а):
Проблема замечена с RichEdit в Reports, в нем постоянно "проскакивает" шрифт "MS Mincho". Digitals XE тут ни при чем, а вот операционная система "виновата". Из-за этой проблемы я лично стараюсь избегать использования RichEdit, использую Memo.

Dmitry_Zolotar писал(а):
Можливо використовувався RichText, а він щось глючить: то якісь екзотичні шрифти з'являються, то розмір файла збільшується на порядок без причини.
Поведінку RichText (Microsoft) в фастрепорті ми поміняти не можем, раджу використовувати тільки MemoView.

4. Не знайшов зразка коду, який витягує форму власності земельної ділянки, а було б зовсім не зайвим автоматизувати і цей блок.
Цитата:
//форма власності земельної ділянки
OwnershipCode:=XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/OwnershipInfo/Code');
Code:=SEF(OwnershipCode,'OwnershipCode.txt');(текстовий файл 'OwnershipCode.txt' має бути в папці Lists(Прикріпив нижче))
5. Маємо ще таблицю в звіті під назвою "Перелік обмежень щодо використання земельної ділянки" було б дуже круто заповнювати площі обмежень в ній згідно даних з ХМЛ в автоматичному режимі.
6. Чи можна якось налаштувати програму, щоб звіт зберігався в папку де лежить ХМЛ?

Код який я намагаюсь використовувати для опису суміжників:
// суміжники з кадастровим номером
NigthbourNum:='';
Neighbours3:='';
PPath:=XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/AdjacentUnits';
N:=NodesCount(PPath,'AdjacentUnitInfo');
NeighbourCount1:=NodesCount(GraphicPath+'/Neighbours','Neighbour');
if NeighbourCount1>0

then begin
for I:=1 to NeighbourCount1 do

begin
NeighbourPath1:=GraphicPath+'/Neighbours/Neighbour['+IntToStr(I)+']';
Letters:=XPath(NeighbourPath1+'/Letters');
NeighbourName1:=XPath(NeighbourPath1+'/Name');

NigthbourNum:=XPath(PPath+'/AdjacentUnitInfo['+IntToStr(I)+']/CadastralNumber');
if length(NigthbourNum)<19
then NigthbourNum:=' кад № неприсвоєний';

if I<>10 then Neighbours3:=Neighbours3+#13#10;
Neighbours3:=Neighbours3+'Від '+StringPart(Letters,2,' ')+' до '+
StringPart(Letters,4,' ')+' '+NeighbourName1+' ('+NigthbourNum+')'+;
end;
end;



//таблиця суміжників (від А до Б)
Neighbours1:='';
Neighbours2:='';
NeighbourCount:=NodesCount(GraphicPath+'/Neighbours','Neighbour');
if NeighbourCount>0

then begin
for I:=1 to NeighbourCount do

begin
NeighbourPath:=GraphicPath+'/Neighbours/Neighbour['+IntToStr(I)+']';
Letters:=XPath(NeighbourPath+'/Letters');
NeighbourName:=XPath(NeighbourPath+'/Name');
{ if I<=4
then begin
if I<>1 then Neighbours1:=Neighbours1+#13#10;}
// Neighbours1:=Neighbours1+StringPart(Letters,4,' ')+' '+NeighbourName;
// end
// else begin
if I<>10 then Neighbours2:=Neighbours2+#13#10;
Neighbours2:=Neighbours2+'Від '+StringPart(Letters,2,' ')+' до '+
StringPart(Letters,4,' ')+' '+NeighbourName;
end;
end;


Вложения:
OwnershipCode.txt [44 байт]
Скачиваний: 17


Последний раз редактировалось Harlequin 22 май 2017 14:43, всего редактировалось 2 раз(а).
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: XML против Reports
СообщениеДобавлено: 19 май 2017 11:36 
Гуру
Гуру

Зарегистрирован:
27 июл 2011 08:37
Сообщения: 155
Откуда: м.Рівне
На рахунок державного акта як варіант, можна створити текстовий список в папці Lists, StateActTypeRop.txt, де внести відповідні назви в родовому відмінку а потім вже витягнути функцією Sef.
На рахунок кривого знаку "№", або встановити Windows7, або відмовитись від Richtext, а використовувати Мемо


Последний раз редактировалось shyrko 19 май 2017 12:44, всего редактировалось 1 раз.

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

Зарегистрирован:
27 июл 2011 08:37
Сообщения: 155
Откуда: м.Рівне
Форму власності можна витягнути якось так:
Код- [Copy(Param('id7000512'),1,3)]
Назва [Copy(Param('id7000512'),5,Length(Param('id7000512')))]


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: XML против Reports
СообщениеДобавлено: 19 май 2017 16:11 
Участник
Участник

Зарегистрирован:
11 май 2017 16:26
Сообщения: 7
shyrko писал(а):
Форму власності можна витягнути якось так:
Код- [Copy(Param('id7000512'),1,3)]
Назва [Copy(Param('id7000512'),5,Length(Param('id7000512')))]

Ми зараз про текстовий звіт говоримо чи про ДМТ?
Бо мене саме для FR3 цікавить код, поясніть будь-ласка якщо я чогось не розумію :oops:


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: XML против Reports
СообщениеДобавлено: 20 май 2017 02:04 
Гуру
Гуру

Зарегистрирован:
27 июл 2011 08:37
Сообщения: 155
Откуда: м.Рівне
Трохи промазав
Коф форми власності OwnershipCode:=XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/CategoryPurposeInfo/Category');
Назва FV:=SEF(OwnershipCode,'OwnershipCode.txt');(текстовий файл 'OwnershipCode.txt' має бути в папці Lists)


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: XML против Reports
СообщениеДобавлено: 22 май 2017 14:34 
Участник
Участник

Зарегистрирован:
11 май 2017 16:26
Сообщения: 7
shyrko писал(а):
Трохи промазав
Коф форми власності OwnershipCode:=XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/CategoryPurposeInfo/Category');
Назва FV:=SEF(OwnershipCode,'OwnershipCode.txt');(текстовий файл 'OwnershipCode.txt' має бути в папці Lists)


Ооо Арбайтен)))) Щиро вдячний! Зроблю в першому пості правку щоб легше було розбиратись)
Умні люди ще один варіант підказали, не для слабих духом так сказать :mrgreen: ( з перевіркою на хмл чи ін4):

if XMLMode
then begin
OwnershipCode:='';
if IsNodeExists(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/OwnershipInfo/Code')
then OwnershipCode:=XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/OwnershipInfo/Code');
if OwnershipCode='100'
then OwnershipCode:='приватна'
else
if OwnershipCode='300'
then OwnershipCode:='державна'
else OwnershipCode:='комунальна'
end
else begin
if UpperCase(StringPart(Param('PZ'),1,','))='ВЛ'
then OwnershipCode:='приватна'
else OwnershipCode:='державна'; //todo комунальна??? //-todo
end;
if XMLMode
then ParcelArea:= XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/ParcelMetricInfo/Area/Size')
// /InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/ParcelMetricInfo/Area/Size
else ParcelArea:=Param('AS');


Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 285 ]  На страницу Пред.  1 ... 15, 16, 17, 18, 19

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


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

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


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

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