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

Материал из razgovorov.ru
Перейти к: навигация, поиск
(Общие сведения)
(Пакет /SBIS/CORE_740)
 
(не показано 49 промежуточных версий 2 участников)
Строка 1: Строка 1:
 
=Общие сведения=
 
=Общие сведения=
 +
[[Файл:sap_send_packet.png|400px|thumb|right|Список пакетов документов]]
 +
[[Файл:sap_inbox.png|400px|thumb|right|Список полученных пакетов документов]]
 +
[[Файл:sap_packet_preview.png|400px|thumb|right|Окно просмотра пакета]]
 +
 
СБИС САПЁР - это модуль интеграции SAP с системой обмена юридически значимыми электронными документами СБИС.
 
СБИС САПЁР - это модуль интеграции SAP с системой обмена юридически значимыми электронными документами СБИС.
  
 
Используя СБИС САПЁР, можно:
 
Используя СБИС САПЁР, можно:
* отправлять из SAP любые пакеты любых электронных документов в формате xml.
+
* отправлять из SAP любые пакеты любых электронных документов в формате XML.
* контролировать статусы ранее отправленных документов
+
* отслеживать состояние ранее отправленных документов
 
* просматривать и обрабатывать входящие электронные документы
 
* просматривать и обрабатывать входящие электронные документы
* загружать в SAP любые xml документы (создавать документ SAP по данным из XML).
+
* создавать документы SAP на основании входящих электронных документов
  
 
=Отправка документов=
 
=Отправка документов=
 
СБИС САПЁР может формировать и отправлять электронные документы несколькими способами:
 
СБИС САПЁР может формировать и отправлять электронные документы несколькими способами:
 
==Отправка через интерфейс SAP==
 
==Отправка через интерфейс SAP==
В составе СБИС САПЁР есть специальная программа (/SBIS/SEND), с помощью которой пользователь в интерфейсе SAP может отправлять любые электронные документы.  
+
В составе СБИС САПЁР есть ABAP программа \SBIS\SAPPER, с помощью которой пользователь в интерфейсе SAP может работать с электронными документами.  
Сценарий работы пользователя (в оптимальном варианте после запуска два клика мышкой):
+
 
 +
'''Сценарий работы пользователя''' (в оптимальном варианте после запуска два клика мышкой):
 
# вызываем программу
 
# вызываем программу
# выбираем тип пакета документов (этот пункт возможно исключить)
+
# выбираем тип пакета документов
# отмечаем галочками пакеты документов которые хотим отправить
+
# отмечаем пакеты документов которые хотим отправить
 
# нажимаем кнопку отправить
 
# нажимаем кнопку отправить
  
===Как это работает:===
+
'''Возможные настройки''':
Когда пользователь запускает программу отправки (/SBIS/SEND), модуль в зависимости от типа пакета смотрит в таблице настроек текст запроса для построения списка документов и выполняет его. Результат пользователь видит на экране.
+
# варианты пакетов документов и их состав
 
+
# внешний вид (визуализация) документов
После того как пользователь отметил пакеты документов которые он хочет отправить, /SBIS/SEND смотрит в таблице настроек, какая программа печати используется для печати данного документа и вызывает её, только вместо вывода на принтер, она все рассчитанные программой печати значения сохраняет в xml файл универсального формата. Когда /SBIS/SEND получила xml файлы всех документов пакета, передает их на отправку.
+
# способ получения данных: программа печати / XML из ЭДО от SAP СНГ / BAPI
 
+
# способ отправки: SDK, СБИС Коннект, API, архитектура решения допускает отправку через любого оператора
Отправка, в зависимости от настроек может осуществляться при помощи SBIS SDK (через COM объект) или СБИС Коннект (через каталог).
 
 
 
В обоих случаях файлы при помощи XSLT конвертируются в актуальные форматы ФНС, после чего подписываются и отправляются.
 
 
 
Для подписания может применяться как серверная так и локальная электронная подписьэ
 
 
 
Использование универсального формата xml позволяет делать электронные документы любых типов из любых документов SAP, а также не делать в SAP никаких изменений при смене формата ФНС ( за два года их было уже 4 ).
 
 
 
Использование программы печати позволяет получить электронный документ с учетом всех особенности клиента, подобный способ используется и в  стандартном модуле ЭДО от SAP CIS, за той лишь разницей, что конвертация в xml является не жесткой, а настраиваемой через таблицу настроек.
 
 
 
В простейшем случае доработка сводится к добавлению к в программу печати (или её копию) вызова метода СБИС Сапёр который завершает программу печати после формирования электронного документа.
 
 
 
Пример вызова СБИС Сапёр для формирования электронного документа. Данный код необходимо добавить непосредственно перед вызовом формуляра.
 
  
<source lang=ABAP>
+
'''Как это работает''':
  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'.
