Для добавление Z полей даты на экран необходимо сделать следующие действия.:
Добавим новые даты в SPRO
Настройку, как правило, производит консультант
Расширим модель BOL
Следующий шаг – Расширение модели Бизнес-операции
Добавляем запись в Таблицу. Имя отношение нужно выбрать из списка, там оно появляется как BTDate_T_Zимя_вашего поля
Ищем Компонент, для которого нам надо добавить поля. Определить компонент для конкретной страницы мы можем нажав F2 находясь на ней.
Далее перейдем в транзакцию BSP_WD_CMPWB - Инструмент. средства компонентов UI и укажем нужный компонент на экране.
Создадим новый узел контекста
Вышестоящий узел можно посмотреть в транзакции CRM_ISU_BOL_BROWSER - Браузер для уровня бизнес-объекта. Находим Свой объект и смотрим, зависимости сущностей.
После завершения создается узел контекста и определяется Z класс. Для нового Z класса меняем родительский на CL_CRM_SRQM_BT_DATE_CN
При проверке выяснится, что одни из атрибутов задвоен. Просто удаляем его
Активируем
При этом в дереве мы уже видим Все поля
Переопределяем метод GET_I_DATE Оставляем реализацию пустой, это нужно для того, чтобы поле было редактируемым. При необходимости можно переопределить и другие свойства. Или задать свой алгоритм для поля GET_I_DATE
Изменяем реализацию метода ON_NEW_FOCUS.
1 2 3 4 5 6 7 |
data: lv_collection type ref to if_bol_bo_col. lv_collection = cl_crm_uiu_bt_date_tools=>on_new_focus( iv_focus_bo = focus_bo iv_level = if_crm_srqm_uiu_const=>gc_bt_date_tools_lv_h iv_date_type = 'Z*Имя даты' iv_category = if_crm_srqm_uiu_const=>gc_bt_date_tools_cat_t ). me->collection_wrapper->set_collection( lv_collection ). |
iv_category = if_crm_srqm_uiu_const=>gc_bt_date_tools_cat_t – говорит о том, что мы работаем с полем даты
if_crm_srqm_uiu_const=>gc_bt_date_tools_lv_h Вышестоящий узел контекста, в нам случае это H, но может быть и I/ Это зависит от настройки
Заходим на вкладку «Конфигурация» и выбираем нужную.
Жмем кнопку «Обработать»
Жмем «Просмотр доступных полей»
Жмем «Показать технические подробности» для того чтобы увидеть технические имена полей.
Позиционируемся на нужом поле. В данном случае это поле DATE
При необходимости меняем свойство поля
Сохраняем изменения.
Готово.