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