+
Все разделы меню Сапера, настраиваются без изменения ABAP кода. Пункты меню раздела Продажа, описывают варианты пакетов отправляемых документов. Каждый пункт этого раздела описывает состав конкретного типа пакетов документов.  
    EXIT.
 
  ENDIF.
 
</source>
 
  
С интеграционным модулем поставляются примеры стандартных программ печати в которые добавлен вызов СБИС Сапёр.
+
При выборе пользователем какого-то пункта меню раздела Продажа Сапер получает из настроек модуля текст запроса для построения списка документов и выполняет его. Текст запроса написан таким образом, чтобы собрать соответствующие пакеты документов. В результате запроса, пользователь увидит на экране список документов сгруппированных в пакеты (например, ТОРГ-12 и фактура).  
  
В ряде случаев этого может быть не достаточно.  
+
При открытии пользователем карточки пакета документов (двойной клик в списке) или при нажатии кнопки отправить - Сапер для каждого документа пакета вызывает программу печати, которая обычно используется для его печати, в режиме формирования электронного документа. Далее, на основании рассчитанных программами печати данных и при помощи таблиц маппинга он формирует XML файлы требуемых форматов. Полностью сформировав пакет документов он подключается к COM объекту СБИС и при помощи него подписывает и отправляет документы (возможно несколько вариантов, с подписанием и без).  
  
Генерация электронного документа использует в качестве данных значения рассчитанные программой печати. Иногда название контрагента, его ИНН и КПП выводятся в печатной форме одной строкой и как правило в программе печати они хранятся в одной переменной, а для формирования электронного документа они нужны по раздельности. Поэтому для каждой программы печати проводится анализ, каких данных в ней не хватает, после чего в текст программы вносятся соответствующие изменения.
+
Данный способ работает на любом SAP, с любыми типами документов и отчетов (не имеет никаких зависимостей от функционала, реализованного SAP для журнала электронных счетов фактур из российского Add-on)
 
 
Для подписания и отправки опционально может быть использован либо SBIS SDK (прямая отправка) или СБИС Коннект (обмен через каталог).
 
  
 
==Отправка через интерфейс СБИС==
 
==Отправка через интерфейс СБИС==
Если Вам больше нравится работать из интерфейса СБИС (это нормально). Вы можете находясь в СБИС нажать на кнопку загрузить из SAP, после чего все будет ровно так же как если бы Вы отправляли документы из SAP, только это будет чуть более красиво и возможно чуть-чуть быстрее.
+
Если Вы пользуетесь согласованиями в СБИС (например для входящих документов), то Вам будет удобнее загружать документы в SAP из интерфейса СБИС. Тоже самое касается и отправки документов. Для этого находясь в СБИС достаточно нажать на кнопку выгрузить в SAP (или загрузить из SAP), после чего все будет ровно так же как если бы Вы отправляли документы из SAP).
  
===Как это работает:===
+
'''Как это работает''':
Для удобной работы в кабинете СБИС на компьютере пользователя должен быть установлен SBIS Plugin, который отвечает за комфортную работу пользователя: выдачу всплывающих уведомлений, подписание документов, работу со сканерами и другими устройствами, а также взаимодействие с информационными системами прямо из интерфейса личного кабинета СБИС.
 
  
Так вот, когда пользователь нажимает кнопку "Загрузить из SAP", браузер через SBIS Plugin запрашивает в SAP список документов определенного типа.  
+
Браузер по WebSocket подключается к СБИС Плагин установленный на компьютере пользователя. СБИС Плагин конвертирует запрос в форматы соответствующих методов RFC и вызывает их.
  
SBIS Plugin имеет в своем составе стандартный SAP Net connector 3, с помощью которого, через RFC интерфейс он получает информацию таким же способом что и /SBIS/SEND.
+
==Отправка через интерфейс стандартного модуля ЭДО==
 
 
Подобное решение не может быть использовано для доступа к SAP из интернет, доступ возможен только из браузера пользователя по его инициативе и ограничен правами в SAP.
 
 
 
==Отправка через интерфейс стандартного модуля ЭДО (не рекомендуется)==
 
 
В составе СБИС САПЁР есть пакет EJOURNAL который реализует работу ( в т.ч. BADI) со стандартными журналами электронных документов SAP.  
 
В составе СБИС САПЁР есть пакет EJOURNAL который реализует работу ( в т.ч. BADI) со стандартными журналами электронных документов SAP.  
  
 
Дополнительно к этому он предоставляет программу, которая позволяет в три клика отправлять пакеты документов сформированные из записей стандартных журналов. Сделано специально для приверженцев стандартного функционала.  
 
Дополнительно к этому он предоставляет программу, которая позволяет в три клика отправлять пакеты документов сформированные из записей стандартных журналов. Сделано специально для приверженцев стандартного функционала.  
  
