New York - Перенос данных из Битрикса в 1С и базовая интеграция БУС+1С

Краткое описание задачи

В магазине продаются детские игрушки с 2015 года, но только сейчас решили соединить интернет-магазин с 1С. Редакция Битрикса - «Бизнес».

Техническое задание

Нужно интегрировать интернет-магазин на Битриксе с 1С.

Что дано?

Дано следующее:

  • Админский доступ в Битрикс
  • Доступ в облако, в котором есть чистая база 1С и возможность захода на рабочий стол.
  • Чистая 1С-база

Обсуждение

Исполнение

Сейчас (2018-03-08 / 01:11 Ekb time) возьму данные из Битрикса. Даже если данные на сайте поменяются, то я это замечу. Все заново делать не придеться. Нужно будет просто обновить.

Инфоблоки

В Битриксе четыре сайта. Таблица инфоблоков и количество разделов:

Таблица инфоблоков и количество разделов


Разделы

Мой инфоблок: s1, ID=2, в списке инфбоблоков: Элементы-976, Разделы-110

Список разделов выглядит так:

Список разделов

Аудит разделов:

  • Разделов всего: 110
  • Разделов активных: 109
  • Разделов неактивных: 1
  • Неуникальных наименований среди всех: 9
  • Неуникальных наименований среди активных: 0
  • Все символьные кода заполнены
  • Все символьные кода уникальны
  • Не один внешний код не заполнен

Сейчас заполню все «XML-ID» значениями «ID»

Все внешние кода заполнил. Сейчас снова сформирую json-файлик уже с внешними кодами и загружу разделы в 1С.

Разделы в 1С добавил.

Элементы

Список элементов выглядит так так:

Список элементов

Аудит элементов:

  • Элементов: 976
  • Элементов активных: 937
  • Элементов неактивных: 39
  • Неуникальных наименований среди всех: 2 (ShengShou 3x3x3, Buster CYL)
  • Неуникальных наименований среди активных: 1 (Buster CYL)
  • Неуникальных наименований среди неактивных:
    • ShengShou 3x3x3 - находится в активных и неактивных - это глюк
  • Все символьные кода заполнены
  • Все символьные кода уникальны
  • Все внешние кода заполнены
  • Все внешние кода уникальны
  • Каждый внешний код в точности повторяет идентификатор

Элементы в 1С добавил.

При загрузке элементов в 1С возник следющий нюанс. Поскольку среди активных элементов есть один неуникальный, то 1С не смогла его записать, поэтому я один из неуникальных наименований "Buster CYL" заменил на "Buster CYL+"

Элементы имеют торговые предложения в инфоблоке с ID=3.

Торговые предложения

IBLOCK ID=3

Страннно. При получении торговый предложений для некоторых торговых предложений не было найдено товара.

Вот список этих SKU-ID:

  • 333
  • 339
  • 340
  • 22206
  • 31021
  • 31022
  • 87650
  • 87651
  • 87685
  • 87686
  • 87688

Посмотрел в базе - там действительно они без товара. Потом с ними разберусь.

Список торговых предложений выглядит так так:

Список торговых предложений

Свойства товаров

IBLOCK ID=2

Свойства товаров выглядят так так:

Свойства товаров

Виды свойств товаров выглядят так:

Виды свойств товаров

Виды множественных свойств товаров выглядят так:

Виды множественных свойств товаров

Виды немножественных свойств товаров выглядят так:

Виды немножественных свойств товаров

Неуникальные имена в свойствах товаров выглядят так:

Неуникальные имена в свойствах товаров

Свойства торговых предложений

IBLOCK ID=3

Свойства торговых предложений выглядят так так:

Свойства торговых предложений

Значения свойств товаров

Значения свойств товаров выглядят так:

Значения свойств товаров

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

Значения свойств товаров

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


Числовые типы свойств товаров, значения которых являются заполненными, выглядят так:

Числовые виды свойств товаров, которые являются заполненными

Заказчик сказал, что никакие из этих свойств переносить не надо.


Строковые типы свойств товаров, значения которых являются заполненными, выглядят так:

Строковые виды свойств товаров, значения которых являются заполненными

Списочные типы свойств товаров, значения которых являются заполненными, выглядят так:

Списочные типы свойств товаров, значения которых являются заполненными

Значения свойств торговых предложений

Значения свойств торговых предложений

Свойтва, которые нужно перенести

Свойства, которые нужно переносить для товаров:

  • WCA - Список (L, L, N), ID=54, (Да, Нет)
  • Артикул - Строка (S, L, N), ID=223
  • Бренд - Справочник (S, L, N, directory), ID=5
  • Скоростной - списочный (L, L, N), ID=55, (Да, Нет)

Свойства, которые нужно переносить для характеристик:

  • Цвет - Справочник (S, L, N, directory), ID=33

Цвета берутся из HL-блока:

  • ID: 1
  • Название сущности: ColorReference
  • Название таблицы в БД: eshop_color_reference
  • Поля сущности: 8
  • Записи: 102

Вот так выглядят цвета в HL-блоке

Цвета в HL-блоке

Бренды берутся из HL-блока:

  • ID: 2
  • Название сущности: BrandReference
  • Название таблицы в БД: eshop_brand_reference
  • Поля сущности: 8
  • Записи: 94

Вот так выглядят бренды в HL-блоке

Бренды в HL-блоке

Результат

Группы товаров

Добавленные в 1С группы выглядят следующим образом:

Группы товаров в 1С


Товары

