Концептуальная иллюстрация импорта таблицы поставщика и обновления остатков по трём складам

Импорт остатков поставщика по нескольким складам

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

1С-БитриксИмпорт каталогаОстатки по складамАвтоматизация

От проблемы к результату

Как мы решали конкретную задачу клиента и что получилось.

Проблема

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

Клиент хотел упростить подготовку данных и обновление наличия. Для этого требовалось связать строки поставщика с каталогом сайта и учитывать остатки по каждому складу.

Решение

Создали страницу в административной части сайта с формой загрузки документа и разработали скрипт импорта. Добавили интерфейс и функционал загрузки сопоставлений между данными поставщика и каталогом.

В ходе доработки перевели сопоставление с уровня товаров на торговые предложения и изменили хранение связей в Highload-блоке. Доработали обновление цен и наличия по складам, устранили ошибки обработки файлов на PHP 8.1, провели тестирование и подготовили инструкцию.

Результат

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

Подготовлена инструкция по работе с инструментом. Проверены добавление и обновление данных, оптимизирован скрипт и доработана логика сопоставления.

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

Этапы реализации

Аналитика

Разбор файла и процесса обновления

Изучили исходную таблицу, текущую подготовку файлов по складам и требования к импорту. Спроектировали и описали решение.

1
Загрузка

Форма в административной части

Создали страницу с формой загрузки документа. Подключили библиотеку для чтения таблиц и написали скрипт импорта.

2
Сопоставление

Связь с торговыми предложениями

Доработали интерфейс и загрузку сопоставлений. Перевели привязку на торговые предложения и изменили логику записи связей в Highload-блок.

3
Обновление

Цены и наличие по складам

Доработали обработку артикулов, обновление цен и наличия с учётом отдельных складов поставщика.

4
Проверка

Тестирование и инструкция

Проверили добавление и обновление данных, оптимизировали скрипт, исправили ошибки совместимости с PHP 8.1 и подготовили инструкцию.

5
КАК УСТРОЕНО РЕШЕНИЕ

От таблицы поставщика к остаткам на сайте

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

Ниже показана схема процесса. Она объясняет логику решения и не является снимком административного интерфейса.

Вертикальная схема: файл поставщика, форма загрузки, сопоставление с торговыми предложениями, импорт и остатки по складам
ЧТО ИЗМЕНИЛОСЬ

До и после

Подготовка файлов по каждому складу

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

Инструмент импорта в административной части

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

ТЕХНИЧЕСКАЯ ДЕТАЛЬ

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

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

Это потребовало доработать интерфейс сопоставления и хранение связей в Highload-блоке, перейдя к идентификаторам. Отдельно скорректировали обновление цен и наличия по складам.

Что реализовали

01

Загрузка файла в административной части

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

02

Связь строк с каталогом

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

03

Обновление цен и наличия

Доработанная обработка данных по складам, тестирование добавления и обновления, инструкция для работы с инструментом.

НА ЧЁМ ПОСТРОЕНО РЕШЕНИЕ

Технологии и инструменты

Логотип 1С-Битрикс

1С-Битрикс

Административная страница, торговые предложения, складские данные и Highload-блок для сопоставлений.

Логотип PHP

PHP

Скрипт и класс импорта, обработка данных. В ходе работ исправлены ошибки совместимости с PHP 8.1.

Условное обозначение табличного файла

Табличные файлы

Чтение документа поставщика и подготовка его данных для обновления каталога.