Функционал данного способа ограничен возможностями стандартного модуля и всеми его [[Интеграция с SAP |недостатками]].
+
Функционал данного способа ограничен возможностями стандартного модуля и всеми его [[Варианты интеграции с SAP |недостатками]].
 
 
Как это работает:
 
В СБИС САПЁР реализованы все BADI стандартного модуля электронных документов SAP CIS и немного больше.  
 
  
 
== FAQ ==
 
== FAQ ==
Строка 84: Строка 57:
  
 
'''Ответ:''' Да возможно, список документов перед отправкой строится при помощи простого запроса указанного в таблице настроек, его можно изменить с учетом Вашей специфики.
 
'''Ответ:''' Да возможно, список документов перед отправкой строится при помощи простого запроса указанного в таблице настроек, его можно изменить с учетом Вашей специфики.
 
  
 
=Загрузка документов=
 
=Загрузка документов=
 
==Загрузка через интерфейс SAP==
 
==Загрузка через интерфейс SAP==
В составе СБИС САПЁР есть специальная программа (/SBIS/INBOX), с помощью которой пользователь в интерфейсе SAP может просматривать, обрабатывать и загружать входящие документы.  
+
В интерфейсе СБИС САПЁР есть разделы Полученные, в этом разделе показываются все документы которые пользователь видит в личном кабинете в разделе Входящие. На основании входящего электронного документа можно создать SAP документ. Как правило на основании накладной создается Заказ на закупку в ММ, а на основании акта выполненных работ или счет-фактуры создается Входящий счет в ММ.
  
Сценарий работы пользователя:
+
'''Сценарий работы пользователя''':
 
# вызываем программу
 
# вызываем программу
# программа автоматически генерирует извещение о получении документов доступных этому пользователю (при условии наличия ЭЦП без этого не возможен их просмотр)
 
 
# пользователь видим список доступных ему входящих документов (ограничения настраиваются в личном кабинете СБИС)
 
# пользователь видим список доступных ему входящих документов (ограничения настраиваются в личном кабинете СБИС)
 
# любой документ пользователь может посмотреть, выполнить над ним доступное действие (по умолчанию это принять / отклонить)
 
# любой документ пользователь может посмотреть, выполнить над ним доступное действие (по умолчанию это принять / отклонить)
# загрузить в SAP (возможно для этого потребуется сопоставить номенклатуру)
+
# В карточке документа на документе нажимает правую кнопку мыши и видит список вариантов загрузки.
 +
# Выбирает интересующий вариант. Видит окно параметров загрузки, ввод информации отсутствующей в XML, например завод, и таблицу сопоставления кодов номенклатуры.
 +
# Нажимает кнопку загрузить - видит заполненную карточку документа SAP
 +
 
 +
'''Варианты настройки''':
 +
# для каждого типа электронного документа можно настроить несколько вариантов его загрузки в SAP, например ТОРГ-12 можно загрузить как заявку и как накладную.
 +
# два способа загрузки BAPI и пакетный ввод (для измененных форм)
  
===Как это работает:===
+
'''Как это работает''':
Когда пользователь запускает программу отправки (/SBIS/INBOX), она через SDK авторизуется в личном кабинете СБИС, запрашивает список входящих документов (аналогичный можно видеть в разделе Входящие личного кабинета). Далее для каждого входящего документа проверяется загружался ли он в SAP и сравниваются суммы документов, и эта информация добавляется в список. Результат пользователь видит на экране.  
+
При выборе способа загрузки, Сапер согласно настройкам сериализует XML в структуру SAP и заполняет окно ввода дополнительных параметров. Для каждого товара / услуги ищет по таблице соответствия кодов номенклатуры соответствующий материал SAP.
  
При нажатии кнопки загрузить в SAP, пользователя при наличии нескольких вариантов загрузки XML файла спросят куда именно он хочет загрузить документ, после чего XML файл конвертируется в XML универсального формата, который при помощи таблицы настроек сериализуется в структуру SAP которая передается соответствующему BAPI. В момент загрузки по желанию заказчика в таблицы SAP может быть передана информация о подписантах, оригиналы XML документов, PDF представление документа со штампом ЭДО.
+
После нажатия кнопки загрузить в окне ввода дополнительных параметров загрузки, Сапер сохраняет введенные данные по соответствию кодов номенклатуры. Далее в соответствии с таблицей настроек формирует структуры для BAPI указанной в настройках и вызывает её. В случае пакетного ввода - формирует последовательность и исполняет её. По окончании открывает карточку созданного документа.
  
 
=Архитектура системы=
 
=Архитектура системы=
 
[[Файл:AddonSbisForSAPcheme1.png|400px|thumb|right|Схема логической и программной архитектуры]]
 
[[Файл:AddonSbisForSAPcheme1.png|400px|thumb|right|Схема логической и программной архитектуры]]
 
