СБИС Сапёр
Содержание
- 1 Общие сведения
- 2 Общая характеристика продукта
- 3 Пользовательский интерфейс и кастомизация
- 3.1 Интерфейсы
- 3.1.1 ГФ /SBIS/RFC – Набор RFC функций
- 3.1.1.1 Общее назначение
- 3.1.1.2 ФМ /SBIS/RFC_GET_LIST_PACKET – Получение списка пакетов документов.
- 3.1.1.3 ФМ /SBIS/RFC_GET_ATTACHMENT – Данные отправки
- 3.1.1.4 ФМ /SBIS/RFC_GET_PARAM – Получение списка настроек аддона
- 3.1.1.5 ФМ /SBIS/RFC_DEL_PARAM – Удаление настроек аддона
- 3.1.1.6 ФМ /SBIS/RFC_ADD_PARAM – Добавление настроек аддона
- 3.1.1 ГФ /SBIS/RFC – Набор RFC функций
- 3.1 Интерфейсы
- 4 Порядок установки и настройки модуля
- 5 Доработка программы печати
- 6 Алгоритм выгрузки документов из SAP в СБИС для последующей отправки
- 7 Алгоритм загрузки документов в SAP из СБИС
Общие сведения
Назначение документа
Документ представляет собой техническое описание порядка установки, настройки и расширения стандартного функционала SBIS for SAP.
Область применения документа
Настоящий документ предназначен для описания технических аспектов внедрения продукта SBIS for SAP. Документ может использоваться для постановки задач техническим специалистам по внедрению и расширению функциональности Системы.
Общее назначение системы
Система предназначена для автоматизации процессов обмена электронными юридически значимыми документами.
Глоссарий
Настоящий раздел содержит полный список сокращений и определений, используемых в документе.
- Служебные документы -Файлы, предусмотренные регламентом документооборота, содержащие описание процесса отправки и получения.
- Формализованный документ - Структурированный документ (XML-формат)
- Неформализованный документ - Неструктурированный документ (произвольный файл, например, в формате PDF)
- ЭДО - Электронный документооборот
- Документ / Вложение - Документ, полученный от контрагента или направляемый ему, отражающий факты проведения финансовых операций с контрагентом, выполнения каких-либо работ или оказания услуг, поставки каких либо * ТМЦ (например, Счёт-фактура, Накладная Торг-12, Акт приёма/сдачи работ и т.п.)
- Пакет документов - Комплект Документов, полученных от контрагента или направляемых ему, необходимых для проведения финансовой операции с контрагентом.
- ЭП Электронная подпись - реквизит электронного документа, предназначенный для защиты данного электронного документа от подделки, полученный в результате криптографического преобразования информации с использованием закрытого ключа электронной цифровой подписи и позволяющий идентифицировать владельца сертификата ключа подписи, а также установить отсутствие искажения информации в электронном документе
- Техническая ЭП - ЭП, которая применяется для подписания технических документов (технологических уведомлений) в процессе обмена через ОЭД.
- ИМ, IM Интеграционный модуль (Integration Module) - компонент Системы, отвечающий за обмен сообщениями между SAP-системой Заказчика и ОЭД
- БЕ - Код балансовой единицы в системе SAP
- ГФ - Группа функций, объект системы SAP
- ФМ - Функциональный модуль, объект системы SAP
- БО - Бизнес-объект SAP
- СЭ - Селекционный экран, экран выбора данных
Общая характеристика продукта
Архитектура системы
В настоящем разделе приведена схема взаимодействия основных компонентов, дано краткое описание решения. На схеме отражены ключевые программные компоненты и логические подсистемы решения.
SBIS for SAP
Программный компонент, предназначен для интеграции учётной системы SAP ERP с СБИС. Условно SBIS for SAP (ИМ). ИМ имеет несколько пользовательских интерфейсов:
- СБИС - пользователь работает с электронными документами в личном кабинете СБИС.
- SAP GUI - стандартный интерфейс SAP, пользователь работает с электронными документами в стандартном интерфейсе SAP (в разработке)
SBIS Plugin
Объект для обеспечения функционала личного кабинет СБИС (предназначен для генерации стандартизованной электронной цифровой подписи, которая базируется на формате PKCS#7, вывода информационных уведомлений о поступивших документах / заданиях, операций по ручной загрузке и выгрузке документов). Объект устанавливается на рабочих местах пользователей. Интеграция с SAP системой выполнена посредством SAP NET Connector 3, входит в состав компонентов ядра продукта.
Для работы требуется операционная система Windows XP SP3 и выше, а также NET Framework 2.0 или 4.0. Не поддерживается работа с NET Framework 4.0 Client profile.
SBIS SDK
Объект предназначен для обмена данными с API sbis.ru, а также генерации стандартизованной электронной цифровой подписи, которая базируется на формате PKCS#7 . Объект устанавливается на рабочих местах пользователей. Интеграция с SAP системой выполнена посредством технологии OLE2, входит в состав компонентов ядра продукта.
Стандартная поставка
В стандарте продукта SBIS for SAP поставляется следующий набор пакетов:
- /SBIS/CORE – родительский пакет, содержит функционал необходимый для отправки документов через RFC. Не содержит GUI.
- /SBIS/EJOURNAL - элементы отвечающие за работу через журнал электронных документов SAP;
Стандартная поставка позволяет настроить выгрузку из SAP любых пакетов документов в XML формате. Для генерации XML используются либо программы печати, либо стандартный модуль электронных документов разработанный SAP СНГ (на текущий момент он позволяет формировать фактуру, накладную и акт аналогичным способом - через программу печати).
Правила ведения разработки на проекте
Настоящий раздел содержит общие рекомендации к ведению разработки на проектах внедрения.
Именование объектов словаря
Настоящий раздел описывает концепцию наименований объектов словаря на стороне SAP системы.
Таблица 3 Именование объектов словаря
Объект репозитория | Длина имени | Маска |
---|---|---|
Домены | 30 | /SBIS/DM_[<ff>][_<XXXXXXXX>] |
Элементы данных | 30 | /SBIS/ED_[<ff>][_<XXXXXXXX>] |
Структуры | 30 | /SBIS/S_[<ff>][_<XXXXXXXX>] |
Типы таблиц | 30 | /SBIS/T_[<ff>][_<XXXXXXXX>] |
Таблицы БД | 16 | /SBIS/[<ff>][<XXXXXXXX>]
/SBIS/[<ff>][<XXXXXXXX>]T - для текстовых таблиц |
Ракурсы | 16 | /SBIS/V_[<ff>][<XXXXXXXX>] |
Search-Help | 30 | /SBIS/SH_[<ff>][_<XXXXXXXX>] |
Объект блокировок | 16 | /SBIS/[<ff>][<XXXXXXXX>] |
Группа функций | 26 | /SBIS/GF_[<ff>][_<XXXXXXXX>] |
Функциональные Модули | 30 | /SBIS/FM_ [<ff>][_<XXXXXXXX>]
/SBIS/RFC_ [<ff>][_<XXXXXXXX>] |
Программы, include | 40 | /SBIS/[<ff>][_<XXXXXXXX>] |
Пулы модулей | 40 | /SBIS/[<ff>][_<XXXXXXXX>] |
Классы | 30 | /SBIS/CL_[<ff>][_<XXXXXXXX>] |
Интерфейсы | 30 | /SBIS/IF_[<ff>][_<XXXXXXXX>] |
Транзакции | 20 | /SBIS/[<ff>][<XXXXXXXX>] |
Smartforms/SAPScript | 30 | /SBIS/[<ff>][_<XXXXXXXX>] |
Классы сообщений | 20 | /SBIS/[<ff>][<XXXXXXXX>] |
Классы разработок | 30 | /SBIS/[<ff>][_<XXXXXXXX>] |
Реализация BAdi (новый/старый) | 30/20 | /SBIS/[<имя определения BAdi>] |
Проекты SAP-расширений | 8 | /SBIS/[<XXXXXXXX>] |
SET/GET-параметры | 20 | /SBIS/[<ff>][<XXXXXXXX>] |
Append – структуры в стандартных таблицах | 30 | /SBIS/A_[<ff>][_<XXXXXXXX>] |
Поля в append-структурах стандартных таблиц | 15 | Z[<XXXXXXXX>] |
Меню областей | 30 | /SBIS/[<ff>][_<XXXXXXXX>] |
Объект полномочий | 30 | /SBIS/[<ff>][_<XXXXXXXX>] |
Для именования остальных объектов репозитария используется маска формирования имени:
<ZZ>SBIS_[<ff>]_[<XXXXXXXX>] , где:
- <ZZ> - буква Z (или две буквы Z, например, для полей в append - структурах стандартных таблиц) в соответствии с соглашением о пространстве имен для клиента;
- <ff> - дополнительный квалификатор функциональности, опускается, в случае если объект принадлежит пакету ZCOMMON;
- <XXXXXXXX> - произвольный набор символов, возможно, но не обязательно, как-то отражающий физический или производственный смысл объекта на английском языке. Возможно использование цифр для отражения следующей логики: 1 - создание, 2 - редактирование, 3 – удаление;
Объекты, не попадающие под требование, должны именоваться исходя из здравого смысла.
Именование переменных кода
Настоящий раздел описывает систему именования объектов и переменных программ продукта на стороне SAP. Таблица 4 Именование объектов и переменных программ
Объект | Префикс | Объект | Префикс | Объект | Префикс | Объект | Префикс | Объект | Префикс | ||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Class | cl_ | ||||||||||||
Parameter | p_ | ||||||||||||
Push Button | pb_ | Radio Button | rb_ | Select Option | so_ | ||||||||
Table type | tt_ | ||||||||||||
Type | ty_ | ||||||||||||
Global Constant | gc_ | Local Constant | lc_ | ||||||||||
Global Field Symbol | gfs_ | Local Field Symbol | lfs_ | ||||||||||
Global Structure | gs_ | Local Structure | ls_ | Importing Structure | is_ | Changing Structure | cs_ | Exporting Structure | es_ | ||||
Global Variable | gv_ | Local Variable | lv_ | Importing Variable | iv_ | Changing Variable | cv_ | Exporting Variable | ev_ | ||||
Global Internal Table | gt_ | Local Internal Table | lt_ | Importing Internal Table | it_ | Changing Internal Table | ct_ | Exporting Internal Table | et_ | ||||
Global Range | gt_rng_ | Local Range | lt_rng_ | ||||||||||
Global Reference | gr_ | Local Reference | lr_ |
Языковая поддержка
Текущая версия системы должна поддерживать (работать без дополнительной настройки) следующие языки: • Русский.
Пользовательский интерфейс и кастомизация
Интерфейсы
ГФ /SBIS/RFC – Набор RFC функций
Общее назначение
Настоящая группа функций обеспечивает работу с SAP из интерфейса личного кабинета СБИС. Соединение осуществляется через SBIS Plugin установленный на рабочем месте пользователя..
ФМ /SBIS/RFC_GET_LIST_PACKET – Получение списка пакетов документов.
Функциональный модуль предназначен для получения списка пакетов документов который отражается в интерфейсе СБИС, пользователь из данного списка выбирает документы для последующей отправки. В таблице ниже представлен локальный интерфейс модуля.
Параметр | Описание |
---|---|
IMPORTING | |
IV_INI_NAME | Код раздела настроек содержащих параметры необходимые для получения списка документов. |
IS_FILTER | Структура содержащая параметры для ограничения выборки списка документов (период, контрагент, балансовая единица и т.п. |
TABLES | |
GET_LIST_PACKET | Список пакетов документов |
ФМ /SBIS/RFC_GET_ATTACHMENT – Данные отправки
Функциональный модуль предназначен для получения XML вложения в пакет.
Получает из таблицы настроек набор SQL запросов необходимых для построения списка пакетов документов. В таблице ниже представлен локальный интерфейс модуля.
Параметр | Описание |
---|---|
IMPORTING | |
IV_INI_NAME | Код раздела настроек содержащих параметры необходимые для получения данных документа. |
IS_DOC_KEY | Уникальный идентификатор документа |
EXPORTING | |
ES_XML_PACKET | Структура с описанием пакета, на основании данных данной структуры формируется описание пакета, актуально для первого вложения |
ES_XML_ATTACHEMENT | Структура с вложением, содержит описание формата, его версии и содержит XML файл взакодированный в BASE64. В общем случае передается XML универсального формата который в последующем конвертируется в формат ФНС. |
ФМ /SBIS/RFC_GET_PARAM – Получение списка настроек аддона
Функциональный модуль предназначен для получения списка параметров из таблицы настроек. Параметры метода служат для ограничения списка возвращаемых значений. Таблица настроек фильтруется по всем заполненным параметрам.
В таблице ниже представлен локальный интерфейс модуля.
Параметр | Описание |
---|---|
IMPORTING | |
IV_INI_NAME | Название группы параметров |
IV_PARENT | Название подгруппы параметров |
IV_PARAM_NAME | Имя параметра |
TABLE | |
ET_SETTINGS | Таблица со списком параметров |
ФМ /SBIS/RFC_DEL_PARAM – Удаление настроек аддона
Функциональный модуль предназначен для удаления настроек аддона, используется при администрировании настроек. В таблице ниже представлен локальный интерфейс модуля.
Параметр | Описание |
---|---|
IMPORTING | |
IV_INI_NAME | Параметр для ограничения списка удаляемых параметров. |
IV_PARENT | Параметр для ограничения списка удаляемых параметров. |
IV_PARAM_NAME | Имя удаляемого параметра. |
ФМ /SBIS/RFC_ADD_PARAM – Добавление настроек аддона
Функциональный модуль предназначен для добавления настроек аддона, используется при администрировании настроек. В таблице ниже представлен локальный интерфейс модуля.
Параметр | Описание |
---|---|
TABLE | |
IT_SETTINGS | Список настроек которые надо добавить/обновить. |
Порядок установки и настройки модуля
- Определить список документов которые предполагается передавать в электронном виде, если внести изменения в SAP проблематично, то лучше сделать этот список с запасом.
- Сформировать список программ использующихся для печати документов.
- Импортировать транспортный запрос с модулем (требуется ключ разработчика).
- Распаковать архив с модулем на сервере разработки в DIR_TRANS (путь посмотреть можно в транзакции AL11)
- Запустить транзакцию STMS
- Import overview (F5)
- Выбрать систему куда импортируем
- Меню Extras -> Other requests -> Add
- Выбираем запрос (имя такое же как у архива)
- Import Request
- Доработать программы печати (требуется ключ разработчика).
- Копируем программу, к старому имени добавляем префикс ZSBIS_
- Перед кодом вызова формуляра добавляем вызов интеграционного модуля. Подробнее.
- Заполнить таблицу настроек /SBIS/SETTING. Подробнее.
Доработка программы печати
Для формирование XML документа ИМ использует имеющиеся программы печати. Данная методика позволяет избежать дублирования алгоритма формирования документа.
В простейшем случае доработка сводится к добавлению к в программу печати (или её копию) вызова метода ИМ который завершает программу печати после формирования электронного документа.
Пример вызова ИМ для формирования электронного документа. Данный код необходимо добавить непосредственно перед вызовом формуляра.
DATA lv_not_print TYPE c VALUE 'X'.
DATA cl_mapping TYPE REF TO /sbis/cl_mapping.
CREATE OBJECT cl_mapping.
CALL METHOD cl_mapping->calc_doc
IMPORTING
ev_not_print = lv_not_print.
IF lv_not_print = 'X'.
EXIT.
ENDIF.
С интеграционным модулем поставляются примеры стандартных программ печати в которые добавлен вызов ИМ.
В ряде случаев этого может быть не достаточно.
Генерация электронного документа использует в качестве данных значения рассчитанные программой печати. Иногда название контрагента, его ИНН и КПП выводятся в печатной форме одной строкой и как правило в программе печати они хранятся в одной переменной, а для формирования электронного документа они нужны по раздельности. Поэтому для каждой программы печати проводится анализ, каких данных в ней не хватает, после чего в текст программы вносятся соответствующие изменения.