Опубликовано: 17.11.2022

Работа с объектами метаданных

Глобальный объект "Метаданные" является вспомогательным объектом системы, предназначенным для доступа к свойствам структуры метаданных конфигурации. Возможность доступа к метаданным средствами встроенного языка является дополнительной возможностью и применяется в специальных случаях, например, для создания универсальных отчётов или обработок, которые могут обращаться к объектам различных видов (документам, справочникам и т.п.). В основных алгоритмах конфигурации данная возможность, как правило, не используется.

Контекст работы с метаданными

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

Значения, имеющие тип "Метаданные", можно напрямую использовать в качестве параметров в тех методах, где требуется строковый идентификатор метаданного, например, в методе справочника Вид(). Кроме того, объекты типа "Метаданные" можно использовать в качестве параметров, в тех методах, где требуется указать тип данных строкой, например, в методе ВвестиЗначение(), но передавать можно только значения метаданных, описывающие типизированные объекты.

Пример обращения к метаданным:

ИмяКонфигурации = СокрЛП(Метаданные.Идентификатор);

В этом вышеприведённом примере мы получаем доступ к атрибуту Идентификатор корневого элемента структуры метаданных (идентификатор конфигурации), значение которого устанавливается в окне свойств конфигурации (см. рис. ниже).

Свойства корневого элемента структуры метаданных

Другой пример:

ВыбМетодУдаления = Метаданные.НепосредедственноеУдалениеОбъектов;

В этом примере мы получаем значение атрибута НепосредственноеУдалениеОбъектов корневого элемента структуры метаданных, то есть состояние опции «Разрешить непосредственное удаление объектов», установленное в окне свойств конфигурации на вкладке «Задача».

Свойства корневого элемента структуры метаданных

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

Создание файла описания структуры метаданных

Файл описания, например, конфигурации «Бухгалтерский учет» будет иметь следующее содержание:

Файл описания структуры метаданных

Здесь атрибуты, являющиеся по сути признаками с двумя возможными значениями («Да» или «Нет») имеют числовой тип и принимают значения 0 или 1. Атрибуты, которые могут иметь несколько возможных значений, возвращают строку, отражающую установленный вариант. Атрибуты, отражающие свойство метаданных, выбираемое как ссылка на другой объект метаданных (например, журнал документа) имеют тип "Метаданные".

Корневой элемент структуры метаданных

Для получения доступа к атрибутам корневого элемента структуры метаданных достаточно записать имя атрибута через точку после ключевого слова Метаданные:

ОсновнойЯзык = СокрЛП(Метаданные.Язык);
НаличиеПароля = Метаданные.Пароль;

Корневой элемент структуры метаданных имеет следующие атрибуты:

Идентификатор — атрибут, содержащий идентификатор (название) конфигурации. Кстати, это единственный идентификатор, в котором можно использовать пробелы и другие символы, недопустимые в прочих идентификаторах.

Свойства корневого элемента структуры метаданных

Пример использования атрибута:

ИмяКонфы = СокрЛП(Метаданные.Идентификатор);
Если Найти(ИмяКонфы, "Упрощенная") = 1 Тогда
   // выполняем какие-то действия
    . . .
Иначе
   Предупреждение("Обработка только для конфигурации УСН!");
   СтатусВозврата(0);
   Возврат;
КонецЕсли;

Синоним — атрибут, содержащий синоним идентификатора конфигурации. Значение атрибута задаётся в окне свойств конфигурации на вкладке «Общие» (см. рис. выше).

Комментарий — атрибут, содержащий комментарий (краткое описание) к конфигурации. Значение атрибута также задаётся в окне свойств конфигурации на вкладке «Общие» (см. рис. выше).

Пароль — атрибут, содержащий признак наличия пароля для доступа к конфигурации. Значения атрибута: 0 — пароля нет; 1 — пароль есть. Сам пароль задаётся в окне свойств конфигурации на вкладке «Задача» при нажатии кнопки «Сменить пароль» (см. рис. ниже).

Свойства корневого элемента структуры метаданных

Язык — атрибут, содержащий информацию об основном языке, который был определён при создании конфигурации. В русских конфигурациях возвращается строка "Русский". Значение атрибута задаётся в окне свойств конфигурации на вкладке «Задача» (см. рис. выше).

Округление — атрибут, содержащий информацию о выбранном в конфигурации режиме округления. Значением атрибута для русскоязычного движка является строка вида "Окр1_5До2" или "Окр1_5До1" в зависимости от выбранного режима. На других языковых движках строка будет иной. Значение задаётся в окне свойств конфигурации на вкладке «Задача» (см. рис. выше).

НепосредственноеУдалениеОбъектов — атрибут, содержащий информацию о выбранном в конфигурации режиме удаления объектов. Значения атрибута: 0 — непосредственное удаление объектов запрещено (выполняется только пометка на удаление); 1 — непосредственное удаление объектов разрешено. Значение задаётся в окне свойств конфигурации на вкладке «Задача» (см. рис. выше).

АвторРазвернутаяИнформация — атрибут, содержащий подробную информацию о конфигурации и её разработчике. Значение атрибута задаётся в окне свойств конфигурации на вкладке «Автор» при нажатии кнопки «Изменить» (см. рис. ниже).

Свойства корневого элемента структуры метаданных

АвторКороткаяИнформация — атрибут, содержащий краткую информацию о конфигурации и её разработчике. Значение атрибута задаётся в окне свойств конфигурации на вкладке «Автор» при нажатии кнопки «Изменить» (см. рис. выше).

ПолныйЖурнал — атрибут, содержащий ссылку на полный журнал документов (например, "Журнал.Общий") или же пустое значение, если журнал не определён. Полным журналом документов, как Вы помните, является журнал, в окне редактирования которого переключатель «Тип журнала» установлен в положение «Общий» и включена опция «Использовать как полный журнал документов» (см. рис. ниже).

Окно редактирования журнала

ПолныйЖурнал — атрибут, содержащий ссылку на журнал подчинённых документов (например, "Журнал.Общий") или же пустое значение, если журнал не определён. Журналом подчинённых документов, как Вы помните, является журнал, в окне редактирования которого переключатель «Тип журнала» установлен в положение «Общий» и включена опция «Использовать как журнал подчиненных документов» (см. рис. выше).

Объект метаданных "Константа"

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

Метаданные.Константа(<Идентификатор>).<ИмяАтрибута>

здесь

  • <Идентификатор> — идентификатор конкретной константы или её порядковый номер в структуре метаданных;
  • <ИмяАтрибута> — имя конкретного атрибута, к которому необходимо получить доступ.

Пример организации опроса атрибутов констант по номеру константы в структуре метаданных:

// Выведем на экран сведения о константах конфигурации
Для i=1 По Метаданные.Константа() Цикл
   Сообщить("===============Константа==================");
   Сообщить("Идентификатор: " + Метаданные.Константа(i).Идентификатор);
   Сообщить("Синоним: " + Метаданные.Константа(i).Синоним);
   Сообщить("Комментарий: " + Метаданные.Константа(i).Комментарий);
   Сообщить("Тип: " + Метаданные.Константа(i).Тип);
   Сообщить("Вид: " + Метаданные.Константа(i).Вид);
   Сообщить("Длина: " + Метаданные.Константа(i).Длина);
   Сообщить("Точность: " + Метаданные.Константа(i).Точность);
   Сообщить("Периодический: " + Метаданные.Константа(i).Периодический);
КонецЦикла;

Пример доступа к атрибуту объекта по идентификатору:

Сообщить("Тип: " + Метаданные.Константа("ОсновнаяВалюта").Тип);

Примечание: При переборе констант в цикле дополнительно можно использовать метод Выбран() (англ. синоним — Selected()), возвращающий число 1, если объект соответствует объекту метаданных (спозиционирован), или 0, если не соответствует (не спозиционирован):

Для i=1 По Метаданные.Константа() Цикл
   Если Метаданные.Константа(i).Выбран() = 1 Тогда
       . . .
   КонецЕсли;
КонецЦикла;

Кроме метода Выбран() существуют также другие дополнительные методы для работы с объектами метаданных. Подробнее мы рассмотрим их в конце этой статьи.

Объект метаданных "Константа" наделён следующими атрибутами:

Идентификатор — атрибут, содержащий идентификатор константы. Установить значение данного атрибута можно в окне свойств конкретной константы на вкладке «Общие».

Окно свойств константы

Синоним — атрибут, содержащий синоним идентификатора константы. Установить значение данного атрибута можно в окне свойств конкретной константы на вкладке «Общие» (см. рис. выше).

Комментарий — атрибут, содержащий комментарий (описание) к константе. Установить значение данного атрибута можно в окне свойств конкретной константы на вкладке «Общие» (см. рис. выше).

Тип — атрибут, содержащий информацию о типе константы. Тип значения атрибута строковый. Установить значение атрибута можно в окне свойств конкретной константы на вкладке «Общие» (см. рис. выше).

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

Длина — атрибут, содержащий информацию о максимально допустимом количестве символов в значении константы. Использование данного атрибута имеет смысл только в том случае, если константа имеет тип "Строка" или "Число". Установить значение атрибута можно в окне свойств конкретной константы на вкладке «Общие» (см. рис. выше).

Точность — атрибут, содержащий информацию о максимальном количестве цифр после десятичной точки в значении константы. Использование атрибута имеет смысл только в том случае, если константа имеет тип "Число". Значение атрибута устанавливается в окне свойств конкретной константы на вкладке «Общие» (см. рис. выше).

