
Три столбца означают разные вещи
BIN — код места хранения, SKU — идентификатор товара, qty masterbox — число коробок. Masterbox не является ни кодом товара, ни его базовым количеством. Смешение этих понятий приводит к неверному остатку.
Условный пример: если masterbox товара SKU-001 содержит 12 штук, три masterbox дают 36 штук. У другого товара коэффициент может быть равен шести. Общий коэффициент для всех SKU применять нельзя.
Сохраняйте идентификаторы текстом
BIN и SKU в Excel хранятся как текст. Иначе у кода 00123 могут исчезнуть начальные нули, а длинный идентификатор превратится в научную запись. Отображаемое значение ячейки иногда отличается от фактического.
В шаблоне явно указываются BIN, SKU, qty masterbox. Лишние пробелы можно обработать, но нельзя произвольно менять регистр и начальные нули. Отдельно задаются десятичный разделитель и допустимость неполной коробки.
Проверяйте весь файл до записи
- Тип и размер файла, максимальное число строк, обязательные заголовки.
- Существующий SKU и BIN выбранного склада.
- Пустое, нулевое или отрицательное количество; известный коэффициент упаковки.
- Правило объединения или отклонения повторных BIN + SKU.
- Достаточный остаток конкретного товара и BIN для расхода.
- Права оператора на создание и подтверждение документа.
Предпросмотр отдельно от подтверждения
После загрузки показываются номер строки, исходные коды, найденный товар и пересчитанное базовое количество. Ошибка привязывается к конкретной строке. Молчаливый пропуск ошибочных строк создаёт ложное впечатление полного документа.
В приходе BIN означает место поступления, в расходе — место списания. Смена склада или типа документа требует повторной проверки предпросмотра. При окончательном подтверждении заново проверяются текущий остаток и разрешения.
Транзакция и повторный запрос
Заголовок документа, строки и движения остатков связаны. Если требуется целый документ, частичная запись недопустима. Подтверждение завершается короткой транзакцией с откатом при ошибке.
Двойной клик или повтор запроса после разрыва связи не должны создавать второй документ. Имя файла — ненадёжный ключ повтора: нужны контекст, содержимое и уникальный идентификатор подтверждения. Отдельно проверяется влияние отмены на остаток.
Проверка на практике
Используйте SKU с начальным нулём, один товар в двух BIN, разные коэффициенты, неизвестный BIN, недостаточный остаток и повторное подтверждение. Статья описывает проектирование импорта и не утверждает, что все перечисленные функции уже внедрены в каком-либо проекте.
Смотрите проект Anbarex и разработку складской системы. Переход со старого учёта может потребовать отдельного переноса данных.


