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

В этой статье разберём 5 проверенных способов автоматической простановки артикулов — от простых настроек в интерфейсе до программных решений на встроенном языке. Особое внимание уделим правилам формирования артикулов, чтобы они соответствовали логике вашего бизнеса: будь то последовательная нумерация, комбинация префиксов с категориями или адаптация под требования маркетплейсов (Ozon, Wildberries, Яндекс Маркет).

Если вы работаете с 1С:Управление торговлей, ERP или Комплексной автоматизацией, большинство методов будут универсальными. Для 1С:Розница потребуются дополнительные настройки из-за специфики работы с штрихкодами. Все примеры кода тестировались на платформе 1С:Предприятие 8.3.20+, но при необходимости их легко адаптировать под более ранние версии.

📊 Какой тип артикулов вы используете?
Числовые (10001, 10002...)
Буквенно-цифровые (AB-1001, CAT-001)
Штрихкоды (EAN-13, Code 128)
Артикулы поставщиков
Другой вариант

1. Стандартные механизмы 1С: автонумерация и префиксы

Самый простой способ автоматизировать простановку артикулов — использовать встроенные инструменты . Они не требуют программирования и подходят для базовой нумерации. Рассмотрим два варианта:

Автонумерация назначает артикулы последовательно (например, 000001, 000002). Чтобы её включить:

  1. Откройте справочник Номенклатура (Справочники → Товары и услуги → Номенклатура).
  2. Нажмите Ещё → Настройка справочника.
  3. Перейдите на вкладку Нумерация и установите флажок Автоматическая нумерация.
  4. Задайте Префикс (например, ART-) и Длину номера (например, 6 знаков).

Этот метод подходит для внутреннего учёта, но имеет ограничения:

  • 🔢 Невозможно использовать динамические части артикула (например, категорию товара).
  • 📌 Префикс статичен — нельзя автоматически подставлять бренд или группу номенклатуры.
  • 🔄 При удалении позиции номер не освобождается (может образоваться "дыра" в нумерации).

Префиксы по группам номенклатуры позволяют добавлять к артикулу код группы. Например, для группы Одежда → Куртки артикул будет начинаться с OD-KR-001. Настройка:

  1. В справочнике Номенклатура откройте нужную группу.
  2. В поле Префикс артикула укажите уникальный код (например, OD-KR-).
  3. Включите автонумерацию для подчинённых элементов.
⚠️ Внимание: Если в группе уже есть номенклатура с ручными артикулами, автонумерация начнётся с первого свободного номера. Это может привести к дублям, если префиксы совпадают в разных группах.

2. Правила формирования артикулов: шаблоны и примеры

Чтобы артикулы несли смысловую нагрузку, их структуру стоит продумать заранее. Распространённые форматы:

Тип артикула Пример Когда использовать Плюсы Минусы
Последовательная нумерация 100001, 100002 Внутренний учёт, небольшие каталоги Простота, нет дублей Не информативен
Префикс + номер BOOK-001, TOY-100 Категоризация товаров Легко фильтровать по группам Сложно менять структуру
Бренд + категория + номер APPLE-PH-13PM-01 Мультибрендовые магазины Уникальность, информативность Длинные артикулы
Штрихкод (EAN-13) 4607001234567 Розница, работа со сканерами Совместимость с оборудованием Требует регистрации в GS1
Артикул поставщика SAM-XXL-BLUE Дропшиппинг, синхронизация с поставщиками Совпадение с документацией поставщика Риск дублей при нескольких поставщиках

Для маркетплейсов (Ozon, Wildberries) часто требуются артикулы определённого формата. Например:

  • 📦 Ozon: до 40 символов, только латиница, цифры, дефис и подчёркивание.
  • 🛒 Wildberries: до 20 символов, без пробелов и специальных знаков.
  • 🔍 Яндекс Маркет: рекомендует использовать артикулы производителя.

Критическая ошибка: если артикул в 1С не совпадает с артикулом на маркетплейсе, это приведёт к рассинхронизации остатков и заказов. Всегда сверяйте форматы перед выгрузкой!

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

Для магазина электроники с брендами Samsung, Xiaomi и Apple можно использовать шаблон:

[БРЕНД]-[КАТЕГОРИЯ]-[МОДЕЛЬ]-[ЦВЕТ]-[НОМЕР]

Примеры:

  • SAM-TV-Q70-65-BLACK-01 (телевизор Samsung QLED 65 дюймов чёрный)
  • APPLE-PH-14PRO-SILVER-02 (iPhone 14 Pro серебристый)

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

3. Автоматическая простановка через обработки

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

Обработка "Генератор артикулов" (бесплатная, доступна на Инфостарт):

  • 🔧 Генерирует артикулы по шаблонам с использованием реквизитов номенклатуры (группа, бренд, свойства).
  • 📤 Поддерживает пакетную обработку существующих позиций.
  • 🔄 Можно настроить проверку на уникальность.

Как её использовать:

  1. Скачайте обработку и откройте её в (Файл → Открыть).
  2. Укажите справочник Номенклатура и настройте шаблон (например, {Группа.Код}-{Бренд}-{Номер:0000}).
  3. Запустите генерацию. Система предложит заменить пустые артикулы или перезаписать существующие.

Обработка "Массовое заполнение реквизитов" (входит в стандартные поставки 1С:УТ и ERP):

  • 📊 Позволяет заполнить артикулы по формуле (например, объединить поля Код и Наименование).
  • 🔍 Есть фильтр по группам номенклатуры.
  • ⚡ Работает быстрее, чем ручное редактирование.
⚠️ Внимание: Перед массовой обработкой обязательно сделайте резервную копию базы! Ошибка в шаблоне может привести к потере данных в артикулах.

Создать резервную копию базы 1С|Проверить текущие артикулы на дубли|Определить правила формирования новых артикулов|Протестировать обработку на копии базы|Согласовать изменения с бухгалтерией и складом-->

4. Программное решение: код на встроенном языке 1С

Для полной автоматизации напишите процедуру на встроенном языке. Ниже приведён универсальный код, который проставляет артикулы по шаблону [Префикс группы]-[Код номенклатуры] для новых позиций:

Процедура ПриСозданииНаСервере(Объект, Отказ)

Если Объект.Артикул = "" Тогда

Префикс = Объект.Родитель.ПрефиксАртикула;

Если Префикс = "" Тогда

Префикс = "DEFAULT-";

КонецЕсли;

Объект.Артикул = Префикс + Формат(Объект.Код, "ЧГ=0; ЧН=0; ДЛ=6; ЗН=0");

КонецЕсли;

КонецПроцедуры

Чтобы этот код заработал:

  1. Откройте конфигуратор (1С:Предприятие → Конфигуратор).
  2. Найдите справочник Номенклатура и откройте модуль объекта.
  3. Вставьте процедуру ПриСозданииНаСервере.
  4. Сохраните и обновите конфигурацию базы.

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

Функция СформироватьАртикул(Элемент)

Префикс = Элемент.Родитель.ПрефиксАртикула;

Бренд = Элемент.Бренд.Наименование;

Категория = Лев(Элемент.Родитель.Наименование, 3);

Номер = Формат(Элемент.Код, "ЧГ=0; ЧН=0; ДЛ=4; ЗН=0");

Возврат СтрЗаменить(Префикс + "-" + Бренд + "-" + Категория + "-" + Номер, " ", "_");

КонецФункции

Этот код формирует артикул вида OD-SAM-CUR-0001, где:

  • OD — префикс группы (Одежда),
  • SAM — бренд (Samsung),
  • CUR — первые 3 буквы категории (Куртки),
  • 0001 — код номенклатуры.
Артикул = ШтрихКодEAN13(Элемент.Код, Истина);

Это сгенерирует валидный EAN-13 на основе кода номенклатуры.-->

5. Интеграция с внешними системами: обмен данными

Если артикулы приходят от поставщиков или формируются в другой системе (например, 1С:УНФ, MoySklad, Bitrix24), настройте автоматический обмен данными. Рассмотрим два варианта:

1. Обмен через универсальные форматы (EnterpriseData, CommerceML)

  • 📥 Подходит для синхронизации с 1С:Бухгалтерией, 1С:ERP, МойСклад.
  • 🔄 Артикулы можно передавать в обоих направлениях (импорт/экспорт).
  • 📌 Требуется настройка правил конвертации в Планах обмена.

Пример настройки для CommerceML:

  1. Откройте Администрирование → Обмен данными с сайтом.
  2. Создайте новый обмен и укажите тип CommerceML.
  3. На вкладке Правила добавьте соответствие для поля Артикул.
  4. В настройках узла обмена включите флажок Обновлять артикулы при загрузке.

2. Прямая интеграция через API (REST, SOAP)

  • 🌐 Подходит для маркетплейсов (Ozon, Wildberries) или самописных систем.
  • 🔐 Требует знания HTTP-запросов и формата JSON/XML.
  • ⚡ Можно автоматизировать через BackgroundJobs (фоновые задачи в 1С).

Пример кода для загрузки артикулов из API поставщика:

Процедура ЗагрузитьАртикулыОтПоставщика()

URL = "https://api.supplier.ru/goods";

Запрос = Новый HTTPЗапрос(URL);

Ответ = Новый HTTPСоединение().Получить(Запрос);

Данные = JSON.Прочитать(Ответ.ПолучитьТелоКакСтроку());

Для Каждого Товар Из Данные.Товары Цикл

Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(Товар.Наименование);

Если Номенклатура.Пустая() Тогда

Номенклатура = Справочники.Номенклатура.СоздатьЭлемент();

Номенклатура.Наименование = Товар.Наименование;

КонецЕсли;

Номенклатура.Артикул = Товар.АртикулПоставщика;

Номенклатура.Записать();

КонецЦикла;

КонецПроцедуры

⚠️ Внимание: При обмене данными с маркетплейсами проверяйте ограничения на длину и формат артикулов. Например, Ozon не принимает артикулы длиннее 40 символов, а Wildberries — с пробелами.

6. Автоматизация с оборудованием: сканеры и весы

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

  • 📡 Сканер штрихкодов (подключённый к 1С через COM-порт или USB).
  • 🖥️ Драйвер оборудования (обычно входит в комплект поставки).
  • 🔧 Обработка для 1С (например, "Сканер штрихкодов: загрузка номенклатуры" с Инфостарта).

Алгоритм работы:

  1. Сканируете штрихкод товара.
  2. 1С автоматически находит номенклатуру по штрихкоду или создаёт новую позицию.
  3. Артикул проставляется по правилу (например, совпадает со штрихкодом или формируется по шаблону).

Пример кода для обработки события сканирования:

Процедура ОбработатьШтрихкод(Штрихкод)

Номенклатура = Справочники.Номенклатура.НайтиПоШтрихкоду(Штрихкод);

Если Номенклатура.Пустая() Тогда

Номенклатура = Справочники.Номенклатура.СоздатьЭлемент();

Номенклатура.Артикул = Штрихкод; // или сформировать по шаблону

Номенклатура.Штрихкоды.Добавить(Штрихкод);

КонецЕсли;

Возврат Номенклатура;

КонецПроцедуры

Для весового товара (например, в супермаркетах) артикул можно формировать по маске:

  • 🍎 FRUIT-[Вес]g-[Дата] (например, FRUIT-500g-23102026).
  • 🥩 MEAT-[Тип]-[Партия] (например, MEAT-BEEF-20261023).
💡

При работе со сканерами всегда тестируйте обработку на небольшой партии товаров. Ошибки в настройках могут привести к дублированию номенклатуры или потере связей со штрихкодами.

7. Проверка и контроль уникальности артикулов

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

1. Отчёт "Проверка уникальности артикулов"

  • 📊 Показывает все дублирующиеся артикулы в базе.
  • 🔍 Можно фильтровать по группам номенклатуры.
  • 📤 Экспортируется в Excel для анализа.

Как его сформировать:

  1. Перейдите в Отчёты → Стандартные отчёты → Проверка данных.
  2. Выберите отчёт Проверка уникальности реквизитов.
  3. Укажите справочник Номенклатура и поле Артикул.
  4. Запустите формирование.

2. Регламентное задание на проверку

Настройте автоматическую проверку дублей по расписанию (например, раз в неделю):

Процедура ПроверитьДублиАртикулов()

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| Артикул,

| КОЛИЧЕСТВО(*) КАК Количество

|ИЗ

| Справочник.Номенклатура

|ГДЕ

| НЕ ПустаяСсылка(Артикул)

|СГРУППИРОВАТЬ ПО

| Артикул

|ИМЕЮЩИЕ

| КОЛИЧЕСТВО(*) > 1";

Результат = Запрос.Выполнить();

Если Результат.Количество() > 0 Тогда

ТекстСообщения = "Обнаружены дубли артикулов:" + Символы.ПС;

Пока Результат.Следующий() Цикл

ТекстСообщения = ТекстСообщения + Результат.Артикул + " (" + Результат.Количество + " шт.)" + Символы.ПС;

КонецЦикла;

ОтправитьОповещениеНаПочту("admin@company.ru", "Дубли артикулов в 1С", ТекстСообщения);

КонецЕсли;

КонецПроцедуры

3. Контроль формата артикулов

Используйте регулярные выражения, чтобы проверять соответствие артикулов заданному шаблону. Например, для формата XXX-XXXX-XX (где X — цифра или буква):

Функция ПроверитьФорматАртикула(Артикул)

Шаблон = "^[A-Z0-9]{3}-[A-Z0-9]{4}-[A-Z0-9]{2}$";

Возврат РегВыражение(Шаблон, "и").Совпадение(Артикул);

КонецФункции

⚠️ Внимание: Если в вашей базе уже есть артикулы, не соответствующие новому формату, их придётся исправлять вручную или с помощью массовой обработки. Автоматическая замена может нарушить связи в документах (заказы, остатки).

FAQ: Частые вопросы по автоматизации артикулов в 1С

Как проставить артикулы для уже существующей номенклатуры?

Используйте массовую обработку:

  1. Создайте внешнюю обработку (например, "Генератор артикулов" с Инфостарта).
  2. Настройте шаблон и запустите обработку в режиме Обновить существующие.
  3. Перед запуском сделайте резервную копию базы!

Если артикулов много (десятки тысяч), разбейте обработку на партии по 1000-2000 позиций, чтобы избежать зависания 1С.

Можно ли автоматически проставлять артикулы из Excel?

Да, для этого подойдёт загрузка из табличного документа:

  1. Подготовьте файл Excel с колонками Наименование и Артикул.
  2. В 1С используйте обработку Универсальный обмен данными в формате XML или "Загрузка из Excel" (доступна на Инфостарт).
  3. Настройте соответствие колонок полям справочника Номенклатура.

Пример кода для загрузки:

Процедура ЗагрузитьАртикулыИзExcel(ПутьКФайлу)

Таблица = Новый ТабличныйДокумент;

Таблица.Прочитать(ПутьКФайлу);

Для НомСтр = 2 По Таблица.ВысотаТаблицы() Цикл

Наименование = Таблица.ПолучитьТекст(НомСтр, 1);

Артикул = Таблица.ПолучитьТекст(НомСтр, 2);

Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(Наименование);

Если НЕ Номенклатура.Пустая() Тогда

Номенклатура.Артикул = Артикул;

Номенклатура.Записать();

КонецЕсли;

КонецЦикла;

КонецПроцедуры

Как сделать, чтобы артикулы в 1С совпадали с артикулами на Wildberries?

Настройте правило обмена с учётом требований Wildberries:

  • Артикул должен быть не длиннее 20 символов.
  • Допустимы только латиница, цифры, дефис и подчёркивание.
  • Пробелы и специальные символы (@#,.) запрещены.

Пример кода для очистки артикула перед выгрузкой:

Функция ПодготовитьАртикулДляWB(Артикул)

Артикул = СтрЗаменить(Артикул, " ", "_");

Артикул = РегВыражение("[^a-zA-Z0-9_-]").Заменить(Артикул, "");

Возврат Лев(Артикул, 20); // Обрезаем до 20 символов

КонецФункции

Используйте это правило в обработке выгрузки на Wildberries (например, в Планах обмена или Универсальном формате).

Что делать, если при автоматической простановке артикулы дублируются?

Проблема дублей возникает, если:

  • Не настроена проверка уникальности в обработке.
  • Префиксы групп пересекаются (например, OD- и ODD-).
  • Код номенклатуры сбрасывается при переносе между группами.

Решение:

  1. Запустите отчёт Проверка уникальности артикулов (см. раздел 7).
  2. Для новых позиций добавьте в код генерации проверку:
    Если НЕ ЗначениеЗаполнено(Объект.Артикул) ИЛИ ПроверитьУникальность(Объект.Артикул) Тогда
    

    Объект.Артикул = СформироватьУникальныйАртикул(Объект);

    КонецЕсли;

  3. Если дубли критичны, перенумеруйте артикулы вручную или с помощью обработки.
Как проставлять артикулы для комплектаций (наборов)?

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

  • 📦 Артикул = "SET-" + Артикул главного компонента (например, SET-MONITOR-AOC24-01).
  • 🔢 Автонумерация с префиксом (например, COMPLETE-0001).
  • 🔗 Артикул = Конкатенация артикулов компонентов (например, MON-AOC24+KEYB-LG100).

Пример кода для генерации артикула комплекта:

Функция СформироватьАртикулКомплекта(Комплект)

Префикс = "SET-";

ГлавныйКомпонент = Комплект.Комплектующие[0].Номенклатура;

Возврат Префикс + ГлавныйКомпонент.Артикул + "-C";

КонецФункции

Если комплект динамический (состав меня