При необходимости расширения функционала типовых конфигураций, таких как 1С:Бухгалтерия 3.0, перед разработчиком часто встает вопрос: как правильно добавить новый реквизит на форму, чтобы это было технологично, удобно в поддержке и не вызывало проблем при обновлении? Давайте разберем основные подходы к решению этой задачи.
Это самый «чистый» способ, рекомендуемый фирмой «1С» для типовых конфигураций. Механизм ДополнительныеРеквизитыИСведения позволяет добавлять новые поля к объектам без модификации конфигурации.
Формы.УправлениеСвойствами. Это обеспечит соблюдение прав доступа и корректную запись данных в регистры сведений, используемые БСП.Если вам требуется жестко закрепить реквизит в структуре объекта, используйте механизм РасширенияКонфигурации. Это позволяет добавить поле непосредственно в Документ или Справочник.
Разберем по шагам, как организовать хранение и вывод:
Булево.ПередЗаписью или ПриЗаписи в расширении модуля объекта.Пример реализации программной записи при использовании собственного регистра сведений:
// Пример записи в регистр сведений в расширении
&НаСервере
Функция ЗаписатьЗначениеПокупкиССайта(СсылкаНаОбъект, Значение)
МенеджерЗаписи = РегистрыСведений.МойРегистрСведений.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Объект = СсылкаНаОбъект;
МенеджерЗаписи.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("МойРеквизит");
МенеджерЗаписи.Значение = Значение;
МенеджерЗаписи.Записать();
КонецФункции
Проанализируем ситуацию для принятия верного решения:
ДополнительныеРеквизитыИСведения. Это позволит пользователям самостоятельно выводить его в списки без привлечения программиста для изменения формы.Объект.МойРеквизит.РегистрСведений может быть оправдано, так как это не перегружает основную таблицу документа.Важное примечание: При записи данных программно всегда проверяйте необходимость этой операции. Вместо того чтобы записывать данные при каждом нажатии кнопки Записать, проанализируйте, изменилось ли значение реквизита. Это поможет избежать блокировок таблиц базы данных и повысит производительность системы при массовой обработке документов.
Работая с РасширениеКонфигурации, помните, что визуальные изменения формы в расширении позволяют гибко управлять интерфейсом пользователя, не снимая конфигурацию с поддержки. Используйте ЭтаФорма для обращения к элементам управления, добавленным вами, что позволит сохранить чистоту кода и легкость обновления основной конфигурации.