Как массово загрузить штрихкоды номенклатуры из Excel в 1С:Управление торговлей 11?

Пользователь 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

Каждый начинающий пользователь или администратор системы 1С сталкивается с задачей быстрого наполнения базы данных информацией. Одной из наиболее рутинных процедур является привязка штрихкодов к существующим позициям номенклатуры. Пытаться решить эту задачу через Конфигуратор напрямую — распространенная ошибка новичков. Конфигуратор предназначен для изменения структуры базы данных (метаданных) и написания кода программных модулей, но не для прямого импорта пользовательских данных в таблицы.

Для массового добавления штрихкодов в программу 1С:Управление торговлей 11 (УТ 11) существуют гораздо более простые, быстрые и безопасные способы, не требующие программирования и прямого вмешательства в структуру базы данных — для этих целей есть обработка загрузки и обновления номенклатуры и штрихкодов из Excel в 1С:УТ. Проанализируем ситуацию и разберем по шагам три наиболее эффективных метода решения этой задачи.

Почему Конфигуратор не подходит для ручной вставки данных

В первом сообщении темы автор пытается открыть форму списка регистра сведений ШтрихкодыНоменклатуры через Конфигуратор. Однако интерфейс Конфигуратора не поддерживает массовую вставку (Ctrl+C / Ctrl+V) строк из сторонних буферов обмена напрямую в таблицы. Прямое редактирование таблиц через SQL или Конфигуратор может нарушить ссылочную целостность базы данных, так как у каждого элемента номенклатуры в системе есть уникальный внутренний идентификатор (GUID), а не просто текстовое наименование.

Чтобы штрихкоды корректно привязались к товарам, нам необходимо сопоставить текстовые данные или артикулы из прайс-листа Excel с реальными объектами базы данных 1С — также для этого подойдёт универсальный импорт товарного каталога и его параметров из Excel. Рассмотрим, как это сделать штатными средствами предприятия.

Способ 1. Использование встроенного механизма «Загрузка данных из файла»

В современных релизах конфигурации «1С:Управление торговлей 11» присутствует мощный встроенный инструмент, который позволяет загружать информацию напрямую из таблиц Excel — ускорить процесс поможет обработка автоматической загрузки штрихкодов и номенклатуры из Excel. Рассмотрим подробнее этот процесс:

  1. Перейдем в раздел НСИ и администрирование, затем найдем блок Начальное заполнение и выберем пункт Загрузка данных из файла.
  2. В открывшемся окне нам будет предложено выбрать тип данных для загрузки. Поскольку штрихкоды хранятся в подчиненном регистре, мы можем загружать их напрямую через справочник Номенклатура, выбрав его из списка.
  3. Перед нами откроется пустая таблица, имитирующая лист Excel. Мы можем скопировать колонки с артикулами (или кодами) товаров и соответствующими им штрихкодами из нашего прайс-листа и вставить их в форму с помощью стандартного сочетания клавиш Ctrl+V.
  4. Проанализируем сопоставление колонок. Программа автоматически попытается определить заголовки. Нам важно точно указать, какая колонка отвечает за идентификацию номенклатуры (рекомендуется использовать Артикул или Код, так как наименования часто содержат лишние пробелы, кавычки или опечатки) и какая колонка содержит сам Штрихкод.
  5. Нажмем кнопку Далее. Программа выполнит предварительный анализ и сопоставление данных. Если система обнаружит новые штрихкоды для найденных товаров, они будут подсвечены зеленым цветом.
  6. Нажмем кнопку Загрузить данные. Система автоматически создаст записи в регистре сведений ШтрихкодыНоменклатуры для каждой сопоставленной позиции.

Способ 2. Загрузка через универсальную обработку «Загрузка данных из табличного документа»

Этот классический инструмент от разработчиков фирмы 1С является незаменимым помощником любого администратора. Обработка позволяет загружать данные в любые справочники, документы и регистры сведений напрямую из файлов форматов .xls, .xlsx или .mxl — для этой задачи также есть универсальная загрузка любых данных в справочники и регистры 1С из Excel.

