Как найти и добавить колонку в таблицу «Расшифровка платежа» на обычной форме документа в 1С?

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

При работе со старыми конфигурациями 1С (такими как УПП 1.3, КА 1.1 или БП 2.0) программисты часто сталкиваются с ситуацией, когда на форме документа в режиме «Предприятие» таблица видна, а в конфигураторе её найти не удается. Типичный пример — таблица РасшифровкаПлатежа в документе «Платежное поручение входящее». Разберем подробно, почему это происходит и как правильно добавить новую колонку, чтобы она корректно работала и сохраняла данные.

Выясним причину: почему таблицы не видно в конфигураторе?

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

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

Шаг 1. Поиск скрытого элемента управления

Проанализируем самый быстрый и надежный способ найти любой элемент на форме, даже если он скрыт за пятью слоями панелей. Воспользуемся встроенным инструментом конфигуратора — Списком элементов управления.

  1. Откроем форму нужного документа в конфигураторе.
  2. Нажмем сочетание клавиш Ctrl + Shift + L (или перейдем в меню Форма — Список элементов управления).
  3. В открывшемся окне найдем в списке имя нужного нам объекта — РасшифровкаПлатежа.
  4. Выделим его и нажмем кнопку Свойства или просто дважды кликнем по нему.

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

Шаг 2. Создание реквизита в метаданных

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

  1. Перейдем в дерево метаданных к нашему документу.
  2. Найдем табличную часть РасшифровкаПлатежа.
  3. Добавим новый реквизит (например, ДополнительнаяИнформация) и укажем соответствующий тип данных (Строка, Число или ссылка на справочник).

Только после того, как реквизит появился в структуре документа, мы можем возвращаться к форме.

Шаг 3. Добавление и настройка колонки на форме

Теперь, когда мы нашли таблицу и подготовили данные, добавим колонку в интерфейс. Пройдем по шагам:

  1. Щелкнем правой кнопкой мыши по табличному полю РасшифровкаПлатежа на форме и выберем пункт Добавить колонку.
  2. В свойствах новой колонки найдем поле Данные (DataPath).
  3. Нажмем на кнопку выбора и выберем созданный нами реквизит из табличной части документа.
  4. Установим заголовок колонки, который будет видеть пользователь.
  5. Проверим свойство Изменяет данные — оно должно быть включено.
  6. Настроим Элемент управления для колонки (обычно это ПолеВвода).

Шаг 4. Программная поддержка новой колонки

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

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


Процедура РасшифровкаПлатежаПриИзменении(Элемент)
    СтрокаТаблицы = ЭлементыФормы.РасшифровкаПлатежа.ТекущиеДанные;
    Если СтрокаТаблицы <> Неопределено Тогда
        // Здесь можно описать логику, если данные в новой колонке
        // должны на что-то влиять, например:
        // РассчитатьСуммуСУчетомДопПараметра(СтрокаТаблицы);
    КонецЕсли;
КонецПроцедуры

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

Важные рекомендации по оформлению

При работе с обычными формами важно учитывать настройки привязок (Anchors). Если вы добавили колонку и она «наезжает» на другие элементы или таблица начинает вести себя странно при изменении размера окна, проверьте Установку привязок. Убедитесь, что новое поле ввода внутри колонки корректно растягивается вместе с формой.

Также стоит проверить свойство Только просмотр. В некоторых режимах работы документа (например, если платежка уже проведена или помечена на удаление) форма может блокировать редактирование всех колонок. Убедитесь, что ваша новая колонка подчиняется общей логике доступности формы.

Подведем итог: секрет «исчезнувших» таблиц в 1С кроется в использовании многостраничных панелей без ярлыков. Использование горячих клавиш Ctrl + Shift + L позволяет мгновенно обнаружить любой объект, а соблюдение последовательности «Реквизит ТЧ -> Колонка формы -> Программная логика» гарантирует стабильную работу вашей доработки.

← На главную