Аналитика http://www.geosystema.net/forum/ |
|
XML против Reports http://www.geosystema.net/forum/viewtopic.php?f=1&t=2051 |
Страница 19 из 20 |
Автор: | mixey_dubno [ 04 апр 2016 10:03 ] |
Заголовок сообщения: | Re: XML против Reports |
mixey_dubno писал(а): Dmitry_Zolotar писал(а): Dmitry_Zolotar писал(а): "Попробуйте запустить под админом." або тимчасово відключіть UAC запустив від адміна та отключивuac всерівнно нічого не змінилося можливо є ще якісь варіанти вирішення проблеми? |
Автор: | Dmitry_Zolotar [ 04 апр 2016 10:16 ] |
Заголовок сообщения: | Re: XML против Reports |
Заміна усіх RichEdit на MemoView допоможе. RichEdit - це така "чорна скриня" від Microsoft, яка глючить постійно. |
Автор: | mixey_dubno [ 04 апр 2016 19:40 ] |
Заголовок сообщения: | Re: XML против Reports |
Dmitry_Zolotar писал(а): Заміна усіх RichEdit на MemoView допоможе. RichEdit - це така "чорна скриня" від Microsoft, яка глючить постійно. ціава ситуація колись в мене глючив MemoView сказали краще користуватись RichEdit))))) ну менш з тим, дякую! |
Автор: | Dmitry_Zolotar [ 04 апр 2016 20:14 ] |
Заголовок сообщения: | Re: XML против Reports |
Dmitry_Zolotar писал(а): RichEdit - трохи "глючна" штука від майкрософт, тому його не використовую. Колись під час розробки шаблону звіту з десятком сторінок усі формули були замінені значеннями та збереглись в шаблон. Роботу над шаблоном довелось починати майже з нуля. До того ж періодично виникають проблеми з дивними шрифтами в RichEdit. Dmitry_Zolotar писал(а): Проблема замечена с RichEdit в Reports, в нем постоянно "проскакивает" шрифт "MS Mincho". Digitals XE тут ни при чем, а вот операционная система "виновата". Из-за этой проблемы я лично стараюсь избегать использования RichEdit, использую Memo. Dmitry_Zolotar писал(а): Можливо використовувався RichText, а він щось глючить: то якісь екзотичні шрифти з'являються, то розмір файла збільшується на порядок без причини.
Поведінку RichText (Microsoft) в фастрепорті ми поміняти не можем, раджу використовувати тільки MemoView. |
Автор: | fendak [ 28 апр 2016 21:33 ] |
Заголовок сообщения: | Re: XML против Reports |
Добрий вечір. Підкажіть, яким чином замінити 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'); |
Автор: | mixey_dubno [ 21 фев 2017 11:50 ] |
Заголовок сообщения: | Re: XML против Reports |
допоможіть будь ласка витягнути серію та номер держ акту з ХМЛ, щось неполучається цього зробити |
Автор: | mixey_dubno [ 21 фев 2017 12:56 ] |
Заголовок сообщения: | Re: XML против Reports |
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; як поєднати це з вашою функцією? буду вдячний за допомогу |
Автор: | Dmitry_Zolotar [ 21 фев 2017 17:10 ] |
Заголовок сообщения: | Re: XML против Reports |
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)); |
Автор: | mixey_dubno [ 21 фев 2017 17:23 ] |
Заголовок сообщения: | Re: XML против Reports |
Dmitry_Zolotar писал(а): Dmitry_Zolotar писал(а): Додайте наступний код в шаблон, та використовуйте виклик функції FormatXMLDate() для конвертування дат замість datr:=xpath(temp); напишіть datr:=FormatXMLDate(xpath(temp)); Безмежно вдачний Вам усе получилось! |
Автор: | Harlequin [ 19 май 2017 09:29 ] | ||
Заголовок сообщения: | Re: XML против Reports | ||
Виник ряд питань по яким потрібна допомога! 1. Як вивести в текстовий звіт з ХМЛ дані держ акту в родовому відмінку (в називному виводиться без питань). 2. Опис суміжних землекористувача з кадастровими номерами та без, рився в зразках шаблонів, але витягти у власний покищо не виходить (а вже дуже хочеться щоб все було в одному місці) прошу вказати необхідний кусок коду для цього блока. 3. З того ж ХМЛя коряво витягується знак "№" (відображається в іншому шрифті, що портить зовнішній вигляд звіту, так так звіт так має виглядати симпатично ) Dmitry_Zolotar писал(а): Dmitry_Zolotar писал(а): RichEdit - трохи "глючна" штука від майкрософт, тому його не використовую. Колись під час розробки шаблону звіту з десятком сторінок усі формули були замінені значеннями та збереглись в шаблон. Роботу над шаблоном довелось починати майже з нуля. До того ж періодично виникають проблеми з дивними шрифтами в RichEdit. Dmitry_Zolotar писал(а): Проблема замечена с RichEdit в Reports, в нем постоянно "проскакивает" шрифт "MS Mincho". Digitals XE тут ни при чем, а вот операционная система "виновата". Из-за этой проблемы я лично стараюсь избегать использования RichEdit, использую Memo. Dmitry_Zolotar писал(а): Можливо використовувався RichText, а він щось глючить: то якісь екзотичні шрифти з'являються, то розмір файла збільшується на порядок без причини. Поведінку RichText (Microsoft) в фастрепорті ми поміняти не можем, раджу використовувати тільки MemoView. 4. Не знайшов зразка коду, який витягує форму власності земельної ділянки, а було б зовсім не зайвим автоматизувати і цей блок. Цитата: //форма власності земельної ділянки 5. Маємо ще таблицю в звіті під назвою "Перелік обмежень щодо використання земельної ділянки" було б дуже круто заповнювати площі обмежень в ній згідно даних з ХМЛ в автоматичному режимі.OwnershipCode:=XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/OwnershipInfo/Code'); Code:=SEF(OwnershipCode,'OwnershipCode.txt');(текстовий файл 'OwnershipCode.txt' має бути в папці Lists(Прикріпив нижче)) 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;
|
Автор: | shyrko [ 19 май 2017 11:36 ] |
Заголовок сообщения: | Re: XML против Reports |
На рахунок державного акта як варіант, можна створити текстовий список в папці Lists, StateActTypeRop.txt, де внести відповідні назви в родовому відмінку а потім вже витягнути функцією Sef. На рахунок кривого знаку "№", або встановити Windows7, або відмовитись від Richtext, а використовувати Мемо |
Автор: | shyrko [ 19 май 2017 12:39 ] |
Заголовок сообщения: | Re: XML против Reports |
Форму власності можна витягнути якось так: Код- [Copy(Param('id7000512'),1,3)] Назва [Copy(Param('id7000512'),5,Length(Param('id7000512')))] |
Автор: | Harlequin [ 19 май 2017 16:11 ] |
Заголовок сообщения: | Re: XML против Reports |
shyrko писал(а): Форму власності можна витягнути якось так: Код- [Copy(Param('id7000512'),1,3)] Назва [Copy(Param('id7000512'),5,Length(Param('id7000512')))] Ми зараз про текстовий звіт говоримо чи про ДМТ? Бо мене саме для FR3 цікавить код, поясніть будь-ласка якщо я чогось не розумію |
Автор: | shyrko [ 20 май 2017 02:04 ] |
Заголовок сообщения: | Re: XML против Reports |
Трохи промазав Коф форми власності OwnershipCode:=XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/CategoryPurposeInfo/Category'); Назва FV:=SEF(OwnershipCode,'OwnershipCode.txt');(текстовий файл 'OwnershipCode.txt' має бути в папці Lists) |
Автор: | Harlequin [ 22 май 2017 14:34 ] |
Заголовок сообщения: | Re: XML против Reports |
shyrko писал(а): Трохи промазав Коф форми власності OwnershipCode:=XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/CategoryPurposeInfo/Category'); Назва FV:=SEF(OwnershipCode,'OwnershipCode.txt');(текстовий файл 'OwnershipCode.txt' має бути в папці Lists) Ооо Арбайтен)))) Щиро вдячний! Зроблю в першому пості правку щоб легше було розбиратись) Умні люди ще один варіант підказали, не для слабих духом так сказать ( з перевіркою на хмл чи ін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'); |
Страница 19 из 20 | Часовой пояс: UTC + 2 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |