[Logo] Форум ПАРУС
Отчет с параметром типа "Запрос"  XML
Индекс форума » 8.хх PL/SQL
Автор Сообщение
RMSUFA
Новичок

Зарегистрирован: 09.10.2012 21:41:50
Сообщений: 52
Оффлайн

релиз Октябрь 2017
Задача - отчет по ХО с отбором по условиям отбора. + отобразить в отчете установленные условия отбора.

В предыдущих релизах во входной параметр "Запрос" передавался текст со всеми параметрами условий,
например:
select * from V_ECONOPRS M where COMPANY=62223 and
M.OPERATION_DATE>=TO_DATE('17/11/2017','dd/mm/yyyy') and
M.OPERATION_DATE<=TO_DATE('17/11/2017','dd/mm/yyyy') and
((M.AGENT_FROM_RN in (select RN from V_AGNLIST_SHADOW_EX where AGNABBR='Ф-л ОАО ')) or
(M.AGENT_TO_RN in (select RN from V_AGNLIST_SHADOW_EX where AGNABBR='Ф-л ОАО '))) order by OPERATION_DATE
и я из него мог извлечь, что именно хотел отобрать пользователь,

а теперь текст только с такой:
select M.* from V_ECONOPRS M where COMPANY=62223 and RN in (select ID from COND_BROKER_IDSMART where IDENT = 98058846) order by OPERATION_DATE.

Возможно ли теперь как-то вытащить в отчет конкретные условия отбора, которые задаёт пользователь?
[Email]
FOX
Пользователь

Зарегистрирован: 06.11.2012 13:58:55
Сообщений: 201
Оффлайн

Смотрите в PKG_COND_BROKER
RMSUFA
Новичок

Зарегистрирован: 09.10.2012 21:41:50
Сообщений: 52
Оффлайн

Не понял, что там искать? Таблицу в которую сохраняется запрос?
[Email]
KLARIST
Пользователь
[Avatar]

Зарегистрирован: 02.11.2012 18:46:44
Сообщений: 405
От: Андрей Васильев
Оффлайн

Видимо искать само условие GET_CONDITION_STR/GET_CONDITION_NUM/GET_CONDITION_DATE
[Email] [ICQ]
RMSUFA
Новичок

Зарегистрирован: 09.10.2012 21:41:50
Сообщений: 52
Оффлайн

что именно в этом пакете поможет мне вытащить в процедуру отчета даты отбора ХО?
вот установка условий:
begin
PKG_COND_BROKER.PROLOGUE(PKG_COND_BROKER.MODE_SMART_, 98063121);
PKG_COND_BROKER.SET_PROCEDURE('P_ECONOPRS_BASE_COND');
PKG_COND_BROKER.SET_UNIT('EconomicOperations');
PKG_COND_BROKER.SET_COMPANY(30012);
PKG_COND_BROKER.SET_CONDITION_DATE('OperDateFrom', TO_DATE('28.11.2017', 'DD.MM.YYYY'));
PKG_COND_BROKER.SET_CONDITION_DATE('OperDateTo', TO_DATE('28.11.2017', 'DD.MM.YYYY'));
PKG_COND_BROKER.EPILOGUE;
end;

вот запрос передаваемый в отчет:
select M.* from V_ECONOPRS M where COMPANY=30012 and
RN in (select ID from COND_BROKER_IDSMART where IDENT = 98063121)

между ними неопределенный промежуток времени.

тупо запросить PKG_COND_BROKER.GET_CONDITION_DATE('OperDateFrom') получаю пусто.
ткните пальцем мне профану - где я не понимаю??
[Email]
ZAKHARKIN_I_V
Пользователь
[Avatar]
Зарегистрирован: 06.11.2012 13:40:35
Сообщений: 309
От: Иван Захаркин
Оффлайн

К сожалению , это сработает только для случая PKG_COND_BROKER. MODE_HARD_

Это сообщение было изменено 1 раз. Последнее изменение было в 29.11.2017 11:18:26

[Email]
RMSUFA
Новичок

Зарегистрирован: 09.10.2012 21:41:50
Сообщений: 52
Оффлайн

а есть какие-то условия, когда включается хард, а когда смарт?
[Email]
ZAKHARKIN_I_V
Пользователь
[Avatar]
Зарегистрирован: 06.11.2012 13:40:35
Сообщений: 309
От: Иван Захаркин
Оффлайн

HARD используется в web клиенте.
[Email]
KLARIST
Пользователь
[Avatar]

Зарегистрирован: 02.11.2012 18:46:44
Сообщений: 405
От: Андрей Васильев
Оффлайн

Или при работе через ЦУД ("тонкий клиент")

Это сообщение было изменено 1 раз. Последнее изменение было в 30.11.2017 17:19:24

[Email] [ICQ]
ZAKHARKIN_I_V
Пользователь
[Avatar]
Зарегистрирован: 06.11.2012 13:40:35
Сообщений: 309
От: Иван Захаркин
Оффлайн

Обманул я. Значения в PKG_COND_BROKER живут только на момент построения запроса при любом режиме выполнения.
[Email]
REMININ
Новичок

Зарегистрирован: 14.04.2015 18:24:49
Сообщений: 5
Оффлайн

Перелагаю отчет по отобранным записям ХО печатать из раздела "Хозяйственные операции по проводкам".
Тогда не нужно делать синтаксический разбор текста запроса.
Нужные проводки для вывода в отчет будут в таблице SELECTLIST.
REMININ
Новичок

Зарегистрирован: 14.04.2015 18:24:49
Сообщений: 5
Оффлайн

Виноват, к разделу "Журнал хозяйственных операций по проводкам" ни отчет ни процедуру почему-то привязать нельзя.
TANKA
Новичок

Зарегистрирован: 08.11.2012 17:14:27
Сообщений: 125
Оффлайн

RMSUFA , решили задачку?
DEN
Новичок

Зарегистрирован: 08.11.2012 17:13:21
Сообщений: 160
Оффлайн

Нам пришлось модифицировать стандартный пакет PKG_COND_BROKER. Теперь все параметры условий отбора у нас пишутся во временную таличку, а затем используя эти параметры мы самостоятельно строим запрос.
RMSUFA
Новичок

Зарегистрирован: 09.10.2012 21:41:50
Сообщений: 52
Оффлайн

нет не решили. просто отказались от таких требований.
[Email]
 
Индекс форума » 8.хх PL/SQL
Перейти: