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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Настройка проста:

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

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

Смотрим результат:

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

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

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


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

Примеры хозяйственных операций: поступление товаров на склад, списание товаров со склада, прием денежных средств в кассу, прием сотрудника на работу и т. д.

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

Итак у нас есть документ бумажный и документ электронный. Между ними необходимо произвести аналогию. При оформлении бумажного документа обязательным условием является наличие в нем номера и даты. Аналогично и электронный документ должен содержать номер и дату. По этим полям мы может найти нужный нам документ. Поэтому номер и дата являются ключевыми свойствами.

Рассмотрим ключевое свойство "Дата" . В версии 7.7 оно называлось "ДатаДок" , в версии же 8 оно стало называться просто "Дата" . Это очень важное свойство документа. Почему это так? Рассмотрим ситуацию с торговой организацией, в которой осуществляется регистрация факта поступления товара и его продажи. Так вот продать товар, дата поступления которого больше даты продажи, не представляется возможным, потому как нельзя продать товар который еще не поступил.

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

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

Очень часто такой идентификации документа на временной оси оказывается недостаточно.

Представим ситуацию, когда на склад поступает 100 единиц товара 1-го числа месяца. Далее 2-го числа этого же месяца в 23:59:59 происходит его продажа, в количестве 80 единиц. Документ проводится без проблем, потому как товара хватает. Допустим, что также 2-го числа в 23:59:59 этот же товар еще кто-то тоже продает в количестве 50 единиц. Этот документ также проведется без проблем, потому как на время 23:59:59 этот товар есть. Хотя фактически у нас, по итогу проведения второго документа образуется отрицательный остаток в 30 единиц товара.

Чтобы таких ситуаций не возникало к дате и времени прибавляется еще и позиция документа, а именно его ссылка. Эта идентификация документа по дате и времени + ссылка называется момент времени . И при проведении второго документа система выдаст сообщение о нехватке 30 единиц товара и не позволит провести документ.

Как же получить момент времени? А получается он методом "МоментВремени" , принадлежащий классу "ДокументОбъект" . При этом возвращается тип данных "МоментВремени" .

Этот тип данных необходимо передавать в запросы, получающие остаток товара, в качестве параметра.

Пример получения момента времени:

&НаКлиенте Процедура ПолучитьМоментВремени(Команда) ПолучитьМоментВремениНаСервере(Объект. Ссылка) ; КонецПроцедуры &НаСервере Процедура ПолучитьМоментВремениНаСервере(Ссылка) Если Ссылка. Пустая() Тогда Сообщить("Документ не записан!" ) ; Возврат ; КонецЕсли ; ДокументОбъект = Ссылка. ПолучитьОбъект() ; МоментВремени = ДокументОбъект. МоментВремени() ; Сообщить(МоментВремени) ; КонецПроцедуры // ПолучитьМоментВремениНаСервере()

Установка времени документа

Разберем, каким образом система устанавливается отметку времени для вновь вводимых документов. При создании документа, по умолчанию присваивается текущая системная дата с нулевым временем, а при записи устанавливается текущая отметка времени.


При оперативном проведении есть следующий нюанс. Если его дата равна текущей, время будет принимать значение текущего времени. Если бы документ проводился неоперативно, то только в момент его ввода присваивалась текущая отметка времени, а дальше она оставалась бы неизменной. Если же документ вводится не текущим числом, то первоначально присваивается нулевая отметка времени, а при записи присваивается самая последняя отметка за этот день. То есть система ищет последний введенный документ за этот день смотрит его время, увеличивает его на секунду и присваивает его нашему документу. Если создать документ на дату, в которой не вводился ни один документ данного вида (например поступление товаров), но были введены документы другого вида (например списание товаров), то система возьмет самую последнюю дату документа другого вида, прибавит к ней секунду и присвоит нашему документу. Если же создать документ с датой, в которой не вводился ни один документ, ни одного вида, то платформа присвоит ему время 12:00:00.

И еще ситуация. Представим себе, что у нас в базе есть документ с отметкой времени 23:59:59 и если прибавить еще одну секунду это уже будут следующие сутки. Поэтому система оставляет такое же время, то есть 23:59:59. Описанная выше система установки времени документа является лишь значением устанавливаемым по умолчанию. Но есть возможность переопределить такое поведение. Откроем в конфигураторе форму документа и обратимся к ее свойствам. В свойствах мы увидим поле "АвтоВремя" . Если мы в этом свойстве ничего не меняем, то формирование времени документа происходит так как это было описано выше. Но можно указать время: текущее или в начало дня, всегда первым, всегда последним и не использовать.

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

Возможность проведения

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

Стандартные реквизиты документа

Помимо тех реквизитов, которые разработчик добавляет в документ, есть еще стандартный набор реквизитов, внедренные в документ уже на уровне платформы. Это: ссылка, номер, дата, пометка удаления, проведен . Найти их можно на закладке "Данные" , кнопка "Стандартные реквизиты" .

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

Документ может находится в трех состояниях:

  • Не помечен на удаление и не проведен;
  • Не помечен на удаление и проведен;
  • Помечен на удаление и не проведен.

Как уже отмечалось ранее, разработчик может самостоятельно добавлять необходимые реквизиты, а также табличные части. Каждая табличная часть имеет один стандартный реквизит - "НомерСтроки" .


Хранение документов в информационной базе

В базе, каждый вид документов, хранятся в отдельной таблице. Эта таблица содержит в себе все реквизиты документа. Табличные части же хранятся в отдельных таблицах. Связь с таблицей документов производится по реквизиту "Ссылка" .

Нумерация документов

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

Рекомендуется устанавливать строковый тип номера, потому как в дальнейшем возможно потребуется указывать в номере и префикс организации, что бывает очень часто.

Префикс устанавливается в модуле объекта документа, в процедуре "ПриУстановкеНовогоНомера" .

Процедура ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс) КонецПроцедуры

Также на вкладке "Нумерация" мы можем задать периодичность документа.

Возможные значения:
  • Непериодический;
  • В пределах года;
  • В пределах квартала;
  • В пределах месяца;
  • В пределах дня.
Обычно выбирают значение "в пределах года" , это означает, что в новом году нумерация документов начнется сначала.

Иногда возникают ситуации, когда для нескольких видов документов необходима сквозная нумерация. Для этих случаем в системе предусмотрен такой объект как нумератор.

Его необходимо указывать в поле "Нумератор" .

Проведение документов

Немного о проведении документов. Для системы означает, что документ проведен если булевский флаг "Проведен" у документа установлен в "Истина" . В общем списке такие документы выделены соответствующей пиктограммой. Для платформы это более ничего не значит, но с точки зрения логики программы, проведенный документ может влиять на финансовый результат компании. То есть он может формировать движения по регистрам, основываясь на которые формируются отчеты.

Когда происходит интерактивное или программное проведение срабатывается выполнение процедуры "ОбработкаПроведения()" , которая находится в модуле объекта документа.

// Вставить содержимое обработчика. КонецПроцедуры

Данная процедура имеет два параметра: отказ и режим . Если выставить параметру отказ значение "Истина" , то проведение не будет выполнено. Параметр "Режим" устанавливает режим проведения документа - оперативное или неоперативное . Сами движения в регистры разработчик должен прописать в данной процедуре самостоятельно.

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

Пример процедуры обработки проведения

Процедура ОбработкаПроведения(Отказ, РежимПроведения) // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения // будут утеряны!!! // регистр ТоварыНаСкладе Приход Движения. ТоварыНаСкладе. Записывать = Истина ; Для Каждого ТекСтрокаТовары Из Товары Цикл Движение = Движения. ТоварыНаСкладе. Добавить() ; Движение. ВидДвижения = ВидДвиженияНакопления. Приход; Движение. Период = Дата; Движение. Товар = ТекСтрокаТовары. Товар; Движение. Количество = ТекСтрокаТовары. Количество; КонецЦикла ; //__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ КонецПроцедуры

