Как программно добавить дополнительные данные на первую вкладку карточки номенклатуры в 1С:Управление торговлей 11?

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

В конфигурации Управление торговлей 11 первая вкладка карточки номенклатуры реализована не через стандартное размещение элементов на форме, а через программный вывод табличного документа. Это архитектурное решение позволяет динамически изменять состав полей в зависимости от функциональных опций и вида номенклатуры. Если вам потребовалось добавить дополнительную область в эту карточку, давайте разберем, как устроен этот механизм и где именно нужно вносить изменения.

Понимание архитектуры вывода карточки номенклатуры

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

  1. Система анализирует настройки НастройкиВидимостиИЗаголовков.
  2. Вызывается функция, отвечающая за генерацию табличного документа, например, ТабличныйДокументКарточкиНоменклатуры.
  3. В процедуре происходит обращение к макету, содержащему именованные области.
  4. Методом ПолучитьОбласть() программа извлекает нужные блоки и последовательно выводит их в документ методом Вывести().

Где искать точку входа для модификации?

Чтобы найти место, куда «вклиниться», первым делом обратите внимание на модуль менеджера справочника Номенклатура. Именно там сосредоточена логика формирования табличного документа. Ищите функцию с названием ТабличныйДокументКарточкиНоменклатуры.

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

Поиск нужных областей в макете

Многие разработчики сталкиваются с трудностью поиска конкретной области в коде. Чтобы эффективно найти, где используется та или иная область (например, ОсновныеПараметрыУчетаЗаголовок), используйте следующие приемы:

  1. Глобальный поиск по имени области в Конфигураторе.
  2. Поиск ссылок на объект в дереве метаданных.
  3. Анализ имен областей непосредственно в макете: если вы откроете макет, вы увидите именованные диапазоны ячеек.

Пример кода, отвечающего за получение области, выглядит следующим образом:


// В коде модуля менеджера это выглядит примерно так:
ОбластьЗаголовок = Макет.ПолучитьОбласть("ОсновныеПараметрыУчетаЗаголовок");
// Далее происходит заполнение параметров области
ОбластьЗаголовок.Параметры.Заголовок = НСтр("ru = 'Дополнительная информация'");
// И вывод в результирующий табличный документ
ТабличныйДокумент.Вывести(ОбластьЗаголовок);

Как правильно внедрить свои изменения

Рассмотрим по шагам, как добавить собственную область, не нарушая типовую структуру:

Шаг 1: Создание расширения. Создайте расширение конфигурации и добавьте в него справочник Номенклатура.

Шаг 2: Дополнение макета. В расширении можно добавить свой макет или расширить существующий, добавив в него новую область с нужными вам полями.

Шаг 3: Переопределение логики. Используя расширение, вы можете применить метод После к процедуре заполнения табличного документа. Таким образом, после того как типовая логика отработает и выведет все стандартные блоки, ваш код выведет вашу дополнительную область.

Шаг 4: Работа с расшифровкой. Если ваша дополнительная информация требует интерактивности (например, при клике должно открываться другое окно), обязательно задайте для ячеек табличного документа свойство Расшифровка. Программно это делается так:


// Пример задания расшифровки для ячейки
ОбластьМояОбласть.Области.МояЯчейка.Расшифровка = НоменклатураСсылка;

Использование этого подхода гарантирует, что ваша доработка будет легко поддерживаться при обновлении конфигурации Управление торговлей. Всегда отдавайте предпочтение расширениям, так как они позволяют гибко дополнять функционал, не снимая конфигурацию с поддержки.

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

← На главную