Разберем этот метод по шагам:

  1. Запустим программу 1С в режиме «1С:Предприятие». Убедимся, что у нашего пользователя установлены полные права для открытия внешних отчетов и обработок.
  2. В главном меню программы выберем пункт Файл — Открыть и укажем путь к файлу обработки ЗагрузкаДанныхИзТабличногоДокумента.epf (ее можно легально скачать с портала ИТС или найти в каталоге шаблонов установленной конфигурации).
  3. В верхней части формы обработки в поле Загрузка в выберем значение Регистр сведений.
  4. В поле Вид регистра выберем из выпадающего списка ШтрихкодыНоменклатуры.
  5. Перейдем на вкладку Настройка параметров. Здесь мы увидим список измерений и ресурсов регистра. Нам необходимо отметить галочками те поля, которые мы планируем загружать:
    • Штрихкод (это ключевое поле ресурса регистра, тип данных — Строка).
    • Номенклатура (это измерение регистра, тип данных — СправочникСсылка.Номенклатура).
    • Характеристика (если на вашем предприятии ведется учет по характеристикам: размерам, цветам и т.д. Если нет — оставляем поле пустым или неотмеченным).
    • Упаковка (заполняется в случае, если штрихкод привязан к конкретной упаковке товара, например, к коробке или паллете).
  6. Для поля Номенклатура в колонке «Режим загрузки» укажем метод поиска. Рекомендуется выбрать поиск по реквизиту Артикул или Код.
  7. Вернемся на вкладку Табличный документ. Мы можем открыть наш файл Excel непосредственно внутри обработки через кнопку открытия файла или просто скопировать и вставить нужные столбцы в сетку таблицы. Важно, чтобы номера колонок в таблице соответствовали номерам колонок, настроенным на вкладке настроек.
  8. Нажмем кнопку Контроль заполнения. Программа проверит корректность сопоставления ссылочных типов. В нижней части экрана появится отчет о проверке. Если ошибок не обнаружено, нажмем кнопку Загрузить данные.

Способ 3. Программный метод создания штрихкодов (для начинающих разработчиков)

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

Для записи данных в независимый регистр сведений используется объект типа РегистрСведенийМенеджерЗаписи. Посмотрим на пример кода, выполняющего запись штрихкода для конкретного товара:


// Создаем менеджер записи для регистра "ШтрихкодыНоменклатуры"
НоваяЗапись = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьМенеджерЗаписи();

// Заполняем измерения регистра (уникальные ключи записи)
НоваяЗапись.Штрихкод = "4601234567890"; // Строковое значение штрихкода

// Найдем товар в базе по артикулу
НайденныйТовар = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", "ART-10025");

Если НЕ НайденныйТовар.Пустая() Тогда
    НоваяЗапись.Номенклатура = НайденныйТовар;
    
    // Если характеристики не используются, записываем пустую ссылку
    НоваяЗапись.Характеристика = Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка();
    НоваяЗапись.Упаковка = Справочники.УпаковкиЕдиницыИзмерения.ПустаяСсылка();
    
    Попытка
        // Записываем данные в информационную базу с замещением старых записей
        НоваяЗапись.Записать(Истина);
        Сообщить("Штрихкод успешно привязан к товару: " + НайденныйТовар.Наименование);
    Исключение
        Сообщить("Не удалось записать штрихкод. Причина: " + ОписаниеОшибки());
    КонецПопытки;
Иначе
    Сообщить("Внимание! Товар с указанным артикулом не найден в базе данных.");
КонецЕсли;

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

Важные нюансы при загрузке штрихкодов, о которых нужно знать заранее

Чтобы избежать ошибок при массовом импорте данных, проанализируем ключевые особенности работы платформы 1С со штрихкодами:

Используя описанные выше штатные инструменты, вы сможете быстро решить задачу наполнения базы штрихкодами без привлечения дорогостоящих специалистов и риска повредить данные в информационной базе — также решить этот вопрос поможет готовое решение для загрузки номенклатуры и штрихкодов в 1С:УТ 11.

← На главную