Процесс автоматизации загрузки прайс-листов в 1С — одна из самых частых задач, с которыми сталкиваются как пользователи, так и разработчики. Для конфигураций, работающих на обычных формах (например, «Управление торговлей 10.3»), основным инструментом является универсальная обработка ЗагрузкаДанныхИзТабличногоДокумента.epf. Однако при её использовании часто возникает критическая проблема: данные вроде бы загружаются, но сам документ «Установка цен номенклатуры» отказывается открываться, выдавая ошибку.
В этой статье мы подробно разберем, как правильно настроить загрузку, почему возникают ошибки и как реализовать импорт сразу нескольких типов цен.
Проанализируем ситуацию: обработка сообщает об успешном завершении операции, но при попытке открыть созданный документ система выдает ошибку. Это происходит из-за того, что документ УстановкаЦенНоменклатуры имеет сложную структуру. В нем есть две тесно связанные табличные части: Товары и ТипыЦен.
Когда мы используем универсальную обработку, мы чаще всего заполняем только табличную часть Товары. Если в этой таблице не заполнено поле ТипЦен или оно не совпадает с тем, что указано в шапке документа или во второй табличной части ТипыЦен, программный код формы 1С при открытии не может сопоставить данные и «падает». Выясним, как этого избежать.
Для успешного импорта данных выполним следующие шаги в настройках обработки ЗагрузкаДанныхИзТабличногоДокумента.epf:
Установка цен номенклатуры, табличная часть Товары.ТипЦен в каждой строке табличной части должно быть заполнено. Рассмотрим, как это сделать программно в настройках обработки:
Валюта обязателен. Если в Excel нет отдельной колонки с валютой, устанавливаем режим Устанавливать и выбираем «руб.» в значении по умолчанию.Часто прайс-лист содержит несколько колонок с ценами: «Закупочная», «Оптовая», «Розничная». Стандартная обработка с диска ИТС читает файл построчно и не умеет за один проход распределять разные колонки одной строки Excel в разные строки табличной части 1С. Рассмотрим варианты решения этой задачи.
Вариант 1: Трансформация данных в Excel.
Проанализируем структуру файла. Чтобы загрузить три типа цен стандартной обработкой, нам нужно привести таблицу к виду, где для одной номенклатуры создано три строки, в каждой из которых указана своя цена и свой тип цены. Это можно сделать с помощью макроса или сводных таблиц в Excel.
Вариант 2: Многократный проход.
Разберем алгоритм действий:
Посмотрим на ситуацию со стороны данных. Часто загрузка прерывается из-за невидимых дефектов в файле Excel. Разберем основные проблемы:
Артикул или Код. Если сопоставление идет по Наименованию, убедитесь, что в 1С и в Excel они совпадают до символа, включая лишние пробелы в конце строки.Если вы работаете в современных конфигурациях на платформе 8.3 с управляемыми формами, разберем более простой встроенный метод. В документе Установка цен номенклатуры предусмотрена кнопка Загрузить из внешнего файла.
Этот механизм работает гораздо эффективнее:
Таким образом, для классических систем критически важно следить за заполнением Типа цен в каждой строке и Валюты, используя режим «Устанавливать» и «Значение по умолчанию» в универсальной обработке. В современных же системах лучше использовать встроенные средства импорта, которые минимизируют риск возникновения технических ошибок в структуре документа.