1С общие реквизиты документов

1С общие реквизиты документов

Реквизиты – это поля объекта 1С, которые нужно заполнить, чтобы «ввести его в базу данных». Мы уже обсуждали реквизиты ранее.

Если смотреть любую типовую конфигурацию, то легко заметить, что многие поля в документах повторяются. Например, в каждом документе необходимо указать организацию, которая заключает сделку. Также обычно принято указывать ответственного – автора, кто ввел документ.

Неудобно получается. Допустим нужно изменить такой повторяющийся реквизит сразу у всех документов – представляете сколько предстоит работы?

Или если вдруг попросят добавить пару реквизитов каждому документу..

Что делать в этом случае?

Общий реквизит 1С

В конфигурации в ветке Общие/Общие реквизиты 1С можно добавить реквизиты 1С, которые принадлежат не только одному объекту (справочнику, документу, регистру) – а нескольким.

Добавим реквизит 1С НашаОрганизация. Укажем тип – справочник Организации.

Теперь нужно указать, где он будет использоваться. Для этого есть хитрый механизм.

Сначала зайдем в свойство общего реквизита 1С Состав. Здесь Вы можете указать:

  • Справочники и документы, в которых ДОЛЖЕН БЫТЬ этот общий реквизит 1С – с помощью варианта использования Использовать
  • В остальных элементах оставить Автоматически!

Другой вариант – если Вы укажете в Составе:

  • Справочники и документы, в которых НЕ должен быть этот общий реквизит 1С – с помощью варианта использования Не использовать
  • В остальных элементах оставить Автоматически!

А теперь в зависимости от выбранного Вами варианта, в свойстве общего реквизита 1С Автоиспользование – выберите Использовать или Не использовать. Это значит, что для элементов, для которых в составе Вы оставили вариант Автоматически, будет использован тот вариант, который Вы выбрали в свойстве Автоиспользование.

Кстати, как Вы понимаете – общий реквизит 1С можно использовать и для одного документа – если в составе выбрать только один документ.

Добавление общего реквизита 1С на форму

После того как Вы добавили общий реквизит 1С и указали в его свойствах Состав требуемые документы – можно начинать редактировать форму данных документов.

При редактировании как старой формы толстого клиента, так и нового тонкого клиента – общий реквизит 1С будет в списке реквизитов документа, как будто он обычный реквизит 1С.

Иногда добавлять вручную общий реквизит 1С на форму документа, в каждый документ — это не совсем удобно. Например, если у Вас типовая конфигурация – в этом случае придется внести изменения во множество документов и это может вызвать сложности при обновлении 1С по сравнению с типовым обновлением.

В этом случае можно добавить общий реквизит 1С на форму автоматически, из кода на языке 1С, в обработчике 1С события при открытии.

В конфигурациях толстого клиента это функции ПередОткрытием() и ПриОткрытии(). В конфигурации тонкого клиента это функции ПриСозданииНаСервере() и ПриОткрытии().

Правда в этом случае, Вам тоже придется вносить изменения в модуль 1С каждого документа. Пойдем дальше!

Читайте также:  Failed to enable aero wallpaper engine

В типовой конфигурации, в этих обработчиках обычно вызываются какие-нибудь универсальные функции, который инициализируют документ. Обычно такие функции вызываются в каждом типовом документе. Попробуйте посмотреть это самостоятельно.

  • Конфигурации толстого клиента — обычно вызываются следующие функции из общего модуля РаботаСДиалогами
    o УстановитьЗаголовокФормыДокумента()
    o АктивизироватьРеквизитФормы()
    o УстановитьДоступностьФормыДляРедактирования()
  • В конфигурации тонкого клиента – обычно вызываются следующие функции из общих модулей
    o ВерсионированиеОбъектов.ПриСозданииНаСервере()
    o ДополнительныеОтчетыИОбработки.ПриСозданииНаСервере().

Если вписать в одну из таких универсальных функций вызов своей функции, которая будет автоматически добавлять на форму документа общий реквизит 1С автоматически, то Вы элегантно добавите реквизит 1С сразу во все документы одним махом.

