Аналитика
http://www.geosystema.net/forum/

Формирорвание отчета в Reports
http://www.geosystema.net/forum/viewtopic.php?f=1&t=295
Страница 10 из 49

Автор:  Jekos1 [ 17 мар 2009 16:35 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

У меня есть 2 вопроса.
1) Как можно сделать список смежников в репорте?
2) Как можно вывести значение дескриптора LS в Репорт если оно находится в Угодии, а активирована Дилянка?
Спасибо!!!

Автор:  Dmitry_Zolotar [ 17 мар 2009 17:41 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

Jekos1 писал(а):
У меня есть 2 вопроса.
1) Как можно сделать список смежников в репорте?
2) Как можно вывести значение дескриптора LS в Репорт если оно находится в Угодии, а активирована Дилянка?
Спасибо!!!

1) Создайте параметр =NEIGHBORS[9] Список суміжників и сделайте его доступным слою Ин4_дилянка. При генерировании какого-либо документа параметр будет заполнен списком значений параметра №9, разделенных запятой из прилегающих участков или Ин4_сумижников. Значение параметра можно использовать и в Reports.exe
2) PARAM('LS',N,I) , где N - номер участка /от 1 до OBJCOUNT/, I - номер угодья /от 1 до CHILDCOUNT(N) /