В настоящем разделе приведена схема взаимодействия основных компонентов. На схеме отражены ключевые программные компоненты и логические подсистемы решения.  
 
В настоящем разделе приведена схема взаимодействия основных компонентов. На схеме отражены ключевые программные компоненты и логические подсистемы решения.  
 +
 +
Модуль состоит из нескольких ABAP пакетов и поставляется в виде нескольких транспортных запросов.
 +
  
 
==SBIS SAPPER==
 
==SBIS SAPPER==
Программный компонент, предназначен для интеграции учётной системы SAP ERP с СБИС. ИМ имеет несколько пользовательских интерфейсов:
+
 
* SBIS GUI - набор экранов выполненных в интерфейсе SAP для взаимодействия с пользователем.
+
Программный компонент, предназначен для интеграции учётной системы SAP ERP с СБИС. Имеет модульную архитектуру, позволяющую легко встраиваться в имеющиеся бизнес-процессы. Поставляется в ввиде нескольких транспортных запросов. Каждый транспортный запрос содержит одноименный ABAP пакет:
* Data interface - набор классов реализующих интерфейс получения списка, выгрузки и загрузки документов из разных источников данных, таковыми могут быть программы печати, BAPI, журналы.
+
 
* Exchange interface - набор классов реализующих интерфейс обмена данными с СБИС, по умолчанию это СБИС SDK, в ряде случаем может быть использован обмен через каталог.
+
Список ABAP пакетов в порядке их импорта:
* User settings - основа модуля это таблица настроек отвечающая за параметры обмена, маппинг полей. За счет неё решение получает свою гибкость.
+
 
 +
 
 +
=== Пакет /SBIS/CORE ===
 +
 
 +
Содержит общие объекты, используемые другими специализированными пакетами.
 +
#Таблицы
 +
##/SBIS/MATERIALS - таблица сопоставления номенклатуры с номенклатурой клиентов.
 +
##/SBIS/SETTINGS - настройки Сапера.
 +
##/SBIS/STATUS - справочник статусов документов.
 +
##/SBIS/STATUS_DOC - статусы документов.
 +
##/SBIS/U_SETTINGS - настройки Сапера для пользователя.
 +
##/SBIS/XSLT - справочник и двоичные данные XSLT.
 +
#Классы
 +
##/SBIS/CL_ASYNC_PROCESSING - содержит методы для многопоточной обработки.
 +
##/SBIS/CL_CORE - содержит вспомогательные служебные методы и методы-оболочки обработки данных.
 +
##/SBIS/CL_CREATE_SAP_DOCUMENTS - содержит методы создания SAP-документов и сопоставления номенклатуры.
 +
##/SBIS/CL_EXCHANGE_FILE - содержит методы обмена документами через каталог.
 +
##/SBIS/CL_EXCHANGE_SDK - содержит методы обмена документами через СБИС SDK.
 +
##/SBIS/CL_MAPPING - маппинг полей при движении документов между системами SAP и СБИС.
 +
##/SBIS/CL_SAP_DATA - содержит методы получения данных из системы SAP.
 +
##/SBIS/CX_CORE - класс обработки исключений.
 +
#Интерфейсы
 +
##/SBIS/IF_EXCHANGE - интерфейс для технической реализации обмена документами с системой СБИС.
 +
##/SBIS/IF_SAP_DATA - интерфейс для получения данных из системы SAP.
 +
#Программы
 +
##/SBIS/MIGO_DIALOG - программа-оболочка для транзакции MIGO.
 +
##/SBIS/TEST_GET_ATTACHMENT - тестовая программа получения вложения СБИС.
 +
##/SBIS/TEST_GET_LIST_PACKET - тестовая программа получения списка пакетов документов СБИС.
 +
##/SBIS/TEST_GET_PACKET - тестовая программа получения пакета СБИС.
 +
##/SBIS/TEST_SDK  - программа для тестирования работы СБИС SDK.
 +
##/SBIS/TEST_SEND_PACKET - тестовая программа отправки пакета СБИС.
 +
##/SBIS/UPDATE_SETTINGS - программа загрузки настроек Сапера.
 +
##/SBIS/UPDATE_STATUS - программа загрузки справочника статусов документов.
 +
##/SBIS/UPDATE_XSLT - программа загрузки XSLT в справочник XSLT.
 +
#Группы функций
 +
##/SBIS/GF_ASYNC_PROCESSING - содержит функциональные модули (ФМ) для многопоточной обработки.
 +
##/SBIS/GF_AUTH  - содержит ФМ и экраны для авторизации через СБИС SDK.
 +
##/SBIS/GF_CREATE_SAP_DOC - содержит ФМ создания SAP-документов и сопоставления номенклатуры.
 +
##/SBIS/GF_PRINT_PROG - содержит ФМ для запуска программ печати.
 +