НеОтрицательный — атрибут, содержащий признак запрета отрицательных значений. Возможные значения атрибута: 1 — отрицательные значения запрещены; 0 — отрицательные значения не запрещены. Использование атрибута имеет смысл только в том случае, если константа имеет тип "Число". Установить значение данного атрибута можно в окне свойств конкретной константы на вкладке «Дополнительные».

Окно свойств константы

РазделятьТриады — атрибут, содержащий признак установки визуального разделения триад в значении константы. Возможные значения атрибута: 1 — разделять; 0 — не разделять. Использование атрибута имеет смысл только в том случае, если константа имеет тип "Число". Установить значение атрибута можно в окне свойств конкретной константы на вкладке «Дополнительные» (см. рис. выше).

Периодический — атрибут, содержащий признак, указывающий, является ли данная константа периодической. Возможные значения атрибута: 1 — является; 0 — не является. Установить значение атрибута можно в окне свойств конкретной константы на вкладке «Дополнительные» (см. рис. выше).

Объект метаданных "Справочник"

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

Метаданные.Справочник(<Идентификатор>).<ИмяАтрибута>

здесь

  • <Идентификатор> — идентификатор конкретного справочника или его порядковый номер в структуре метаданных;
  • <ИмяАтрибута> — имя конкретного атрибута, к которому необходимо получить доступ.

Пример организации опроса атрибутов справочников по номеру справочника в структуре метаданных:

// Выведем на экран сведения об основных атрибутах справочников
Для i=1 По Метаданные.Справочник() Цикл
   Сообщить("===============Справочник==================");
   Сообщить("Идентификатор: " + Метаданные.Справочник(i).Идентификатор);
   Сообщить("Синоним: " + Метаданные.Справочник(i).Синоним);
   Сообщить("Комментарий: " + Метаданные.Справочник(i).Комментарий);
   Сообщить("Тип кода: " + Метаданные.Справочник(i).ТипКода);
   Сообщить("Длина кода: " + Метаданные.Справочник(i).ДлинаКода);
КонецЦикла;

Пример доступа к атрибуту конкретного справочника по идентификатору справочника:

Сообщить("Тип кода: " + Метаданные.Справочник("Сотрудники").ТипКода);

Объект метаданных типа "Справочник" имеет следующие атрибуты:

Идентификатор — атрибут, содержащий идентификатор справочника. Установить значение данного атрибута можно в окне редактирования конкретного справочника (см. рис. ниже).

Окно редактирования объекта

Синоним — атрибут, содержащий синоним идентификатора справочника. Установить значение данного атрибута можно в окне редактирования конкретного справочника (см. рис. выше).

Комментарий — атрибут, содержащий комментарий (описание) к справочнику. Установить значение данного атрибута можно в окне редактирования конкретного справочника (см. рис. выше).

Владелец — атрибут, содержащий полный идентификатор справочника-владельца (например, "Справочник.Сотрудники") или пустую строку, если текущий справочник никому не подчинён. Установить значение данного атрибута можно в окне редактирования конкретного справочника (поле «Подчинен» на рисунке выше).

КоличествоУровней — атрибут, содержащий информацию о максимальном количестве уровней группировки в справочнике (максимальное значение — 10). Установить значение данного атрибута можно в окне редактирования конкретного справочника (поле «Кол-во уровней» на рисунке выше).

ДлинаКода — атрибут, содержащий информацию о максимальном количестве символов в коде элемента или группы (то есть максимальную длину значения обязательного реквизита «Код» справочника). Установить значение данного атрибута можно в окне редактирования конкретного справочника (поле «Длина кода» на рисунке выше).

ДлинаНаименования — атрибут, содержащий информацию о максимальном количестве символов в наименовании элемента или группы (то есть максимальную длину значения обязательного реквизита «Наименование»). Установить значение данного атрибута можно в окне редактирования конкретного справочника (поле «Длина наименования» на рисунке выше).

ТипКода — атрибут, содержащий информацию о тип кода элементов и групп (то есть типе значения обязательного реквизита «Код»). Возможные значения: "Числовой" или "Текстовый". Установить значение данного атрибута можно в окне редактирования конкретного справочника (группа «Тип кода» на рисунке выше).

СерииКодов — атрибут, содержащий информацию о варианте назначения кодов в справочнике. Возможные значения: "ВПределахПодчинения" или "ВесьСправочник". Установить значение данного атрибута можно в окне редактирования конкретного справочника (группа «Серии кодов» на рисунке выше).

ОсновноеПредставление — атрибут, содержащий информацию о режим представления элемента или группы справочника. Возможные значения: "ВВидеКода" или "ВВидеНаименования". Установить значение данного атрибута можно в окне редактирования конкретного справочника (группа «Основное представление» на рисунке выше).

КонтрольУникальности — атрибут, содержащий признак наличия контроля уникальности кодов элементов. Возможные значения: 1 — контроль включен, 0 — контроль отключен. Установить значение данного атрибута можно в окне редактирования конкретного справочника (чекбокс «Контроль уникальности» на рисунке выше).

АвтоНумерация — атрибут, содержащий признак наличия автоматической нумерации элементов справочника. Возможные значения: 2 — автонумерация включена, 1 — автонумерация отключена. Установить значение данного атрибута можно в окне редактирования конкретного справочника (чекбокс «Автоматическая нумерация» на рисунке выше).

ГруппыВпереди — атрибут, содержащий признак, определяющий расположение групп в справочнике. Возможные значения: 1 — в начале списка, 0 — в соответствии с кодами. Установить значение данного атрибута можно в окне редактирования конкретного справочника (чекбокс «Размещать группы сверху» на рисунке выше).

СпособРедактирования — атрибут, содержащий информацию о возможных способах редактирования элементов и групп справочника. Возможные значения: "ВСписке", "ВДиалоге" или "ОбоимиСпособами". Установить значение данного атрибута можно в окне редактирования конкретного справочника (поле со списком «Редактировать» на рисунке выше).

ЕдинаяФормаЭлемента — атрибут, содержащий признак использования единой формы для элементов и групп. Возможные значения атрибута: 1 — единая, 0 — нет. Установить значение данного атрибута можно в окне редактирования конкретного справочника (чекбокс «Одна форма для элемента и группы» на рисунке выше).

ОсновнаяФорма — атрибут, содержащий полный идентификатор основной формы списка справочника (например, "Справочник.Сотрудники.ФормаСписка.Основная") или пустую строку, если форма не определена. Чтобы задать значение данного атрибута, необходимо щёлкнуть правой кнопкой мыши по значку конкретного справочника и в появившемся меню последовательно выбрать пункты «Формы списков -> Редактировать».

Контекстное меню

Выбор конкретной формы осуществляется в появившемся на экране окне с помощью кнопки «Основная»:

Окно 'Формы списков'

ОсновнаяФормаДляВыбора — атрибут, содержащий полный идентификатор формы списка для выбора (например, "Справочник.Сотрудники.ФормаСписка.ДляВыбора") или пустую строку, если форма не определена. Процесс задания значения атрибута описан выше, но последнее действие осуществляется с помощью кнопки «Для выбора».

АвтоРегистрация — атрибут, содержащий признак наличия режима авторегистрации, заданного для данного справочника. Возможные значения атрибута: 1 — изменения регистрируется; 0 — изменения не регистрируются. Использование данного атрибута имеет смысл только при установленной компоненте УРБД («Управление распределёнными базами данных»). При наличии данной компоненты в окне свойств объектов появляется дополнительная вкладка «Миграция», на которой и отображаются соответствующие атрибуты (см. рис. ниже).

Окно свойств справочника

ОбластьРаспространения — атрибут, содержащий информацию об области распространения, заданной для данного справочника. Возможные значения атрибута: "ВсеИнформационныеБазы", "МестоСоздания" или "МестоСозданияИЦентр". Использование данного атрибута имеет смысл только при установленной компоненте УРБД («Управление распределёнными базами данных»). При наличии данной компоненты в окне свойств объектов появляется дополнительная вкладка «Миграция» (см. рис. выше), на которой и отображаются соответствующие атрибуты.

ДополнительныеКодыИБ — атрибут, содержащий дополнительные коды ИБ (перечисляются через запятую), заданные для данного справочника. Использование данного атрибута имеет смысл только при установленной компоненте УРБД («Управление распределёнными базами данных»). Значение атрибута задаётся в окне свойств конкретного справочника на вкладке «Миграция» (поле «Дополнительно» на рисунке выше). Использование атрибута имеет смысл при установленной области распространения "МестоСозданияИЦентр".

Работа с формами списка объекта метаданных "Справочник"

Получить общее количество имеющихся форм списка справочника можно с помощью метода ФормаСписка(), записываемого без параметров. Для получения же доступа к атрибутам конкретной формы списка конкретного справочника используется этот же метод (но уже с указанным параметром) и имя атрибута, записанное через точку после записи вызова метода:

Метаданные.Справочник(<ИдентификаторСправочника>).ФормаСписка(<ИдентификаторФормы>).<ИмяАтрибута>

здесь

  • <ИдентификаторСправочника> — идентификатор конкретного справочника или его порядковый номер в структуре метаданных;
  • <ИдентификаторФормы> — идентификатор конкретной формы списка или её порядковый номер в структуре метаданных;
  • <ИмяАтрибута> — имя конкретного атрибута, к которому необходимо получить доступ.

Пример организации перебора форм списка справочника по их номеру в структуре метаданных:

// Выведем список форм справочника
Для i=1 По Метаданные.Справочник(<Идентификатор>).ФормаСписка() Цикл
   Сообщить(Метаданные.Справочник(<Идентификатор>).ФормаСписка(i).Идентификатор);
