Ручная простановка артикулов в 1С:Предприятие отнимает часы рабочего времени, особенно если номенклатура исчисляется тысячами позиций. Автоматизация этого процесса не только ускоряет работу, но и снижает риск ошибок — от дублирования до опечаток в кодах. Однако стандартные механизмы 1С не всегда покрывают все бизнес-сценаррии: где-то требуется генерация артикулов по шаблону, где-то — подтягивание из внешних систем, а в некоторых случаях нужна интеграция с оборудованием (сканеры штрихкодов, весы).
В этой статье разберём 5 проверенных способов автоматической простановки артикулов — от простых настроек в интерфейсе до программных решений на встроенном языке. Особое внимание уделим правилам формирования артикулов, чтобы они соответствовали логике вашего бизнеса: будь то последовательная нумерация, комбинация префиксов с категориями или адаптация под требования маркетплейсов (Ozon, Wildberries, Яндекс Маркет).
Если вы работаете с 1С:Управление торговлей, ERP или Комплексной автоматизацией, большинство методов будут универсальными. Для 1С:Розница потребуются дополнительные настройки из-за специфики работы с штрихкодами. Все примеры кода тестировались на платформе 1С:Предприятие 8.3.20+, но при необходимости их легко адаптировать под более ранние версии.
1. Стандартные механизмы 1С: автонумерация и префиксы
Самый простой способ автоматизировать простановку артикулов — использовать встроенные инструменты 1С. Они не требуют программирования и подходят для базовой нумерации. Рассмотрим два варианта:
Автонумерация назначает артикулы последовательно (например, 000001, 000002). Чтобы её включить:
- Откройте справочник
Номенклатура(Справочники → Товары и услуги → Номенклатура). - Нажмите
Ещё → Настройка справочника. - Перейдите на вкладку
Нумерацияи установите флажокАвтоматическая нумерация. - Задайте
Префикс(например,ART-) иДлину номера(например, 6 знаков).
Этот метод подходит для внутреннего учёта, но имеет ограничения:
- 🔢 Невозможно использовать динамические части артикула (например, категорию товара).
- 📌 Префикс статичен — нельзя автоматически подставлять бренд или группу номенклатуры.
- 🔄 При удалении позиции номер не освобождается (может образоваться "дыра" в нумерации).
Префиксы по группам номенклатуры позволяют добавлять к артикулу код группы. Например, для группы Одежда → Куртки артикул будет начинаться с OD-KR-001. Настройка:
- В справочнике
Номенклатураоткройте нужную группу. - В поле
Префикс артикулаукажите уникальный код (например,OD-KR-). - Включите автонумерацию для подчинённых элементов.
⚠️ Внимание: Если в группе уже есть номенклатура с ручными артикулами, автонумерация начнётся с первого свободного номера. Это может привести к дублям, если префиксы совпадают в разных группах.
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С (
Файл → Открыть). - Укажите справочник
Номенклатураи настройте шаблон (например,{Группа.Код}-{Бренд}-{Номер:0000}). - Запустите генерацию. Система предложит заменить пустые артикулы или перезаписать существующие.
Обработка "Массовое заполнение реквизитов" (входит в стандартные поставки 1С:УТ и ERP):
- 📊 Позволяет заполнить артикулы по формуле (например, объединить поля
КодиНаименование). - 🔍 Есть фильтр по группам номенклатуры.
- ⚡ Работает быстрее, чем ручное редактирование.
⚠️ Внимание: Перед массовой обработкой обязательно сделайте резервную копию базы! Ошибка в шаблоне может привести к потере данных в артикулах.
Создать резервную копию базы 1С|Проверить текущие артикулы на дубли|Определить правила формирования новых артикулов|Протестировать обработку на копии базы|Согласовать изменения с бухгалтерией и складом-->
4. Программное решение: код на встроенном языке 1С
Для полной автоматизации напишите процедуру на встроенном языке. Ниже приведён универсальный код, который проставляет артикулы по шаблону [Префикс группы]-[Код номенклатуры] для новых позиций:
Процедура ПриСозданииНаСервере(Объект, Отказ)
Если Объект.Артикул = "" Тогда
Префикс = Объект.Родитель.ПрефиксАртикула;
Если Префикс = "" Тогда
Префикс = "DEFAULT-";
КонецЕсли;
Объект.Артикул = Префикс + Формат(Объект.Код, "ЧГ=0; ЧН=0; ДЛ=6; ЗН=0");
КонецЕсли;
КонецПроцедуры
Чтобы этот код заработал:
- Откройте конфигуратор (
1С:Предприятие → Конфигуратор). - Найдите справочник
Номенклатураи откройте модуль объекта. - Вставьте процедуру
ПриСозданииНаСервере. - Сохраните и обновите конфигурацию базы.
Для более сложных сценариев (например, подстановка свойств номенклатуры) используйте такой код:
Функция СформироватьАртикул(Элемент)
Префикс = Элемент.Родитель.ПрефиксАртикула;
Бренд = Элемент.Бренд.Наименование;
Категория = Лев(Элемент.Родитель.Наименование, 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:
- Откройте
Администрирование → Обмен данными с сайтом. - Создайте новый обмен и укажите тип
CommerceML. - На вкладке
Правиладобавьте соответствие для поляАртикул. - В настройках узла обмена включите флажок
Обновлять артикулы при загрузке.
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С автоматически находит номенклатуру по штрихкоду или создаёт новую позицию.
- Артикул проставляется по правилу (например, совпадает со штрихкодом или формируется по шаблону).
Пример кода для обработки события сканирования:
Процедура ОбработатьШтрихкод(Штрихкод)
Номенклатура = Справочники.Номенклатура.НайтиПоШтрихкоду(Штрихкод);
Если Номенклатура.Пустая() Тогда
Номенклатура = Справочники.Номенклатура.СоздатьЭлемент();
Номенклатура.Артикул = Штрихкод; // или сформировать по шаблону
Номенклатура.Штрихкоды.Добавить(Штрихкод);
КонецЕсли;
Возврат Номенклатура;
КонецПроцедуры
Для весового товара (например, в супермаркетах) артикул можно формировать по маске:
- 🍎
FRUIT-[Вес]g-[Дата](например,FRUIT-500g-23102026). - 🥩
MEAT-[Тип]-[Партия](например,MEAT-BEEF-20261023).
При работе со сканерами всегда тестируйте обработку на небольшой партии товаров. Ошибки в настройках могут привести к дублированию номенклатуры или потере связей со штрихкодами.
7. Проверка и контроль уникальности артикулов
Даже при автоматизации возможны ошибки: дубли, опечатки или несоответствие формату. Чтобы их избежать, используйте следующие методы:
1. Отчёт "Проверка уникальности артикулов"
- 📊 Показывает все дублирующиеся артикулы в базе.
- 🔍 Можно фильтровать по группам номенклатуры.
- 📤 Экспортируется в
Excelдля анализа.
Как его сформировать:
- Перейдите в
Отчёты → Стандартные отчёты → Проверка данных. - Выберите отчёт
Проверка уникальности реквизитов. - Укажите справочник
Номенклатураи полеАртикул. - Запустите формирование.
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С
Как проставить артикулы для уже существующей номенклатуры?
Используйте массовую обработку:
- Создайте внешнюю обработку (например, "Генератор артикулов" с Инфостарта).
- Настройте шаблон и запустите обработку в режиме
Обновить существующие. - Перед запуском сделайте резервную копию базы!
Если артикулов много (десятки тысяч), разбейте обработку на партии по 1000-2000 позиций, чтобы избежать зависания 1С.
Можно ли автоматически проставлять артикулы из Excel?
Да, для этого подойдёт загрузка из табличного документа:
- Подготовьте файл
Excelс колонкамиНаименованиеиАртикул. - В 1С используйте обработку
Универсальный обмен данными в формате XMLили "Загрузка из Excel" (доступна на Инфостарт). - Настройте соответствие колонок полям справочника
Номенклатура.
Пример кода для загрузки:
Процедура ЗагрузитьАртикулыИзExcel(ПутьКФайлу)
Таблица = Новый ТабличныйДокумент;
Таблица.Прочитать(ПутьКФайлу);
Для НомСтр = 2 По Таблица.ВысотаТаблицы() Цикл
Наименование = Таблица.ПолучитьТекст(НомСтр, 1);
Артикул = Таблица.ПолучитьТекст(НомСтр, 2);
Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(Наименование);
Если НЕ Номенклатура.Пустая() Тогда
Номенклатура.Артикул = Артикул;
Номенклатура.Записать();
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Как сделать, чтобы артикулы в 1С совпадали с артикулами на Wildberries?
Настройте правило обмена с учётом требований Wildberries:
- Артикул должен быть не длиннее 20 символов.
- Допустимы только
латиница,цифры,дефисиподчёркивание. - Пробелы и специальные символы (
@#,.) запрещены.
Пример кода для очистки артикула перед выгрузкой:
Функция ПодготовитьАртикулДляWB(Артикул)
Артикул = СтрЗаменить(Артикул, " ", "_");
Артикул = РегВыражение("[^a-zA-Z0-9_-]").Заменить(Артикул, "");
Возврат Лев(Артикул, 20); // Обрезаем до 20 символов
КонецФункции
Используйте это правило в обработке выгрузки на Wildberries (например, в Планах обмена или Универсальном формате).
Что делать, если при автоматической простановке артикулы дублируются?
Проблема дублей возникает, если:
- Не настроена проверка уникальности в обработке.
- Префиксы групп пересекаются (например,
OD-иODD-). - Код номенклатуры сбрасывается при переносе между группами.
Решение:
- Запустите отчёт
Проверка уникальности артикулов(см. раздел 7). - Для новых позиций добавьте в код генерации проверку:
Если НЕ ЗначениеЗаполнено(Объект.Артикул) ИЛИ ПроверитьУникальность(Объект.Артикул) ТогдаОбъект.Артикул = СформироватьУникальныйАртикул(Объект);
КонецЕсли;
- Если дубли критичны, перенумеруйте артикулы вручную или с помощью обработки.
Как проставлять артикулы для комплектаций (наборов)?
Для комплектов номенклатуры используйте один из подходов:
- 📦 Артикул = "SET-" + Артикул главного компонента (например,
SET-MONITOR-AOC24-01). - 🔢 Автонумерация с префиксом (например,
COMPLETE-0001). - 🔗 Артикул = Конкатенация артикулов компонентов (например,
MON-AOC24+KEYB-LG100).
Пример кода для генерации артикула комплекта:
Функция СформироватьАртикулКомплекта(Комплект)
Префикс = "SET-";
ГлавныйКомпонент = Комплект.Комплектующие[0].Номенклатура;
Возврат Префикс + ГлавныйКомпонент.Артикул + "-C";
КонецФункции
Если комплект динамический (состав меня