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