Автор:  Zapadlo [ 17 мар 2009 23:07 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

Jekos1 писал(а):
Создай новый параметр и пропиши
=Parent[23]:Parent[24]:Parent[25]:CUT(4,4,P[34]) КН_Кадастровий номер ЗД
Возможно он у тебя есть!!!
А в репорте пропиши [P106] 106 это ID параметра, он может быть и другой. А лучше пиши [Param('КН')] :D


В том то и дело, что всё я так и делаю, а вот кадастровый номер всё равно не показывает или если и показывает то только квартал и дилянку, а код КОАТУУ и зону не показывает

Автор:  Dmitry_Zolotar [ 18 мар 2009 08:50 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

Zapadlo писал(а):
В том то и дело, что всё я так и делаю, а вот кадастровый номер всё равно не показывает или если и показывает то только квартал и дилянку, а код КОАТУУ и зону не показывает

Посмотрите этот пример
Вложение:
(2 участка).dmf [18.91 Кб]
Скачиваний: 957

там есть параметр, который описывал Jekos1. Для корректной результата в этом параметре необходимо чтоб ин4_дилянка была внутренним объектом ин4_квартала.

Автор:  Jekos1 [ 18 мар 2009 10:09 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

Цитата:
1) Создайте параметр =NEIGHBORS(9) Список суміжників и сделайте его доступным слою Ин4_дилянка. При генерировании какого-либо документа параметр будет заполнен списком значений параметра №9, разделенных запятой из прилегающих участков или Ин4_сумижников. Значение параметра можно использовать и в Reports.exe


Сделал все как описано, но нечего не получилось. В значении параметра выводит не список смежников а NEIGHBORS(9)

Изображение

Автор:  Dmitriy Fedorov [ 18 мар 2009 10:51 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

Dmitry_Zolotar писал(а):
При генерировании какого-либо документа

Автор:  Jekos1 [ 18 мар 2009 11:57 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

Может я что не правильно понимаю?
- В параметре прописываю =NEIGHBORS(9) ZZ_Список суміжников, параметр добавляю в дилянку
- В шаблоне прописываю [param('ZZ')]
- Генерирую отчет и получаю надпись NEIGHBORS(9)

Автор:  Dmitriy Fedorov [ 18 мар 2009 14:48 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

Перед генерацией необходимо выполнить Сервис - Документы - какой-либо документ с таблицей смежеств. Это нужно для заполнения данного параметра.

Автор:  Dmitry_Zolotar [ 18 мар 2009 18:46 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

Jekos1 писал(а):
Может я что не правильно понимаю?
- В параметре прописываю =NEIGHBORS(9) ZZ_Список суміжников, параметр добавляю в дилянку
- В шаблоне прописываю [param('ZZ')]
- Генерирую отчет и получаю надпись NEIGHBORS(9)

Сорри за очепятку
NEIGHBORS[9]
Прочитайте еще и это
http://www.geosystema.net/forum/viewtopic.php?p=30#30
З.Ы. Функция возвращает некий параметр смежников участка, для которого в последний раз генерировался документ на основе дмт-шаблона со списком смежников. Используйте в Reports.exe с учетом этой особенности, то есть пометив участок генерируйте документ, а затем только генератор отчетов, для следующего участка снова генерировать документ, затем только генератор отчетов.

Автор:  Jekos1 [ 18 мар 2009 21:33 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

Dmitry_Zolotar писал(а):
Jekos1 писал(а):
Может я что не правильно понимаю?
- В параметре прописываю =NEIGHBORS(9) ZZ_Список суміжников, параметр добавляю в дилянку
- В шаблоне прописываю [param('ZZ')]
- Генерирую отчет и получаю надпись NEIGHBORS(9)

Сорри за очепятку
NEIGHBORS[9]
Прочитайте еще и это
http://www.geosystema.net/forum/viewtopic.php?p=30#30
З.Ы. Функция возвращает некий параметр смежников участка, для которого в последний раз генерировался документ на основе дмт-шаблона со списком смежников. Используйте в Reports.exe с учетом этой особенности, то есть пометив участок генерируйте документ, а затем только генератор отчетов, для следующего участка снова генерировать документ, затем только генератор отчетов.


Большое СПС! :D А нет случайно готовых кодов что бы не мучатся с их написанием, Чтобы это выглядело так:

Від А-Б: Іванов
.....
Я-А: Петров

(В репорте)

Автор:  Dmitry_Zolotar [ 19 мар 2009 10:29 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

Jekos1 писал(а):
Большое СПС! :D А нет случайно готовых кодов что бы не мучатся с их написанием, Чтобы это выглядело так:

Від А-Б: Іванов
.....
Я-А: Петров

(В репорте)

в тексте заменить Memo1 и ID параметра
Код:
var n,i:Integer;
    S:String;                                     
const
  CyrLetters='АБВГДЄЕЖЗІИЙКЛМНОПРСТУФХватит';
begin
  ......
  S:=Param('ID50030'); // заменить ID параметра
  n:=0;             
  repeat
    inc(n);                             
  until GetV(n,S)='';
  dec(n);
  for i:=1 to n do
    if i<>n
      then
        Memo1.Lines.Add('від '+Copy(CyrLetters,i,1)+' до '+Copy(CyrLetters,i+1,1)+'  '+GetV(i,S))    //заменить Memo1
      else                             
        Memo1.Lines.Add('від '+Copy(CyrLetters,i,1)+' до А  '+GetV(i,S)); //заменить Memo1
  ......
end.

Автор:  Jekos1 [ 19 мар 2009 11:38 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

Спасибки! :D Все отлично работает!!!!!!!!!!

Автор:  Anton Gorpynich [ 19 мар 2009 14:50 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

Dmitry_Zolotar писал(а):
Прочитайте еще и это
viewtopic.php?p=30#30
З.Ы. Функция возвращает некий параметр смежников участка, для которого в последний раз генерировался документ на основе дмт-шаблона со списком смежников. Используйте в Reports.exe с учетом этой особенности, то есть пометив участок генерируйте документ, а затем только генератор отчетов, для следующего участка снова генерировать документ, затем только генератор отчетов.

Хочу заметить что в новых версиях (как минимум с 2009 года) нет необходимости предварительно использовать команду Сервис|Документы: функция Neighbors[] будет работать при использовании команды Сервис|Генератор отчетов.

Автор:  misha_OD [ 20 мар 2009 10:35 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

Пробував заповнити текст в MEMO використовуючи його властивість MEMO1.memo.
MEMO1.memo:=ФФФФ
Але не можу добитись якогось результату. говорить що несумісні типи.
Про цю властивість в хелпі знайшов наступне:
property Memo : TWideStrings;
Description
Текст объекта.

Що за тип TWideStrings - не сказано.

Автор:  Dmitry_Zolotar [ 20 мар 2009 11:09 ]
Заголовок сообщения:  Re: Формирорвание отчета в Reports

misha_OD писал(а):
Пробував заповнити текст в MEMO використовуючи його властивість MEMO1.memo.
MEMO1.memo:=ФФФФ
Але не можу добитись якогось результату. говорить що несумісні типи.
Про цю властивість в хелпі знайшов наступне:
property Memo : TWideStrings;
Description
Текст объекта.

Що за тип TWideStrings - не сказано.

Memo1.Memo.Clear; // очистка Memo1
Memo1.Memo.Text:=Memo2.Memo.Text; // Memo.Text - возвращает содержимое мемо (всех его строк сразу)
Memo1.Memo.Add('Добавление новой строки'); // добавление новой строки
Memo1.Memo.Delete(i); //удаление i-ой строки
Memo1.Memo.Count // возвращает кол-во строк в Memo
Memo1.Lines[i]:=Memo1.Lines[i-1]+'12345'; // возвращает значение i-ой строки, строки нумеруются от 0 до Count-1
Memo1.Memo.LoadFromFile(FileName); // загрузка из файла
Memo1.Memo.SaveToFile(FileName); // запись содержимого в файл

Наберите в редакторе скрипта Memo1.Memo. и нажмите Ctrl-Пробел. Должен появиться список свойств и методов.

Страница 10 из 49 Часовой пояс: UTC + 2 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/