Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис    FTP-сервер
АРМ Книгообеспеченность :  ИРБИС Irbis
 
Генератор отчетов передача параметров в отчет
Пользователь: ДашковаЕлена (IP-адрес скрыт)
Дата: 07, February, 2018 16:18

Добрый день!
Помогите, пожалуйста разобраться, как можно передать параметры в отчет в генераторе отчетов?
В Документации написано, что это полe 991^A, 991^B
Но если я прописываю конкретные значения в формат поля в генераторе отчетов
&uf('S0'),(if v40^A>='20180206' and v40^A<='20180206' then &uf('S1'),v40^E fi/),if &uf('SA')='0' then '0', fi
То это работает,
а если указываю параметры, то не работает
&uf('S0')/,(if v40^A>=v991^A and v40^A<=v991^B then &uf('S1'),v40^E,' ' fi/),if &uf('SA')='0' then '0', fi

Делаю отчет самостоятельно, как отобрать данные из повторения поля по дате, необходимо для вычисления суммы, т.к. в стат.отчете можно посчитать только количество, а суммы из подполей не сложишь.

Каким образом можно передать параметр в формат поля?

Дашкова Елена
МУК ЦСДБ г.Ярославль



Редактировано 3 раз. Последний раз 07.02.2018 16:23 пользователем ДашковаЕлена.

Re: Генератор отчетов передача параметров в отчет
Пользователь: ДашковаЕлена (IP-адрес скрыт)
Дата: 07, February, 2018 17:19

Получилось через глобальные переменные

&uf('+71'),&uf('+7W1#',v991^A),&uf('+7U1#',v991^A),&uf('+7U1#',v991^A),&uf('+7U1#',v991^A),&uf('+7U1#',v991^A),&uf('+7U1#',v991^A),&uf('+7U1#',v991^A),(if val(v40^A)=val(&uf('+7R1')) then v40^E fi/)

Еще бы разобраться как красиво записать эту глобальную переменную, сделать цикл по количеству повторений моего поля v40, а не тупо повторять ,&uf('+7U1#',v991^A)

Дашкова Елена
МУК ЦСДБ г.Ярославль



Редактировано 1 раз. Последний раз 07.02.2018 17:20 пользователем ДашковаЕлена.

Re: Генератор отчетов передача параметров в отчет
Пользователь: ochagova (IP-адрес скрыт)
Дата: 08, February, 2018 14:12

В формате:
&uf('S0')/,(if v40^A>=v991^A and v40^A<=v991^B then &uf('S1'),v40^E,' '
fi/),if &uf('SA')='0' then '0', fi

ошибка в том, что неповторяющееся поле 991 в повторяющейся группе надо записывать как &uf('Av991^????#1'), т.е. брать всегда первое повторение.
Почему получилось с глобальной? Потому что ф-ция &uf('+7R1') берет именно первое повторение глобальной переменной 1, в отличии от G1

Re: Генератор отчетов передача параметров в отчет
Пользователь: ДашковаЕлена (IP-адрес скрыт)
Дата: 08, February, 2018 16:01

Спасибо за ответ, но не работает.
Пробовала брать 1-ое повторение, в редакторе форматов отрабатывает идеально, но при формировании отчета вместо красивой таблички выдается ошибка FORMAT_ERROR@D:\ITOG_DATEFORMAT_ERROR_ENDFORMAT_ERROR@D:\ITOG_DATEFORMAT_ERROR_ENDFORMAT_ERROR@D:\ITOG_DATEFORMAT_ERROR_END
Когда формируется отчет, внутри повторяющейся группы, то что в ( ... ) он ничего не видит, кроме текущего повторения поля и текущего повторения поля глобальной переменной.
Только учусь работать с табличными формами и пользуюсь генератором табличных форм.
&uf('+7R1') внутри (...) возвращает текущее повторение, а повторения я формирую повторением команды &uf('+7U1#',v991^A)

Мой вариант реально работает, только для ограниченного количества повторений.

Дашкова Елена
МУК ЦСДБ г.Ярославль



Редактировано 2 раз. Последний раз 08.02.2018 16:08 пользователем ДашковаЕлена.

Re: Генератор отчетов передача параметров в отчет
Пользователь: ochagova (IP-адрес скрыт)
Дата: 09, February, 2018 10:02

А вы в генераторе проверяли весь файл ITOG_DATE.pft? Причем проверять надо, именно на предполагаемых записях и встраивая в них поле 991.

Re: Генератор отчетов передача параметров в отчет
Пользователь: ДашковаЕлена (IP-адрес скрыт)
Дата: 13, February, 2018 11:25

Добрый день! Спасибо за ответ!
(if &uf('Av40^A')>=&uf('Av991^A#1') and &uf('Av40^A')<=&uf('Av991^B#1') then if &uf('Av40^B')='' then '- ' else &uf('Av40^B'),' 'fi fi /)
Отработала хорошо такая конструкция, ошибка была в том, что к полям я обращалась не через функцию &uf()
т.е. ошибочная конструкция такая -
(if v40^A>=&uf('Av991^A#1') and v40^A<=&uf('Av991^B#1') then if v40^B='' then '- ' else v40^B,' 'fi fi /)
когда ко всем полям обратилась через функцию &uf все заработало.
Спасибо за поддержку!
К сожалению это не работает.

Дашкова Елена
МУК ЦСДБ г.Ярославль



Редактировано 2 раз. Последний раз 14.02.2018 12:48 пользователем ДашковаЕлена.

Re: Генератор отчетов передача параметров в отчет
Пользователь: ДашковаЕлена (IP-адрес скрыт)
Дата: 14, February, 2018 10:57

Извините, но я ошиблась, у меня не сохранились мои изменения по отчету и отчет отработал, но по старому, т.е. с формированием нескольких повторений записи по параметру в глобальной переменной &uf('+7U1#',v991^A).

Увы,
может кто нибудь подскажет как красиво это сформировать, количество повторений могу подсчитать, но как передать в это повторение значение параметра не знаю.

Дашкова Елена
МУК ЦСДБ г.Ярославль



Редактировано 1 раз. Последний раз 14.02.2018 12:47 пользователем ДашковаЕлена.



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.