Аналитика http://geosystema.net/forum/ |
|
Формирорвание отчета в Reports http://geosystema.net/forum/viewtopic.php?f=1&t=295 |
Страница 39 из 49 |
Автор: | GeKo [ 01 май 2015 17:13 ] | ||
Заголовок сообщения: | Re: Формирорвание отчета в Reports | ||
Dmitry_Zolotar, подумав я над вашою порадою, але з таким кодом: Resultt:=''; PPath:=XPath('Graphics/Graphic/Neighbours'); N:=NodesCount(PPath,'Neighbour'); if N<1 then Exit; List := TStringList.Create; try for I:=1 to N do begin NbrPath := PPath + '/Neighbour['+IntToStr(I)+']/Name'; end; for I := 0 to List.Count -1 do begin if Resultt <> '' then Resultt := Resultt + ', '; Resultt := Resultt +{ IntToStr(I + 1) + '. ' + }List[I]; Memo7.Lines.Add(List[I]+', '); end; finally List.Free; end; в мене вибиває така помилка (див. малюнок)... Це одне, але мені потрібно не скорочені імена та по-батькові а повністю!!!
|
Автор: | GeKo [ 01 май 2015 17:22 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Підкажіть, як мені зробити так, що масштаб автоматично змінювався в репортсі, після того, як я поміняв його в дмт частині під час створення якогось графічного документа, (через спеціальна вставка > в іншому масштабі)?... В репортсі в мене є код (Масштаб 1:[MapScale]) |
Автор: | remixxiwe [ 10 май 2015 23:30 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Треба допомога, а в програмуванні я "0"))) Методом научного тику пробую зробити адресу земельних ділянок для двох участків: _________________________________________________________ //Адреса земельної ділянки на дві ділянки AdresaZD:=''; AdresaZD2:=''; AD1:=Param('AD',1); AD2:=Param('AD',2); if AD1=AD2 then begin if GetV(1,AD1)<>'-' then begin if GetV(1,AD1)<>(Rada+' рада') then AdresaZD:=AdresaZD+GetV(1,AD1); if GetV(2,AD1)<>'-' then AdresaZD:=AdresaZD+', '+GetV(2,AD1); if GetV(3,AD1)<>'-' then AdresaZD:=AdresaZD+', '+GetV(3,AD1); if GetV(4,AD1)<>'-' then AdresaZD:=AdresaZD+', '+GetV(4,AD1) end; if AdresaZD<>'' then AdresaZD:=' '+AdresaZD+', '+RayonROP+', '+RegionROP else AdresaZD:=' на території '+RadaROP+' ради '+RayonROP+' '+RegionROP; TXAD:= AdresaZD; end else begin if GetV(1,AD1)<>'-' then begin if GetV(1,AD1)<>(Rada+' рада') then AdresaZD:=AdresaZD+GetV(1,AD1); if GetV(2,AD1)<>'-' then AdresaZD:=AdresaZD+', '+GetV(2,AD1); if GetV(3,AD1)<>'-' then AdresaZD:=AdresaZD+', '+GetV(3,AD1); if GetV(4,AD1)<>'-' then AdresaZD:=AdresaZD+', '+GetV(4,AD1) end; if AdresaZD<>'' then AdresaZD:=' '+AdresaZD+', '+RayonROP+', '+RegionROP else AdresaZD:=''; if GetV(1,AD2)<>'-' then begin if GetV(1,AD2)<>(Rada+' рада') then AdresaZD2:=AdresaZD2+GetV(1,AD2); if GetV(2,AD2)<>'-' then AdresaZD2:=AdresaZD2+', '+GetV(2,AD2); if GetV(3,AD2)<>'-' then AdresaZD2:=AdresaZD2+', '+GetV(3,AD2); if GetV(4,AD2)<>'-' then AdresaZD2:=AdresaZD2+', '+GetV(4,AD2) end; if AdresaZD2<>'' then AdresaZD2:=' '+AdresaZD2+', '+RayonROP+', '+RegionROP else AdresaZD2:=' на території '+RadaROP+' ради '+RayonROP+' '+RegionROP; TXAD:= AdresaZD+' та '+AdresaZD2; end; _____________________________________________________________ Результат: [TXAD] - видає адреси двох ділянок, + якщо адреса співпадає, то вписує тільки один раз [AdresaZD] - видає адресу першої земельної ділянки [AdresaZD2] - нічого не видає?? ЧОМУ??? Що я зробив не так? І ще одне питання, як зробити на 3 ділянки, 4 Ділянки? |
Автор: | remixxiwe [ 10 май 2015 23:36 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
[StrToInt(PARAM(-8,0))-1] - кількість поворотних точок.. А Як зробити в пофамільному шаблоні щоб видавало окремо на 1-ділянку, 2-ділянку... n-ділянку і Їхню суму. |
Автор: | Dmitry_Zolotar [ 11 май 2015 01:12 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
remixxiwe писал(а): [StrToInt(PARAM(-8,0))-1] - кількість поворотних точок.. А Як зробити в пофамільному шаблоні щоб видавало окремо на 1-ділянку, 2-ділянку... n-ділянку і Їхню суму. [StrToInt(PARAM(-8,1))-1] - 1-ша ділянка [StrToInt(PARAM(-8,2))-1] - 2-га ділянка [StrToInt(PARAM(-8,1))+StrToInt(PARAM(-8,2))-2] - сума |
Автор: | remixxiwe [ 11 май 2015 09:04 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Цитата: [StrToInt(PARAM(-8,1))-1] - 1-ша ділянка [StrToInt(PARAM(-8,2))-1] - 2-га ділянка [StrToInt(PARAM(-8,1))+StrToInt(PARAM(-8,2))-2] - сума Дякую, все працює!!!! А як щодо питання про адресу земельної ділянки на два участка? Буду дуже вдячний... |
Автор: | Dmitry_Zolotar [ 12 май 2015 08:05 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
remixxiwe писал(а): Результат: [TXAD] - видає адреси двох ділянок, + якщо адреса співпадає, то вписує тільки один раз [AdresaZD] - видає адресу першої земельної ділянки [AdresaZD2] - нічого не видає?? ЧОМУ??? Що я зробив не так? AdresaZD2 - порожня, бо "якщо адреса співпадає, то вписує тільки один раз" |
Автор: | GeKo [ 12 июн 2015 22:05 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Підкажіть будь-ласка, хто знається на програмуванні, що я тут зробив не правильно???, бо мені видає помилку... function FormatAddresss:String; var StT,SnN,BnN,BkK,Settlementt,Districtt,Regionn,PPath,Adresssa:String; begin Adresssa:=''; Path:=XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/ParcelLocationInfo/ParcelLocation'; StT:=Trim(XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/ParcelLocationInfo/ParcelAddress/StreetType')); SnN:=Trim(XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/ParcelLocationInfo/ParcelAddress/StreetName')); BnN:=Trim(XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/ParcelLocationInfo/ParcelAddress/Building')); BkK:=Trim(XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/ParcelLocationInfo/ParcelAddress/Block')); Settlementt:=Trim(XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/ParcelLocationInfo/Settlement')); Districtt:=Trim(XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/ParcelLocationInfo/District')); Regionn:=Trim(XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/ParcelLocationInfo/Region')); if IsNodeExists(PPath + '/Urban')then begin if Regionn<>'' then Adresssa:=Adresssa+Regionn; if Districtt<>'' then Adresssa:=Adresssa+', '+Districtt; if Settlementt<>'' then Adresssa:=Adresssa+', '+Settlementt; if StT='вулиця' then StT:='вул.' else if StT='площа' then StT:='пл.' else if StT='провулок' then StT:='пров.' else if StT='проспект' then StT:='просп.'; if (StT<>'') and (SnN<>'') then Adresssa:=Adresssa+', '+#13#10+StT+' '+SnN; if BnN<>'' then Adresssa:=Adresssa+', '+BnN; if BkK<>'' then Adresssa:=Adresssa+', '+BkK; end else begin Adresssa:=Adresssa+Regionn+', '+Districtt+','+#13#10+'на території '+File('Setup.ini','RepНазваР(Сільрада)'); end; |
Автор: | GeKo [ 14 июн 2015 21:53 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
До розробників!!! Де міститься інформація про змінений масштаб (правка > спеціальна вставка >в іншому масштабі) (приклад: кадастровий план мені видало в 2000 масштабі але, я його зробив в 1000 (вирізав (2000), вставив (1000)).... В ХМЛ шаблоні я інформацію про масштаб закинув в Репортс частину (fr3)... В репортсі є код MapScale:=XPath('Graphics/Graphic/ObjectScale'), але він видає старий масштаб, той, що незмінений (з прикладу - 2000) |
Автор: | Dmitry_Zolotar [ 15 июн 2015 08:47 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
XPath('Graphics/Graphic/ObjectScale') - масштаб об'єкта при формуванні документа, якщо ви міняли масштаб після формування, то ці дані не потраплять в генератор звітів |
Автор: | GeKo [ 15 июн 2015 19:39 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Dmitry_Zolotar, я знаю, що з таким кодом він не потрапляє, але має ж десь міститися інформація про змінений масштаб??? Тоді звідки при другому повторі дій при зміні масштабу через спеціальну вставку мені вибиває попередній масштаб, який я вибирав (при першій дії там порожньо)... Звідкісь програма знає, що я перед тим вибирав саме такий масштаб... Хоча б скажіть, щоб я не мучився, реально якось внести змінений масштаб в репортс чи ні??? |
Автор: | Dmitry_Zolotar [ 15 июн 2015 21:45 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Ви не с тої сторони заходите, потрібно підлаштувати об'єкт-ділянку в шаблоні так, щоб не потрібно було змінювати масштаб. Зробіть в дмт-шаблоні ділянку ширшою. |
Автор: | GeKo [ 03 авг 2015 08:25 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Доброго дня!!! Підкажіть будь-ласка як мені записати код (паскаль), щоб в діалоговому вікні через ComboBox виводилось значення, (записати текст в items не підходить, бо інформація має братися з умови через КОАТУУ) Такий код простий склав, але видає помилку Distrt:=Trim(XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/ParcelLocationInfo/District')); if Distrt='Певний район' then ItemIndexx:='Прізвище І.П.' else ItemIndexx:='-'; ComboBox4.ItemIndex:=ItemIndexx; |
Автор: | Dmitry_Zolotar [ 03 авг 2015 10:14 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
GeKo писал(а): Доброго дня!!! Підкажіть будь-ласка як мені записати код (паскаль), щоб в діалоговому вікні через ComboBox виводилось значення, (записати текст в items не підходить, бо інформація має братися з умови через КОАТУУ) Такий код простий склав, але видає помилку Distrt:=Trim(XPath(XML573Root+'InfoPart/CadastralZoneInfo/CadastralQuarters/CadastralQuarterInfo/Parcels/ParcelInfo/ParcelLocationInfo/District')); if Distrt='Певний район' then ItemIndexx:='Прізвище І.П.' else ItemIndexx:='-'; ComboBox4.ItemIndex:=ItemIndexx; if Distrt='Певний район' then ComboBox4.Text:='Прізвище І.П.' else ComboBox4.Text:='-'; |
Автор: | shyrko [ 12 авг 2015 12:29 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Чи можливо об'єкт Richtext підгрузти із фіалу за допомогою функції LoadFromFile? |
Страница 39 из 49 | Часовой пояс: UTC + 2 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |