СБИС Сапёр — различия между версиями

Материал из razgovorov.ru
Перейти к: навигация, поиск
м (Разговоров Михаил переименовал страницу Addon SBIS for SAP в SBIS SAPPER)
(Общие сведения)
Строка 1: Строка 1:
 
=Общие сведения=
 
=Общие сведения=
 +
СБИС САПЁР - это модуль интеграции SAP с системой обмена юридически значимыми электронными документами СБИС.
 +
 +
Используя СБИС САПЁР, можно:
 +
* отправлять из SAP любые пакеты любых электронных документов в формате xml несколькими способами
 +
* принимать в SAP любые xml документы (создавать документ SAP по данным из XML) несколькими способами
 +
* организовать локальный архив электронных документов в SAP либо на отдельном локальном сервисе
 +
* использовать возможности СБИС в SAP:
 +
** внутренний документооборот - согласование документов перед загрузкой / отправкой
 +
** сопоставление номенклатуры поставщика
 +
** ЕГАИС - работа в соответствии с алкогольным законодательством
 +
 +
=Отправка документов=
 +
СБИС САПЁР может формировать и отправлять электронные документы несколькими способами:
 +
==Отправка через интерфейс SAP==
 +
В составе СБИС САПЁР есть специальная программа (/SBIS/SEND), с помощью которой пользователь в интерфейсе SAP может отправлять любые электронные документы.
 +
Сценарий работы пользователя (в оптимальном варианте после запуска два клика мышкой):
 +
# вызываем программу
 +
# выбираем тип пакета документов (этот пункт возможно исключить)
 +
# отмечаем галочками пакеты документов которые хотим отправить
 +
# нажимаем кнопку отправить
 +
 +
===Как это работает:===
 +
СБИС САПЁР проектировался так, чтобы пользователь делал в нем (программном коде) минимум изменений. Вся адаптация под клиента делается путем редактирования таблицы настроек.
 +
 +
Когда пользователь запускает программу отправки (/SBIS/SEND), модуль в зависимости от типа пакета смотрит в таблице настроек текст запроса для построения списка документов и выполняет его. Результат пользователь видит на экране.
 +
 +
После того как пользователь отметил пакеты документов которые он хочет отправить, /SBIS/SEND смотрит в таблице настроек, какая программа печати используется для печати данного документа и вызывает её, только вместо вывода на принтер, она все рассчитанные программой печати значения сохраняет в xml файл универсального формата. Когда /SBIS/SEND получила xml файлы всех документов пакета, она конвертирует на стороне оператора универсальные xml файлы в актуальные форматы ФНС, подписывает и отправляет их.
 +
 +
Использование универсального формата xml позволяет делать электронные документы любых типов из любых документов SAP, а также не делать в SAP никаких изменений при смене формата ФНС ( за два года их было уже 4 ).
 +
 +
Использование программы печати позволяет получить электронный документ с учетом всех особенности клиента, подобный способ используется и в  стандартном модуле ЭДО от SAP CIS, за той лишь разницей, что конвертация в xml является не жесткой, а настраиваемой через таблицу настроек.
 +
 +
Для подписания и отправки опционально может быть использован либо SBIS SDK (прямая отправка) или СБИС Коннект (обмен через каталог).
 +
 +
==Отправка через интерфейс СБИС==
 +
Если Вам больше нравится работать из интерфейса СБИС (это нормально). Вы можете находясь в СБИС нажать на кнопку загрузить из SAP, после чего все будет ровно так же как если бы Вы отправляли документы из SAP, только это будет чуть более красиво и возможно чуть-чуть быстрее.
 +
 +
===Как это работает:===
 +
Для удобной работы в кабинете СБИС на компьютере пользователя должен быть установлен SBIS Plugin, который отвечает за комфортную работу пользователя: выдачу всплывающих уведомлений, подписание документов, работу со сканерами и другими устройствами, а также взаимодействие с информационными системами прямо из интерфейса личного кабинета СБИС.
 +
 +
Так вот, когда пользователь нажимает кнопку "Загрузить из SAP", браузер просит SBIS Plugin запросить в SAP список документов определенного типа.
 +
 +
SBIS Plugin имеет в своем составе стандартный SAP Net connector 3, с помощью которого, через RFC интерфейс он получает информацию таким же способом что и /SBIS/SEND.
 +
 +
Подобное решение не может быть использовано для доступа к SAP из интернет, доступ возможен только из браузера пользователя по его инициативе и ограничен правами в SAP.
 +
 +
==Отправка через интерфейс стандартного модуля ЭДО (не рекомендуется)==
 +
В составе СБИС САПЁР есть пакет EJOURNAL который реализует работу ( в т.ч. BADI) со стандартными журналами электронных документов SAP. Дополнительно к этому он предоставляет программу, которая позволяет в три клика отправлять пакеты документов сформированные из записей стандартных журналов. Сделано специально для приверженцев стандартного функционала. Функционал данного способа ограничен возможностями стандартного модуля и всеми его [[Интеграция с SAP |недостатками]].
 +
 
