![]() |
#1 |
Участник
|
Добавить range в PraiceList
Доброе утро!
Мне нужно добавить в отчет PriceList (Ax 3.0 sp3) обычные рейнджи (валюта и склад). На первый взгляд нет ничего проще: на датасорсе PriceDiscTable\Ranges добавляем рейндж по валюте, а на InventDim\Ranges добавляем рейндж по складу. В общем-то и все, если бы они на диалоге показывались! В этом и вопрос: почему их нет? Отчет вызывается классом PriceListReport - наследник inventReport_DimParm. Метод диалог перекрыт в inventReport_DimParm. Но там ничего необычного по-моему нет.. public Object dialog() { ; dialog = super(); dialogDimGroup = inventDimParm.addFieldsToDialog(dialog,"@SYS53654",true); return dialog; } Просто добавляется возможность посмотреть прайслист в различных разрезах складских аналитик. Чего-то я не учитываю похоже.. |
|
![]() |
#2 |
Участник
|
Ну, можно перекрыть на классе PriceListReport метод InitQuery и в нем добавить строки:
PHP код:
|
|
![]() |
#3 |
Участник
|
мне нужно эти рейнджи предоставить на выбор пользователю в диалоге перед запуском отчета.
|
|
![]() |
#4 |
Участник
|
Попробуй то что я написал. По идее это то что тебе нужно. Добавиться два поля в список возможных по кнопке Выбор. Пользователь может указать значение
|
|
![]() |
#5 |
Участник
|
Попробовал - поля не добавились. Я не понимаю почему стандартная функциональность отказывается работать! Добавить рейндж на датасорс и не видеть его на диалоге.. при нажатии на "выбор" эти поля тоже не отображаются. Зато есть интересная фишка - если я делаю эти свои рейнджи Lock - они отображаются в "выборе"! Естественно менять их при этом нельзя.. Меняю статус обратно на Open - их уже нет. Что за мистика...
|
|
![]() |
#6 |
Участник
|
странно...
специально только что у себя проверил. Перекрыл initQuery Вот что написано PHP код:
Правда там лучше сначала проверять или они уже есть. (findRange()) |
|
![]() |
#7 |
Участник
|
да, у меня был такой же код - не появлялись поля
![]() Может быть проект что-то разъяснит.. там конечно уже существующие в аксапте элементы, но их можно залить на каком-нить usp слое, а потом удалить с него все. Реально там нужно только сам отчет PriceList и оба класса. |
|
![]() |
#8 |
Участник
|
Похожая проблема у меня была с RunBaseReport.
Добавлял ренджи, в диалоге они не появлялись. Решилось как-то странно: 1 - установил в добавленные ренджи в дс значения 2 - в диалоге нажал кнопку "По умолчанию", ренджи появились 3 - убрал значения ренджей в дс Теперь работает нормально. |
|
![]() |
#9 |
Участник
|
Попробуйте удалить записи в таблице sysLastValue, связанные с вашим отчетом. Вызвать можно так Сурвис -> Средства разработки -> Объекты приложения -> Использование данных.
|
|
![]() |
#10 |
Участник
|
Заработало! Правда каким-то дебилом себя чувствую..
Добавил рейнджи на датасорсы как описывал в наале, запустил отчет, в диалоге нажал "По умолчанию" - рейнджи появились. Запустил еще раз - рейнджи на месте, все работает. Что это за кнопка такая магическая? ![]() |
|