Аналитика

Цифровая фотограмметрия, картография и землеустройство
Текущее время: 11 дек 2018 11:55

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




Начать новую тему Ответить на тему  [ Сообщений: 293 ]  На страницу Пред.  1, 2, 3, 4, 5, 6 ... 20  След.
Автор Сообщение
 Заголовок сообщения: Re: XML против Reports
СообщениеДобавлено: 12 апр 2011 08:20 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 1983
Откуда: Vinnitsa
kukin писал(а):
...
а это я где-то позаимствовал :roll:
function GetOwner(S:string; N:integer):string; // Виділяємо співвласника за заданим номером
...

В последних версиях Reports есть функция StringPart, которая возвращает Part-ую часть строки S, разделенную разделителем Delimeter, если такой части нет, то возвращается пустая строка.
function StringPart(S:String; Part:Integer; Delimeter:Char):String;
то есть можно упростить
function GetOwner(S:string; N:integer):string;
begin
Result:=StringPart(S,N,'|');
end;

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


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

Зарегистрирован:
06 фев 2008 18:09
Сообщения: 310
Откуда: Ужгород
Цитата:
В последних версиях Reports есть функция StringPart

Спасибо, не знал об этой функции, последние полтора года, прогулял нововведения в полях :)

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


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

Зарегистрирован:
06 фев 2008 18:09
Сообщения: 310
Откуда: Ужгород
Цитата:
[AllOwn(OwnerCount(PARAM('NM')))]

