Организация данных и вариант обработки для организации обмена с сайтом

25.10.20

Интеграция - Сайты и интернет-магазины

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

Вводные

  • Конфигурация 1С: Управление торговлей 11
  • Сайт с возможностью обмена по API и отсутствием хранения внешних ключей, например WooCommerce (документация), PrestaShop (документация)
  • Требуется организовать
    • обмен справочниками
    •  обновление цен/остатков
    • загрузку заказов
  • Настройка обмена с сайтом вынесена в отдельный справочник

Реализация

Общее описание

Храню внешних ключи в регистре сведений. Регистрацию изменений сделал за счет регистра сведений

Перед отправкой данных проверяю есть ли ключ для объекта 

  • если есть то формирую тело запроса, проверяю на совпадение с хешем,
    • если не совпадает то использую PUT запрос 
  • если ключа нет, то использую POST запрос.

Если элемент успешно обработан, то

  • при добавлении фиксирую его ключ
  • фиксирую отправленный хэш
  • удаляю регистрацию
 
 ос_ОбработкаДанныхОбъекты.ОбработатьСостояниеОтправки()

 

Хранение внешних ключей

Использую регистр сведений "ос_ИдентификаторыОбъектов"

  • Измерения
    • НастройкаОбмена
    • ТипДанных
    • Объект
  • Ресурсы
    • Идентификатор, тип "Число", можно использовать и строку при необходимости, обычно во внешних системах ключ типа int()

 

Хранение хешей

Использую регистр сведений "ос_ОтправленныеДанные"

  • Измерения
    • НастройкаОбмена
    • Объект
  • Реквизиты
    • СтрокаДанныеХэш
    • Дата
 
 ос_ОбработкаДанныхОбъекты.ЗаписатьОтправленныеДанные()

 

Хранение изменений

Прочитав статью //infostart.ru/1c/articles/899200/ решил написать свой неблокируемый вариант. Общий подход: пишем изменения в регистр с "ТекущаяДата()", для отправки забираем изменения "ТекущаяДата() - 1", тем самым записи с которыми работам при обмене не пересекаются с записями которые формируются в ходе работы базы.

Для объектов использую регистр сведений "ос_ИсторияИзменений"

  • Измерения
    • НастройкаОбмена
    • Дата
    • Тип
    • Объект
 
 ос_ОбработкаДанныхОбъекты.ПолучитьМассивИзмененныхОбъектов()

 

Для регистров сведений формирую отдельные регистры "ос_ИсторияИзмененияОстатков" и "ос_ИсторияИзмененияЦен"

 

Выгрузка иерархии

Для выгрузки нужна была таблица групп номенклатуры отсортированная по уровням иерархии, вариант решения через транзитивное замыкание, описание в //infostart.ru/1c/articles/899200/.

 
 ПолучитьТЗГруппыНоменклатуры

 

Проект на GitHub (ссылка).

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

 

Благодарю за внимание.

См. также

Оплата покупок "Долями" в 1С:Розница 2.3 (для работы с сервисом dolyame.ru)

Сайты и интернет-магазины Платформа 1С v8.3 1С:Розница 2 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Готовое интеграционное решение для оплаты покупок Долями в 1C:Розница 2.3. Реализовано в виде расширения. Интеграция сервиса dolyame.ru для приема платежей в рассрочку.

18000 руб.

19.12.2023    1904    16    6    

11

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

Сайты и интернет-магазины WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    16079    13    18    

13

Обмен данными с сайтом. БП 3.0

Оптовая торговля Розничная торговля Сайты и интернет-магазины Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Обмен данными с сайтом на платформе 1С:Битрикс (и подобными) для 1С: Бухгалтерия предприятия 3.0.

12000 руб.

18.03.2019    31847    117    101    

66

Интеграция 1С — Битрикс24. Обмен задачами

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс24. Разработка имеет двухстороннюю синхронизацию 1С и Битрикс24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    18164    10    15    

16

Универсальный парсер интернет-магазинов

Оптовая торговля Розничная торговля Сайты и интернет-магазины Платформа 1С v8.3 Управляемые формы 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

С того времени, как я начал парсить сайты, прошло много лет. За это время я спарсил более 100 сайтов и записал эти товары в 1С. В итоге на свет появился универсальный парсер, который поможет Вам спарсить интернет-магазин и при этом не написать ни строчки кода.

9600 руб.

19.10.2018    52519    220    101    

112

SALE! 33%

«Мониторинг цен» – сервис для отслеживания цен конкурентов на ведущих маркетплейсах России

Маркетплейсы Сайты и интернет-магазины 8.3.14 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Сервис помогает отслеживать цены на ведущих маркетплейсах России только для одного региона – Москва и Московская область. Выполняйте анализ и контролируйте цены Ваших конкурентов сразу в системе 1С.

2400 1608 руб.

29.05.2023    6968    27    41    

15

Выгрузка для АВИТО

Сайты и интернет-магазины Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 Россия Платные (руб)

Выгрузка товаров услуг из 1С для сайта "Авито" раздел "Автозагрузка" выполнена в виде обработки. Обработка подходит для конфигураций УТ, УНФ и Розница. Данная обработка позволяет создавать шаблон с объявлениями для "Авито" - "Автозагрузка".

4200 руб.

07.06.2022    15881    43    56    

38
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. serg-lom89 76 22.09.20 08:54 Сейчас в теме
" Регистрацию изменений сделал за счет регистра сведений"
а чем план обмена не подходит?
2. malikov_pro 1297 22.09.20 09:16 Сейчас в теме
(1) Из статьи указанной в публикации
"Классическое решение проблемы блокировки
Какие проблемы возникают с планами обмена?

На операции ВыбратьИзменения(), в случае большого UPDATE происходят блокировки, следовательно, по этим объектам не проходят удаления и новая регистрация изменений."

Решил сделать удобный для себя инструмент, после "открыл" для себя в конструкторе запросов "Отображать таблицы изменений".
Для объектов работает, по остаткам оверхед получается. Все равно делается запись в индексированную таблицу, в моем случае записью управляю сам и могу группировать. Остатки могут меняться как на складе так и при изменении графика поставок.
3. Pixar0000 23.09.20 10:42 Сейчас в теме
название статьи "Организация данных и вариант обработки для организации обмена с сайтом"
после просмотра возникает вопрос, а что за "движок" на котором крутится сайт?
+ функция ПолучитьТЗГруппыНоменклатуры - явно чужая, если исходить из текста предыдущих
4. malikov_pro 1297 23.09.20 10:50 Сейчас в теме
(3) Писалось под REST API для битрикса https://infostart.ru/1c/articles/1185983/.
для WooCommerce и PrestaShop подойдет с их встроенным HTTP API.
"явно чужая" - она логически связана если дерево с внешними ключами выгружать.
Будет заказчик кому эта технология подойдет (объекты можно и через узел обмена прогнать), то допишу адаптеры, пока либо CML2 либо SQL через HTTP обертки.

Вариант сделать API прайса на PostgREST https://infostart.ru/1c/articles/1217831/, эта наработка пригодится.
Оставьте свое сообщение