СБИС Сапёр - Настройка

Материал из razgovorov.ru
Перейти к: навигация, поиск

Содержание

Загрузка / обновление модуля

  • Распаковать архив с модулем на сервере разработки в DIR_TRANS (путь посмотреть можно в транзакции AL11)
  • Запустить транзакцию STMS
  • Import overview (F5)
  • Выбрать систему куда импортируем
  • Меню Extras -> Other requests -> Add
  • Выбираем запрос (имя такое же как у архива)
  • Import Request

Проверка готовности к настройке

Подготовительные действия

  • Получить в Тензоре параметры подключения к СБИС - адрес сервиса, тестовый логин и пароль
  • Авторизоваться в СБИС через браузер
  • Установить СБИС SDK

Запустить модуль

Действие: SE38 -> /sbis/sapper

Результат: Откроется окно авторизации

Проблемы:

  • Failed to create object SBIS.Docflow – Не установлен или не зарегистрирован SBIS SDK. Установите под админом SBIS SDK. После необходимо перезайти в SAP - закрыть все окна SAP Logon (включая разводящую страницу).
  • Система пытается создать инстанцию управляющего элемента – ответить "Разрешить всегда" примерно на 10 вопросов – или один раз разрешить доступ в настройках.

Авторизоваться в модуле

Действие: Запустить модуль -> В окне авторизации указать адрес сервиса, настройки прокси, логин, пароль.

Результат: Откроется главное окно SBIS SAPPER

Проблемы:

  • В окне аккордеона абракадабра – при импорте переноса возникла проблема с кодировкой (причина пока не понятна).

Необходимо вручную загрузить настройки se38 - /sbis/update_settings

Таблица настроек /SBIS/SETTINGS

Таблица /SBIS/SETTINGS содержит настройки необходимые для работы модуля.

Настройки записаны в виде иерархической структуры содержащей списки типа ключ значение.

Иерархическая структура содержит настройки:

  • Общие настройки модуля (ключ SBIS)
    • Настройки аккордеона (ключ SBIS.ACCORDION)
  • Настройки выгрузки пакета документов (ключ [Название реестра в аккордионе])
    • Запрос построения списка
    • PRINT_PRINT - параметры программы печати необходимые для вывода на печать
    • PRINT_SEND - параметры программы печати необходимые для формирования XML
    • FILE - настройки маппинга программы печати в XML
  • Настройки формирования XML файла (ключ [Код программы печати])
  • Настройки сериализации XML файла в BADI (ключ [код BAPI + тип версия XML документа])

Настройка аккордеона

  • В настройках (SBIS.ACCORDION) оставить только нужные разделы

Настройка реестра (для каждого реестра)

Настроить запрос

В результате выполнения запросов должна получиться таблица ..... Запись таблицы содержит данные основного документа и таблицу вложений - идентификатор документа + ключ таблицы настроек отвечающих за формирование XML файла. В общем виде одна запись таблицы содержит список программ печати необходимых для формирования пакета документов.

BASIS 7.00

Указать правильный класс для построения списка основного документа пакета в настройках списка документов - параметр "ПолучениеДанных_Класс". Основной документ - документ который всегда есть, от которого можно получить все документы пакета. Под документом пакета понимается документ передаваемый необходимый имеется

Варианты:

  • /SBIS/CL_SAP_DATA_700_LIKP - возвращает накладные SD
  • /SBIS/CL_SAP_DATA_700_VBRK - возвращает фактуры SD
  • /SBIS/CL_SAP_DATA_700_VBRK_USL - возвращает фактуры SD на услуги - акты выполненных работ
  • /SBIS/CL_SAP_DATA_700_LIKP_NF - возвращает неотфактурованные накладные SD (без фактур)
  • /SBIS/CL_SAP_DATA_700_ERDK - возвращает документы печати из одноименной таблицы

Указать подчиненные документы и способ их получения: Варианты:

  • GET_CHILD_VBFA_SFAKT - получить связанные с основным документом через таблицу VBFA счет-фактуры SD
  • GET_CHILD_VBFA_NAKL - получить связанные с основным документом через таблицу VBFA накладные SD

BASIS 7.40

Текст запроса содержится в параметрах:

  • ЗапросСпискаДокументов - содержит тип запроса "select_groupby" или "select_having"
  • ЗапросСпискаДокументов_select
  • ЗапросСпискаДокументов_from
  • ЗапросСпискаДокументов_groupby
  • ЗапросСпискаДокументов_having
  • ЗапросСпискаСвязанныхДокументов - подбирает связанные документы для каждого отобранного select базового документа. Доступные варианты:
    • GET_CHILD_VBFA - взять связанный через VBFA документ
    • GET_SELF - взять тот же документ, но использовать другую программу печати


Указать идентификатор настройки для работы с документом

Для каждого документа в запросе указать имя настройки для формирования XML. Параметр "ПолучениеДанныхВложения".

Настроить вызов программы печати

В настройке каждого документа, заполнить способ формирования, имя программы печати и их параметры.

  • ПолучениеДанных_Класс" - имя класса формирующего данные (/SBIS/CL_SAP_DATA)
  • ПолучениеДанных_Метод" - способ получения данных:
    • PRINT_NAST - через программу печати основанную на структуре NAST
  • ПолучениеДанных_XSLT - имя XSLT для первичной конвертации (/SBIS/DOC301)
  • ОтправительПакета_Роль - какое лицо из документ берем на пакет в качестве отправителя ("Отправитель")
  • ПолучательПакета_Роль - какое лицо из документ берем на пакет в качестве получателя ("Получатель")
  • Регламент_Название - название регламента СБИС по которому будет запущен пакет документов. Можно не указывать.
  • Реестр_СБИС - тип пакета СБИС, см.документацию по API / SDK
  • PRINT_SEND - параметры программы печати в режиме формирования XML
  • PRINT_PRINT - параметры программы печати в режиме печати

