СБИС Сапер - Алгоритм работы — различия между версиями
Строка 48: | Строка 48: | ||
== Проверка прав на БЕ при запуске фильтра == | == Проверка прав на БЕ при запуске фильтра == | ||
#'''/SBIS/CL_TREE->HANDLE_TOOLBAR_FILTER'''. Запускается метод-обработчик при нажатии кнопки Фильтр. | #'''/SBIS/CL_TREE->HANDLE_TOOLBAR_FILTER'''. Запускается метод-обработчик при нажатии кнопки Фильтр. | ||
− | ##Получаем из настроек реестра название ФМ для окна фильтра | + | ##Получаем из настроек реестра название ФМ для окна фильтра в переменную '''LV_FILTER_FM_NAME''' и настройки фильтра. |
− | ##Запуск ФМ | + | ##Запуск ФМ из переменной '''LV_FILTER_FM_NAME''' для вывода окна фильтра, например '''/SBIS/FM_FILTER_SCREEN_302'''. |
− | ##'''/SBIS/CL_TREE_ACCORDION-> | + | ##'''/SBIS/CL_TREE_ACCORDION->HANDLE_SET_CONTENT_FILTER'''. Генерируем событие для сохранения фильтра в настройках пользователя. |
− | ##''' | + | ##'''/SBIS/CL_TREE_ACCORDION->HANDLE_UPDATE_CONTENT'''. Генерируем событие для получения списка и обновления экрана в соответствии с новыми данными фильтра. |
Версия 11:55, 6 декабря 2017
Содержание
Алгоритм проверки прав на балансовую единицу
Словарь данных
- /SBIS/S_AUTHORITY - структура данных о правах. Содержит таблицы:
- BUKRS_RE_01 - range по БЕ, для которых есть права на объект полномочий 'F_BKPF_BUK' ACTVT 01 (бухгалтерский документ: полномочия на балансовые единицы, создать).
- BUKRS_RE_03 - range по БЕ, для которых есть права на объект полномочий 'F_BKPF_BUK' ACTVT 03 (бухгалтерский документ: полномочия на балансовые единицы, просмотреть).
- VKORG_RE_01
- и другие
- /SBIS/S_FILTER_LIST_DOC - структура фильтра. Содержит поля и таблицы:
- GJAHR
- BELNR
- DATE_FROM
- DATE_TO
- TIME_FROM
- TIME_TO
- PAGE
- PAGE_SIZE
- RET_LIST_SIZE
- PARTNER_ID
- PARTNER_INN
- PARTNER_KPP
- ORG_ID
- ORG_INN
- ORG_KPP
- STATUS_NAME
- IS_RANGE - индикатор range/параметр
- BLDAT_RE
- KUNNR_RE
- BUKRS_RE
- STATU_RE
- BELNR_RE
- OPBEL_RE
- PARTN_RE
- VKORG_RE
- VTWEG_RE
- FKART_RE
Проверка прав на БЕ при запуске Сапера
- При запуске конкретного реестра Сапера выполняется метод /SBIS/CL_TREE_ACCORDION->SET_CONTENT_FILTER. Читается сохраненный фильтр, проверяются права, запускается просмотр списка.
- Сохраняем последний используемый реестр.
- /SBIS/CL_CORE->GET_AUTHORITY (es_authority). Получаем список БЕ на которые есть права.
- /SBIS/CL_CORE->GET_PARAM (iv_ini_name, iv_user_settings, et_settings). Получаем пользовательские настройки из БД.
- /SBIS/CL_TREE_ACCORDION->READ_CONTENT_FILTER (iv_parent_name, it_user_settings, is_authority, es_filter). Чтение фильтра из сохраненных настроек. Изменение фильтра, если он не заполнен, или изменились права.
- /SBIS/CL_CORE->CHECK_AUTHORITY (is_authority, is_filter). Проверка прав на получение данных, запрашиваемых в фильтре.
- /SBIS/CL_TREE_ACCORDION->VIEW_CONTENT. Вывод списка на экран в соответствии с заданным фильтром.
Проверка прав на БЕ при запуске фильтра
- /SBIS/CL_TREE->HANDLE_TOOLBAR_FILTER. Запускается метод-обработчик при нажатии кнопки Фильтр.
- Получаем из настроек реестра название ФМ для окна фильтра в переменную LV_FILTER_FM_NAME и настройки фильтра.
- Запуск ФМ из переменной LV_FILTER_FM_NAME для вывода окна фильтра, например /SBIS/FM_FILTER_SCREEN_302.
- /SBIS/CL_TREE_ACCORDION->HANDLE_SET_CONTENT_FILTER. Генерируем событие для сохранения фильтра в настройках пользователя.
- /SBIS/CL_TREE_ACCORDION->HANDLE_UPDATE_CONTENT. Генерируем событие для получения списка и обновления экрана в соответствии с новыми данными фильтра.