Надо заметить, что этот вариант эффективный с точки зрения затрат времени и труда, но не совсем красивый с точки зрения совести, так как перечисленные функции предназначены для типовых нужд и более правильно – пройтись по всем документам и добавить свою функцию из своего общего модуля, специально для этого добавленную.

Пример текста программы по добавлению реквизита-галочки на форму (толстая форма):

Процедура УстановитьЗаголовокФормыДокумента (ФормаДокумента) Экспорт
ЭУ = ФормаДокумента.ЭлементыФормы.Добавить(Тип(«ПолеВвода»), «ПроизвольноеИмяБезПробелов»);
ЭУ.Данные = «ИмяОбщегоРеквизита»;
ЭУ.Верх = 100;
ЭУ.Лево = 100;
ЭУ.Ширина = 200;
ЭУ.Высота = 15;
//…
КонецПроцедуры

Пример текста программы по добавлению реквизита 1С на форму (управляемая тонкая форма):

Процедура ПриСозданииНаСервере(Форма) Экспорт
ЭУ = Форма.Элементы.Добавить(«ПроизвольноеИмяБезПробелов», Тип(«ПолеФормы»));
ЭУ.Вид = ВидПоляФормы.ПолеВвода;
ЭУ.ПутьКДанным = «ИмяОбщегоРеквизита»;
ЭУ.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Лево;
//…
КонецПроцедуры

В управляемой форме Вы не указываете положение реквизита 1С Верх и Лево, вместо этого можно поместить его в одну из групп на форме. Для этого группу нужно предварительно найти вот так:
ГруппаЭлементов = Форма.Элементы.Найти(«ИмяГруппы»);
,и потом в функции Форма.Элементы.Добавить() — указать третьим параметром.

Общий реквизит в 1С 8.3 — это объект метаданных платформы, позволяющий использовать один реквизит для многих объектов конфигурации (справочников, документов, планов счетов и т.д). Объект создан в основном для облегчения труда разработчика и разделения данных.

Общие реквизиты были первоначально реализованы в версии 1С 7.7, но сразу в платформу 8 версии разработчики его не включили. Механизм общих реквизитов был введен разработчиками 1С только в релизе 8.2.14.

Общие реквизиты очень удобно добавлять, чтобы не изменять стандартные объекты в конфигурации, я часто их использую наряду с подписками на события.

После добавления общего реквизита его можно использовать и в запросах и выводить на форму объектов — внешне он ничем не отличается от обычного реквизита.

Единственное ограничение общих реквизитов — невозможность использования их в журнале документов.

Настройки и свойства общего реквизита в 1С

Рассмотрим основные настройки и свойства общих реквизитов, отличные от других объектов конфигурации:

Состав — список объектов, к которым будет использован общий реквизит, настройка напоминает настройку плана обмена.

Получите 267 видеоуроков по 1С бесплатно:

Автоиспользование — настройка определяет, будет ли использоваться общий реквизит для тех объектов, у которых в составе указан режим использования «Автоматический».

Читайте также:  Boot меню на ноутбуке samsung

Разделение данных — эту настройку рассмотрим отдельно.

Разделение данных в 1С с помощью общего реквизита

Разделение данных — механизм, аналогичный механизму ограничений прав на уровне записи (RLS). Однако производительность данного механизма более эффективна, и он настраивается проще.

Механизм позволяет настроить отображение только элементов, которые может видеть пользователь. К примеру, можно разграничить все объекты (документы, справочники и т.д.), где установлена определенная организация.

Настройка разделения данных с помощью общих реквизитов 1С

Для настройки в общем реквизите необходимо указать разделение данных — Разделять. Сразу после нажатия система предложит создать параметры учета по умолчанию:

При этом необходимо будет при старте системы указать параметры сеанса, как это сделать, с примером было описано в статье Параметры сеанса 1С.

На этом настройка окончена — пользователю будет доступна только та информация, которая указана в выбранных параметрах сеанса.

Пример использования общего реквизита

Разберем настройку общего реквизита в 1С 8.3 на примере каркасной конфигурации и реквизита Организация:

В системе имеется 3 документа, где необходимо указание реквизита Организация: это Приходная Накладная, Расходная Накладная, Начисление Зарплаты.

  1. Создаем новый Общий реквизит, указываем тип — СправочникСсылка.Организация.
  2. В составе расставляем для наших документов — Использовать.

Все, настройка окончена!

Система отображает общий реквизит «как свой»: и в запросах, и в реквизитах формы, и в других местах. Вот такое волшебство! 🙂

Не добавляется общий реквизит 1С 8.3

Вы можете столкнуться с данной проблемой — кнопка Добавить не активна:

Связано с тем, что у вас установлен не тот режим совместимости конфигурации. Для этого снимите режим совместимости «Версия 8.2.13» в палитре свойств конфигурации:

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Такое понятие, как «Реквизиты», знакомо большинству людей. Но если говорить только о работе в программах 1С, то это понятие сужается до полей объекта, которые заполняются пользователем при вводе этого объекта в базу.

Общие реквизиты документа

Для того чтобы в каждом документе не заполнять повторяющиеся поля, используется один, общий для всех объектов реквизит. Это может быть наименование организации, автор документа и т.п. Ведь было бы неудобно описывать один и тот же реквизит отдельно, для каждого объекта метаданных. Такие реквизиты сами по себе представляют собой отдельный объект метаданных платформы 1С, к которому можно обращаться при помощи встроенного языка из модуля документа. Он будет доступен при редактировании формы документа.

Читайте также:  1С тонкий клиент для андроид

Если мы зайдем в программу 1С в режиме Конфигуратор и откроем дерево метаданных, то в разделе «Общие» увидим отдельную ветвь – «Общие реквизиты».


Рассмотрим свойства этих объектов метаданных. Откроем двойным щелчком окно «Свойства».


Нажав на гиперссылку «Открыть», мы увидим список объектов, где используется, а где нет, данный общий реквизит, а также где используется «Автоматически».


Настройки в свойствах общих реквизитов:

  • «Автоиспользование» указывает на применение для тех объектов, в составе которых стоит «Автоматический».
  • Если в поле «Разделение данных» установлено «Не использовать», реквизит будет использоваться как входящий в состав нескольких объектов конфигурации. При установленном «Разделять», созданный разработчиком общий реквизит будет использоваться как разделитель данных.


Сразу после установления значения «Разделять», система создаст параметры по умолчанию.


Поясним на примере. Предположим, у нас имеется общий реквизит «Организация». То есть он будет в каждом объекте. Указанием, что он будет разделителем, в базе сформируется несколько областей, в которых будут храниться сведения в разрезе этого разделителя. В приводимом примере – в разрезе организации. Таким образом, пользователь может поучать данные не только все, но и по определенной области данных – только по своей организации.

Также в программе могут быть данные (области) доступные для всех пользователей. Например, справочник «Банки», «Валюты», «Контрагенты» и т.п. Пользователь вместе с доступом к своим данным имеет и к ним доступ, так как это неразделенные, общие для всех данные.

Создать общий реквизит

Для этого нажмем правой кнопкой мышки на общем реквизите и выберем команду «Добавить» или кнопка «Ins» на клавиатуре.


Для примера назовем его «Организация», соответственно тип укажем — СправочникСсылка.Организации.


Установим разделение данных – «Разделять».


В составе документов, где он будет стоять (к примеру, в счете на оплату покупателю), установим – «Использовать».


Открыв форму документа (дерево метаданных «Документы» — «СчетНаОплатуПокупателю», раздел «ФормаДокумента»), мы видим наше добавленное поле и среди элементов, и в списке. Также он автоматически разместился на форме документа.


Также он доступен при редактировании формы, и к нему можно обратиться из модуля документа и с легкостью добавлять в любые объекты программы 1С.

Например, указав в составе, что его необходимо вставлять в справочник «Номенклатура», приведет к его появлению в списке реквизитов указанного справочника.


Общие реквизиты ничем не отличаются от обычных, но при этом они могут быть заполнены сразу для нескольких объектов метаданных. Кроме обычного использования общих реквизитов, с их помощью реализуют разделение данных в программе и их области хранения. Но при создании общих реквизитов важно правильно оценить необходимость их введения, так как неправильное их применение может осложнить работу с программой и ее поддержку.

Ссылка на основную публикацию
Adblock detector