##/SBIS/GF_RFC - содержит RFC для работы через браузер. Работа с настройками Сапера и документами.
 +
##/SBIS/GF_SBIS_SHLP2 - средства поиска
 +
##/SBIS/TAB_STATUS - автоматически сгенерированный ФМ для ведения данных таблицы /SBIS/STATUS.
 +
#Транзакции
 +
##/SBIS/MIGO_DIALOG - оболочка для транзакции MIGO.
 +
#XSLT преобразования
 +
##/SBIS/DOC301 - преобразование документа в XML формата 3.01.
 +
##/SBIS/DOC301_2 - преобразование документа в XML формата 3.01.
 +
##/SBIS/DOC301_XML_TO_ABAP - получение данных из XML формата 3.01.
 +
##/SBIS/KONVERT_NATIVE - получение XML пакета СБИС.
 +
 
 +
=== Пакет /SBIS/CORE_700 ===
 +
 
 +
Содержит объекты, специфичные для версии базиса 7.00.
 +
#Классы
 +
##/SBIS/CL_SAP_DATA_700 - содержит методы получения данных из системы SAP.
 +
##/SBIS/CL_SAP_DATA_700_LIKP - содержит методы получения данных из системы SAP.
 +
##/SBIS/CL_SAP_DATA_700_VBRK - содержит методы получения данных из системы SAP.
 +
 
 +
=== Пакет /SBIS/CORE_740 ===
 +
 
 +
Содержит объекты, специфичные для версии базиса выше 7.40 SP05 (SAPKB74005).
 +
#Классы
 +
##/SBIS/CL_SAP_DATA_740 - содержит методы получения данных из системы SAP.
 +
##/SBIS/CL_SAP_EJOURNAL2 - содержит методы получения данных из системы SAP.
 +
 
 +
=== Пакет /SBIS/GUI ===
 +
 
 +
Набор общих экранов и функционала, предназначенных для взаимодействия с пользователем.
 +
#Классы
 +
##/SBIS/CL_TREE - набор методов для построения и работы со списком пакетов документов.
 +
##/SBIS/CL_TREE_ACCORDION - набор методов для построения рабочего меню.
 +
##/SBIS/CL_TREE_API2_PACKET - построение и работа со списком исходящих пакетов документов.
 +
##/SBIS/CL_TREE_INBOX - построение и работа со списком полученных пакетов документов.
 +
##/SBIS/CL_TREE_OUTBOX - построение и работа со списком отправленных пакетов документов.
 +
##/SBIS/CL_TREE_RESPONSE - построение и работа со списком уведомлений.
 +
##/SBIS/CL_VIEW_INBOX_PACKET - набор методов для работы с полученным пакетом документов.
 +
##/SBIS/CL_VIEW_OUTBOX_PACKET - набор методов для работы с отправленным пакетом документов.
 +
##/SBIS/CL_VIEW_RESPONSE_PACKET - набор методов для работы с уведомлением.
 +
##/SBIS/CL_VIEW_SAP_PACKET - набор методов для работы с исходящим пакетом документов.
 +
#Интерфейсы
 +
##/SBIS/IF_TREE_API2_PACKET - интерфейс для работы со списком пакетов.
 +
##/SBIS/IF_VIEW_PACKET - интерфейс для работы с пакетом документов
 +
#Программы
 +
##/SBIS/SAPPER - программа для электронного обмена документами с системой СБИС.
 +
#Группы функций
 +
##/SBIS/GF_FILTER - набор экранов и функций для работы фильтра по документам.
 +
##/SBIS/GF_WINDOW - набор экранов и функций для вывода сообщений.
 +
#Транзакции
 +
##/SBIS/SAPPER - транзакция для электронного обмена документами с системой СБИС.
 +
 
 +
 
 +
=== Пакет /SBIS/EJOURNAL ===
 +
 
 +
Предназначен для работы с журналами электронных документов из российского Add-On.
 +
#Таблицы
 +
##/SBIS/STATUS_EJ - таблица статусов документов .
 +
#Классы
 +
##/SBIS/CL_J3RF_DIGINV_BADI_2 - реализация BADI для ЭЖ.
 +
##/SBIS/CL_J3RF_DIGINV_PROCESSOR - дополнительные методы для класса CL_J3RF_DIGINV_PROCESSOR.
 +
#Программы
 +
##/SBIS/FILL_ID_DEBI - Заполнение УИД клиента в настройках ЭЖ.
 +
##/SBIS/FILL_ID_KRED - Заполнение УИД кредитора в настройках ЭЖ.
 +
#XSLT преобразования
 +
##/SBIS/J_3RF_DI_DOCTYPE_01 - получение типа документа.
 +
##/SBIS/J_3RF_ROSEU_UOU - обработка уведомления об уточнении.
 +
 
 +