КонецЦикла;

здесь <Идентификатор> — идентификатор справочника, формы списка которого перебираются в цикле.

Форма списка объекта типа "Справочник" имеет следующие атрибуты:

Идентификатор — атрибут, содержащий идентификатор формы списка справочника. Установить значение данного атрибута можно в окне «Формы списков» (см. рис. ниже), щёлкнув по кнопке «Изменить».

Окно 'Формы списков'

Синоним — неиспользуемый атрибут.

Комментарий — атрибут, содержащий комментарий (описание) к форме списка справочника. Установить значение данного атрибута можно в окне «Формы списков» (см. рис. выше), щёлкнув по кнопке «Изменить».

Работа с реквизитами объекта метаданных "Справочник"

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

Метаданные.Справочник(<ИдентификаторСправочника>).Реквизит(<ИдентификаторРеквизита>).<ИмяАтрибута>

здесь

  • <ИдентификаторСправочника> — идентификатор конкретного справочника или его порядковый номер в структуре метаданных;
  • <ИдентификаторРеквизита> — идентификатор конкретного реквизита или его порядковый номер в структуре метаданных;
  • <ИмяАтрибута> – имя конкретного атрибута, к которому необходимо получить доступ.

Примечание: Реквизиты, о которых здесь идёт речь, — это реквизиты дополнительные, то есть те, которые добавляются разработчиком в процессе создания конфигурации. Обязательные реквизиты Код и Наименование к их числу не относятся.

Пример организации перебора реквизитов справочника по их номеру в структуре метаданных:

// Выведем список реквизитов справочника
Для i=1 По Метаданные.Справочник(<Идентификатор>).Реквизит() Цикл
   Сообщить(Метаданные.Справочник(<Идентификатор>).Реквизит(i).Идентификатор);
КонецЦикла;

здесь <Идентификатор> — идентификатор справочника, реквизиты которого перебираются в цикле.

Пример доступа к реквизиту справочника по его идентификатору:

Сообщить("Тип реквизита: " + Метаданные.Справочник("Сотрудники").Реквизит("Оклад").Тип);

Реквизиты объекта типа "Справочник" имеет следующие атрибуты:

Идентификатор — атрибут, содержащий идентификатор реквизита. Установить значение данного атрибута можно в окне свойств конкретного реквизита на вкладке «Общие».

Окно свойств реквизита

Синоним — атрибут, содержащий синоним идентификатора реквизита. Установить значение данного атрибута можно в окне свойств конкретного реквизита на вкладке «Общие» (см. рис. выше).

Комментарий — атрибут, содержащий комментарий (описание) к реквизиту. Установить значение данного атрибута можно в окне свойств конкретного реквизита на вкладке «Общие» (см. рис. выше).

Тип — атрибут, содержащий информацию о типе реквизита. Тип значения атрибута строковый. Установить значение атрибута можно в окне свойств конкретного реквизита на вкладке «Общие» (см. рис. выше).

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

Длина — атрибут, содержащий информацию о максимально допустимом количестве символов в значении реквизита. Использование данного атрибута имеет смысл только в том случае, если реквизит имеет тип "Строка" или "Число". Установить значение атрибута можно в окне свойств конкретного реквизита на вкладке «Общие» (см. рис. выше).

Точность — атрибут, содержащий информацию о максимальном количестве цифр после десятичной точки в значении реквизита. Использование атрибута имеет смысл только в том случае, если реквизит имеет тип "Число". Значение атрибута устанавливается в окне свойств конкретного реквизита на вкладке «Общие» (см. рис. выше).

НеОтрицательный — атрибут, содержащий признак запрета отрицательных значений. Возможные значения атрибута: 1 — отрицательные значения запрещены; 0 — отрицательные значения не запрещены. Использование атрибута имеет смысл только в том случае, если реквизит имеет тип "Число". Установить значение данного атрибута можно в окне свойств конкретного реквизита на вкладке «Дополнительные».

Окно свойств реквизита

РазделятьТриады — атрибут, содержащий признак установки визуального разделения триад в значении реквизита. Возможные значения атрибута: 1 — разделять; 0 — не разделять. Использование атрибута имеет смысл только в том случае, если реквизит имеет тип "Число". Установить значение атрибута можно в окне свойств конкретного реквизита на вкладке «Дополнительные» (см. рис. выше).

Периодический — атрибут, содержащий признак, указывающий, является ли данный реквизит периодическим. Возможные значения атрибута: 1 — является; 0 — не является. Установить значение атрибута можно в окне свойств конкретного реквизита на вкладке «Дополнительные» (см. рис. выше).

Сортировка — атрибут, содержащий признак того, что по реквизиту возможна сортировка справочника, а также отбор или поиск с помощью методов НайтиПоРеквизиту() или ВыбратьЭлементыПоРеквизиту(). Возможные значения атрибута: 1 — сортировка возможна; 0 — сортировка невозможна. Значение атрибута устанавливается в окне свойств реквизита на вкладке «Дополнительные» путём включения соответствующего чекбокса (см. рис. выше).

Отбор — атрибут, содержащий признак возможности интерактивного отбора элементов по данному реквизиту. Возможные значения атрибута: 1 — отбор возможен; 0 — отбор невозможен. Значение атрибута устанавливается в окне свойств реквизита на вкладке «Дополнительные» путём включения соответствующего чекбокса (см. рис. выше).

РучноеИзменение — атрибут, содержащий признак возможности ручного изменения значения данного реквизита в случае, если он периодический. Возможные значения атрибута: 1 — изменение возможно; 0 — изменение невозможно. Значение атрибута устанавливается в окне свойств реквизита на вкладке «Дополнительные» путём включения соответствующего чекбокса (см. рис. выше).

ИзменяетсяДокументами — атрибут, содержащий признак возможности изменения значения данного реквизита документами в случае, если он периодический. Возможные значения атрибута: 1 — изменение возможно; 0 — изменение невозможно. Значение атрибута устанавливается в окне свойств реквизита на вкладке «Дополнительные» путём включения соответствующего чекбокса (см. рис. выше).

Использование — атрибут, содержащий информацию о режимах использования реквизита справочника. Возможные значения атрибута: "ДляЭлемента" или "ДляГруппы" или "ДляОбоих". Значение атрибута устанавливается в окне свойств реквизита на вкладке «Дополнительные» путём выбора значения в поле «Использовать» (см. рис. выше).

Объект метаданных "Документ"

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

Метаданные.Документ(<Идентификатор>).<ИмяАтрибута>

здесь

  • <Идентификатор> — идентификатор конкретного документа или его порядковый номер в структуре метаданных;
  • <ИмяАтрибута> — имя конкретного атрибута, к которому необходимо получить доступ.

Пример организации опроса атрибутов документов по номеру вида документа в структуре метаданных:

// Выведем на экран сведения об основных атрибутах документов
Для i=1 По Метаданные.Документ() Цикл
   Сообщить("===============Документ==================");
   Сообщить("Идентификатор: " + Метаданные.Документ(i).Идентификатор);
   Сообщить("Синоним: " + Метаданные.Документ(i).Синоним);
   Сообщить("Комментарий: " + Метаданные.Документ(i).Комментарий);
   Сообщить("Тип кода: " + Метаданные.Документ(i).ТипНомера);
   Сообщить("Длина кода: " + Метаданные.Документ(i).ДлинаНомера);
КонецЦикла;

Пример доступа к атрибуту конкретного документа по идентификатору документа:

Сообщить("Тип номера: " + Метаданные.Документ("РасходнаяНакладная").ТипНомера);

Объект метаданных типа "Документ" имеет следующие атрибуты:

Идентификатор — атрибут, содержащий идентификатор документа. Значение задаётся в окне редактирования конкретного объекта метаданных типа "Документ" в поле «Идентификатор» (см. рис. ниже).

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

Синоним — атрибут, содержащий пользовательское представление вида документа (заменяет идентификатор вида при выводе его в различных диалоговых окнах, журналах, отчётах и т.п.). Значение задаётся в окне редактирования конкретного объекта метаданных типа "Документ" в поле «Синоним» (см. рис. выше).

Комментарий — атрибут, содержащий комментарий (описание) к документу. Значение задаётся в окне редактирования конкретного объекта метаданных типа "Документ" в поле «Комментарий» (см. рис. выше).

Журнал — атрибут, содержащий ссылку на журнал (представляет собой полный идентификатор журнала, например, "Журнал.Касса") или пустое значение, если журнал не выбран. Значение задаётся в окне редактирования конкретного объекта метаданных типа "Документ" в поле «Журнал» (см. рис. выше).

Нумератор — атрибут, содержащий ссылку на нумератор (представляет собой полный идентификатор конкретного нумератора, например, "Нумератор.АктОС1") или пустое значение, если нумератор не выбран. Значение задаётся в Конфигураторе в окне редактирования конкретного объекта метаданных типа "Документ" в поле «Нумератор» группы элементов «Номер» (см. рис. выше).

ПериодичностьНомера — атрибут, содержащий информацию о варианте установленной периодичности номера документа. Возможные значения: "Все", "Год", "Квартал", "Месяц" или "День". Значение задаётся в окне редактирования конкретного объекта метаданных типа "Документ" в поле «Периодичность» группы элементов «Номер» (см. рис. выше).

ДлинаНомера — атрибут, содержащий информацию о длине номера (количестве знаков в номере) документа. Длина номера лежит в пределах от 3-х до 20-и знаков. Значение атрибута задаётся в окне редактирования конкретного объекта метаданных типа "Документ" в поле «Длина» группы элементов «Номер» (см. рис. выше).

