ТоргівляКомплексна автоматизація e-Commerce та складського обліку для Detali IF (маркетплейси, логістика Нової Пошти та фіскалізація) Детальніше Інтеграція систем і даних
Обмін з SAP
До нас звернувся клієнт Miniso Україна з потребою по розробці та впровадженню Підсистеми обміну даними між Корпоративною Інформаційною Системою Замовника на базі програмного продукту 1С:Підприємство (надалі КІС) та програмним продуктом SAP (надалі SAP)

До нас звернувся клієнт Miniso Україна з потребою по розробці та впровадженню Підсистеми обміну даними між Корпоративною Інформаційною Системою Замовника на базі програмного продукту 1С:Підприємство (надалі КІС) та програмним продуктом SAP (надалі SAP)
В ході проекту було успішно реалізовано обмін даними між системами. Короткий опис проведених робіт наведено нижче:
Адміністрування інтеграційної платформи
В рамках підсистеми «Сервіс» для управління та налаштування інтеграційної платформи був реалізований відповідний функціонал в системі Управління торгівлі, а саме додано ролі.
Логування.
Для аналізу зміни даних та операції вивантаження даних в інтеграційну платформу додано ряд сервісних підсистем для логування.
Кожний с записів SAP (елемент відповідного довідника) має відповідний запис Log в якому фіксуються всі операції та помилки. Запис Log можна відкрити як безпосередньо с запису SAP так і через загальний інтерфейс.
Сервісні команди.
Для можливості ручного виконання дій с записами SAP розроблені сервісні команди. Перелік сервісних команд залежить від типу запису SAP – для записів Майстер дати це один перелік команд, для вхідних записів – другий перелік, для вихідних записів – третій перелік команд і так далі.
Майстер дата (Master Data)
Підсистема «Майстер дата» обробляє вхідні дані з SAP і перетворює її в нормативно-довідкову інформацію в УТ. Автоматично створюються і оновлюються тільки ті дані, які пов’язані з товарами, цінами та продуктовими категоріями. Інша нормативно-довідкова інформація така як склади, дані покупців та постачальників синхронізується з існуючими об’єктами вручну адміністратором системи.
Синхронізація номенклатури (SAP1, SAP5).
До початку роботи в SAP вся номенклатура в УТ була згрупована по основних групах номенклатури. Крім того, в додаткових реквізитах номенклатури зберігалася розгорнута класифікація та додаткові реквізити. Після запуску інтеграції УТ з SAP управління категоріями та групами номенклатури було передано в SAP. SAP вивантажує дані через довідник SAP5, після чого УТ обробляє дані і створює відповідні групи номенклатури, також створюються нові значення в додаткових реквізитах. Таким чином, значення категорій створюються автоматично.
Синхронізація роздрібних цін (SAP8).
При завантажені даних про зміни цін номенклатури у записі SAP, система вираховує за який день були внесені зміни і виконує оновлення даних в регістрі SAP8: Product price(a) за необхідний день. Після чого, змінюється статус з «Processed» на «Updated».
На основі завантажених даних в SAP8: Product price(a) виконується регламентне завдання «SAP: Обробити ціни (а)», яке обробляє усі записи SAP8, вибирає ті записи в яких оновилися дані по цінам та виконує встановлення цін номенклатури. Вся процедура встановлення і оновлення цін номенклатури виконується автоматично у відповідності з розкладом регламентного завдання «SAP: Обробити ціни (а)».
Синхронізація складів та кас ККМ (SAP7).
Після створення нового складу в УТ необхідно виконати синхронізацію. Для цього потрібно вказати (вибрати) відповідний реквізит в довіднику «Склади» з довідника SAP7.
Після того як адміністратор системи зазначить цей реквізит в довіднику «Склад», система автоматично заповнить необхідні додаткові реквізити, такі як вид номенклатури ( обладнання, товари), SAP ІD складу, тип магазину.
Синхронізація каси ККМ виконуються в ручному режимі при первинному створенні елемента довідника. Адміністратору системи необхідно вручну заповнити поле SAP id. Значення формується як SAP id магазину + латинська літера : a/b/c
Синхронізація постачальників (SAP6)
Для синхронізації постачальників необхідно в регістрі відомостей «Параметри заповнення документів постачальників» створити запис та вказати наступні дані:
– «Період» – період з якого діє запис;
– «Запис сап» – вказати посилання SAP;
– Партнера та контрагента в системі УТ;
– Договір, який буде підставлятись в документи замовлень, що будуть завантажуватися з SAP.
Синхронізація покупців (SAP27).
Для синхронізації покупців необхідно заповнити регістр «Параметри заповнення документів покупців» та вказати в ньому посилання на запис SAP27.
Синхронізаціяфранчайзі та комісіонерів.
В системі УТ операції відвантаження франчайзі та комісіонерам виглядають так само, як відвантаження стороннім покупцям, тобто необхідно вказати контрагента та договір. Але в системі SAP відсутні такі дані, які зв’язують магазин, контрагента і договір. Для опису схеми відвантаження на магазини франчайзі та комісіонерів в УТ розроблено регістр відомостей «Параметри заповнення документів Франчайзі». В залежності від типу договору ( комісіонер чи франчайзі) система буде створювати документи на реалізацію з відповідним видом операції.
Продажі(Sales Reports)
Підсистема «Продажі» виконує передачу даних про роздрібні продажі та підсумкові звіти про роздрібні продажі в SAP.
Підсистема використовує: таблиці SAP14 (інформація про чеки), SAP15 та SAP16 (підсумкові звіти за день).
Також підсистема використовує регламенті завдання та спеціалізований план обміну.
Для генерації даних про роздрібні продажі у форматі записів SAP14 використовуються чеки (а не звіти про роздрібні продажі як в УТ). Для цього розроблено спеціалізований обмін даними між Роздріб та УТ, який перевантажує чеки з Роздріб в УТ.
Повторна передача даних таблиці SAP14 в SAP недопустима і викликає дублювання даних про продажі в SAP. Повторна передача даних підсумкових звітів (SAP15, SAP16) є нормальним функціонуванням системи передачі даних.
Процедура передачі даних про роздрібні продажі в SAP відбувається в декілька етапів:
Етап1: Перенесення чеків з Роздрібу в УТ. Виконується автоматично по плану обміну з періодичністю, яка налаштована в регламентному завданні.
Етап2: Створення записів SAP14. Відбувається автоматично при завантаженні чека в УТ по плану обміну.
Етап3: Створення записів підсумкових звітів SAP15 та SAP16. Створюються (оновлюються) автоматично при запису елемента SAP14. При створенні записів SAP15 та SAP16 по відповідному бізнес дню у записів знімається прапорець «Зміна закрита».
Етап4: Автоматичне вивантаження SAP14 у відповідності до налаштування регламентного завдання.
Етап5: Автоматичне заповнення даних в таблицях SAP15 та SAP16 після завершення робочого дня та автоматичне вивантаження в SAP у відповідності до налаштування регламентного завдання.
Зарплата (HR+Salary)
Підсистема «Зарплата» виконує передачу даних про працівників та нараховану заробітну плату.
В підсистемі задіяні об’єкти конфігурацій УТ: довідники SAP28 (інформація про працівників) та SAP29 (дані про нарахування заробітної платні); план обмін УТ- Зарплата і управління персоналом (ЗУП) та відповідні регламенті завдання.
Формування даних таблиць SAP28, SAP29 виконується в базі ЗУП та переноситься в базу УТ за допомогою обміну даними, який був розроблений в рамках проекту інтеграції. Для формування таблиць SAP та перенесення їх в УТ в базі ЗУП виконана розробка необхідних об’єктів інтеграції.
Процедура передачі даних про працівників та нараховану заробітну плату в SAP відбувається в декілька етапів:
Етап1: Формування таблиць SAP28 та SAP29 в базі ЗУП. Формування виконується в автоматичному режимі у відповідності ро розкладу регламентного завдання (зараз це один раз в кінці дня). Підставою для формування даних таблиці SAP28 є зміни в регістрі відомостей «Робітники організацій». Підставою для заповнення даних таблиці SAP29 є дані проведених документів «ВІдображення зарплати в регл. обліку», «Платіжні доручення», «Нарахування резервів відпусток»
Етап2: Перенесення даних довідників SAP28 та SAP29 з ЗУП в УТ. Виконується автоматично по плану обміну з періодичністю, яка налаштована в регламентному завданні. Наразі щодня ввечері.
Етап3: Вивантаження даних таблиць SAP28 та SAP29 в систему SAP. Виконується автоматично у відповідності до розкладу регламентного завдання.
Бізнес процеси (Business Workflow)
Підсистема складається з двох основних розділів «Вхідні документи» та «Вихідні документи» та додаткового розділу «Онлайн запити».
Підсистема також використовує ряд регламентних завдань для автоматичної обробки отриманих даних з SAP та вивантаження даних в SAP.
Згідно з інтеграційним планом бізнес-процеси, що відображають рух товарів ініціюються в SAP та передаються в УТ інтерфейсами ID10 (Delivery Note), ID12(Inbound delivery note), ID18 (Reservation), ID21(Stock transfer order).
Залежно від бізнес-процесу вхідні записи SAP однозначно визначаються даними вхідного запису та конвертуються в відповідні документи УТ.
Для кожного запису, отриманого з SAP формується один документ УТ, що починає бізнес-процес. Підтверджуючі документи УТ, які свідчать про те, що операція в УТ успішно відбулась або не відбулась, для кожного виду бізнес-процесу різні та відповідають реальним процесам прийомки/відвантаження. Ці документи (в певному стані та статусі) формують вихідні записи для відправлення в SAP.
Якщо в бізнес-процесі беруть участь документи що створюються в базі Роздріб, то підтверджуючих (вихідних) документів, а відповідно і записів SAP, буде два – один з яких створено в УТ, а другий створений в Роздіб та переданий в УТ.
Треба розуміти, що документообіг SAP в значній мірі відрізняється від документообігу УТ, тому не всі документи, що створюються в УТ передаються в SAP. З описаного вище прикладу про приймання товарів на склад, документ «Поступлення товарів» не передається в SAP.
Вхідні документи (IncomingDocs)
Для отримання вхідних записів SAP в програмі УТ розроблено HTTP-cервіси (асинхронні). За допомогою яких система SAP виконує підключення для системи УТ та створює або оновлює відповідні вхідні записи. Інформація приходить в УТ в тілі http-запиту, що містить дані у вигляді тексту – назви полів та їх значень. Всі отримані вхідні дані завжди записуються в базу даних УТ незважаючи на те, чи виконана їх обробка, чи ні. Всі зміни вхідних даних реєструються в підсистемі логування.
Конвертація вхідних записів SAP в документи УТ відбувається в повністю автоматичному режимі – документи створюються, заповнюються і проводяться. Користувачі програми УТ працюють з вхідними документами без редагування переліку номенклатури, кількості, сум, складів, партнерів. Повне обмеження на редагування вхідних документів не застосовується через специфіку взаємодії УТ та SAP.
Якщо майстер-даних для конвертації вхідного запису недостатньо при обробці вхідного запису, буде зроблений запис про помилку у Лог вхідного запису і документ УТ створено не буде. Наприклад, якщо запис SAP містить артикул номенклатури, яка ще не отримана з SAP або з якихось причин не оброблена, то статус помилки такого запису є некритичним для обробки. Отже, якщо тільки номенклатура по цьому артикулу буде успішно оброблена, в наступному регламентному обході буде оброблений і запис SAP, який вона затримувала.
Загалом обробку вхідної інформація від SAP можна розділити на декілька етапів.
Етап1 Обробка http-запиту та створення запису SAP. При запису дані не аналізуються та не перевіряються, додатково формуються службові поля, виставляються статуси для позначення готовності для обробки, визначається вид бізнес-сценарія.
Етап2 Обробка записів SAP в статусах «Created» та «Updated» та створення документів УТ у відповідності з видами бізнес-сценаріїв.
Користувач УТ за посиланнями на вхідні записи SAP може переглянути та проаналізувати лог кожного запису, за потреби примусово викликати обробку запису повторно (див. Сервісні команди).
В формі запису користувач може переглянути стан обробки запису та послідовність пов’язаних записів SAP та документів УТ.
Вихідні документи (OutcomingDocs)
Сформовані документи УТ (на основі записів SAP) відображають вхідні точки бізнес-процесів руху товарів та обладнання. Підпорядковані їм документи УТ, що відображають відвантаження та прийняття на складах товару, безпосередньо впливають на значення залишків на складах УТ, і мають бути відображені в SAP, для цього розроблені механізми формування пакетів даних, що відправляються в SAP.
Вихідна таблиця формується на основі документу УТ, коли той перебуває в певному «стані», тобто відповідає сукупності умов. Наприклад, для документу «Реалізація товарів і послуг» виконуються наступні перевірки при записі:
– Дата документу більша дати початку обміну
– Відповідність статусу документу («Реалізовано»)
– Склад входить в підсистему інтеграції (має заповнений реквізит СапІд)
– Реалізація відбувається по головному складу товарів або обладнання
– Документ проведений
– Хоча б один елемент номенклатури з Товарів входить в підсистему інтеграції (має заповнений реквізит СапІд)
Якщо для документу будуть виконані всі ці перевірки, на його основі сформується вихідна таблиця SAP з статусом «Created» і буде відправлена черговим регламентним завданням.
Після відправлення в SAP документ УТ є доступним для редагування, обмежень для користувачів немає, але реєстрації запису SAP повторно не відбувається, він не оновлюється, натомість зміни вважаються помилковими і всі пов’язані записи SAP отримають статус помилки «Документ УТ змінений після відправлення». Таку ситуацію можна виправити лише відміною введених змін, тобто приведенням документу до стану в якому сформувався вихідний запис на момент першого відправлення.
Загалом відправку даних SAP можна розділити на декілька етапів.
Етап1 Створення та проведення документу системі Роздріб або УТ у відповідному кінцевому статусі. Перенесення за допомогою типового обміну документа з системи Роздріб в систему УТ.
Етап2 Генерування при запису документа запису SAP. Користувач з відповідними правами може самостійно виконати генерацію даних черес сервісні команди.
Етап3 Відправка запиту SAP в програму SAP. Відправка відбувається автоматично у відповідності до розкладу регламентного завдання.
Запити до SAP для всіх процесів є асинхронними, тобто запит з однієї сторони не очікує відповіді одразу від іншої, відправлення даних не пов’язане з отриманням. Відправлення даних з обох сторін налаштовано окремо, з власною частотою і регламентними завданнями.
Онлайн запити (OnlineRequest)
Для певного переліку операцій запит до SAP на отримання даних може бути зроблений користувачами в онлайн-режимі – відповідь приходить одразу та результат зберігається в таблицях SAP30 та SAP31:
Таблиця SAP30 зберігає результати запитів відміни таблиці SAP11 та викликається з команд списку таблиці або форми елемента SAP11. При виклику запит виконує відміну раніше відправленої таблиці Goods issue, що в УТ відповідає процесам відправки товару з головного складу.
Це може бути потрібним в двох випадках:
– Потрібно відредагувати документ відправки (відвантажили іншу кількість, ніж провели в документі); Якщо запит виконався успішно, таблиця SAP11 сформується ще раз і буде відправлена в SAP з наступним черговим відправленням даних.
– Потрібно відмінити замовлення разом з документом переміщення. В такому випадку слід послідовно виконати відміну таблиці SAP11 онлайн-запитом, та помітити на вилучення документ замовлення УТ.
Таблиця SAP31 зберігає результати онлайн-запитів до SAP, що повертають результати балансу клієнта по конкретному замовленню та дозвіл його відвантаження. Викликається з меню документу УТ, сформованого на основі запису SAP10 (Delivery Note)
Інші проєкти
ТоргівляКомплексна автоматизація e-Commerce та складського обліку для Detali IF (маркетплейси, логістика Нової Пошти та фіскалізація) Детальніше
АвтобізнесКомплексна автоматизація дилерського центру Peugeot «Модерн-Авто» (Облік, сервіс, касова дисципліна та аналітика) Детальніше
АвтобізнесІнтеграція з CRM Toyota TUA, AI-системою T.A.R.A.S. та автоматизація автосервісу для «Класик-Авто» (Тойота Центр Івано-Франківськ) Детальніше Маєте подібну задачу?
Розкажіть про ваш бізнес — допоможемо визначити оптимальний підхід до автоматизації.
Обговорити проєкт