==Назначение документа==
 
==Назначение документа==
  

Версия 20:34, 17 февраля 2016

Содержание

Общие сведения

СБИС САПЁР - это модуль интеграции SAP с системой обмена юридически значимыми электронными документами СБИС.

Используя СБИС САПЁР, можно:

  • отправлять из SAP любые пакеты любых электронных документов в формате xml несколькими способами
  • принимать в SAP любые xml документы (создавать документ SAP по данным из XML) несколькими способами
  • организовать локальный архив электронных документов в SAP либо на отдельном локальном сервисе
  • использовать возможности СБИС в SAP:
    • внутренний документооборот - согласование документов перед загрузкой / отправкой
    • сопоставление номенклатуры поставщика
    • ЕГАИС - работа в соответствии с алкогольным законодательством

Отправка документов

СБИС САПЁР может формировать и отправлять электронные документы несколькими способами:

Отправка через интерфейс SAP

В составе СБИС САПЁР есть специальная программа (/SBIS/SEND), с помощью которой пользователь в интерфейсе SAP может отправлять любые электронные документы. Сценарий работы пользователя (в оптимальном варианте после запуска два клика мышкой):

  1. вызываем программу
  2. выбираем тип пакета документов (этот пункт возможно исключить)
  3. отмечаем галочками пакеты документов которые хотим отправить
  4. нажимаем кнопку отправить

Как это работает:

СБИС САПЁР проектировался так, чтобы пользователь делал в нем (программном коде) минимум изменений. Вся адаптация под клиента делается путем редактирования таблицы настроек.

Когда пользователь запускает программу отправки (/SBIS/SEND), модуль в зависимости от типа пакета смотрит в таблице настроек текст запроса для построения списка документов и выполняет его. Результат пользователь видит на экране.

После того как пользователь отметил пакеты документов которые он хочет отправить, /SBIS/SEND смотрит в таблице настроек, какая программа печати используется для печати данного документа и вызывает её, только вместо вывода на принтер, она все рассчитанные программой печати значения сохраняет в xml файл универсального формата. Когда /SBIS/SEND получила xml файлы всех документов пакета, она конвертирует на стороне оператора универсальные xml файлы в актуальные форматы ФНС, подписывает и отправляет их.

Использование универсального формата xml позволяет делать электронные документы любых типов из любых документов SAP, а также не делать в SAP никаких изменений при смене формата ФНС ( за два года их было уже 4 ).

Использование программы печати позволяет получить электронный документ с учетом всех особенности клиента, подобный способ используется и в стандартном модуле ЭДО от SAP CIS, за той лишь разницей, что конвертация в xml является не жесткой, а настраиваемой через таблицу настроек.

Для подписания и отправки опционально может быть использован либо SBIS SDK (прямая отправка) или СБИС Коннект (обмен через каталог).

Отправка через интерфейс СБИС

Если Вам больше нравится работать из интерфейса СБИС (это нормально). Вы можете находясь в СБИС нажать на кнопку загрузить из SAP, после чего все будет ровно так же как если бы Вы отправляли документы из SAP, только это будет чуть более красиво и возможно чуть-чуть быстрее.

Как это работает:

Для удобной работы в кабинете СБИС на компьютере пользователя должен быть установлен SBIS Plugin, который отвечает за комфортную работу пользователя: выдачу всплывающих уведомлений, подписание документов, работу со сканерами и другими устройствами, а также взаимодействие с информационными системами прямо из интерфейса личного кабинета СБИС.

Так вот, когда пользователь нажимает кнопку "Загрузить из SAP", браузер просит SBIS Plugin запросить в SAP список документов определенного типа.

SBIS Plugin имеет в своем составе стандартный SAP Net connector 3, с помощью которого, через RFC интерфейс он получает информацию таким же способом что и /SBIS/SEND.

Подобное решение не может быть использовано для доступа к SAP из интернет, доступ возможен только из браузера пользователя по его инициативе и ограничен правами в SAP.

Отправка через интерфейс стандартного модуля ЭДО (не рекомендуется)

В составе СБИС САПЁР есть пакет EJOURNAL который реализует работу ( в т.ч. BADI) со стандартными журналами электронных документов 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.

С интеграционным модулем поставляются примеры стандартных программ печати в которые добавлен вызов ИМ.

В ряде случаев этого может быть не достаточно.

Генерация электронного документа использует в качестве данных значения рассчитанные программой печати. Иногда название контрагента, его ИНН и КПП выводятся в печатной форме одной строкой и как правило в программе печати они хранятся в одной переменной, а для формирования электронного документа они нужны по раздельности. Поэтому для каждой программы печати проводится анализ, каких данных в ней не хватает, после чего в текст программы вносятся соответствующие изменения.

Алгоритм выгрузки документов из SAP в СБИС для последующей отправки

Алгоритм выгрузки в СБИС документов SAP из интерфейса СБИС

Алгоритм загрузки документов в SAP из СБИС

Алгоритм загрузки документов в SAP из интерфейса СБИС