При работе с современными конфигурациями на базе 1С:Предприятие 8.3 (такими как УТ 11, ERP 2 или КА 2) пользователи и начинающие разработчики часто сталкиваются с ситуацией, когда созданные дополнительные свойства объекта не отображаются там, где их ожидают увидеть. Рассмотрим подробно, почему возникает такая путаница, разберем механизм работы дополнительных реквизитов и выясним, как правильно управлять их видимостью в документе Заказ клиента.
Прежде всего, проанализируем ситуацию, в которой оказался автор темы. В системе 1С существует два принципиально разных способа расширения состава данных объекта без изменения конфигурации. Понимание разницы между ними — ключ к решению большинства проблем с "исчезнувшими" полями.
Дополнительные реквизиты — это свойства, которые хранятся непосредственно в самом объекте. В метаданных документа (например, ЗаказКлиента) для этого предусмотрена специальная табличная часть ДополнительныеРеквизиты.
Рассмотрим их ключевые особенности:
Дополнительные сведения — это данные, которые хранятся отдельно от объекта в специальном регистре сведений ДополнительныеСведения.
Выясним их специфику:
Разберем ситуацию, когда реквизиты созданы, но на главной странице формы их нет. Как справедливо заметил автор в ходе обсуждения, в типовых конфигурациях (ERP, УТ 11) местоположение дополнительных реквизитов может варьироваться в зависимости от настроек интерфейса. Посмотрим на стандартную логику системы:
По умолчанию дополнительные реквизиты выводятся на закладке Дополнительно. Система динамически считывает данные из справочника ДополнительныеРеквизитыИСведения и отрисовывает соответствующие поля ввода в нижней части указанной вкладки. Если пользователь ищет их на основной вкладке ("Основное" или "Состав заказа"), он их не увидит, что и вызывает ложное ощущение, будто "добавить нельзя".
Если текущее расположение реквизитов неудобно, мы можем изменить его. Проанализируем возможности настройки через пользовательский интерфейс:
1. Перейдите в раздел Администрирование — Общие настройки — Дополнительные реквизиты и сведения.
2. Найдите в списке нужный набор свойств (например, "Заказ клиента").
3. В карточке конкретного дополнительного реквизита обратите внимание на поле "Группировка".
Рассмотрим подробнее: если вы создадите группы внутри набора, система позволит визуально отделить одни свойства от других. В некоторых версиях конфигураций доступна возможность указать, в какой именно группе на форме должен отображаться реквизит. Если программный код формы это поддерживает, поле может переместиться с вкладки "Дополнительно" в другое место.
Если вы уверены, что реквизиты созданы, но не видите их даже на вкладке "Дополнительно", разберем возможные причины по шагам:
НСИ и администрирование -> Настройка НСИ и разделов -> Общие настройки. Флажок "Дополнительные реквизиты и сведения" должен быть активен.Заказа клиента, а не для другого документа.Чтение дополнительных реквизитов и сведений и Изменение дополнительных реквизитов и сведений.Проанализируем программную сторону вопроса. Для обращения к этим данным в коде не рекомендуется напрямую читать табличную часть объекта ДополнительныеРеквизиты. Правильным подходом является использование функций общего модуля УправлениеСвойствами.
Например, чтобы получить значение дополнительного реквизита, рассмотрим следующий подход:
// Пример получения значения дополнительного реквизита
СвойствоСсылка = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ЦветИзделия");
ЗначениеСвойства = УправлениеСвойствами.ЗначениеСвойства(ОбъектСсылка, СвойствоСсылка);
Если же необходимо программно добавить или изменить значение, разберем алгоритм работы с табличной частью:
// Поиск строки в табличной части дополнительных реквизитов
СтрокаРеквизита = Объект.ДополнительныеРеквизиты.Найти(СвойствоСсылка, "Свойство");
Если СтрокаРеквизита = Неопределено Тогда
СтрокаРеквизита = Объект.ДополнительныеРеквизиты.Добавить();
СтрокаРеквизита.Свойство = СвойствоСсылка;
КонецЕсли;
СтрокаРеквизита.Значение = НовоеЗначение;
Важно помнить, что дополнительные реквизиты — это мощный инструмент, который позволяет сохранять типизацию данных (ссылки на справочники, числа, даты), что делает их гораздо более предпочтительными для аналитических отчетов, чем простые текстовые комментарии.
Мы выяснили, что вопрос автора темы был вызван особенностями стандартного интерфейса 1С. Дополнительные реквизиты успешно добавляются в Заказ клиента и отображаются на форме, но зачастую скрыты на неявных вкладках, таких как Дополнительно. Используя механизмы БСП (Библиотеки стандартных подсистем), можно гибко настраивать состав этих полей, их обязательность и условия появления, не прибегая к изменению кода конфигурации.