Пример параметров программы печати для PRINT_NAST

  • print_program - имя программы печати, например "ZFUJI_SBIS_J_3RV_DELIV_PDF"
  • print_form - точка входа, например "ENTRY"
  • tnapr-sform - имя формуляра, например "ZVE20_ADOBE_V_TORG_12"
  • nast-nacha - специфичный для PRINT_NAST параметр отвечающий за способ вывода, для печати = 1, для XML = 8
  • nast-* - другие специфичные параметры PRINT_NAST


Настроить маппинг(для каждой программы печати)

se80 - Пакет /sbis/core - класс /sbis/mapping - метод call_doc - ставим Внешнюю точку прерывания на первом assign

Маппинг программы печати заключается в указании имен объектов программы содержащих необходимые для XML значения.

Структура настроек:

  • шапка документа, дата номер и т.п.
    • FACE - стороны документа
    • PARAM - дополнительных параметров документа
    • LINKS - данные документов оснований - договор, заказ и т.п.
    • ITEMS - табличная часть документа
      • PARAM - дополнительные параметры строки табличной части


Утилиты

SAPPER TEST MODE

В процессе настройки удобно включить режим в котором в C:\TEMP выгружаются промежуточные XML файлы и логи SDK. Для этого в постоянные значения пользователя (Меню Система - Постоянные значения пользователя - Собственные данные - Параметры) необходимо добавить параметр /SBIS/TEST_MODE = X


Ручная загрузка настроек

После исправления JSON файла настроек его нужно сконвертировать в CSV и загрузить при помощи транзакции /sbis/update_settings. В результате загрузки вы увидите таблицу загруженных настроек.

Проблемы:

  • Если вместо кирилицы видим кракозябры, значит проблема с кодировкой файла. Пробуем менять в CSV конвертере UTF-8 <-> 1251

Правила ведения разработки на проекте

Настоящий раздел содержит общие рекомендации к ведению разработки на проектах внедрения.

Именование объектов словаря

Настоящий раздел описывает концепцию наименований объектов словаря на стороне 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 Список настроек которые надо добавить/обновить.


Доработка программы печати

Для формирование XML документа ИМ использует имеющиеся программы печати. Данная методика позволяет избежать дублирования алгоритма формирования документа.

В простейшем случае доработка сводится к добавлению к в программу печати (или её копию) вызова метода ИМ который завершает программу печати после формирования электронного документа.

Пример вызова ИМ для формирования электронного документа. Данный код необходимо добавить непосредственно перед вызовом формуляра.

**************************************************************
*                 TENSOR SBIS EDO                            *
**************************************************************
  try.
      data cx_root type ref to cx_root.
      data lv_not_print type c value ''.
      data cl_mapping type ref to /sbis/cl_mapping.
      create object cl_mapping.
      call method cl_mapping->calc_doc
        exporting
          is_nast      = nast
        importing
          ev_not_print = lv_not_print.
      if lv_not_print = 'X'.
        exit.
      endif.
    catch cx_root into cx_root.
  endtry.

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

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

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

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

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

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

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

Назначение документа

Документ представляет собой техническое описание порядка установки, настройки и расширения стандартного функционала SBIS for SAP.

Область применения документа

Настоящий документ предназначен для описания технических аспектов внедрения продукта SBIS for SAP. Документ может использоваться для постановки задач техническим специалистам по внедрению и расширению функциональности Системы.

Общее назначение системы

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

Глоссарий

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

  • Служебные документы -Файлы, предусмотренные регламентом документооборота, содержащие описание процесса отправки и получения.
  • Формализованный документ - Структурированный документ (XML-формат)
  • Неформализованный документ - Неструктурированный документ (произвольный файл, например, в формате PDF)
  • ЭДО - Электронный документооборот
  • Документ / Вложение - Документ, полученный от контрагента или направляемый ему, отражающий факты проведения финансовых операций с контрагентом, выполнения каких-либо работ или оказания услуг, поставки каких либо * ТМЦ (например, Счёт-фактура, Накладная Торг-12, Акт приёма/сдачи работ и т.п.)
  • Пакет документов - Комплект Документов, полученных от контрагента или направляемых ему, необходимых для проведения финансовой операции с контрагентом.
  • ЭП Электронная подпись - реквизит электронного документа, предназначенный для защиты данного электронного документа от подделки, полученный в результате криптографического преобразования информации с использованием закрытого ключа электронной цифровой подписи и позволяющий идентифицировать владельца сертификата ключа подписи, а также установить отсутствие искажения информации в электронном документе
  • Техническая ЭП - ЭП, которая применяется для подписания технических документов (технологических уведомлений) в процессе обмена через ОЭД.
  • ИМ, IM Интеграционный модуль (Integration Module) - компонент Системы, отвечающий за обмен сообщениями между SAP-системой Заказчика и ОЭД
  • БЕ - Код балансовой единицы в системе SAP
  • ГФ - Группа функций, объект системы SAP
  • ФМ - Функциональный модуль, объект системы SAP
  • БО - Бизнес-объект SAP
  • СЭ - Селекционный экран, экран выбора данных