В платформе 1С 8.3 имеется возможность использовать общие реквизиты. Это реквизит определенного типа, который может применяться в различных объектах. Причем в объекте, в котором применяется общий реквизит, этот реквизит может использоваться полноценно как реквизит этого объекта: на форме, в запросах и в любых других ситуациях.
В этой статье мы научимся создавать общие реквизиты, определять состав этих реквизитов (в каких объектах они используются, а в каких нет), и, также, посмотрим, как этот реквизит используется.
В моей учебной конфигурации имеется несколько справочников.
Реализуем, чтобы у справочников Товары, Контрагенты и Склады появился одинаковый реквизит Описание (тип строка (250)). Мы можем, добавить этот реквизит в каждый справочник отдельно, а можем, создать общий реквизит, и в его составе указать, что он применим только к этим справочникам.
Для того, чтобы добавился новый общий реквизит необходимо в конфигураторе 1С, в ветке Общие дерева метаданных конфигурации выделить ветку Общие реквизиты, вызвать правой клавишей мышки контекстное меню, в котором выполнить единственную команду «Добавить».
После этого новый реквизит будет создан, и справа откроется палитра свойств этого реквизита, где мы поменяли название, синоним, тип реквизита оставили Строка, а длину этой строки установили 250.
Общий реквизит создан, следующим шагом нам необходимо определить, в каких объектах (в нашем случае справочниках) этот реквизит будет применяться. За это отвечает свойство реквизита Состав. Если нажать на гиперссылку Открыть этого свойства, то откроется форма, в которой и осуществляется конфигурирование состава реквизита.
Обратите внимание на колонку Использование в верхнем окне формы состава общего реквизита. По умолчанию там установлено значение Автоматически. Если объекту установлено значение Автоматически, это значит, что у данного объекта общий реквизит будет использоваться так, как об этом указано в свойстве Автоиспользование данного реквизита.
У нашего реквизита в данном свойстве установлено значение Не использовать, значит у всех объектов, для которых в колонке Использование установлено значение Автоматически, данный реквизит не будет использоваться. И нам нужно вручную указать, у каких объектов этот реквизит применяется. Мы планировали это делать для трех справочников: Товары, Контрагенты и Склады.
Укажем, что у справочника Товары используется этот реквизит. Для этого выделим этот справочник в списке, и выполним команду в виде галки («Установить «Использовать»…») в верхней панели открывшейся формы.
После этих действий, нужный справочник появится в нижнем списке.
Можно на этой форме добавить объект в используемые по другому. У колонки Использование соответствующего объекта вызвать меню строки, в котором выбрать нужное значение (в нашем случае Использовать).
Включим оставшийся объект.
Замечу, что такая настройка справедлива, когда мы в свойство Автоиспользование общего реквизита установили значение Не использовать.
Рекомендую всегда устанавливать данное значение в это свойство!
Если же мы сделаем наоборот: установим значение Использовать в свойство общего реквизита, то теперь нам нужно будет указать все объекты, где не применяется этот реквизит, включая документы, журналы и т.д.
Применение общих реквизитов
Теперь посмотрим, как применяется этот общий реквизит. Например, у меня у справочника Склады нет ни какой формы, и нет ни каких реквизитов.
Но, если я сейчас открою этот справочник в пользовательском режиме, то созданный нами общий реквизит, будет отображен и на форме справочника, и на форме списка справочника.
Если же я захочу данному справочнику создать форму, то созданный ранее общий реквизит будет предложен в списке реквизитов при конструировании формы.
Если у нас уже есть основная форма объекта, как, например, со справочником Товары, то нужно общий реквизит добавить на эту управляемую форму. Откроем управляемую форму справочника Товары, и в ветке Объект найдем этот реквизит, он там отображается как обычный реквизит объекта.
Перетащим этот реквизит на форму.
И он появится на управляемой форме как обычный реквизит.
Если мы что-то хотим сделать с нашим объектом: создать, записать, то мы можем обращаться к общему реквизиту, как к обычному реквизиту объекта. Например, в коде ниже я создаю новый элемент справочника Склады.
НовыйСклад = Справочники.Склады.СоздатьЭлемент(); НовыйСклад.Наименование = "Склада № 2"; НовыйСклад.Описание = "Для хранения запчастей"; НовыйСклад.Записать();
После выполнения этого кода общий реквизит Описание будет заполнен.
Точно также, мы можем обратиться к этому реквизиту в запросе напрямую, как к простому реквизиту объекта.
Остальные статьи по теме конфигурирования:
Предопределенные элементы справочников 1С
Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»
Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника.
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму:
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Вступайте в мои группы:
Вконтакте: https://vk.com/1c_prosto
Фейсбуке: https://www.facebook.com/groups/922972144448119/
ОК: http://ok.ru/group/52970839015518
Твиттер: https://twitter.com/signum2009