Аналитика http://www.geosystema.net/forum/ |
|
Формирорвание отчета в Reports http://www.geosystema.net/forum/viewtopic.php?f=1&t=295 |
Страница 12 из 49 |
Автор: | Anton Shchavinsky [ 24 мар 2009 11:04 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Всем привет! И еще пару вопросов: 1. У меня в Дилянке есть несколько Угидь. Мне нужно в репортс передать коды этих Угидь через запятую, как такое реализовать? 2. У Угидь есть Обмеження, иногда Обмеження ставиться на всю Дилянку, иногда на одне Угиддя, иногда на несколько Угидь. Как мне вытащить в Репортс эти Обмеження. В случае, если оно принадлежит Дилянке, то понятно. Как это сделать, если Обмеження есть в Угидях? Надеюсь, что понятно описал |
Автор: | Jekos1 [ 24 мар 2009 11:14 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Почти такой же вопрос я задавал. Вот ответ viewtopic.php?p=4336#4336 Все работает! |
Автор: | Anton Shchavinsky [ 24 мар 2009 15:21 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Да, вопрос правда похож и с Сумижниками у меня так и работает, а вот ответ 2) PARAM('LS',N,I) , где N - номер участка /от 1 до OBJCOUNT/, I - номер угодья /от 1 до CHILDCOUNT(N) / мне немного не понятен. PARAM('LS',N,I) где вводить? Что ставить на место N и I? Можно живой пример? |
Автор: | Dmitry_Zolotar [ 24 мар 2009 18:03 ] | ||
Заголовок сообщения: | Re: Формирорвание отчета в Reports | ||
Виктор Каракай писал(а): Как-то было озвучено обещание создать шаблончик приватизации для пофамильного режима на четыре участка. Так вот, можно скромно спросить:Что- нибудь делается в этом направлении или...? Спасибо за ответ. Вариант требует небольшой доработки, выкладываю чтоб Вы попробовали. Переменная TXAD формируется в зависимости от того совпадают ли адреса участков, ее значение присутствует практически на каждой странице документации. Попробуйте разные варианты (с одинаковыми адресами, с разными) и киньте на zolotar@vingeo.com как должно(может) выглядеть решение местного совета в случае множества участков
|
Автор: | Dmitry_Zolotar [ 24 мар 2009 18:31 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Anton Shchavinsky писал(а): Да, вопрос правда похож и с Сумижниками у меня так и работает, а вот ответ 2) PARAM('LS',N,I) , где N - номер участка /от 1 до OBJCOUNT/, I - номер угодья /от 1 до CHILDCOUNT(N) / мне немного не понятен. PARAM('LS',N,I) где вводить? Что ставить на место N и I? Можно живой пример? Работающие примеры в папке Digitals\Templates найдёте, посмотрите шаблоны для разных режимов (одиночный, пофамильный и групповой). Особенно актуальными для понимания окажутся функции GetParcelByCV и GetAreaByCN в скрипте экспликации пофамильного режима. На вопрос "где вводить?" нет короткого ответа. PARAM( , , ) - одна из многих функций, которые можно использовать в скрипте или в тексте мемо, например. |
Автор: | Anton Shchavinsky [ 24 мар 2009 22:01 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Спасибо за подсказку. И правда, в файле примера отчета Vityag.fr3 есть ответ на вопрос, как вытащить обмеження и сервитуты с угидь. Они даже коментами такими помечены: -- Проверка есть ли обмеження в участке. Если да, то выводим строку с данными обмеження по участку. Если нет, то проверяем, есть ли хотя бы в одном угодии обмеження. Если есть хоть в одном, выводим строку с данными по этому угодию -- -- Проверка есть ли сервитут в участке. Если да, то выводим строку с данными сервитут по участку. Если нет, то проверяем, есть ли хотя бы в одном угодии сервитут. Если есть хоть в одном, выводим строку с данными по этому угодию. -- Привожу их здесь, может понадобится кому, да и при поиске найти можно будет! |
Автор: | misha_OD [ 25 мар 2009 17:31 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Хочу в Репортсі прописати видалення послідовності символів ,- Var adresa:string; i:integer; begin for i:=1 to Length(adresa) do if adresa[i]='-' then adresa:=Delete(adresa,i-1,2) end Зявляється повідомлення про несумісність типів в функції Delete. |
Автор: | Olg@ [ 25 мар 2009 17:43 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Var adresa:string; i:integer; begin for i:=1 to Length(adresa) do if adresa[i]='-' then Delete(adresa,i-1,2) end |
Автор: | Dmitriy Fedorov [ 25 мар 2009 18:41 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Погодите, господа.. С таким кодом вы рискуете получить "out of bounds"?! Длина строки задается в цикле, а в процессе явно будет уменьшаться.. Честно, не проверял. |
Автор: | Dmitry_Zolotar [ 25 мар 2009 19:13 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
misha_OD писал(а): Хочу в Репортсі прописати видалення послідовності символів ,- Var adresa:string; i:integer; begin for i:=1 to Length(adresa) do if adresa[i]='-' then adresa:=Delete(adresa,i-1,2) end Зявляється повідомлення про несумісність типів в функції Delete. Удаляя символы из строки, Вы уменьшаете ее длину, при этом кол-во итераций в цикле задано в начале и остается неизменным На какой-то итерации получите ситуацию когда i уже больше Length(adresa), цикл при этом не завершится. Да и значения вроде "Белгород-Днестровский" станут "БелгороДнестровский" Попробуйте что-то вроде: var adresa:String; ip:Integer; begin .... adresa:=Param('..'); ip:=Pos(',-',adresa); while ip>0 do begin adresa:=Copy(adresa,1,ip-1)+Copy(adresa,ip+2,Length(adresa)-2); ip:=Pos(',-',adresa); end; .... end. Этот код не удалит первый минус |
Автор: | Anton Gorpynich [ 25 мар 2009 19:38 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Dmitriy Fedorov писал(а): Погодите, господа.. С таким кодом вы рискуете получить "out of bounds"?! Длина строки задается в цикле, а в процессе явно будет уменьшаться.. Честно, не проверял. Тем не менее и без проверки замечание справедливое. При вызове Delete длина строки уменьшается и символы смещаются влево. Кроме того, а что если строка будет начинаться с "-"? Учитывая вышесказанное предлагаю корректный и более производительный вариант: function DeleteMinus(s:string):string; var n: integer; begin if s[1]='-' then Delete(s,1,1); repeat n:=Pos(',-',s); if n>0 then Delete(s,n,2); until (n=0) or (Length(s)=0); Result:=s; end; |
Автор: | misha_OD [ 25 мар 2009 20:56 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Дякую всім, особливо Антону Горпиничу . Я думав він в основному по Геодезії, а виявляється і Репортс теж його коньок. |
Автор: | Dmitry_Zolotar [ 26 мар 2009 08:43 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
И все же первый минус надо удалять после остальных и вместе с запятой после него function DeleteMinus(s:string):string; var n: integer; begin repeat n:=Pos(',-',s); if n>0 then Delete(s,n,2); until (n=0) or (Length(s)=0); if s[1]='-' then if Length(s)>1 then Delete(s,1,2) else s:=''; Result:=s; end; |
Автор: | Dmitry_Zolotar [ 26 мар 2009 08:44 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
misha_OD писал(а): Дякую всім, особливо Антону Горпиничу . Я думав він в основному по Геодезії, а виявляється і Репортс теж його коньок. Не конёк, а детище |
Автор: | Jekos1 [ 30 мар 2009 13:30 ] |
Заголовок сообщения: | Re: Формирорвание отчета в Reports |
Ув. разработчики, подскажите пожалуйста, возможно такое что бы Репорт сам выставлял длины, номера точек и площадь когда загружает растр? СПС. |
Страница 12 из 49 | Часовой пояс: UTC + 2 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |