В современных реалиях автоматизации торговых процессов использование облачных каталогов становится стандартом. Сервис 1С:Номенклатура предоставляет доступ к миллионам карточек товаров с уже заполненными описаниями, характеристиками и штрихкодами. Однако при работе в конфигурации 1С:Управление торговлей, редакция 11 (УТ 11) пользователи часто сталкиваются с проблемой: поштучная загрузка работает исправно, но механизм массового (пакетного) создания карточек неочевиден или кажется заблокированным.
В рамках данной статьи мы подробно разберем, как устроена логика загрузки данных, почему стандартный интерфейс может ограничивать групповые операции и как технически включить возможность пакетного создания номенклатуры.
Прежде чем переходить к программным изменениям, рассмотрим, как разработчики фирмы 1С предполагали использование массовой загрузки в типовых решениях. В Управление торговлей 11 механизмы 1С:Номенклатуры тесно интегрированы с другими подсистемами. Проанализируем основные сценарии:
Вид номенклатуры и какая Группа доступа соответствуют категории в облачном сервисе. Для этого в настройках сервиса необходимо заполнить таблицу Сопоставление видов номенклатуры. Без этого шага любая попытка группового создания будет приводить к ошибкам или требовать ручного уточнения для каждой позиции.Многие технические специалисты замечают, что в интерфейсе списка номенклатуры или в специализированных формах поиска кнопка групповой загрузки может отсутствовать или быть неактивной. Выясним причину этого поведения, заглянув в программный код конфигурации.
Разработчики типового решения намеренно ограничивают массовое создание из соображений «гигиены» справочника. Бесконтрольная загрузка тысяч позиций может привести к замусориванию базы дублями, если штрихкоды не уникальны или если пользователи ошибаются в выборе категорий. За управление этой доступностью отвечает специальный флаг в программном коде.
Проанализируем ситуацию: в общем модуле РаботаСНоменклатуройУТ (или аналогичных модулях Библиотеки Номенклатуры, адаптированных под УТ) присутствует инициализация параметров работы сервиса. Рассмотрим пример программной установки этого ограничения:
// В процедуре инициализации настроек сервиса
ПараметрыРаботы = Новый Структура;
ПараметрыРаботы.Вставить("ИспользоватьПакетноеСозданиеНоменклатуры", Ложь);
Именно значение Ложь блокирует появление команд массовой обработки в пользовательском интерфейсе. Это ограничение часто «зашито» жестко и не вынесено в пользовательские настройки (функциональные опции) в интерфейсе Администрирование.
Если специфика вашего бизнеса требует регулярной массовой загрузки (например, при запуске нового направления или открытии нового магазина с широким ассортиментом), вы можете изменить это поведение. Рассмотрим два способа реализации.
Вы можете написать внешнюю обработку, которая будет использовать программный интерфейс (API) Библиотеки Номенклатуры. Для этого при вызове методов создания необходимо принудительно устанавливать параметр пакетного режима. Посмотрим на логику, которую применил автор обсуждения на форуме:
// Пример логики в пользовательской обработке
НастройкиСервиса = РаботаСНоменклатурой.ПолучитьНастройкиСервиса();
// Изменяем параметр только на время работы нашей обработки
НастройкиСервиса.ИспользоватьПакетноеСозданиеНоменклатуры = Истина;
// Далее вызываем штатные методы пакетного создания из Библиотеки Номенклатуры
РаботаСНоменклатуройКлиент.СоздатьНоменклатуруПакетно(МассивОбъектовСервиса, НастройкиСервиса);
Чтобы пакетная загрузка стала доступна в стандартных формах поиска 1С:Номенклатуры, наиболее правильным методом будет использование механизма Расширений. Это позволит не снимать основную конфигурацию с поддержки и сохранить возможность обновления.
Рассмотрим по шагам, что нужно сделать в расширении:
РаботаСНоменклатуройУТ (название может незначительно отличаться в зависимости от версии БН).ПриОпределенииНастроек или аналогичный.&После или &Вместо, чтобы переопределить значение флага.Пример кода в расширении:
&После("ПриОпределенииНастроек")
Процедура Расш1_ПриОпределенииНастроек(Настройки)
// Устанавливаем флаг в Истина для включения интерфейсных возможностей
Настройки.ИспользоватьПакетноеСозданиеНоменклатуры = Истина;
КонецПроцедуры
После того как вы активируете возможность пакетной загрузки, помните о следующих важных моментах, которые помогут избежать ошибок в учете:
Ставка НДС или специфические дополнительные реквизиты). Проанализируем настройки сопоставления: убедитесь, что для каждого Вида номенклатуры в 1С заданы значения по умолчанию для таких полей.Подводя итог, можно сказать, что групповая загрузка в УТ 11 — это мощный инструмент, который по умолчанию скрыт от пользователя для обеспечения безопасности данных. Однако, используя штатные механизмы ЭДО или применив небольшое программное вмешательство через расширение, вы сможете существенно ускорить процесс наполнения справочника товарами.