Права доступа на документы

В системе 1С существуют различные виды доступа. Это анализ интерактивных действий и анализ программных действий.

Что такое интерактивные действия? Это действия совершаемые непосредственно пользователем: нажатие кнопок, галок и т. д. Программные же действия совершаются каким-либо алгоритмом, о их совершении пользователь может и не догадываться.

Права доступа к документу настраиваются на закладке "Права" . Здесь мы видим несколько разделов, это раздел где отображаются роли, раздел непосредственно прав, и раздел "Ограничения доступа к данным" (его мы не будем рассматривать, он необходим при использовании так называемого механизма RLS).

Раздел "Роли" отображает все роли заведенные в информационной базе, для которых в разделе "Права" мы как раз и устанавливаем права доступа.

Возможные виды прав доступа:
  • чтение (программно), просмотр (интерактивно);
  • добавление (программно), интерактивное добавление (интерактивно);
  • изменение (программно), редактирование (интерактивно);
  • удаление (программно), интерактивное удаление (интерактивно);
  • проведение (программно), интерактивное проведение (интерактивно);
  • отмена проведения (программно), интерактивная отмена проведения (интерактивно);

Интерактивный вид доступа содержит еще такие права как: интерактивная пометка на удаление, интерактивное снятие пометки на удаление, интерактивное удаление помеченных, интерактивное проведение неоперативное, интерактивное изменение проведенных, ввод по строке.

Табличная часть документа

Табличные части документа задаются на вкладке "Данные" и являются ничем иным как коллекций, элементами которой являются строки табличной части. Поэтому обход ее элементов возможен как циклом, так и прямым обращением по индексу (нумерация начинается с нуля).


Работа пользователя со справочниками и документами в 1С состоит из заполнения полей на форме.

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

Рассмотрим подробно тему реквизитов в 1С.

Что такое Реквизиты 1С

Каждый справочник и документ 1С состоит из набора полей. Такие поля называются реквизиты 1С (для программиста 1С).

В конфигураторе, в дереве конфигурации 1С, раскройте любой справочник или документ и Вы увидите ветку Реквизиты. Это список реквизитов (полей) справочника.

Поглядите как те же реквизиты 1С выглядят на форме справочника 1С.

Каждый реквизит 1С имеет свойства, в которых указано какой вид значения хранится в реквизите (строка, число и т.п.) и как с ним будет работать пользователь.

Нажмите правой кнопкой на любой реквизит 1С и нажмите Свойства. В окне справа откроется список свойств выбранного реквизита.

Основные свойства реквизитов 1С:

Стандартные реквизиты 1С

Как Вы заметили, на форме справочника есть реквизиты 1С, которые отсутствуют в списке в конфигураторе: группа, наименование, БИК.

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

Это – стандартные реквизиты 1С. Что это такое? У каждого есть набор реквизитов 1С по умолчанию. У справочников это, например – код и наименование. У документов это – дата и номер.

Стандартные реквизиты 1С можно посмотреть следующим образом:

  • Зайдите в редактор объекта 1С (справочника или документа), нажав на него два раза мышкой
  • В открывшемся редакторе выберите закладку Данные
  • Здесь Вы можете настроить стандартные реквизиты Код и Наименование справочника
  • Нажмите кнопку Стандартные реквизиты 1С, чтобы посмотреть полный список.

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

Начиная с версии 1С 8.2.14 в 1С появился новый Объект 1С – Общие реквизиты 1С. С помощью него можно добавить реквизит (поле), который будет присутствовать сразу во множестве справочников и документов.

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

  • Автоиспользование – добавляет общий реквизит 1С сразу во все справочники и документы
  • Состав – позволяет добавить общий реквизит 1С только в нужные справочники и документы (автоиспользование тогда в значение Не использовать).