немного забежал "в перед", кроме добавки в виде "гр.", еще и обрезал название владельца до вида ФАМИЛИЯ, ИНИЦИАЛЫ
FIO(GetOwner(PARAM('NM')
Цитата:
Result:=Result+ KFvar+FIO(GetOwner(PARAM('NM'), i));

В общем, это пригодится в другом месте :mrgreen:

Нам надо использовать несколько другую функцию
с переносом строки, для табличного перечисления владельцев (или без переноса, для строчного перечисления владельцев):
function AllOwners(N:integer):string; //
var i: integer;
begin
Result:='';
for i:=0 to N-1 do
begin
Result:=Result+ KFvar+GetOwner(PARAM('NM'), i)+ #013;
// + #013 и есть тот перенос строки
end;
end;

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


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

Зарегистрирован:
26 фев 2007 12:04
Сообщения: 1751
Откуда: Vinnitsa
Правильно перенос строки задавать так #13#10. Это на unix машинах используется один символ с кодом #13.

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


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

Зарегистрирован:
06 фев 2008 18:09
Сообщения: 310
Откуда: Ужгород
Цитата:
Правильно перенос строки задавать так #13#10.

Возможно, ибо в делфях CR (carriage return)-"#13" и LF (line feed)-"#10".
Но в мемо хватит переноса каретки #013 (CR), и оно беспрецедентно работает в моем шаблоне с конца 2008года :wink:

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


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

Зарегистрирован:
06 фев 2008 18:09
Сообщения: 310
Откуда: Ужгород
пришло время подумать над "підставою набуття", вот нужные элементы:
/UkrainianCadastralExchangeFile/InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/TechnicalDocumentationInfo/ApprovalInfo/ApprovalDocument
/UkrainianCadastralExchangeFile/InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/TechnicalDocumentationInfo/ApprovalInfo/ApprovalNumber
/UkrainianCadastralExchangeFile/InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/TechnicalDocumentationInfo/ApprovalInfo/ApprovalDate
/UkrainianCadastralExchangeFile/InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/TechnicalDocumentationInfo/ApprovalInfo/ApprovalAuthority

повытягивать их не сложно, но как "читабельно" их подать..

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


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

Зарегистрирован:
06 фев 2008 18:09
Сообщения: 310
Откуда: Ужгород
Пардон, с ../ApprovalInfo/.. выходит ошибочка.
Не разобравшись выбрал не тот путь, который описан переменной [PropertyAcquisitionJustificationList].
Надо:
/UkrainianCadastralExchangeFile/InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/Proprietors/ProprietorInfo/PropertyAcquisitionJustification/Document
/UkrainianCadastralExchangeFile/InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/Proprietors/ProprietorInfo/PropertyAcquisitionJustification/DocumentDate
/UkrainianCadastralExchangeFile/InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/Proprietors/ProprietorInfo/PropertyAcquisitionJustification/DocumentNumber
/UkrainianCadastralExchangeFile/InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/Proprietors/ProprietorInfo/PropertyAcquisitionJustification/ApprovalAuthority

Элемент ../PropertyAcquisitionJustification/Document/.. не несет нужной информации для технической документации.
Простыми словами, не читабельно "бальсым насяльникам"
Надо наверно диалоговые окошки делать :(
Бум изварщатся над готовым кодом:
then begin
PropertyAcquisitionJustificationList:=
XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/Proprietors/ProprietorInfo/PropertyAcquisitionJustification/Document');
if PropertyAcquisitionJustificationList='001'
then PropertyAcquisitionJustificationList:='Рішення органу місцевого самоврядування'
else if PropertyAcquisitionJustificationList='002'
then PropertyAcquisitionJustificationList:='Рішення органу виконавчої влади'
else if PropertyAcquisitionJustificationList='003'
then PropertyAcquisitionJustificationList:='Цивільно-правовий договір'
else if PropertyAcquisitionJustificationList='004'
then PropertyAcquisitionJustificationList:='Свідоцтво про право на спадщину'
else if PropertyAcquisitionJustificationList='005'
then PropertyAcquisitionJustificationList:='Рішення суду'
else PropertyAcquisitionJustificationList:='';
if PropertyAcquisitionJustificationList<>''

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

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


Последний раз редактировалось kukin 15 апр 2011 14:36, всего редактировалось 1 раз.

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

Зарегистрирован:
06 фев 2008 18:09
Сообщения: 310
Откуда: Ужгород
Дошло время до описания названия землевладельца и его адреса, для таблиц(в заявках имя,место проживания) и в теле текста "пояснююча записка".
То есть, надо получать имя, фамилию, отчество, адрес через пробел, или перенос строки.
поиск можно организовать по образу и подобию кода написанного Дмитрием:
//Chapter3
//ProprietorFullNameList:String; //Список ПІБ/назв власників


if XMLMode //если ХМЛ
then ProprietorFullNameList:=PrepareXMLNMList(',') //то
else begin //если не ХМЛ то
I:=0;
ProprietorFullNameList:='';
repeat
inc(I);
S:=StringPart(Param('NM'),I,'|');
//перебор по символу "I" параметра NM
if S<>'' then ProprietorFullNameList:=ProprietorFullNameList+S+', '; //добовление отделенных имен "в кучу"
until S='';
Delete(ProprietorFullNameList,Length(ProprietorFullNameList)-1,2);

function PrepareXMLNMList(Delimeter:Char):String;
//поиск имени названий владельца
var I,N:Integer; S,PPath:String;
begin
Result:='';
//обнуляем переменную вывода функции
PPath:=XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/Proprietors'; //путь PPath к пользователю
N:=NodesCount(PPath,'ProprietorInfo');// проверка количества пользователей по пути PPath
if N<1 then Exit;
for I:=1 to N do
if IsNodeExists(PPath+'/ProprietorInfo/Authentication/NaturalPerson')
then Result:=Result+'гр. '+
XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/FullName/LastName')+' '+
XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/FullName/FirstName')+' '+
XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/FullName/MiddleName')+IIF(I<>N,Delimeter+' ','')
else Result:=Result+XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/LegalEntity/Name')+IIF(I<>N,Delimeter+' ','')
end;


вот одно не пойму зачем писать кучу кода :shock: в виде:
XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/FullName/LastName')+' '+
XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/FullName/FirstName')+' '+
XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/FullName/MiddleName')+

Можно ведь заменить:
XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/FullName)+
и будет счастье (выдаст фамилию имя отчество через пробелы )

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


Последний раз редактировалось kukin 16 апр 2011 18:48, всего редактировалось 2 раз(а).

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

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 1983
Откуда: Vinnitsa
kukin писал(а):
и будет счастье (выдаст фамилию имя отчество через пробелы )

Оказывается не на всех компютерах "через пробелы", я на этом уже прокололся, потому лучше пробелы ставить "вручную"

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


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

Зарегистрирован:
06 фев 2008 18:09
Сообщения: 310
Откуда: Ужгород
Цитата:
Оказывается не на всех компютерах "через пробелы", я на этом уже прокололся, потому лучше пробелы ставить "вручную"

Проверим, пока что оставлю сокращенную форму.



Наваял "не читабельную" функцию "вытягивания" имени и адреса владельца:
if XMLMode //если ХМЛ
then ProprietorNMADList:=PrepareXMLNMADList(',') // присваеваем нашей переменной ProprietorNMADList функцию
else begin //если не ХМЛ то подумаю об этом завтра..........
end


function PrepareXMLNMADList(Delimeter:Char):String;
//поиск имени названий владельца и его адреса
var I,N:Integer; S,PPath:String;
begin
Result:='';
//обнуляем переменную вывода функции
PPath:=XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/Proprietors'; //путь PPath к пользователю
N:=NodesCount(PPath,'ProprietorInfo');// проверка количества пользователей по пути PPath
if N<1 then Exit;
for I:=1 to N do
//начинаем перебор пользователями от 1 до N
if IsNodeExists(PPath+'/ProprietorInfo/Authentication/NaturalPerson') //путь к элементам физ лица
then begin
bbb:=XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/Country');
//присваеваем строчнойй переменной bbb путь к номеру страны
Result:=Result+'гр. '+ XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/FullName')+', '+
SEF(bbb,'KDS.txt')+
', Індекс'+XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/ZIP')+
', '+XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/Region')+
', '+XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/District')+
', '+XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/Settlement')+
', '+XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/Street')+
', буд.'+XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/Building')+
', корп.'+XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/Block')+
', кв.'+XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/BuildingUnit')+
IIF(I<>N,Delimeter+' ','')
end
else begin
//те же "яйца", только с юридическими лицами
bbb:=XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/LegalEntity/Address/Country');
Result:=Result+XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/LegalEntity/Name')+
SEF(bbb,'KDS.txt')+
', Індекс'+XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/LegalEntity/Address/ZIP')+
', '+XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/LegalEntity/Address/Region')+
', '+XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/LegalEntity/Address/District')+
', '+XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/LegalEntity/Address/Settlement')+
', '+XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/LegalEntity/Address/Street')+
', буд.'+XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/LegalEntity/Address/Building')+
', корп.'+XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/LegalEntity/Address/Block')+
', кв.'+XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/LegalEntity/Address/BuildingUnit')+
IIF(I<>N,Delimeter+' ','')
end;
end;

выводит:
гр. Пупкин Пуп Пупович, Украина, Индекс88000,-,-,город Герой, улица Героинь, буд.4, корп., кв.36



теперь надо подумать как обрезать отсутствующие элементы и элементы с символом "-"
поскольку в ДЗКовском менеджере отсутствует понятие "опущения" пустых элементов(лепит теги без разбора, в пустые и заполненные элементы)
будем считатся с символом "-".


надо подумать над обрезающем кодом, а лучше функцией (боюсь, что переменных тут добавится :( )
if (XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/Building'))<>'-')
and (XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/Building'))<>'')
//проверка на наличие пропуска и символа "-"
then
S:='буд.'+XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/Building')

___________________________________________________________________
чет я напорол(упустил) с разделением землевладельцев символом ", "
___________________________________________________________________
Наверно в теле функции надо будет добавить переменные, государство, индекс, область, район, улица, дом, корпус, квартира, поскольку в некоторые переменные будет добавляться приставки-окончания в виде +'буд.'+...+', '+

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


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

Зарегистрирован:
06 фев 2008 18:09
Сообщения: 310
Откуда: Ужгород
В общем решил вопрос через "многа букафффф"
function PrepareXMLNMADList(Delimeter:Char):String; //поиск имени названий владельца и его исправленого адреса.........
var I,N:Integer; S,PPath,bbb,ZIP,Region,District,Settlement,Street,Building,Block,BuildingUnit:String;
begin
Result:='';
//обнуляем переменную вывода функции
PPath:=XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/Proprietors'; //путь PPath к пользователю
N:=NodesCount(PPath,'ProprietorInfo');// проверка количества пользователей по пути PPath
if N<1 then Exit;
for I:=1 to N do //начинаем перебор пользователями от 1 до N
if IsNodeExists(PPath+'/ProprietorInfo/Authentication/NaturalPerson')
//путь к элементам физ лица
then begin
bbb:=XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/Country');
//присваеваем строчнойй переменной bbb путь к номеру страны
if (XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/ZIP')<>'-') //прверка на пустые и содержащие символ "-" элементы (было использовано ранее в теме)
and (XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/ZIP')<>'')then
ZIP:=', Індекс'+XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/ZIP');

if (XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/Region')<>'-')
and (XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/Region')<>'')then
Region:=', '+XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/Region');

if (XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/District')<>'-')
and (XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/District')<>'') then
District:=', '+XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/District');

if (XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/Settlement')<>'-')
and (XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/Settlement')<>'') then
Settlement:=', '+XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/Settlement');

if (XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/Street')<>'-')
and (XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/Street')<>'')then
Street:=', '+XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/Street');

if (XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/Building')<>'-')
and (XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/Building')<>'') then
Building:=', буд.'+XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/Building');

if (XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/Block')<>'-')
and (XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/Block')<>'') then
Block:=', корп.'+XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/Block');

if (XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/BuildingUnit')<>'-')
and (XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/BuildingUnit')<>'') then
BuildingUnit:=', кв.'+XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/BuildingUnit');

Result:=Result+'гр. '+ XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/FullName')+', '+
SEF(bbb,'KDS.txt')+ZIP+Region+District+Settlement+Street+Building+Block+BuildingUnit+IIF(I<>N,Delimeter+' ','')
end
else begin
//"яйца" с юридическими лицами были повторены аналогично



Интересно получается:
if (XPath(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/ZIP')<>'')
здесь заменяет:
IsNodeExists(PPath+'/ProprietorInfo['+IntToStr(I)+']/Authentication/NaturalPerson/Address/ZIP')

только не пойму почему Delimeter у меня не работает Изображение

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


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

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 1983
Откуда: Vinnitsa
Цитата:
+IIF(I<>N,Delimeter+' ','')

Добавляет Delimeter+' ' если не последний собственник, после последнего добавляет пустую строку

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


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

Зарегистрирован:
06 фев 2008 18:09
Сообщения: 310
Откуда: Ужгород
Dmitry_Zolotar писал(а):
Добавляет Delimeter+' ' если не последний собственник, после последнего добавляет пустую строку

Я видимо где то в этом месте "наплужил", может просто воткнул не туда по телу кода, буду искать:
f XMLMode //если ХМЛ
then ProprietorNMADList:=PrepareXMLNMADList(',') // присваеваем нашей переменной ProprietorNMADList функцию
else begin //если не ХМЛ то подумаю об этом завтра..........
Не внимательность это моя большая беда.

Начал разбиратся с ComboBox, ListBox, Label и Memo в теле диалоговой формы.
Ранее мне требовалось лишь получать из боксов текст(и все работало), а тут приходится в диалоговое окно выводить текст, для дальнейшей его препарации, или хотя б как подсказку .
Видимо надо вывести в мемо "намек для оператора" на "Підставу набуття", а дальше выбрать из списка нужный текст в списке исходя из документации.
Но вывод текста в ComboBox для препарации меня интригует больше, есть ли такая возможность?
Хелп не шибко помог.
Видимо надо все таки вгрызаться сюда, так чтоб наверняка :lol:
__________________________________________________________________________________________________________
люблю я сам с собой поразговаривать Изображение
вопрос решился гениально просто.

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


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

Зарегистрирован:
06 фев 2008 18:09
Сообщения: 310
Откуда: Ужгород
В общем "комбобоксом" разделил тело переменной PropertyAcquisitionJustificationList выполнил так:
//PropertyAcquisitionJustificationList
if XMLMode
then begin
PropertyAcquisitionJustificationList:=
XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/Proprietors/ProprietorInfo/PropertyAcquisitionJustification/Document');
//поиск названия основания приобретения
//сверяем "підставу" с их значением
if PropertyAcquisitionJustificationList='001'
then ComboBox1.text:='Рішення органу місцевого самоврядування'
else if PropertyAcquisitionJustificationList='002'
then ComboBox1.text:='Рішення органу виконавчої влади'
else if PropertyAcquisitionJustificationList='003'
then ComboBox1.text:='Цивільно-правовий договір'
else if PropertyAcquisitionJustificationList='004'
then ComboBox1.text:='Свідоцтво про право на спадщину'
else if PropertyAcquisitionJustificationList='005'
then ComboBox1.text:='Рішення суду'
else ComboBox1.text:='';
// тут присваиваем комбобоксу упрощенную "підставу", в диалоговом окне мы уточним основание приобретения
//далее записываем даты, номера, и орган выдавший документ

if PropertyAcquisitionJustificationList<>''
then begin
PropertyAcquisitionJustificationList:= ' від '+
FormatXMLDate(XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/Proprietors/ProprietorInfo/PropertyAcquisitionJustification/DocumentDate'))+
' №'+XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/Proprietors/ProprietorInfo/PropertyAcquisitionJustification/DocumentNumber')+
' '+XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/Proprietors/ProprietorInfo/PropertyAcquisitionJustification/ApprovalAuthority');
end;
end
else begin

//todo
PropertyAcquisitionJustificationList:=Param('PZ');
end;

_______________________________
в теле отчета переменные выглядят так:[ComboBox1.text] [PropertyAcquisitionJustificationList]

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


Последний раз редактировалось kukin 16 апр 2011 18:49, всего редактировалось 1 раз.

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

Зарегистрирован:
06 фев 2008 18:09
Сообщения: 310
Откуда: Ужгород
Не вижу решения вывода периметра участка.
Опять диалоговое окно?
:shock:
Может ХМЛю добавить парочку параметров ин4 в ДМФ?

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


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

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


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

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


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

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