ТипНомера — атрибут, содержащий информацию о типе номера в документе. Возможные значения атрибута: "Числовой" или "Текстовый". Значение задаётся в окне редактирования конкретного объекта метаданных типа "Документ" переключателем «Тип» группы элементов «Номер» (см. рис. выше).

АвтоНумерация — атрибут, содержащий признак наличия автоматической нумерации для документов данного вида. Возможные значения атрибута: 1 — автонумерация выключена; 2 — автонумерация включена. Значение задаётся в окне редактирования конкретного объекта метаданных типа "Документ" путём включения чекбокса «Автоматическая нумерация» в группе элементов «Номер» (см. рис. выше).

КонтрольУникальности — атрибут, содержащий признак наличия контроля уникальности для документов данного вида. Возможные значения атрибута: 1 — контроль включен; 0 — контроль выключен. Значение задаётся в окне редактирования объекта метаданных типа "Документ" путём включения чекбокса «Контроль уникальности» в группе элементов «Номер» (см. рис. выше).

БухгалтерскийУчет — атрибут, содержащий признак принадлежности документа к бухгалтерскому учёту. Возможные значения атрибута: 1 — принадлежит; 0 — не принадлежит. Значение задаётся в окне редактирования объекта метаданных типа "Документ" путём включения соответствующего чекбокса (см. рис. выше).

ОперативныйУчет — атрибут, содержащий признак принадлежности документа к оперативному учёту. Возможные значения атрибута: 1 — принадлежит; 0 — не принадлежит. Значение задаётся в окне редактирования объекта метаданных типа "Документ" путём включения соответствующего чекбокса (см. рис. выше).

Расчет — атрибут, содержащий признак принадлежности документа к расчёту. Возможные значения атрибута: 1 — принадлежит; 0 — не принадлежит. Значение задаётся в окне редактирования объекта метаданных типа "Документ" путём включения соответствующего чекбокса (см. рис. выше).

РазрешитьПроведение — атрибут, содержащий признак разрешения проведения документа — число 1 или 0. Значение задаётся в окне редактирования объекта метаданных типа "Документ" путём включения соответствующего чекбокса (см. рис. выше).

АвтоудалениеДвижений — атрибут, содержащий признак автоматического удаления движений — число 1 или 0. Применяется только к документам, у которых разрешено проведение. Значение задаётся в окне редактирования объекта метаданных типа "Документ" путём включения соответствующего чекбокса (см. рис. выше).

АвтонумерацияСтрок — атрибут, содержащий признак автоматической нумерации строк документа — число 1 или 0. Значение задаётся в окне редактирования объекта метаданных типа "Документ" путём включения соответствующего чекбокса (см. рис. выше).

СоздаватьОперацию — атрибут, содержащий информацию о варианте создания операции в бухгалтерских документах. Возможные значения атрибута: "Всегда", "Выборочно", "ПриПроведении" или пустая строка. Применяется только к документам бухгалтерского учёта. Значение задаётся в окне редактирования объекта метаданных типа "Документ" в поле «Создавать операцию» (см. рис. выше).

РедактированиеОпераций — атрибут, содержащий признак разрешения на редактирование операции документа – число 1 или 0. Применяется только к документам бухгалтерского учёта, в случае если на уровне настройки операций не стоит признак запрета редактирования операций документов. Значение задаётся в окне редактирования объекта метаданных типа "Документ" путём включения соответствующего чекбокса (см. рис. выше).

ОснованиеДляЛюбогоДокумента — атрибут, содержащий признак того, что документ данного вида является основанием для любого документа. Возможные значения атрибута: 1 — является; 0 — не является. Установить значение можно путём включения чекбокса «Может являться основанием для документа любого вида» в окне «Ввод на основании» (см. рис. ниже), которое вызывается из окна редактирования объекта метаданных типа "Документ" с помощью кнопки «Ввод на основании».

Окно 'Ввод на основании'

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

ОбластьРаспространения — атрибут, содержащий информацию об области распространения, заданной для данного документа. Возможные значения атрибута: "ВсеИнформационныеБазы", "МестоСоздания" или "МестоСозданияИЦентр". Использование данного атрибута имеет смысл только при установленной компоненте УРБД («Управление распределёнными базами данных»). При наличии данной компоненты в окне свойств объектов появляется дополнительная вкладка «Миграция» (см. рис. ниже), на которой и отображаются соответствующие атрибуты.

Окно свойств документа

АвтоРегистрация — атрибут, содержащий признак наличия режима авторегистрации, заданного для данного документа. Возможные значения атрибута: 1 — изменения регистрируется; 0 — изменения не регистрируются. Использование данного атрибута имеет смысл только при установленной компоненте УРБД («Управление распределёнными базами данных»). При наличии данной компоненты в окне свойств объектов появляется дополнительная вкладка «Миграция», на которой и отображаются соответствующие атрибуты (см. рис. выше).

ДополнительныеКодыИБ — атрибут, содержащий дополнительные коды ИБ (перечисляются через запятую), заданные для данного документа. Использование данного атрибута имеет смысл только при установленной компоненте УРБД («Управление распределёнными базами данных»). Значение атрибута задаётся в окне свойств конкретного документа на вкладке «Миграция» (поле «Дополнительно» на рисунке выше). Использование атрибута имеет смысл при установленной области распространения "МестоСозданияИЦентр".

Работа с массивом ссылок в атрибутах объекта метаданных "Документ"

Атрибут ВводимыеНаОснованииДокументы объекта метаданных "Документ" содержит список ссылок на несколько других объектов. Для перебора таких массивов ссылок используются специальные методы Количество() и Получить(). Первый из них позволяет получить количество ссылок в списке, а второй выбирает объект из списка по его порядковому номеру.

Пример организации перебора ссылок:

Для i=1 По Метаданные.Документ(<Идентификатор>).ВводимыеНаОснованииДокументы.Количество() Цикл
   Сообщить("На основании документа " + Метаданные.Документ(<Идентификатор>).Представление() +
      " можно ввести такой документ, как " +
      Метаданные.Документ(<Идентификатор>).ВводимыеНаОснованииДокументы.Получить(i).Идентификатор);
КонецЦикла;

здесь <Идентификатор> — идентификатор документа, атрибут которого содержит исследуемый список ссылок.

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

Получить количество реквизитов шапки документа и организовать цикл для их перебора позволяет метод РеквизитШапки(), записанный без параметров. Для получения же доступа к конкретному атрибуту конкретного реквизита шапки используется этот же метод (но с указанным параметром) и имя атрибута, записанное через точку после записи вызова метода:

Метаданные.Документ(<ИдентификаторДокумента>).РеквизитШапки(<ИдентификаторРеквизита>).<ИмяАтрибута>

здесь

  • <ИдентификаторДокумента> — идентификатор вида документа или его порядковый номер в структуре метаданных;
  • <ИдентификаторРеквизита> — идентификатор конкретного реквизита шапки документа или его порядковый номер в структуре метаданных;
  • <ИмяАтрибута> — имя конкретного атрибута, к которому необходимо получить доступ.

Примечание: Реквизиты, о которых здесь идёт речь, — это реквизиты дополнительные, то есть те, которые добавляются разработчиком в процессе создания конфигурации. Обязательные реквизиты НомерДок и ДатаДок к их числу не относятся. Для специального же документа "Операция" количество реквизитов шапки всегда равно нулю, хотя некоторые реквизиты операции фактически являются реквизитами шапки.

Пример организации перебора реквизитов шапки документа по их номеру в структуре метаданных:

// Выведем список реквизитов шапки документа
Для i=1 По Метаданные.Документ(<Идентификатор>).РеквизитШапки() Цикл
   Сообщить(Метаданные.Документ(<Идентификатор>).РеквизитШапки(i).Идентификатор);
КонецЦикла;

здесь <Идентификатор> — идентификатор документа, реквизиты шапки которого перебираются в цикле.

Реквизиты шапки документа наделены следующими атрибутами:

Идентификатор — атрибут, содержащий идентификатор реквизита. Установить значение данного атрибута можно в окне свойств конкретного реквизита на вкладке «Общие».

Окно свойств реквизита

Синоним — атрибут, содержащий синоним идентификатора реквизита. Установить значение данного атрибута можно в окне свойств конкретного реквизита на вкладке «Общие» (см. рис. выше).

Комментарий — атрибут, содержащий комментарий (описание) к реквизиту. Установить значение данного атрибута можно в окне свойств конкретного реквизита на вкладке «Общие» (см. рис. выше).

Тип — атрибут, содержащий информацию о типе реквизита ("Дата", "Строка", "Число", "Справочник" и т.п.). Тип значения атрибута строковый. Установить значение атрибута можно в окне свойств конкретного реквизита на вкладке «Общие» (см. рис. выше).

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

Длина — атрибут, содержащий информацию о максимально допустимом количестве символов в значении реквизита. Использование данного атрибута имеет смысл только в том случае, если реквизит имеет тип "Строка" или "Число". Установить значение атрибута можно в окне свойств конкретного реквизита на вкладке «Общие» (см. рис. выше).

Точность — атрибут, содержащий информацию о максимальном количестве цифр после десятичной точки в значении реквизита. Использование атрибута имеет смысл только в том случае, если реквизит имеет тип "Число". Значение атрибута устанавливается в окне свойств конкретного реквизита на вкладке «Общие» (см. рис. выше).

