Аналитика http://geosystema.net/forum/ |
|
Формирорвание отчета в Reports http://geosystema.net/forum/viewtopic.php?f=1&t=295 |
Страница 44 из 49 |
Автор: | Dmitry_Zolotar [ 13 янв 2017 16:01 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
shyrko писал(а): Доброго дня. Таке питанння Є наприклад текстовий блок Memo1. Height=180 мм Font.Size=13 Кількість рядків N Як вирахувати LineSpacing LineSpacing можна задати, а не вирахувати. Height залежить від кількості строк тексту, Font.Size і LineSpacing, якщо StretchMode=smActualHeight, тобто коли висота визначається автоматично. LineSpacing задається у пікселях незалежно від налаштувань Вид-Настройки-Сетка. Якщо сітка в мм, то: Height~N*Font.Size+LineSpacingInMM*(N-1) де LineSpacingInMM=LineSpacing*25,4/96 25,4 - мм в дюймі 96 - точек на дюйм на екрані Якщо сітка в пікселях, то: Height~N*Font.Size+LineSpacing*(N-1) |
Автор: | shyrko [ 20 янв 2017 15:29 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Підкажіть, що не так в коді var CV:string; procedure PageBYDOnBeforePrint(Sender: TfrxComponent); begin CV:=StringPart(param('cv'),1,' '); if CV<>'02.01' then PageBYD.Visible:=false; end; begin ...... end. |
Автор: | Руслан Пархуць [ 20 янв 2017 16:19 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
shyrko писал(а): Підкажіть, що не так в коді procedure PageBYDOnBeforePrint(Sender: TfrxComponent); begin CV:=StringPart(param('cv'),1,' '); if CV<>'02.01' then PageBYD.Visible:=false; end; Саму себе не получиться сховати var CV:string; procedure PageBYDOnBeforePrint(Sender: TfrxComponent); begin // CV:=StringPart(param('cv'),1,' '); // if CV<>'02.01' then PageBYD.Visible:=false; end; begin CV:=StringPart(param('cv'),1,' '); if CV<>'02.01' then PageBYD.Visible:=false; end. |
Автор: | shyrko [ 31 янв 2017 22:36 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Доброго дня! Таке питання. Треба створити технічки на N-нy ділянок на різних власників в одиночному режимі з використанням DialogPage, яка задає вихідні параметри, які однакові для всіх ділянок. Підкажіть, як зробити так, щоб діалогове вікно появилося тільки раз під час вибору документа після запуску Репортс. |
Автор: | Руслан Пархуць [ 01 фев 2017 14:31 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Руслан Пархуць писал(а): створити технічки на N-нy ділянок на різних власників в одиночному режимі Через груповий режим. StartDLG.ShowModal; if StartDLG.ModalResult=mrOk then ... та OBJCOUNT |
Автор: | shyrko [ 14 фев 2017 18:07 ] | ||
Заголовок сообщения: | Re: Формирорвание отчета в Reports | ||
Після збереження експлікації, виникає наступна ситуація https://lh3.googleusercontent.com/9K_hn070KZ7_glCKVQP3PrpmCWYM351IWWgt6WYFlIvZYtYfR6x-hIr5Vz97l2AmOsJNVdGr6NKWOzI=w1920-h901 Шаблон прикладаю Допоможіть розібратися
|
Автор: | Руслан Пархуць [ 14 фев 2017 20:03 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
помилка в стрiчцi SumCol:=GetColByNum('02'), оскiльки значення вертається -1 i шукається параметр з цим iндексом, що i викидає помилку. Перед цим є цикл //удаляем лишние столбцы for k:=SL.Count-1 downto 1 do if Copy(SL[k],1,1)<>'&' then SL.Delete(k) else Delete(SL[k],1,1); в якому колонка '02' витирається, а далi iде її пошук???? Шукати треба внизу коду. Якщо закоментувати цикл видалення, тодi щось виводить. Пробуйте. Передивився код, CN має бути наступного типу "05 рiлля" S:=Copy(S,1,Pos(' ',S)-1); iнакше отримується пусте значення, а внаслiдок цього i помилка. Краще замiнiть дану стрiчку на S:=StringPart(S,1,' '); тодi буде працювати в обох випадках. |
Автор: | shyrko [ 23 фев 2017 17:17 ] | ||
Заголовок сообщения: | Re: Формирорвание отчета в Reports | ||
При збереженні у WMF, і подальшій передачі в репортс зплющується шрифт. Встановлені дві ОС Windows7 та Windows 8. На Windows 8 все нормально. Підкаджіть в чому може бути проблема.
|
Автор: | Руслан Пархуць [ 24 фев 2017 22:03 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
shyrko писал(а): Встановлені дві ОС Windows7 та Windows 8. На Windows 8 все нормально. Можливо, проблема з драйверами вiдеокарти або параметрами екрану.
|
Автор: | Harlequin [ 15 май 2017 13:42 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
faram писал(а): Артем Сорокін писал(а): Пользуюсь Digitals прибл. 6 лет в землеустройстве и геодезии. Но вот ни как не могу себя заставить разобраться как работает Reports. В файл какого формата необходимо забивать данные, редактирование шаблонов, вывод на печать и т.д. Уважаемые пользователи сделайте кто ни будь понятный гайд, видео или презентацию. P.S. Лень двигатель прогресса. Присоединяюсь. Вообще нет базовой информации для начинающих пользователей. Сделайте пожалуйста материал с примерами для наглядности. Спасибо. А то купил модуль и разобраться как он работает не могу. Не хочеться дублювати пости в різних темах, але можливо тут швидше допоможуть. PS треба срочняком розібратись |
Автор: | Harlequin [ 16 май 2017 12:30 ] | ||
Заголовок сообщения: | Re: Формирорвание отчета в Reports | ||
Намагаюсь розробити текстовий звіт (покищо тільки для технічної документації) використовуючи код (назву перемінних) шаблону наведеного нижче. Десь в цій час коду помилка, або можливо невірно оголошено змінну // суміжники з кадастровим номером 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 [ 05 июл 2017 11:44 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Є текстовий список з певними значеннями (роздільник Tab) Як звернутись в репортс до колонки n, рядок m, за значенням КОАТУУ(1 колонка) по аналогії з функцією Sef? |
Автор: | Dmitry_Zolotar [ 05 июл 2017 12:15 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
В Reports також є функція SEF, працює так само, приклад див. в Digitals\Templates\Setup.ini |
Автор: | shyrko [ 05 июл 2017 13:30 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Трохи не так виразився. Як звернутись наприклад до 3 колонки? |
Автор: | Руслан Пархуць [ 05 июл 2017 15:38 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
ф-цiя StringPart(рядок , номер колонки, роздiлювач Tab chr(9)). Для прикладу подивiться файл Expl_Example.fr3 iз формуванням таблицi 6-зем, там є щось подiбне для пошуку по колонках. |
Страница 44 из 49 | Часовой пояс: UTC + 2 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |