СБИС Сапер - Алгоритм работы — различия между версиями

Материал из razgovorov.ru
Перейти к: навигация, поиск
(Алгоритм проверки прав на Сбытовую организацию)
(Алгоритм проверки прав на Сбытовую организацию)
Строка 65: Строка 65:
 
== Словарь данных ==
 
== Словарь данных ==
 
# /SBIS/S_AUTHORITY - структура данных о правах. Содержит данные:
 
# /SBIS/S_AUTHORITY - структура данных о правах. Содержит данные:
## BUKRS_RE - range по Балансовым единицам, для которых есть права на объект полномочий 'F_BKPF_BUK' (бухгалтерский документ: полномочия на балансовые единицы) с заданными значениями параметров.
+
## BUKRS_RE - range по Балансовым единицам, для которых есть права на объект полномочий 'F_BKPF_BUK' (бухгалтерский документ: полномочия на балансовые единицы) с заданными значениями параметров;
## BUKRS_RE_X - индикатор, что данные в BUKRS_RE получены.
+
## BUKRS_RE_X - индикатор, что данные в BUKRS_RE получены;
## VKORG_RE - range по Сбытовым организациям, для которых есть права на объект полномочий 'F_VBAK_VKO' (Торговый документ: полномочия на сбытовые организации) с заданными значениями параметров.
+
## VKORG_RE - range по Сбытовым организациям, для которых есть права на объект полномочий 'F_VBAK_VKO' (Торговый документ: полномочия на сбытовые организации) с заданными значениями параметров;
## VKORG_RE_X - индикатор, что данные в VKORG_RE получены.
+
## VKORG_RE_X - индикатор, что данные в VKORG_RE получены;
 
## и т.д.
 
## и т.д.
 +
# /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
  
== Настройка проверки полномочий в ини-файле==
 
На уровне аккордеона для требуемого реестра опционально указываем элемент CHECK_AUTHORITY, который содержит массив элементов - требуемых проверок.
 
  
Проверка содержит:
+
== Состав ини-файла==
## название проверки
+
На уровне аккордеона для требуемого реестра опционально добавляем элемент CHECK_AUTHORITY, который содержит массив элементов - требуемых проверок.
## массив параметров для запуска проверки полномочий SAP
+
 
 +
Элемент Проверка содержит:
 +
# Название проверки, например VKORG;
 +
# Массив параметров для запуска проверки полномочий SAP, например ACTVT=03, SPART=01, VTWEG=Z1;
 +
# Комментарий, например "Сбытовая организация";
  
 
== Алгоритм метода GET_AUTHORITY класса /SBIS/CL_AUTHORITY ==
 
== Алгоритм метода GET_AUTHORITY класса /SBIS/CL_AUTHORITY ==
Строка 85: Строка 115:
 
На выходе - заполненный range с разрешенными объектами, например VKORG_RE, и заполненный индикатор, например VKORG_RE_X.
 
На выходе - заполненный range с разрешенными объектами, например VKORG_RE, и заполненный индикатор, например VKORG_RE_X.
  
#Осуществляем чтение настроек по имени проверки. Если они еще не получены, то читаем из ини-файла в виде полей: название проверки, массив параметров).
+
#Осуществляем чтение настроек по имени проверки. Получаем массив параметров для запуска проверки полномочий SAP.
#Если в ини-файле
+
#Получаем полный список сбытовых организаций.
 +
#
  
 
== Алгоритм метода CHECK_AUTHORITY класса /SBIS/CL_AUTHORITY ==
 
== Алгоритм метода CHECK_AUTHORITY класса /SBIS/CL_AUTHORITY ==
 
[[Категория:SAPPER]]
 
[[Категория:SAPPER]]
 
[[Категория:SAP]]
 
[[Категория:SAP]]

Версия 15:22, 7 декабря 2017

Алгоритм проверки прав на балансовую единицу

Словарь данных

  1. /SBIS/S_AUTHORITY - структура данных о правах. Содержит таблицы:
    1. BUKRS_RE_01 - range по БЕ, для которых есть права на объект полномочий 'F_BKPF_BUK' ACTVT 01 (бухгалтерский документ: полномочия на балансовые единицы, создать).
    2. BUKRS_RE_03 - range по БЕ, для которых есть права на объект полномочий 'F_BKPF_BUK' ACTVT 03 (бухгалтерский документ: полномочия на балансовые единицы, просмотреть).
    3. VKORG_RE_01
    4. и другие
  2. /SBIS/S_FILTER_LIST_DOC - структура фильтра. Содержит поля и таблицы:
    1. GJAHR
    2. BELNR
    3. DATE_FROM
    4. DATE_TO
    5. TIME_FROM
    6. TIME_TO
    7. PAGE
    8. PAGE_SIZE
    9. RET_LIST_SIZE
    10. PARTNER_ID
    11. PARTNER_INN
    12. PARTNER_KPP
    13. ORG_ID
    14. ORG_INN
    15. ORG_KPP
    16. STATUS_NAME
    17. IS_RANGE - индикатор range/параметр
    18. BLDAT_RE
    19. KUNNR_RE
    20. BUKRS_RE
    21. STATU_RE
    22. BELNR_RE
    23. OPBEL_RE
    24. PARTN_RE
    25. VKORG_RE
    26. VTWEG_RE
    27. FKART_RE


Проверка прав на БЕ при запуске Сапера

  1. При запуске конкретного реестра Сапера выполняется метод /SBIS/CL_TREE_ACCORDION->SET_CONTENT_FILTER. Читается сохраненный фильтр, проверяются права, запускается просмотр списка.
    1. Сохраняем последний используемый реестр.
    2. /SBIS/CL_CORE->GET_AUTHORITY (es_authority). Получаем список БЕ на которые есть права.
    3. /SBIS/CL_CORE->GET_PARAM (iv_ini_name, iv_user_settings, et_settings). Получаем пользовательские настройки из БД.
    4. /SBIS/CL_TREE_ACCORDION->READ_CONTENT_FILTER (iv_parent_name, it_user_settings, is_authority, es_filter). Чтение фильтра из сохраненных настроек. Изменение фильтра, если он не заполнен, или изменились права.
    5. /SBIS/CL_CORE->CHECK_AUTHORITY (is_authority, is_filter). Проверка прав на получение данных, запрашиваемых в фильтре.
    6. /SBIS/CL_TREE_ACCORDION->VIEW_CONTENT. Вывод списка на экран в соответствии с заданным фильтром.

Проверка прав на БЕ при запуске фильтра

  1. /SBIS/CL_TREE->HANDLE_TOOLBAR_FILTER. Запускается метод-обработчик при нажатии кнопки Фильтр.
    1. Получаем из настроек реестра название ФМ для окна фильтра в переменную LV_FILTER_FM_NAME и настройки фильтра.
    2. Запуск ФМ из переменной LV_FILTER_FM_NAME для вывода окна фильтра, например /SBIS/FM_FILTER_SCREEN_302 (is_authority, ev_fcode, cs_filter). Запуск экрана, например 0302.
      1. PBO_0302. Вывод данных старого фильтра на экран.
      2. Ввод пользователем новых данных фильтра.
      3. PAI_0302. Проверка при нажатии ОК или Enter, введенных значений, в т.ч. прав на БЕ в соответствии со списком разрешенных. Вывод ошибок при их возникновении.
        1. PAI_0302_CHECK.
          1. /SBIS/CL_CORE->CHECK_AUTHORITY (is_authority, is_filter). Проверка прав на получение данных, запрашиваемых в фильтре.
    3. При нажатии ОК и отсутствии ошибок:
      1. /SBIS/CL_TREE_ACCORDION->HANDLE_SET_CONTENT_FILTER. Генерируем событие для сохранения фильтра в настройках пользователя.
      2. /SBIS/CL_TREE_ACCORDION->HANDLE_UPDATE_CONTENT. Генерируем событие для получения списка и обновления экрана в соответствии с новыми данными фильтра.


Алгоритм проверки прав на Сбытовую организацию

Словарь данных

  1. /SBIS/S_AUTHORITY - структура данных о правах. Содержит данные:
    1. BUKRS_RE - range по Балансовым единицам, для которых есть права на объект полномочий 'F_BKPF_BUK' (бухгалтерский документ: полномочия на балансовые единицы) с заданными значениями параметров;
    2. BUKRS_RE_X - индикатор, что данные в BUKRS_RE получены;
    3. VKORG_RE - range по Сбытовым организациям, для которых есть права на объект полномочий 'F_VBAK_VKO' (Торговый документ: полномочия на сбытовые организации) с заданными значениями параметров;
    4. VKORG_RE_X - индикатор, что данные в VKORG_RE получены;
    5. и т.д.
  2. /SBIS/S_FILTER_LIST_DOC - структура фильтра. Содержит данные:
    1. GJAHR
    2. BELNR
    3. DATE_FROM
    4. DATE_TO
    5. TIME_FROM
    6. TIME_TO
    7. PAGE
    8. PAGE_SIZE
    9. RET_LIST_SIZE
    10. PARTNER_ID
    11. PARTNER_INN
    12. PARTNER_KPP
    13. ORG_ID
    14. ORG_INN
    15. ORG_KPP
    16. STATUS_NAME
    17. IS_RANGE - индикатор range/параметр
    18. BLDAT_RE
    19. KUNNR_RE
    20. BUKRS_RE
    21. STATU_RE
    22. BELNR_RE
    23. OPBEL_RE
    24. PARTN_RE
    25. VKORG_RE
    26. VTWEG_RE
    27. FKART_RE


Состав ини-файла

На уровне аккордеона для требуемого реестра опционально добавляем элемент CHECK_AUTHORITY, который содержит массив элементов - требуемых проверок.

Элемент Проверка содержит:

  1. Название проверки, например VKORG;
  2. Массив параметров для запуска проверки полномочий SAP, например ACTVT=03, SPART=01, VTWEG=Z1;
  3. Комментарий, например "Сбытовая организация";

Алгоритм метода GET_AUTHORITY класса /SBIS/CL_AUTHORITY

Осуществляет получение списка объектов, на которые есть права у пользователя, в структуру /SBIS/S_AUTHORITY.

На входе - название проверки, которую выполняем, например VKORG.

На выходе - заполненный range с разрешенными объектами, например VKORG_RE, и заполненный индикатор, например VKORG_RE_X.

  1. Осуществляем чтение настроек по имени проверки. Получаем массив параметров для запуска проверки полномочий SAP.
  2. Получаем полный список сбытовых организаций.

Алгоритм метода CHECK_AUTHORITY класса /SBIS/CL_AUTHORITY