=== Пакет /SBIS/ARCHIVE_EJOURNAL ===
 +
 
 +
Предназначен для работы с журналами электронных документов из российского Add-On.
 +
#Классы
 +
##/SBIS/CL_ARCHIVE_EJOURNAL - сохранение данных в ЭЖ.
 +
 
 +
=== Пакет ZSBIS ===
 +
 
 +
Вспомогательный пакет.
 +
#Транзакции
 +
##ZSBIS - транзакция для быстрого доступа в СБИС Сапер.
  
 
==SBIS Plugin==
 
==SBIS Plugin==

Текущая версия на 14:30, 24 января 2017

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

Список пакетов документов
Список полученных пакетов документов
Окно просмотра пакета

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

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

  • отправлять из SAP любые пакеты любых электронных документов в формате XML.
  • отслеживать состояние ранее отправленных документов
  • просматривать и обрабатывать входящие электронные документы
  • создавать документы SAP на основании входящих электронных документов

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

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

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

В составе СБИС САПЁР есть ABAP программа \SBIS\SAPPER, с помощью которой пользователь в интерфейсе SAP может работать с электронными документами.

Сценарий работы пользователя (в оптимальном варианте после запуска два клика мышкой):

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

Возможные настройки:

  1. варианты пакетов документов и их состав
  2. внешний вид (визуализация) документов
  3. способ получения данных: программа печати / XML из ЭДО от SAP СНГ / BAPI
  4. способ отправки: SDK, СБИС Коннект, API, архитектура решения допускает отправку через любого оператора

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

Все разделы меню Сапера, настраиваются без изменения ABAP кода. Пункты меню раздела Продажа, описывают варианты пакетов отправляемых документов. Каждый пункт этого раздела описывает состав конкретного типа пакетов документов.

При выборе пользователем какого-то пункта меню раздела Продажа Сапер получает из настроек модуля текст запроса для построения списка документов и выполняет его. Текст запроса написан таким образом, чтобы собрать соответствующие пакеты документов. В результате запроса, пользователь увидит на экране список документов сгруппированных в пакеты (например, ТОРГ-12 и фактура).

При открытии пользователем карточки пакета документов (двойной клик в списке) или при нажатии кнопки отправить - Сапер для каждого документа пакета вызывает программу печати, которая обычно используется для его печати, в режиме формирования электронного документа. Далее, на основании рассчитанных программами печати данных и при помощи таблиц маппинга он формирует XML файлы требуемых форматов. Полностью сформировав пакет документов он подключается к COM объекту СБИС и при помощи него подписывает и отправляет документы (возможно несколько вариантов, с подписанием и без).

Данный способ работает на любом SAP, с любыми типами документов и отчетов (не имеет никаких зависимостей от функционала, реализованного SAP для журнала электронных счетов фактур из российского Add-on)

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

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

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

Браузер по WebSocket подключается к СБИС Плагин установленный на компьютере пользователя. СБИС Плагин конвертирует запрос в форматы соответствующих методов RFC и вызывает их.

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

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

Дополнительно к этому он предоставляет программу, которая позволяет в три клика отправлять пакеты документов сформированные из записей стандартных журналов. Сделано специально для приверженцев стандартного функционала.

Функционал данного способа ограничен возможностями стандартного модуля и всеми его недостатками.

FAQ

Вопрос: У нас сотрудник не должен видеть все документы определенного типа, возможен ли показ документов только его зоны ответственности?

Ответ: Да возможно, список документов перед отправкой строится при помощи простого запроса указанного в таблице настроек, его можно изменить с учетом Вашей специфики.

Загрузка документов

Загрузка через интерфейс SAP

В интерфейсе СБИС САПЁР есть разделы Полученные, в этом разделе показываются все документы которые пользователь видит в личном кабинете в разделе Входящие. На основании входящего электронного документа можно создать SAP документ. Как правило на основании накладной создается Заказ на закупку в ММ, а на основании акта выполненных работ или счет-фактуры создается Входящий счет в ММ.

Сценарий работы пользователя:

  1. вызываем программу
  2. пользователь видим список доступных ему входящих документов (ограничения настраиваются в личном кабинете СБИС)
  3. любой документ пользователь может посмотреть, выполнить над ним доступное действие (по умолчанию это принять / отклонить)
  4. В карточке документа на документе нажимает правую кнопку мыши и видит список вариантов загрузки.
  5. Выбирает интересующий вариант. Видит окно параметров загрузки, ввод информации отсутствующей в XML, например завод, и таблицу сопоставления кодов номенклатуры.
  6. Нажимает кнопку загрузить - видит заполненную карточку документа SAP

Варианты настройки:

  1. для каждого типа электронного документа можно настроить несколько вариантов его загрузки в SAP, например ТОРГ-12 можно загрузить как заявку и как накладную.
  2. два способа загрузки BAPI и пакетный ввод (для измененных форм)