НеОтрицательный — атрибут, содержащий признак запрета отрицательных значений. Возможные значения атрибута: 1 — отрицательные значения запрещены; 0 — отрицательные значения не запрещены. Использование атрибута имеет смысл только в том случае, если реквизит имеет тип "Число". Установить значение данного атрибута можно в окне свойств конкретного реквизита на вкладке «Дополнительные» (см. рис. ниже).

Окно свойств реквизита

РазделятьТриады — атрибут, содержащий признак установки визуального разделения триад в значении реквизита. Возможные значения атрибута: 1 — разделять; 0 — не разделять. Использование атрибута имеет смысл только в том случае, если реквизит имеет тип "Число". Установить значение атрибута можно в окне свойств конкретного реквизита на вкладке «Дополнительные» (см. рис. выше).

Работа с реквизитами табличной части документа

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

Метаданные.Документ(<ИдентификаторДокумента>).РеквизитТабличнойЧасти(<ИдентификаторРеквизита>).<ИмяАтрибута>

здесь

  • <ИдентификаторДокумента> — идентификатор вида документа или его порядковый номер в структуре метаданных;
  • <ИдентификаторРеквизита> — идентификатор конкретного реквизита табличной части документа или его порядковый номер в структуре метаданных;
  • <ИмяАтрибута> — имя конкретного атрибута, к которому необходимо получить доступ.

Примечание: Реквизиты, о которых здесь идёт речь, — это реквизиты дополнительные, то есть те, которые добавляются разработчиком в процессе создания конфигурации. Обязательный реквизит НомерСтроки к их числу не относится. Для специального же документа "Операция" количество реквизитов табличной части всегда равно нулю, хотя некоторые реквизиты операции фактически являются реквизитами табличной части.

Пример организации перебора реквизитов табличной части документа по их номеру в структуре метаданных:

// Выведем список реквизитов табличной части документа
Для i=1 По Метаданные.Документ(<Идентификатор>).РеквизитТабличнойЧасти() Цикл
   Сообщить(Метаданные.Документ(<Идентификатор>).РеквизитТабличнойЧасти(i).Идентификатор);
КонецЦикла;

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

Реквизиты табличной части документа наделены следующими атрибутами:

Идентификатор — атрибут, содержащий идентификатор реквизита табличной части документа. Установить значение данного атрибута можно в окне свойств конкретного реквизита на вкладке «Общие».

Окно свойств реквизита

Синоним — атрибут, содержащий синоним идентификатора реквизита табличной части документа. Установить значение данного атрибута можно в окне свойств конкретного реквизита на вкладке «Общие» (см. рис. выше).

Комментарий — атрибут, содержащий комментарий (описание) к реквизиту табличной части документа. Установить значение данного атрибута можно в окне свойств конкретного реквизита на вкладке «Общие» (см. рис. выше).

Тип — атрибут, содержащий информацию о типе реквизита ("Дата", "Строка", "Число", "Справочник" и т.п.). Тип значения атрибута строковый. Установить значение атрибута можно в окне свойств конкретного реквизита на вкладке «Общие» (см. рис. выше).

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

Длина — атрибут, содержащий информацию о максимально допустимом количестве символов в значении реквизита. Использование данного атрибута имеет смысл только в том случае, если реквизит имеет тип "Строка" или "Число". Установить значение атрибута можно в окне свойств конкретного реквизита на вкладке «Общие» (см. рис. выше).

Точность — атрибут, содержащий информацию о максимальном количестве цифр после десятичной точки в значении реквизита. Использование атрибута имеет смысл только в том случае, если реквизит имеет тип "Число". Значение атрибута устанавливается в окне свойств конкретного реквизита на вкладке «Общие» (см. рис. выше).

НеОтрицательный — атрибут, содержащий признак запрета отрицательных значений. Возможные значения атрибута: 1 — отрицательные значения запрещены; 0 — отрицательные значения не запрещены. Использование атрибута имеет смысл только в том случае, если реквизит имеет тип "Число". Установить значение данного атрибута можно в окне свойств конкретного реквизита на вкладке «Дополнительные» (см. рис. ниже).

Дополнительные свойства реквизита

РазделятьТриады — атрибут, содержащий признак установки визуального разделения триад в значении реквизита. Возможные значения атрибута: 1 — разделять; 0 — не разделять. Использование атрибута имеет смысл только в том случае, если реквизит имеет тип "Число". Установить значение атрибута можно в окне свойств конкретного реквизита на вкладке «Дополнительные» (см. рис. выше).

ИтогПоКолонке — атрибут, содержащий признак наличия итога по колонке для данного реквизита табличной части документа. Возможные значения атрибута: 1 — считать итог; 0 — не считать итог. Атрибут имеет смысл только для типа "Число". Значение атрибута устанавливается в окне свойств реквизита на закладке «Дополнительные» путём включения соответствующей опции (см. рис. выше).

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

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

Метаданные.ОбщийРеквизитДокумента(<ИдентификаторРеквизита>).<ИмяАтрибута>

здесь

  • <ИдентификаторРеквизита> — идентификатор конкретного общего реквизита документа или его порядковый номер в структуре метаданных;
  • <ИмяАтрибута> — имя конкретного атрибута, к которому необходимо получить доступ.

Пример организации опроса атрибутов общих реквизитов документов по номеру общего реквизита в структуре метаданных:

// Опрос атрибутов общих реквизитов документов
КолвоРекв = Метаданные.ОбщийРеквизитДокумента();
Для i=1 По КолвоРекв Цикл
   Сообщить("===============Общий реквизит документа==================");
   Сообщить("Идентификатор: " + Метаданные.ОбщийРеквизитДокумента(i).Идентификатор);
   Сообщить("Синоним: " + Метаданные.ОбщийРеквизитДокумента(i).Синоним);
   Сообщить("Комментарий: " + Метаданные.ОбщийРеквизитДокумента(i).Комментарий);
   Сообщить("Тип: " + Метаданные.ОбщийРеквизитДокумента(i).Тип);
   Сообщить("Вид: " + Метаданные.ОбщийРеквизитДокумента(i).Вид);
   Сообщить("Длина: " + Метаданные.ОбщийРеквизитДокумента(i).Длина);
   Сообщить("Точность: " + Метаданные.ОбщийРеквизитДокумента(i).Точность);
   Сообщить("НеОтрицательный: " + Метаданные.ОбщийРеквизитДокумента(i).НеОтрицательный);
   Сообщить("РазделятьТриады: " + Метаданные.ОбщийРеквизитДокумента(i).РазделятьТриады);
   Сообщить("Отбор: " + Метаданные.ОбщийРеквизитДокумента(i).Отбор);
КонецЦикла;

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

Идентификатор — атрибут, содержащий идентификатор общего реквизита документа. Установить значение данного атрибута можно в окне свойств конкретного реквизита на вкладке «Общие» (см. рис. ниже).

Окно свойств реквизита

Синоним — атрибут, содержащий синоним идентификатора общего реквизита документа. Установить значение данного атрибута можно в окне свойств конкретного реквизита на вкладке «Общие» (см. рис. выше).

Комментарий — атрибут, содержащий комментарий (описание) к общему реквизиту документа. Установить значение данного атрибута можно в окне свойств конкретного реквизита на вкладке «Общие» (см. рис. выше).

Тип — атрибут, содержащий информацию о типе реквизита ("Дата", "Строка", "Число", "Справочник" и т.п.). Тип значения атрибута строковый. Установить значение атрибута можно в окне свойств конкретного реквизита на вкладке «Общие» (см. рис. выше).

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

Длина — атрибут, содержащий информацию о максимально допустимом количестве символов в значении реквизита. Использование данного атрибута имеет смысл только в том случае, если реквизит имеет тип "Строка" или "Число". Установить значение атрибута можно в окне свойств конкретного реквизита на вкладке «Общие» (см. рис. выше).

Точность — атрибут, содержащий информацию о максимальном количестве цифр после десятичной точки в значении реквизита. Использование атрибута имеет смысл только в том случае, если реквизит имеет тип "Число". Значение атрибута устанавливается в окне свойств конкретного реквизита на вкладке «Общие» (см. рис. выше).

НеОтрицательный — атрибут, содержащий признак запрета отрицательных значений. Возможные значения атрибута: 1 — отрицательные значения запрещены; 0 — отрицательные значения не запрещены. Использование атрибута имеет смысл только в том случае, если реквизит имеет тип "Число". Установить значение данного атрибута можно в окне свойств конкретного реквизита на вкладке «Дополнительные» (см. рис. ниже).

Окно свойств реквизита

РазделятьТриады — атрибут, содержащий признак установки визуального разделения триад в значении реквизита. Возможные значения атрибута: 1 — разделять; 0 — не разделять. Использование атрибута имеет смысл только в том случае, если реквизит имеет тип "Число". Установить значение атрибута можно в окне свойств конкретного реквизита на вкладке «Дополнительные» (см. рис. выше).

Сортировка — атрибут, содержащий признак возможности интерактивного отбора документов по данному реквизиту в журнале (название атрибута не соответствует его предназначению). Возможные значения атрибута: 1 — отбор возможен; 0 — отбор невозможен. Значение атрибута устанавливается в окне свойств реквизита на вкладке «Дополнительные» путём включения чекбокса «Отбор» (см. рис. выше).

Нумераторы

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

Метаданные.Нумератор(<ИдентификаторНумератора>).<ИмяАтрибута>

здесь

  • <ИдентификаторНумератора> — идентификатор конкретного нумератора документов или его порядковый номер в структуре метаданных;
  • <ИмяАтрибута> — имя конкретного атрибута, к которому необходимо получить доступ.

Пример организации опроса атрибутов нумераторов документов по номеру нумератора в структуре метаданных:

// Опрос атрибутов нумераторов документов
КолвоНум = Метаданные.Нумератор();
Для i=1 По КолвоНум Цикл
   Сообщить("===============Нумератор==================");
   Сообщить("Идентификатор: " + Метаданные.Нумератор(i).Идентификатор);
   Сообщить("Синоним: " + Метаданные.Нумератор(i).Синоним);
   Сообщить("Комментарий: " + Метаданные.Нумератор(i).Комментарий);
   Сообщить("Тип номера: " + Метаданные.Нумератор(i).ТипНомера);
   Сообщить("Длина номера: " + Метаданные.Нумератор(i).ДлинаНомера);
   Сообщить("Автонумерация: " + Метаданные.Нумератор(i).АвтоНумерация);
   Сообщить("Контроль уникальности: " + Метаданные.Нумератор(i).КонтрольУникальности);
КонецЦикла;

Нумераторы документов имеют следующие атрибуты:

Идентификатор — атрибут, содержащий идентификатор нумератора документов. Установить значение данного атрибута можно в окне свойств конкретного нумератора на вкладке «Общие» (см. рис. ниже).

Свойства нумератора

Синоним — атрибут, содержащий синоним идентификатора нумератора документов. Установить значение данного атрибута можно в окне свойств конкретного нумератора на вкладке «Общие» (см. рис. выше).

Комментарий — атрибут, содержащий комментарий (описание) к нумератору документов. Установить значение данного атрибута можно в окне свойств конкретного нумератора на вкладке «Общие» (см. рис. выше).

ТипНомера — атрибут, содержащий информацию о типе номера в нумераторе. Возможные значения атрибута: "Числовой" или "Текстовый". Установить значение данного атрибута можно в окне свойств конкретного нумератора на вкладке «Нумератор» (см. рис. ниже).

Свойства нумератора

ДлинаНомера — атрибут, содержащий информацию о длине номера (количестве знаков в номере) документа, устанавливаемого нумератором. Длина номера лежит в пределах от 3-х до 20-и знаков. Установить значение данного атрибута можно в окне свойств конкретного нумератора на вкладке «Нумератор» (см. рис. выше).

ПериодичностьНомера — атрибут, содержащий информацию о варианте установленной периодичности номера. Возможные значения: "Все", "Год", "Квартал", "Месяц" или "День". Установить значение данного атрибута можно в окне свойств конкретного нумератора на вкладке «Нумератор» (см. рис. выше).

КонтрольУникальности — атрибут, содержащий признак наличия контроля уникальности номеров документов. Возможные значения: 1 — контроль включен, 0 — контроль отключен. Установить значение данного атрибута можно в окне свойств конкретного нумератора на вкладке «Нумератор» (см. рис. выше).

Последовательности документов

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

Метаданные.Последовательность(<ИдентификаторПоследовательности>).<ИмяАтрибута>

здесь

  • <ИдентификаторПоследовательности> — идентификатор конкретной последовательности документов или её порядковый номер в структуре метаданных;
  • <ИмяАтрибута> — имя конкретного атрибута, к которому необходимо получить доступ.

Пример организации опроса атрибутов последовательностей документов по номеру последовательности в структуре метаданных:

// Опрос атрибутов последовательностей документов
КолвоПосл = Метаданные.Последовательность();
Для i=1 По КолвоПосл Цикл
   Сообщить("===============Последовательность==================");
   Сообщить("Идентификатор: " + Метаданные.Последовательность(i).Идентификатор);
   Сообщить("Синоним: " + Метаданные.Последовательность(i).Синоним);
   Сообщить("Комментарий: " + Метаданные.Последовательность(i).Комментарий);
КонецЦикла;

Последовательности документов имеют следующие атрибуты:

Идентификатор — атрибут, содержащий идентификатор последовательности документов. Установить значение данного атрибута можно в окне свойств конкретной последовательности на вкладке «Общие» (см. рис. ниже).

Свойства последовательности

Синоним — атрибут, содержащий синоним идентификатора последовательности документов. Установить значение данного атрибута можно в окне свойств конкретной последовательности на вкладке «Общие» (см. рис. выше).

Комментарий — атрибут, содержащий комментарий (описание) к последовательности документов. Установить значение данного атрибута можно в окне свойств конкретной последовательности на вкладке «Общие» (см. рис. выше).

ОбластьРаспространения — атрибут, содержащий информацию об области распространения данной последовательности. Возможные значения атрибута: "Отдельные" или "ВЦентре". Атрибут имеет смысл только при установленной компоненте УРБД («Управление распределёнными базами данных»). При этом в окне свойств объекта появляется дополнительная вкладка «Миграция», на которой и отображается переключатель с соответствующими значениями (см. рис. ниже).

Свойства последовательности

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

Окно редактирования последовательности

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

Работа с массивом ссылок в атрибутах объекта метаданных "Последовательность"

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

Пример организации перебора ссылок в атрибуте Документы:

Для i=1 По Метаданные.Последовательность(<Идентификатор>).Документы.Количество() Цикл
   Сообщить("В последовательность " + Метаданные.Последовательность(<Идентификатор>).Представление() +
      " входит такой документ, как " +
      Метаданные.Последовательность(<Идентификатор>).Документы.Получить(i).Представление());
КонецЦикла;

здесь <Идентификатор> — идентификатор последовательности, атрибут которой содержит исследуемый список ссылок.

Аналогичным образом организуется перебор ссылок и в атрибуте ВлияющиеДвижения, но здесь нам предстоит определить тип полученного объекта (счет это или регистр):

Для i=1 По Метаданные.Последовательность(<Идентификатор>).ВлияющиеДвижения.Количество() Цикл
   Попытка
      Движ = Метаданные.Последовательность(<Идентификатор>).ВлияющиеДвижения.Получить(i);
   Исключение
      Сообщить("Нет либо последовательности, либо влияющих движений");
   КонецПопытки;
   Попытка
      Стр = Движ.Идентификатор;
      Тип = "Регистр ";
   Исключение
      Стр = Движ.КодСчета;
      Тип = "Счет ";
   КонецПопытки;
   Сообщить("Движение № " + i + " - " + Тип + Стр);
КонецЦикла;

Журналы документов

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

Метаданные.Журнал(<ИдентификаторЖурнала>).<ИмяАтрибута>

здесь

  • <ИдентификаторЖурнала> — идентификатор конкретного журнала документов или его порядковый номер в структуре метаданных;
  • <ИмяАтрибута> — имя конкретного атрибута, к которому необходимо получить доступ.

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

// Опрос атрибутов журналов документов
КолвоЖурн = Метаданные.Журнал();
Для i=1 По КолвоЖурн Цикл
   Сообщить("===============Журнал==================");
   Сообщить("Идентификатор: " + Метаданные.Журнал(i).Идентификатор);
   Сообщить("Синоним: " + Метаданные.Журнал(i).Синоним);
   Сообщить("Комментарий: " + Метаданные.Журнал(i).Комментарий);
   Сообщить("Тип журнала: " + Метаданные.Журнал(i).ТипЖурнала);
   Сообщить("Полный журнал: " + Метаданные.Журнал(i).ДляПолногоЖурнала);
   Сообщить("Журнал подчинённых: " + Метаданные.Журнал(i).ДляЖурналаПодчиненныхДокументов);
   Сообщить("Основная форма: " + Метаданные.Журнал(i).ОсновнаяФорма);
   Сообщить("Форма для выбора: " + Метаданные.Журнал(i).ОсновнаяФормаДляВыбора);
КонецЦикла;

Журналы документов имеют следующие атрибуты:

Идентификатор — атрибут, содержащий идентификатор журнала документов. Установить значение данного атрибута можно в окне редактирования конкретного журнала (см. рис. ниже).

Окно редактирования журнала

Синоним — атрибут, содержащий синоним идентификатора журнала документов. Установить значение данного атрибута можно в окне редактирования конкретного журнала (см. рис. выше).

Комментарий — атрибут, содержащий комментарий (описание) к журналу документов. Установить значение данного атрибута можно в окне редактирования конкретного журнала (см. рис. выше).

ТипЖурнала — атрибут, содержащий информацию о типе журнала. Возможные значения: "Общий", "Обычный" или "Дополнительный". Значение атрибута устанавливается в окне редактирования журнала переключателем «Тип журнала» (см. рис. выше).

ДляПолногоЖурнала — атрибут, содержащий признак полного журнала. Возможные значения атрибута: 1 — журнал используется в качестве полного журнала; 0 – журнал не используется в качестве полного журнала. Значение атрибута устанавливается в окне редактирования журнала путём включения соответствующего чекбокса (см. рис. выше).

ДляЖурналаПодчиненныхДокументов — атрибут, содержащий признак журнала подчинённых документов. Возможные значения атрибута: 1 — журнал используется в качестве журнала подчинённых документов; 0 – журнал не используется в качестве журнала подчинённых документов. Значение атрибута устанавливается в окне редактирования журнала путём включения соответствующего чекбокса (см. рис. выше).

Состав — атрибут, содержащий список ссылок на документы, включаемые в журнал. Значение атрибута устанавливается в окне редактирования журнала с помощью группы элементов «Документы» (см. рис. выше), но только для дополнительных журналов.

Примечание: Просмотр ссылок в данном атрибуте имеет смысл только для дополнительных журналов, так как в состав общего журнала входят все документы, а состав обычного журнала возвращается перебором всех документов с проверкой журнала на соответствие. Для перебора ссылок, содержащихся в атрибуте дополнительных журналов, можно воспользоваться методами Количество() и Получить(), речь о которых пойдёт чуть далее.

ОсновнаяФорма — атрибут, содержащий полный идентификатор основной (рабочей) формы журнала (например, "Журнал.Касса.ФормаСписка") или пустая строка, если форма не определена. Чтобы задать значение данного атрибута, необходимо щёлкнуть правой кнопкой мыши по значку конкретного журнала (см. рис. ниже) и в появившемся меню последовательно выбрать пункты «Редактировать форму -> Редактировать».

Выбор формы журнала

Выбор конкретной формы осуществляется в появившемся на экране окне с помощью кнопки «Основная»:

Окно 'Формы списков'

ОсновнаяФормаДляВыбора — атрибут, содержащий полный идентификатор формы журнала, предназначенной для выбора (например, "Журнал.Общий.ДляВыбора"), или пустая строка, если форма не определена. Процесс задания значения описан выше, но последнее действие осуществляется с помощю кнопки «Для выбора».

Работа с массивом ссылок в атрибутах объекта метаданных "Журнал документов"

Атрибут Состав объекта метаданных "Журнал документов" содержит список ссылок на несколько других объектов. Для перебора таких массивов ссылок используются специальные методы Количество() и Получить(). Первый из них позволяет получить количество ссылок в списке, а второй выбирает объект из списка по его порядковому номеру.

Пример организации перебора ссылок в атрибуте:

Для i=1 По Метаданные.Журнал(<Идентификатор>).Состав.Количество() Цикл
   Сообщить("В журнале " + Метаданные.Журнал(<Идентификатор>).Представление() +
      " содержатся такие документ, как " +
      Метаданные.Журнал(<Идентификатор>).Состав.Получить(i).Представление());
КонецЦикла;

здесь <Идентификатор> — идентификатор журнала, атрибут которого содержит исследуемый список ссылок.

Примечание: Как я уже говорил ранее, просмотр ссылок в данном атрибуте имеет смысл только для дополнительных журналов, так как в состав общего журнала входят все документы, а состав обычного журнала удобнее исследовать перебором всех документов с проверкой журнала на соответствие.

Работа с формами списка объекта метаданных "Журнал документов"

Получить общее количество имеющихся форм списка журнала можно с помощью метода ФормаСписка(), записываемого без параметров. Для получения же доступа к атрибутам конкретной формы списка конкретного журнала используется этот же метод (но уже с указанным параметром) и имя атрибута, записанное через точку после записи вызова метода:

Метаданные.Журнал(<ИдентификаторЖурнала>).ФормаСписка(<ИдентификаторФормы>).<ИмяАтрибута>

здесь

  • <ИдентификаторЖурнала> — идентификатор конкретного журнала или его порядковый номер в структуре метаданных;
  • <ИдентификаторФормы> — идентификатор конкретной формы списка или её порядковый номер в структуре метаданных;
  • <ИмяАтрибута> — имя конкретного атрибута, к которому необходимо получить доступ.

Пример организации перебора форм списка журнала по их номеру в структуре метаданных:

// Выведем список форм журнала
Для i=1 По Метаданные.Журнал(<Идентификатор>).ФормаСписка() Цикл
   Сообщить(Метаданные.Журнал(<Идентификатор>).ФормаСписка(i).Идентификатор);
КонецЦикла;

здесь <Идентификатор> — идентификатор журнала, формы списка которого перебираются в цикле.

Формы списка объекта типа "Журнал документов" имеют следующие атрибуты:

Идентификатор — атрибут, содержащий идентификатор формы списка журнала. Значение атрибута устанавливается в окне свойств формы списка, которое вызывается с помощью кнопки «Изменить» из окна «Формы списков».

Окно 'Формы списков'

Синоним — неиспользуемый атрибут.

Комментарий — атрибут, содержащий комментарий (описание) к форме списка журнала. Установить значение данного атрибута можно в окне «Формы списков» (см. рис. выше), щёлкнув по кнопке «Изменить».

Работа с графами (столбцами) журнала документов

Прежде, чем начать разговор о работе с графами журналов, следует оговориться, что речь здесь пойдёт только о дополнительных графах, добавляемых самими разработчиками конфигураций. Список таких граф можно увидеть в окне редактирования журнала (см. рис. ниже). К их числу не относятся обязательные графы ДатаДок, ВремяДок, НомерДок и ВидДок, которые добавляются автоматически в момент создания нового журнала.

Окно редактирования журнала

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

Метаданные.Журнал(<ИдентификаторЖурнала>).Графа(<ИдентификаторГрафы>).<ИмяАтрибута>

здесь

  • <ИдентификаторЖурнала> — идентификатор конкретного журнала или его порядковый номер в структуре метаданных;
  • <ИдентификаторГрафы> — идентификатор конкретной графы или её порядковый номер в структуре метаданных;
  • <ИмяАтрибута> — имя конкретного атрибута, к которому необходимо получить доступ.

Пример организации перебора граф журнала по их номеру в структуре метаданных:

// Выведем список граф журнала
Для i=1 По Метаданные.Журнал(<Идентификатор>).Графа() Цикл
   Сообщить(Метаданные.Журнал(<Идентификатор>).Графа(i).Идентификатор);
КонецЦикла;

здесь <Идентификатор> — идентификатор журнала, графы которого перебираются в цикле.

Графы журнала документов имеют следующие атрибуты:

Идентификатор — атрибут, содержащий идентификатор графы журнала. Значение атрибута устанавливается в окне редактирования графы (см. рис. ниже), которое вызывается с помощью кнопок «Изменить» или «Новая» из окна редактирования конкретного журнала (см. рис. выше).

Окно редактирования графы

Синоним — атрибут, содержащий синоним идентификатора графы журнала. Значение атрибута устанавливается в окне редактирования графы (см. рис. выше).

Комментарий — атрибут, содержащий комментарий (описание) к графе журнала. Значение атрибута устанавливается в окне редактирования графы (см. рис. выше).

Ссылки — атрибут, содержащий список ссылок на реквизиты документов, формирующие содержимое данной графы. Для перебора таких ссылок, содержащихся в атрибуте, как я уже неоднократно говорил ранее, можно воспользоваться методами Количество() и Получить().

Графы отбора

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

Метаданные.ГрафаОтбора(<ИдентификаторГрафыОтбора>).<ИмяАтрибута>

здесь

  • <ИдентификаторГрафыОтбора> — идентификатор конкретной графы отбора или её порядковый номер в структуре метаданных;
  • <ИмяАтрибута> — имя конкретного атрибута, к которому необходимо получить доступ.

Пример организации опроса атрибутов граф отбора по номеру графы в структуре метаданных:

// Опрос атрибутов граф отбора
КолвоГО = Метаданные.ГрафаОтбора();
Для i=1 По КолвоГО Цикл
   Сообщить("===============Графа отбора==================");
   Сообщить("Идентификатор: " + Метаданные.ГрафаОтбора(i).Идентификатор);
   Сообщить("Синоним: " + Метаданные.ГрафаОтбора(i).Синоним);
   Сообщить("Комментарий: " + Метаданные.ГрафаОтбора(i).Комментарий);
   Сообщить("Тип значения графы: " + Метаданные.ГрафаОтбора(i).Тип);
   Сообщить("Вид значения графы: " + Метаданные.ГрафаОтбора(i).Вид);
   Сообщить("Отбор пустых значений: " + Метаданные.ГрафаОтбора(i).ОтборПустыхЗначений);
КонецЦикла;

Графы отбора имеют следующие атрибуты:

Идентификатор — атрибут, содержащий идентификатор графы отбора. Значение атрибута устанавливается в окне редактирования графы отбора (см. рис. ниже) в поле «Идентификатор».

Окно редактирования графы отбора

Синоним — атрибут, содержащий синоним идентификатора графы отбора. Значение атрибута устанавливается в окне редактирования графы отбора (см. рис. выше).

Комментарий — атрибут, содержащий комментарий (описание) к графе отбора. Значение атрибута устанавливается в окне редактирования графы отбора (см. рис. выше).

Тип — атрибут, содержащий информацию о типе значения графы отбора ("Дата", "Строка", "Число", "Справочник" и т.п.). Тип значения атрибута строковый. Значение атрибута устанавливается в окне редактирования графы отбора в поле «Тип значения отбора» (см. рис. выше).

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

ОтборПустыхЗначений — атрибут, содержащий признак отбора пустых значений графы отбора. Возможные значения атрибута: 1 — отбирать; 0 — не отбирать. Значение атрибута устанавливается в окне редактирования графы отбора путём включения соответствующей опции (см. рис. выше).

Ссылки — атрибут, содержащий список ссылок на элементы метаданных, формирующих данную графу отбора журнала. Значение атрибута устанавливается в окне редактирования графы отбора с помощью специальной группы элементов (см. рис. выше). Для перебора ссылок, содержащихся в атрибуте, можно воспользоваться методами Количество() и Получить(), речь о которых пойдёт далее.

Работа с массивом ссылок в атрибутах граф отбора

Атрибут Ссылки графы отбора содержит список ссылок на несколько других объектов. Для перебора таких массивов ссылок используются специальные методы Количество() и Получить(). Первый из них позволяет получить количество ссылок в списке, а второй выбирает объект из списка по его порядковому номеру.

Пример организации перебора ссылок в атрибуте:

Для i=1 По Метаданные.ГрафаОтбора(<Идентификатор>).Ссылки.Количество() Цикл
   Сообщить(Метаданные.ГрафаОтбора(<Идентификатор>).Ссылки.Получить(i).ПолныйИдентификатор());
КонецЦикла;

здесь <Идентификатор> — идентификатор графы отбора, атрибут которой содержит исследуемый список ссылок.

Объект метаданных "Перечисление"

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

Метаданные.Перечисление(<Идентификатор>).<ИмяАтрибута>

здесь

  • <Идентификатор> — идентификатор конкретного перечисления или его порядковый номер в структуре метаданных;
  • <ИмяАтрибута> — имя конкретного атрибута, к которому необходимо получить доступ.

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

// Выведем на экран сведения об основных атрибутах перечислений
Для i=1 По Метаданные.Перечисление() Цикл
   ТекПереч = Метаданные.Перечисление(i);
   Сообщить("===============Перечисление==================");
   Сообщить("Идентификатор: " + ТекПереч.Идентификатор);
   Сообщить("Синоним: " + ТекПереч.Синоним);
   Сообщить("Комментарий: " + ТекПереч.Комментарий);
   Для j=1 По ТекПереч.Значение() Цикл
      ТекЗнач = ТекПереч.Значение(j);
      Сообщить("------------------Значение-------------------");
      Сообщить("Идентификатор: " + ТекЗнач.Идентификатор);
      Сообщить("Комментарий: " + ТекЗнач.Комментарий);
      Сообщить("Представление: " + ТекЗнач.Представление);
   КонецЦикла;
КонецЦикла;

Объект метаданных "Перечисление" имеют следующие атрибуты:

Идентификатор — атрибут, содержащий идентификатор перечисления. Значение атрибута устанавливается в окне редактирования конкретного перечисления (см. рис. ниже) в поле «Идентификатор».

Окно редактирования перечисления

Синоним — атрибут, содержащий синоним идентификатора перечисления. Значение атрибута устанавливается в окне редактирования конкретного перечисления (см. рис. выше).

Комментарий — атрибут, содержащий комментарий (описание) к конкретному перечислению. Значение атрибута устанавливается в окне редактирования конкретного перечисления (см. рис. выше).

Работа со значениями перечислений

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

Метаданные.Перечисление(<ИдентификаторПеречисления>).Значение(<ИдентификаторЗначения>).<ИмяАтрибута>

здесь

  • <ИдентификаторПеречисления> — идентификатор перечисления или его порядковый номер в структуре метаданных;
  • <ИдентификаторЗначения> — идентификатор конкретного значения перечисления или его порядковый номер в структуре метаданных;
  • <ИмяАтрибута> — имя конкретного атрибута, к которому необходимо получить доступ.

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

// Выведем список значений перечисления
Для i=1 По Метаданные.Перечисление(<Идентификатор>).Значение() Цикл
   Сообщить(Метаданные.Перечисление(<Идентификатор>).Значение(i).Идентификатор);
КонецЦикла;

здесь <Идентификатор> — идентификатор перечисления, значения которого перебираются в цикле.

Значения объектов типа "Перечисление" имеют следующие атрибуты:

Идентификатор — атрибут, содержащий идентификатор значения перечисления. Значение атрибута устанавливается в окне свойств конкретного значения перечисления (см. рис. ниже) в поле «Идентификатор».

Окно свойств значения перечисления

Представление — атрибут, содержащий пользовательское представление значения перечисления. Значение атрибута устанавливается в окне свойств конкретного значения перечисления (см. рис. выше).

Комментарий — атрибут, содержащий комментарий (описание)к значению перечисления. Значение атрибута устанавливается в окне свойств конкретного значения перечисления (см. рис. выше).

Объект метаданных "Отчет"

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

Метаданные.Отчет(<Идентификатор>).<ИмяАтрибута>

здесь

  • <Идентификатор> — идентификатор конкретного отчёта или его порядковый номер в структуре метаданных;
  • <ИмяАтрибута> — имя конкретного атрибута, к которому необходимо получить доступ.

Пример организации опроса атрибутов отчётов по номеру отчёта в структуре метаданных:

// Выведем на экран сведения об основных атрибутах отчётов
Для i=1 По Метаданные.Отчет() Цикл
   ТекОтч = Метаданные.Отчет(i);
   Сообщить("===============Отчет==================");
   Сообщить("Идентификатор: " + ТекОтч.Идентификатор);
   Сообщить("Синоним: " + ТекОтч.Синоним);
   Сообщить("Комментарий: " + ТекОтч.Комментарий);
КонецЦикла;

Объект метаданных "Отчет" имеют следующие атрибуты:

Идентификатор — атрибут, содержащий идентификатор отчёта. Значение атрибута устанавливается в окне свойств конкретного отчёта (см. рис. ниже) в поле «Идентификатор».

Свойства отчёта

Синоним — атрибут, содержащий синоним идентификатора отчёта. Значение атрибута устанавливается в окне свойств конкретного отчёта (см. рис. выше).

Комментарий — атрибут, содержащий комментарий (описание) к конкретному отчёту. Значение атрибута устанавливается в окне свойств отчёта (см. рис. выше).

Объект метаданных "Обработка"

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

Метаданные.Обработка(<Идентификатор>).<ИмяАтрибута>

здесь

  • <Идентификатор> — идентификатор конкретной обработки или её порядковый номер в структуре метаданных;
  • <ИмяАтрибута> — имя конкретного атрибута, к которому необходимо получить доступ.

Пример организации опроса атрибутов обработок по номеру обработки в структуре метаданных:

// Выведем на экран сведения об основных атрибутах обработок
Для i=1 По Метаданные.Обработка() Цикл
   ТекОбр = Метаданные.Обработка(i);
   Сообщить("===============Обработка==================");
   Сообщить("Идентификатор: " + ТекОбр.Идентификатор);
   Сообщить("Синоним: " + ТекОбр.Синоним);
   Сообщить("Комментарий: " + ТекОбр.Комментарий);
КонецЦикла;

Объект метаданных "Обработка" имеют следующие атрибуты:

Идентификатор — атрибут, содержащий идентификатор обработки. Значение атрибута устанавливается в окне свойств конкретной обработки (см. рис. ниже) в поле «Идентификатор».

Свойства обработки

Синоним — атрибут, содержащий синоним идентификатора обработки. Значение атрибута устанавливается в окне свойств конкретной обработки (см. рис. выше).

Комментарий — атрибут, содержащий комментарий (описание) к конкретной обработке. Значение атрибута устанавливается в окне свойств обработки (см. рис. выше).

Дополнительные методы для работы с метаданными

Проверка факта позиционирования объекта

Метод Выбран() (англоязычный синоним — Selected()) возвращает число со значением 1, если объект соответствует объекту метаданных (спозиционирован), или 0 — если не соответствует (не спозиционирован). Параметры у метода отсутствуют.

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

Если Метаданные.Справочник("Организации").Выбран() = 1 Тогда
   Сообщить("Есть справочник органиазаций");
КонецЕсли;

или при обращении по номеру (в цикле, например):

Для i=1 По Метаданные.Константа() Цикл
   Если Метаданные.Константа(i).Выбран() = 1 Тогда
       . . .
   КонецЕсли;
КонецЦикла;

Получение доступа к родителю объекта

Метод Родитель() (англоязычный синоним — Parent()) возвращает объект метаданных, которому подчинен данный объект. Параметры у метода отсутствуют.

Пример использования метода:

Сообщить("Это реквизит справочника " + Метаданные.Справочник(i).Реквизит(j).Родитель().Представление());

Получение полного идентификатора объекта

Метод ПолныйИдентификатор() (англоязычный синоним — FullIdentifier()) возвращает идентификатор объекта с идентификаторами его родителей через точку, например, "Документ.Счет.Цена". Параметры у метода отсутствуют.

Пример использования метода:

Сообщить("Реквизит " + Метаданные.Справочник(i).Реквизит(j).ПолныйИдентификатор());

Получение пользовательского представления объекта

Метод Представление() (англоязычный синоним — Present()) возвращает синоним объекта, а если он не задан, то идентификатор. Параметры у метода отсутствуют.

Пример использования метода:

// Получим список видов документов
Спис = СоздатьОбъект("СписокЗначений");
Для i=1 По Метаданные.Документ() Цикл
   Идент = Метаданные.Документ(i).Идентификатор;
   Предст = Метаданные.Документ(i).Представление();
   Спис.ДобавитьЗначение(Идент, Предст);
КонецЦикла;

Получение длины значения представления объекта

Метод ДлинаПредставленияЗначения() (англоязычный синоним — ValuePresentLen()) для типизированных объектов типа "реквизит" и аналогичных, возвращает длину представления значения. Данный метод может использоваться, например, для определения ширины столбца в универсальных отчётах, выводящих данные объектов различных видов.

Синтаксис метода:

ДлинаПредставленияЗначения(<Мин>, <Макс>, <ДлПоУмолч>)

здесь

  • <Мин> — минимальная величина значения, которую метод будет возвращать. Параметр является необязательным. Если параметр не указан, то минимальная величина возвращаемого значения не ограничивается;
  • <Макс> — максимальная величина значения, которую метод будет возвращать. Праметр является необязательным. Если параметр не указан, то максимальная величина возвращаемого значения не ограничивается;
  • <ДлПоУмолч> — величина значения для метаданных, для которых длина представления не определена. Параметр задаёт длину для таких типов данных, как "справочник неопределённого типа" и др. аналогичных.

Пример использования метода:

Ширина = Метаданные.Документ(i).РеквизитШапки(j).ДлинаПредставленияЗначения(5, 50, 30);

Другие статьи по схожей тематике