Вопрос:
На проекте возникает необходимость в использовании различных аналитик для выборок сотрудников в стандартных отчетах на ЛБД PNP*.
Нужны аналитики вида:
1. Не суммированный/Суммированный учет квартал/Суммированный учет год/…
2. Руководитель/специалист/рабочий/…
3. Высший менеджмент/Средний/Младший/…
4. Член правления/Не член правления/…
5. И возможно еще несколько…Для некоторых аналитик возможно пользоваться категориями персонала, например:
1а РукОклад
1б РукОкладСумМес
1в РукОкладСумГод
1г РукОкладСумКвартал
1д РукОкладСумДваМес
2е СпецОклад
…Вопрос: Каким образом правильнее решить эту проблему? Как расширять ЛБД? Может быть есть стандартные инфотипы, которые можно использовать на экране выбора в стандартных отчетах?
Ответ. Покопавшись в сетях и системах, пришел к выводу, что можно лишь частично улучшить ситуацию. В программах на селекционном экране есть такая кнопочка — динамическая выборка. Когда на нее нажимаешь, то появляется страшное окошко аля вот это:
Теоретически изменить содержимое этого экрана можно. Например, добавить свои инфотипы, которые будут использованы как критерии для выборки. Это все делается через класс HR отчета и экран представление выбора (Selection View). Само представление создается в транзакции SE80 — Selection View для таблицы или в SE36->Extras->Selection Views для ЛБД. Как это делать написано вот тут в подсказке к настройке:
Беда в том, что у меня так и не получилось заставить это работать. Но надежда есть 🙂 Если кто делал такое, то помогите общественности.
7 комментариев
ZGilGelad
Тоже как-то смотрел в сторону этой штуки, но в HR она у меня особо не заработала и, на сколько, я помню, дело в наших ЛБД.
Я обычно в таких случая рекомендую пользоваться оперзапросом:
многократный выбор (у поля ТН)->многократный выбор (F6)->свободный поиск — и тут открывается оперзапрос.
Как подключить свой оперзапрос к этому ср-ву поиска — я не помню. Скоро на проекте до этого у меня должны дойти руки и как сделаю — напишу. А может кто напишет и мне не надо будет вспоминать)
Если пользователям неудобно указывать кучу критериев, то всегда есть доп.поля в оперзапросе (которые делаются в спро и с возможностью установки значения на выбор). Но там есть еще один момент) Доступность указания поля на выбор в оперзапросе появляется, только не работает:) За это в ответе (как и вообще за поиск в оперзапросе) ФМ HR_SELECT_PERSONS и HR_SELECT_OBJECTS
ZGilGelad
вспомнил
T77OMAHQ_FUNCAR
T77OMAHQ_FUNCARS
Bully
Это не является расширением ЛБД 🙂
Какой Selection View использовать в отчёте указывается при помощи Report Category.
Во времена преподавания HR350 всегда показывал эту фишку своим слушателям.
Посмотри в учебных материалы к нему — там хорошо описано.
VanoIvanov
ZGilGelad и Bully правы отчасти, автор пошел в неправильном направлении и даже никуда не пришел.
Хотел написать подробно какие ручки крутить, но не в этот раз, не интересно, даже не думал, что в этом еще копаются, прошу извинить.
P.S. Лучше бы вам не видеть код который внутри всего этого и под капотом лбд.
Роман Величко
Автор пошел очень правильным путем — потому что это для Пма сокращает трудозатраты на разработку/адаптацию отчетов, а от того что таких нюансов наши консультанты которые «лучше не видеть, что там под капотом» не знают, а предлагают с нуля переписать САП, так ну их нафик таких консультантов 🙂
Что касается исходного кода, он достаточно прост, понятен и ничего в нем страшного нет.
ovetchenkoandrey
Виталий, возможно есть какие нибудь еще способы? На днях обнаружили инфотип 0039 Доп. орг. присвоение. Справка говорит, что в нем можно хранить доп атрибуты, но более ничего не нагуглил на него. На проекте принцип «решать все стандартом». Поэтому ЛБД расширять не хочется.
VanoIvanov, никто не сомневается в Вашей компетенции. Копаемся там, где нам интересно.
Pilsner
Крутая штука эти динамические ограничения! Позволяет предварительно ограничить выборку табельных по любому инфо-типу (по другим таблицам не тестил, но возможно подойдет любая таблица где есть ключик PERNR), чтоб уменьшить число итераций цикла ЛБД. В ЛБД PNP(CE) для этого стоит SELECT с произвольными полями из произвольной таблицы (в скобках вписаны переменные, которые заполняются из этого ракурса выбора).
Что еще нужно знать по этой фиче — после того, как создадите свой ракурс выбора в SE80, он не появится в средстве поиска в ракурсе отчета — там оно некорректно работает 🙂 Просто впишите его туда ручками и проверяйте, как работает.