Почему не отображаются дополнительные реквизиты на форме в 1С:Комплексная автоматизация 2.4?

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

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

1. Проверка глобальной функциональной опции

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

Проанализируем путь настройки: перейдем в раздел НСИ и администрирование — Администрирование — Общие настройки. Найдем группу «Дополнительные реквизиты и сведения». Если флаг на этой опции не стоит, программные механизмы БСП (Библиотеки стандартных подсистем) не будут инициализировать соответствующие группы на формах, и раздел «Дополнительные реквизиты» не появится ни в одном объекте системы.

2. Настройка наборов дополнительных реквизитов

В конфигурации «Комплексная автоматизация 2.4» используется гибкая система привязки реквизитов. Реквизит привязывается не просто к метаданным справочника, а к конкретному Набору. Выясним, правильно ли выполнена эта привязка.

Рассмотрим ситуацию на примере справочника «Контрагенты». Для него может существовать несколько наборов (например, общие реквизиты для всех контрагентов или раздельные для юридических и физических лиц). Проверим следующее:

3. Проверка пользовательской видимости реквизита

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

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

4. Механизм программного вывода на управляемую форму

Важно понимать, что в 1С:КА 2.4 дополнительные реквизиты не рисуются в конфигураторе «руками» на форме. Они хранятся в табличной части ДополнительныеРеквизиты объекта и выводятся на форму динамически при её создании. За это отвечают процедуры БСП.

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


// Пример стандартного вызова БСП для инициализации доп. реквизитов
УправлениеКонтактнойИнформацией.ПриСозданииНаСервере(ЭтаФорма, Объект, "ГруппаКонтактнаяИнформация");
ДополнительныеОтчетыИОбработки.ПриСозданииНаСервере(ЭтаФорма);
// Ключевой вызов для дополнительных реквизитов:
УправлениеСвойствами.ПриСозданииНаСервере(ЭтаФорма, Объект, "ГруппаДополнительныеРеквизиты");

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

5. Использование функции «Изменить форму»

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

В карточке контрагента нажмем кнопку Еще — Изменить форму. В дереве элементов формы найдем группу «Дополнительные реквизиты». Если она присутствует в списке, но флажок рядом с ней снят — просто установим его. Если же группы нет в списке доступных элементов окна «Изменить форму», это подтверждает теорию о том, что программный код БСП не смог создать элементы при инициализации формы (см. пункт 4).

6. Очистка кэша и сброс настроек

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

  1. Попробуйте выполнить команду «Установить стандартные настройки» в окне «Изменить форму». Это сбросит персональные настройки пользователя и может вернуть скрытую группу.
  2. Запустите тонкий клиент с параметром /ClearCache или очистите папку кэша пользователя вручную.
  3. Убедитесь, что конфигурация базы данных полностью обновлена и не находится в состоянии динамического обновления (иногда это мешает корректной работе фоновых механизмов БСП).

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

← На главную