Как настроить выбор групп в справочнике Номенклатура в 1С:УТ 11.4 и выше

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

В современных редакциях конфигураций на базе платформы 1С:Предприятие 8.3, таких как «Управление торговлей 11.4», «ERP 2» или «Комплексная автоматизация», пользователи и разработчики часто сталкиваются с изменением привычного поведения справочника Номенклатура. Одной из наиболее острых проблем является невозможность выбора группы (папки) номенклатуры в окне выбора, особенно при работе с внешними инструментами, такими как консоль запросов. Рассмотрим подробно, почему это происходит и как настроить систему для комфортной работы.

Анализ причины изменения интерфейса

Для начала разберем ситуацию, которая сложилась в последних обновлениях. Начиная с версий 11.4.12.х, разработчики 1С внедрили новые стандарты эргономики. В результате стандартная форма выбора, которая раньше позволяла переключаться между иерархией и списком, была заменена специализированной формой подбора. Это было сделано для оптимизации работы менеджеров по продажам: теперь в одном окне можно видеть не только список товаров, но и текущие остатки, цены, а также использовать мощные фильтры по свойствам и категориям.

Однако для технических специалистов и администраторов системы это нововведение создало определенные трудности. Когда мы пытаемся выбрать значение параметра в консоли запросов и указываем тип данных СправочникСсылка.Номенклатура, система автоматически открывает форму, назначенную в метаданных как «Основная форма выбора». В новых релизах эта форма жестко ориентирована на выбор конкретных элементов, и возможность выбора групп в ней часто заблокирована на программном уровне через свойство ВыборГруппИЭлементов.

Способ 1: Настройка навигации через стандартные средства интерфейса

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

  1. Откроем форму списка или выбора справочника Номенклатура.
  2. Обратим внимание на правый верхний угол окна, где расположена кнопка с иконкой шестеренки (Еще - Настройки).
  3. В выпадающем меню выберем пункт Навигация по иерархии.

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

Способ 2: Настройка глобальных параметров поиска и подбора

Выясним, существуют ли системные настройки, влияющие на поведение формы номенклатуры. В 1С:УТ 11 существует раздел, управляющий тем, как система взаимодействует с данными справочника. Пройдем по следующему пути:

  1. Перейдем в раздел НСИ и администрирование.
  2. Выберем пункт Номенклатура.
  3. Развернем подраздел Настройки поиска и подбора.

Здесь мы можем поэкспериментировать с отключением «Расширенного поиска» или изменением параметров полнотекстового поиска. В ряде случаев переключение этих опций заставляет систему использовать более простую («стоковую») форму списка вместо перегруженной формы подбора, что возвращает возможность выбора групп.

Способ 3: Решение проблемы в консоли запросов

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

Использование продвинутых консолей запросов. Стандартные или старые консоли часто имеют ограничения при работе с управляемыми формами. Проанализируем возможности современных консолей (например, с портала Инфостарт или входящих в состав инструментов разработчика). В таких консолях реализована возможность установки типа параметра как Список значений.

Разберем алгоритм действий в продвинутой консоли:

  1. Установим тип параметра Номенклатура как Список значений.
  2. В окне редактирования списка нажмем кнопку Добавить.
  3. Вместо выбора через стандартное окно, попробуем перетащить нужную группу номенклатуры (Drag-and-drop) из отдельно открытого окна справочника Номенклатура, где включен режим иерархии.

Способ 4: Программный обход через текст запроса

Если нам критически важно отобрать данные по иерархии, а выбрать группу никак не получается, мы можем изменить сам подход к написанию запроса. Вместо того чтобы передавать группу в параметр, мы можем временно использовать условие по коду или наименованию (хотя это и не является хорошим тоном в разработке), либо использовать оператор В ИЕРАРХИИ.

Посмотрим на пример запроса, который поможет нам, если мы не можем выбрать параметр:


ВЫБРАТЬ
    Номенклатура.Ссылка КАК Товар,
    Номенклатура.Код КАК Код
ИЗ
    Справочник.Номенклатура КАК Номенклатура
ГДЕ
    Номенклатура.Ссылка В ИЕРАРХИИ(&ГруппаНоменклатуры)

Для того чтобы заполнить параметр &ГруппаНоменклатуры, если форма выбора не работает, можно использовать механизм «Получить ссылку». В обычном списке номенклатуры найдем нужную папку, нажмем Shift+Alt+L (или кнопку «Получить ссылку» в меню «Сервис»), скопируем буквенно-цифровой код ссылки и вставим его в поле параметра консоли, если она поддерживает ввод уникальных идентификаторов (UUID).

Почему «стоковый» вид формы списка недоступен?

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

Чтобы вернуть совсем «чистый» вид списка, как это было в ранних версиях, программисту пришлось бы вносить изменения в конфигурацию, создавая свою форму и назначая ее основной, либо вызывая ее программно. Рассмотрим пример того, как это выглядит в коде при вызове формы:


ПараметрыВыбора = Новый Структура;
ПараметрыВыбора.Вставить("ВыборГруппИЭлементов", ИспользованиеГруппИЭлементов.ГруппыИЭлементы);
ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора", ПараметрыВыбора, Элемент);

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

Итоги и рекомендации

Мы подробно разобрали, почему в 1С:УТ 11.4 окно справочника номенклатуры ведет себя непривычным образом. Подведем итоги нашего исследования:

  1. Проблема в логике 1С:Эргономики. Новые формы выбора ориентированы на быстрый подбор товаров менеджерами, а не на административные задачи.
  2. Настройка шестеренкой. Включение «Навигации по иерархии» помогает визуально найти папку, но не всегда гарантирует возможность ее выбора.
  3. Инструментарий решает всё. Для разработчика важно иметь под рукой современную консоль запросов, которая умеет работать со списками значений и позволяет обходить ограничения типовых форм выбора.

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

← На главную