Как это работает: При выборе способа загрузки, Сапер согласно настройкам сериализует XML в структуру SAP и заполняет окно ввода дополнительных параметров. Для каждого товара / услуги ищет по таблице соответствия кодов номенклатуры соответствующий материал SAP.

После нажатия кнопки загрузить в окне ввода дополнительных параметров загрузки, Сапер сохраняет введенные данные по соответствию кодов номенклатуры. Далее в соответствии с таблицей настроек формирует структуры для BAPI указанной в настройках и вызывает её. В случае пакетного ввода - формирует последовательность и исполняет её. По окончании открывает карточку созданного документа.

Архитектура системы

Схема логической и программной архитектуры

В настоящем разделе приведена схема взаимодействия основных компонентов. На схеме отражены ключевые программные компоненты и логические подсистемы решения.

Модуль состоит из нескольких ABAP пакетов и поставляется в виде нескольких транспортных запросов.


SBIS SAPPER

Программный компонент, предназначен для интеграции учётной системы SAP ERP с СБИС. Имеет модульную архитектуру, позволяющую легко встраиваться в имеющиеся бизнес-процессы. Поставляется в ввиде нескольких транспортных запросов. Каждый транспортный запрос содержит одноименный ABAP пакет:

Список ABAP пакетов в порядке их импорта:


Пакет /SBIS/CORE

Содержит общие объекты, используемые другими специализированными пакетами.

  1. Таблицы
    1. /SBIS/MATERIALS - таблица сопоставления номенклатуры с номенклатурой клиентов.
    2. /SBIS/SETTINGS - настройки Сапера.
    3. /SBIS/STATUS - справочник статусов документов.
    4. /SBIS/STATUS_DOC - статусы документов.
    5. /SBIS/U_SETTINGS - настройки Сапера для пользователя.
    6. /SBIS/XSLT - справочник и двоичные данные XSLT.
  2. Классы
    1. /SBIS/CL_ASYNC_PROCESSING - содержит методы для многопоточной обработки.
    2. /SBIS/CL_CORE - содержит вспомогательные служебные методы и методы-оболочки обработки данных.
    3. /SBIS/CL_CREATE_SAP_DOCUMENTS - содержит методы создания SAP-документов и сопоставления номенклатуры.
    4. /SBIS/CL_EXCHANGE_FILE - содержит методы обмена документами через каталог.
    5. /SBIS/CL_EXCHANGE_SDK - содержит методы обмена документами через СБИС SDK.
    6. /SBIS/CL_MAPPING - маппинг полей при движении документов между системами SAP и СБИС.
    7. /SBIS/CL_SAP_DATA - содержит методы получения данных из системы SAP.
    8. /SBIS/CX_CORE - класс обработки исключений.
  3. Интерфейсы
    1. /SBIS/IF_EXCHANGE - интерфейс для технической реализации обмена документами с системой СБИС.
    2. /SBIS/IF_SAP_DATA - интерфейс для получения данных из системы SAP.
  4. Программы
    1. /SBIS/MIGO_DIALOG - программа-оболочка для транзакции MIGO.
    2. /SBIS/TEST_GET_ATTACHMENT - тестовая программа получения вложения СБИС.
    3. /SBIS/TEST_GET_LIST_PACKET - тестовая программа получения списка пакетов документов СБИС.
    4. /SBIS/TEST_GET_PACKET - тестовая программа получения пакета СБИС.
    5. /SBIS/TEST_SDK - программа для тестирования работы СБИС SDK.
    6. /SBIS/TEST_SEND_PACKET - тестовая программа отправки пакета СБИС.
    7. /SBIS/UPDATE_SETTINGS - программа загрузки настроек Сапера.
    8. /SBIS/UPDATE_STATUS - программа загрузки справочника статусов документов.
    9. /SBIS/UPDATE_XSLT - программа загрузки XSLT в справочник XSLT.
  5. Группы функций
    1. /SBIS/GF_ASYNC_PROCESSING - содержит функциональные модули (ФМ) для многопоточной обработки.
    2. /SBIS/GF_AUTH - содержит ФМ и экраны для авторизации через СБИС SDK.
    3. /SBIS/GF_CREATE_SAP_DOC - содержит ФМ создания SAP-документов и сопоставления номенклатуры.
    4. /SBIS/GF_PRINT_PROG - содержит ФМ для запуска программ печати.
    5. /SBIS/GF_RFC - содержит RFC для работы через браузер. Работа с настройками Сапера и документами.
    6. /SBIS/GF_SBIS_SHLP2 - средства поиска
    7. /SBIS/TAB_STATUS - автоматически сгенерированный ФМ для ведения данных таблицы /SBIS/STATUS.
  6. Транзакции
    1. /SBIS/MIGO_DIALOG - оболочка для транзакции MIGO.
  7. XSLT преобразования
    1. /SBIS/DOC301 - преобразование документа в XML формата 3.01.
    2. /SBIS/DOC301_2 - преобразование документа в XML формата 3.01.
    3. /SBIS/DOC301_XML_TO_ABAP - получение данных из XML формата 3.01.
    4. /SBIS/KONVERT_NATIVE - получение XML пакета СБИС.