Фрагмент списка товаров с отключенной иерархией выглядит следующим образом:

Список товаров с отключенной иерархией в 1С


Характеристики товаров

Список характеристик (торговых предложений) и соответствующей номенклатуры выглядит следующим образом:

Список характеристик (торговых предложений), которые уже загружены в 1С


Вот так выглядят торговые предложения в Битриксе, которые относятся текущем товару, который показан на рисунке выше:

Список характеристик (торговых предложений), которые уже загружены в 1С

Артикулы товароов

Вот так выглядят артикулы товаров в Битриксе:

Артикулы товаров в Битриксе


Вот так выглядят артикулы товаров в 1С:

Артикулы товаров в Битриксе

Значения цветов для характеристик

Значения цветов для характеристик в Битриксе выглядят так:

Значения цветов для характеристик в Битриксе

Значения цветов для характеристик в 1С выглядят так:

Значения цветов для характеристик в 1С

Тех-задание от 14-04-2018

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

  • Новые группы товаров заводятся в Битриксе и попадают в 1С
  • Новые товары заводятся в Битриксе и попадают в 1С
  • Продажные цены заводятся в Битриксе и попадают в 1С

У меня отшлифована технология, по которой товары и прочие данные переносятся из Битрикса в 1С, но эта технология предназначеня для разового переноса данных из 1С в Битрикс и пользоваться могу ей только я. В связи с вновь открывшимимя обстоятельствами эту технологию нужно доработать до нового уровня - эту технологию нужно встроить в 1С и что бы она сама без меня работала. Пока она не работает, после добавления нового товара в 1С, Николай говорит мне "Я добавил товар", я запускаю мои обработки сам и этот товар с ценами появляется в 1С. После того как я ее доработаю, после добавления нового товара в Битрикс, Николай сам будет нажимать на кнопочку и новый товар будет появляться в 1С. То, что моя "ручная технология" уже работает делает возможным передачу заказов из Битрикса в 1С автоматом.

Бизнес-процесс в целом выглядит так. Приходят новые приходные накладные и они передаются менеджеру сайта. Менеджер сайта добавляет товар из этих накладных в Битрикс и проставляет продажные цены и начинает торговать этим товаром из интернет-магазина. Далее сейчас менеджер говорит мне "Я ввела новый товар в Битрикс", я запускаю обработки и этот товар попадает в 1С. Потом он отдает эти приходные накландные бухгалтеру. Бухгалтер вводит эти накладные в 1С. Бухгалтер новый товар не вводит в 1С, при вводе приходных накладных он просто выбирает уже существующий в 1С товар. Когда я доработаю мои скрипты, то менеджер интернет-магазина будет передавать приходные накладные бухгалтеру, бухгалтер нажмет кнопочку в 1С и новые товары из Битрикса перейдут в 1С и далее бухгалтер продолжить заводить накладные. Заказы автоматом пойдут уже сейчас (не дожидаясь доработки моих скриптов) из Битрикса в 1С.

2018-04-16 (Monday) - перенос разделов

  • Всего разделов 111 (раньше было 110), в том числе 110 активных, 1 неактивный
  • У всех разделов ID=XML_ID, за исключением одного: ID=4764 (НАБОРЫ). Я его поправлю вручную

2018-04-16 (Monday) - перенос элементов

  • Всего элементов 1'006 (раньше было 976), в том числе активных 967, неактивных 39
  • Все XML_ID заполнены
  • У всех элементов ID=XML_ID

В процессе переноса элементов выяснилось, что есть три неуникальных наименования:

  1. ShengShou 3x3x3
  2. QiYi MoFangGe 4x4x4 WuQue
  3. Buster CYL

Оказывается, что один из них уже неактивен. Поэтому временно разрешу в 1С неуникальные наименования.

2018-04-16 (Monday) - перенос торговых предложений

  • Всего элементов 711 (раньше было 659), в том числе активных 692, неактивных 19
  • Все XML_ID заполнены
  • У всех элементов ID=XML_ID

2018-04-16 (Monday) - перенос цен товаров и характеристик

  • 01:12 Сделал выгрузку цен из Битриска, проверил - она работает
  • Сейчас выгружу цены из Битрикс-Кубиков
  • Там есть товары как предложениями так и без, поэтому буду выгружать по двум блокам
  • Главное, что бы скрипт успел выгрузить, иначе придется применять долгоиграющие скрипты
  • Идентификаторы:
    • Товары - 2
    • УТП - 3
    • Тип цены: 1 (Розничная)

Цены товаров

Файл: prices--2-1.json
Продолжительность: 0.38220906257629 сек.
Дата и время: 04.14.18 23:20:52  
Значения цветов для характеристик в Битриксе

Цены торговых предложений

Файл: prices--3-1.json
Продолжительность: 0.29871606826782 сек.
Дата и время: 04.14.18 23:22:04  
Значения цветов для характеристик в Битриксе

2018-04-16 (Monday) - результат

  • Новые группы товаров, товары, характериски, цены товаров и цены характеристик перенесены из Битрикса в 1C
  • Во время переноса данных в Битриксе обнаружены несколько областей с некорректными данными. Их нужно исправлять, причем совместно с 1С.
  • Сейчас я сделаю так, что бы заказы из Битрикса попадали в 1С автоматически

Обратная связь

Инструкция Согласитесь с политикой конфиденциальности, подтвердите, что Вы не робот и нажмите кнопку «Отправить». Если Вы отправите форму на web-сервер без подтверждения «Я не робот», тогда web-сервер ничего делать не будет.