.. _not_exits: Точки расширения для заказчиков ===================================== Для расширения стандартного функционала уведомлений предусмотрена точка расширения ``/TRL/XDE_ENH_SPOT_NOTIFY``. Данная точка содержит в себе BAdI определение ``/TRL/XDE_NOTIFY_BADI``. BAdI использует интерфейс ``/TRL/XDE_IF_NOTIFICATION_BADI``. Описание интерфейса /TRL/XDE_IF_NOTIFICATION_BADI ------------------------------------------------- .. list-table:: Интерфейс /TRL/XDE_IF_NOTIFICATION_BADI :widths: auto :header-rows: 1 * - Имя метода - Вид метода - Описание * - CHANGE_ALL_USERS_TAB - Instance Method - Изменение получателей * - CHANGE_CUSTOMER_TEXT - Instance Method - Изменение динамического текста для уведомления * - CHANGE_INV_NOTIFICATION - Instance Method - Изменение параметров уведомления (приглашения) * - CHANGE_SHP_NOTIFICATION - Instance Method - Изменение параметров уведомления (документы) * - CHANGE_SINGLE_USER - Instance Method - Изменение параметров единичного получателя * - GET_INV_ATTACHMENT - Instance Method - Замена вложения для CL_BCS (приглашения) * - GET_INV_DOCUMENT - Instance Method - Замена документа для CL_BCS (приглашения) * - GET_SHP_ATTACHMENT - Instance Method - Замена вложения для CL_BCS (документы) * - GET_SHP_DOCUMENT - Instance Method - Замена документа для CL_BCS (документы) Описание методов интерфейса /TRL/XDE_IF_MSEND_BADI -------------------------------------------------- Изменение параметров всех пользователей - получателей ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: Параметры метода CHANGE_ALL_USERS_TAB :widths: auto :header-rows: 1 * - Параметр - Вид - Ссылочный тип - Описание * - IS_HEADER - Importing - /TRL/XDE_HEADER - Заголовок отправления * - CT_USERS - Changing - /TRL/XDE_CL_NOTIFICATIONS=>MTY_T_USERS - Список с параметрами пользователей Данный метод вызывается внутри метода ``NOTIFY`` глобального класса ``/TRL/XDE_CL_NOTIFICATIONS``. Метод позволяет изменить параметры пользователей перед отправкой уведомления. .. attention:: Таблица с параметрами пользователей, поданная на вход, будет содержать как одиночных пользователей - получателей уведомления, так и пользователей из соответствующих ролей, если они были настроены. Изменение параметров отдельного пользователя ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: Параметры метода CHANGE_SINGLE_USER :widths: auto :header-rows: 1 * - Параметр - Вид - Ссылочный тип - Описание * - IS_NOTI - Importing - CLIKE - Данные по уведомлению * - IS_USER - Importing - /TRL/XDE_CL_NOTIFICATIONS=>MTY_S_USER - Параметры отдельного пользователя * - RS_USER - Returning - /TRL/XDE_CL_NOTIFICATIONS=>MTY_S_USER - Параметры отдельного пользователя Данный метод вызывается внутри метода ``PROCESS_NOTIFICATION_REALTIME`` глобального класса ``/TRL/XDE_CL_NOTIFICATIONS``. Метод позволяет изменить параметры пользователя до отправки уведомления. Изменение кастомного текста ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: Параметры метода CHANGE_CUSTOMER_TEXT :widths: auto :header-rows: 1 * - Параметр - Вид - Ссылочный тип - Описание * - IS_NOTIFICATION - Importing - ANY - Данные по уведомлению * - CT_TEXT - Changing - SOLI_TAB - Таблица с длинной строкой Данный метод вызывается внутри метода ``GET_TEXT_FOR_NOTIFICATION`` глобального класса ``/TRL/XDE_CL_NOTIFICATIONS``. Метод позволяет изменить текст, который будет выведен в уведомлении. .. important:: Входной параметр ``IS_NOTIFICATION`` имеет тип ``ANY``. Для получения конкретного типа можно воспользоваться **RTTS**. Может быть получен один из двух типов: * ``/TRL/XDE_NOT_SHP`` - :ref:`notshp-tab`; * ``/TRL/XDE_NOT_INV`` - :ref:`notinv-tab`. Изменение параметров уведомления о статусе документа ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: Параметры метода CHANGE_SHP_NOTIFICATION :widths: auto :header-rows: 1 * - Параметр - Вид - Ссылочный тип - Описание * - IS_HEADER - Importing - /TRL/XDE_HEADER - Данные заголовка отправления * - CS_NOTIFICATION - Changing - /TRL/XDE_NOT_SHP - Данные по уведомлению Данный метод вызывается внутри метода ``NOTIFY`` глобального класса ``/TRL/XDE_CL_NOTIFICATIONS``. Метод позволяет изменить данные уведомления перед отправкой. .. note:: Дополнительные параметры документа можно внести только в единичные уведомления. Изменение параметров уведомления о статусе приглашения ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: Параметры метода CHANGE_INV_NOTIFICATION :widths: auto :header-rows: 1 * - Параметр - Вид - Ссылочный тип - Описание * - IS_DEB_REL - Importing - /TRL/XDE_DEB_REL - Данные заголовка отправления * - CS_NOTIFICATION - Changing - /TRL/XDE_NOT_INV - Данные по уведомлению Данный метод вызывается внутри метода ``NOTIFY`` глобального класса ``/TRL/XDE_CL_NOTIFICATIONS``. Метод позволяет изменить данные уведомления перед отправкой. Замена вложения к письму о статусе документа ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: Параметры метода GET_SHP_ATTACHMENT :widths: auto :header-rows: 1 * - Параметр - Вид - Ссылочный тип - Описание * - IS_HEADER - Importing - /TRL/XDE_HEADER - Основные данные отправления * - ET_ATTYPE - Exporting - SOODK-OBJTP - Тип вложения * - RT_ATTACH - Returning - SOLIX_TAB - Вложение в бинарном виде Данный метод вызывается внутри метода ``PREPARE_SHP_ATTACHMENT`` глобального класса ``/TRL/XDE_CL_NOTIFICATIONS``. Данный метод позволяет подменить вложение, которое будет добавлено в уведомление. .. note:: Параметр ``ET_ATTYPE`` отвечает за тип вложения, в стандартной поставке он имеет значение ``SAP``. Таким образом, собрав в ``RT_ATTACH`` желаемое вложение, нужно корректно изменить тип вложения. В большинстве случаев для вложения ``CSV`` таблицы можно использовать тип вложения ``RAW``. Замена вложения к письму о статусе приглашения ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: Параметры метода GET_INV_ATTACHMENT :widths: auto :header-rows: 1 * - Параметр - Вид - Ссылочный тип - Описание * - IS_DEB_REL - Importing - /TRL/XDE_HEADER - Основные данные приглашения * - ET_ATTYPE - Exporting - SOODK-OBJTP - Тип вложения * - RT_ATTACH - Returning - SOLIX_TAB - Вложение в бинарном виде Данный метод вызывается внутри метода ``PREPARE_INV_ATTACHMENT`` глобального класса ``/TRL/XDE_CL_NOTIFICATIONS``. Метод позволяет подменить вложение, которое будет добавлено в уведомление. .. note:: Параметр ``ET_ATTYPE`` отвечает за тип вложения, в стандартной поставке имеет значение ``SAP``. Таким образом, собрав в ``RT_ATTACH`` желаемое вложение, нужно корректно изменить тип вложения. В большинстве случаев для вложения ``CSV`` таблицы можно использовать тип вложения ``RAW``. Замена письма о статусе документа ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: Параметры метода GET_SHP_DOCUMENT :widths: auto :header-rows: 1 * - Параметр - Вид - Ссылочный тип - Описание * - IS_HEADER - Importing - /TRL/XDE_HEADER - Основные данные отправления * - IT_TEXT - Importing - SOLI_TAB - Текст уведомления * - EV_SUBJECT - Exporting - STRING - Тема уведомления * - ET_TEXT - Exporting - SOLI_TAB - Текст уведомления * - RO_DOCUMENT - Returning - Ref to CL_DOCUMENT_BCS - Документ. Объект класса CL_DOCUMENT_BCS Данный метод вызывается внутри метода ``PREPARE_SHP_DOCUMENT`` глобального класса ``/TRL/XDE_CL_NOTIFICATIONS``. Метод позволяет изменить тему письма, текст уведомления и сам документ (новый объект). .. note:: При необходимости изменения текста письма целиком, нужно вернуть объект класса ``CL_DOCUMENT_BCS`` в Returning параметре ``RO_DOCUMENT``. Замена письма о статусе приглашения ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: Параметры метода GET_INV_DOCUMENT :widths: auto :header-rows: 1 * - Параметр - Вид - Ссылочный тип - Описание * - IS_DEB_REL - Importing - /TRL/XDE_DEB_REL - Данные по приглашению * - IT_TEXT - Importing - SOLI_TAB - Текст уведомления * - EV_SUBJECT - Exporting - STRING - Тема уведомления * - ET_TEXT - Exporting - SOLI_TAB - Текст уведомления * - RO_DOCUMENT - Returning - Ref to CL_DOCUMENT_BCS - Документ. Объект класса CL_DOCUMENT_BCS Данный метод вызывается внутри метода ``PREPARE_INV_DOCUMENT`` глобального класса ``/TRL/XDE_CL_NOTIFICATIONS``. Метод позволяет изменить тему письма, текст уведомления и сам документ (новый объект). .. note:: При необходимости изменения текста письма целиком, нужно вернуть объект класса ``CL_DOCUMENT_BCS`` в Returning параметре ``RO_DOCUMENT``.