Как добавить новые колонки в обработку подбора товара в УТ 10.3: подробное руководство

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

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

Шаг 1. Подготовка метаданных справочника и обработки

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

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

Шаг 2. Работа с многослойной формой подбора

Одной из главных трудностей для начинающего разработчика в УТ 10.3 является структура формы обработки ПодборНоменклатуры. Выясним причину: при открытии формы в Конфигураторе мы видим далеко не все элементы управления. Это связано с использованием многостраничных панелей.

Разберем по шагам, как найти нужную таблицу:

  1. Откройте форму обработки в Конфигураторе.
  2. Вызовите список элементов управления формы, нажав комбинацию клавиш Ctrl + Shift + L.
  3. Найдите в списке элемент с именем ПанельНоменклатураДляПодбора и кликните по нему дважды.
  4. В открывшемся окне свойств перейдите на закладку Использование и временно включите свойство Отображать закладки.

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

Шаг 3. Использование механизма «Размещение данных»

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

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

Шаг 4. Настройка программного вывода данных

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

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


// В тексте запроса добавляем обращение к реквизитам номенклатуры
ТекстЗапроса = "ВЫБРАТЬ
               |    Номенклатура.Ссылка КАК Номенклатура,
               |    Номенклатура.Длина КАК Длина,
               |    Номенклатура.Ширина КАК Ширина,
               |    Номенклатура.Высота КАК Высота,
               |    ... ";

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


НоваяСтрока = ТаблицаОстатков.Добавить();
НоваяСтрока.Номенклатура = Выборка.Номенклатура;
НоваяСтрока.Длина = Выборка.Длина;
НоваяСтрока.Ширина = Выборка.Ширина;
НоваяСтрока.Высота = Выборка.Высота;

Шаг 5. Сброс пользовательских настроек («Секретная» причина невидимости)

Часто разработчик выполняет все действия верно, но на рабочей базе колонки так и не появляются, хотя в «чистой» копии всё работает. Проанализируем, почему так происходит. Система 1С сохраняет индивидуальные настройки формы для каждого пользователя (ширину колонок, их порядок и видимость).

Решение проблемы:

  1. Запустите программу в режиме «Предприятие».
  2. Откройте обработку подбора.
  3. Нажмите правой кнопкой мыши в любом месте списка товаров.
  4. Выберите пункт Настройка списка.
  5. Нажмите кнопку Стандартная (или «Установить стандартные настройки»).

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

Альтернативный подход: Единицы измерения

Рассмотрим совет опытных специалистов: иногда добавление габаритов напрямую в карточку номенклатуры — не самое лучшее решение. Если один и тот же товар может продаваться в разных упаковках (штуки, коробки, паллеты), размеры логичнее хранить в справочнике ЕдиницыИзмерения, который подчинен номенклатуре. В типовой УТ 10.3 в единицах измерения уже есть поля для объема и веса. Добавление туда линейных размеров позволит системе более гибко рассчитывать логистические параметры, если это потребуется в будущем.

Резюме

Для успешного вывода колонок в подборе УТ 10.3 необходимо:

← На главную