Пакет /SBIS/CORE_700

Содержит объекты, специфичные для версии базиса 7.00.

  1. Классы
    1. /SBIS/CL_SAP_DATA_700 - содержит методы получения данных из системы SAP.
    2. /SBIS/CL_SAP_DATA_700_LIKP - содержит методы получения данных из системы SAP.
    3. /SBIS/CL_SAP_DATA_700_VBRK - содержит методы получения данных из системы SAP.

Пакет /SBIS/CORE_740

Содержит объекты, специфичные для версии базиса выше 7.40 SP05 (SAPKB74005).

  1. Классы
    1. /SBIS/CL_SAP_DATA_740 - содержит методы получения данных из системы SAP.
    2. /SBIS/CL_SAP_EJOURNAL2 - содержит методы получения данных из системы SAP.

Пакет /SBIS/GUI

Набор общих экранов и функционала, предназначенных для взаимодействия с пользователем.

  1. Классы
    1. /SBIS/CL_TREE - набор методов для построения и работы со списком пакетов документов.
    2. /SBIS/CL_TREE_ACCORDION - набор методов для построения рабочего меню.
    3. /SBIS/CL_TREE_API2_PACKET - построение и работа со списком исходящих пакетов документов.
    4. /SBIS/CL_TREE_INBOX - построение и работа со списком полученных пакетов документов.
    5. /SBIS/CL_TREE_OUTBOX - построение и работа со списком отправленных пакетов документов.
    6. /SBIS/CL_TREE_RESPONSE - построение и работа со списком уведомлений.
    7. /SBIS/CL_VIEW_INBOX_PACKET - набор методов для работы с полученным пакетом документов.
    8. /SBIS/CL_VIEW_OUTBOX_PACKET - набор методов для работы с отправленным пакетом документов.
    9. /SBIS/CL_VIEW_RESPONSE_PACKET - набор методов для работы с уведомлением.
    10. /SBIS/CL_VIEW_SAP_PACKET - набор методов для работы с исходящим пакетом документов.
  2. Интерфейсы
    1. /SBIS/IF_TREE_API2_PACKET - интерфейс для работы со списком пакетов.
    2. /SBIS/IF_VIEW_PACKET - интерфейс для работы с пакетом документов
  3. Программы
    1. /SBIS/SAPPER - программа для электронного обмена документами с системой СБИС.
  4. Группы функций
    1. /SBIS/GF_FILTER - набор экранов и функций для работы фильтра по документам.
    2. /SBIS/GF_WINDOW - набор экранов и функций для вывода сообщений.
  5. Транзакции
    1. /SBIS/SAPPER - транзакция для электронного обмена документами с системой СБИС.


Пакет /SBIS/EJOURNAL

Предназначен для работы с журналами электронных документов из российского Add-On.

  1. Таблицы
    1. /SBIS/STATUS_EJ - таблица статусов документов .
  2. Классы
    1. /SBIS/CL_J3RF_DIGINV_BADI_2 - реализация BADI для ЭЖ.
    2. /SBIS/CL_J3RF_DIGINV_PROCESSOR - дополнительные методы для класса CL_J3RF_DIGINV_PROCESSOR.
  3. Программы
    1. /SBIS/FILL_ID_DEBI - Заполнение УИД клиента в настройках ЭЖ.
    2. /SBIS/FILL_ID_KRED - Заполнение УИД кредитора в настройках ЭЖ.
  4. XSLT преобразования
    1. /SBIS/J_3RF_DI_DOCTYPE_01 - получение типа документа.
    2. /SBIS/J_3RF_ROSEU_UOU - обработка уведомления об уточнении.

Пакет /SBIS/ARCHIVE_EJOURNAL

Предназначен для работы с журналами электронных документов из российского Add-On.

  1. Классы
    1. /SBIS/CL_ARCHIVE_EJOURNAL - сохранение данных в ЭЖ.

Пакет ZSBIS

Вспомогательный пакет.

  1. Транзакции
    1. ZSBIS - транзакция для быстрого доступа в СБИС Сапер.

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 СБИС, а также генерации стандартизованной электронной цифровой подписи, которая базируется на формате PKCS#7 . Объект устанавливается на рабочих местах пользователей. Интеграция с SAP системой выполнена посредством технологии OLE2. Подробнее о СБИС SDK.

SBIS Connect

Windows приложение для интеграции СБИС с информационными системами пользователей через каталог. Подробнее о СБИС Коннект