Как добавить реквизит 1С

Нажмем правой кнопкой на ветку Реквизиты 1С нужного справочника и выберем Добавить.

Введем нужно Имя реквизита 1С, например «АдресОфиса» и синоним «Адрес офиса». Тип оставим по умолчанию Строка, но поставим галочку Неограниченная длина.

Добавим еще один реквизит 1С точно так же, только выберем тип Булево, назовем его «РаботаетПоВыходным».

Как вывести реквизит на форму 1С (толстый клиент 1С)

Раскроем ветку Формы того же справочника. Чтобы открыть форму — выберем форму элемента и нажмем на нее два раза мышкой.

Потяните мышкой за край формы и растяните ее (необязательный пункт).

В панели конфигуратора нажмите кнопку «Размещение данных». Также можно использовать меню Форма / Размещение данных.

Вы видите – наши реквизиты на форму не выведены. Установите на них галочку. А также галочки Вставить надписи и Разместить автоматически.

Как вывести реквизит на форму 1С (тонкий клиент 1С)

Раскроем ветку Формы того же справочника. Выберем форму элемента и нажмем на нее два раза мышкой.

На закладке Реквизиты раскройте строку Объект. Вы увидите список реквизитов, добавленных ранее в справочник.

Теперь просто перетяните из правого окна в левую нужный реквизит и он появится на форме.

Реквизиты формы 1С

В толстом клиенте у формы есть свои собственные реквизиты. Они находятся на закладке Реквизиты.

Эти реквизиты не сохраняются в базе данных, однако их можно использовать на форме для полей, которые нужны для работы с формой.

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

Периодические реквизиты 1С

В 1С версии 7.7 были периодические реквизиты. Их смысл таков: значение у реквизита разное в разные даты. Например, значение на 1 сентября – одно, а на 1 октября – другое. У одного и того же реквизита.

В 1С 8 периодических реквизитов нет. Это реализуется следующим образом:

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

  • Общий реквизит для нескольких объектов. Реквизит, который присутствует в нескольких объектах конфигурации, в которых этот реквизит сохраняет свой смысл и тип. Пример такого использования: Реквизит "Организация" в документах регламентированного учета в прикладном решении
  • Общий реквизит как составная часть специального механизма разделения данных. Этот механизм позволяет разделить на отдельные части работу прикладного решения и все хранимые данные. При этом у общего реквизита включается разделение данных.
    Пример такого использования: В одной физической информационной базе независимо работают различные "владельцы" данных, при этом каждому пользователю такого прикладного решения будут доступны только его данные

Cвойство "Разделение данных" общего реквизита

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

Состав объектов

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

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

Для каждого объекта конфигурации колонка Использование может принимать одно из трех значений:
  • Автоматически – означает, что назначение объекта конфигурации общему реквизиту зависит от значения свойства "Автоиспользование"
  • Использовать - означает, что объект конфигурации входит в состав общего реквизита
  • Не использовать - означает, что объект конфигурации не входит в состав общего реквизита
Таким образом, с помощью редактора свойства "Состав", можно выборочно исключать некоторые объекты из состава общего реквизита, несмотря на то, что для него установлено "Автоиспользование".

Объекты конфигурации

В состав общего реквизита (не находящегося в режиме разделения данных) могут входить следующие объекты конфигурации:
  • Справочники
  • Документы
  • Журналы документов
  • Планы видов характеристик
  • Планы видов расчета
  • Бизнес-процессы
  • Задачи
  • Регистры сведений
  • Регистры накопления
  • Регистры бухгалтерии
  • Планы обмена
  • Внешние источники данных

Особенности

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

СОВЕТ! Не следует использовать общие реквизиты для описания данных, которые являются частью бизнес-логики конкретных объектов.


Close