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