(V 7.7) Справка по работе с метаданными (с примерами)

20.06.11

Разработка - Механизмы платформы 1С

Когда то, мне очень потребовалось ПРОГРАММНО узнать ЕСЛИ ли на конфигурации пароль....и на этом этапе я познакомился с МЕТАДАННЫМИ 1С.


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

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

Теперь рассмотрим подробно все разделы метаданных. Для краткости будут описаны только основные свойства. Всю доступную информацию о метаданных можно получить в конфигураторе: Главное меню -> Конфигурация -> Описание структуры метаданных.

(Константы)

С помощью объекта метаданных «Константа» можно получить доступ к списку констант конфигурации и к свойствам каждой из констант.

Метаданные.Константа() - возвращает количество констант в конфигурации. Доступ к свойствам константы возможен либо по ее порядковому номеру в конфигурации, либо по ее идентификатору. Метаданные.Константа(["Идентификатор"/Номер]).

У константы есть следующие свойства:
- Идентификатор - идентификатор константы (Cтрока).
- Синоним - синоним константы (Cтрока).
- Комментарий - комментарий константы (Cтрока).
- Тип - тип константы (Cтрока).
- Вид - вид (Cтрока), (если тип - Справочник).
- Длина - длина (Число), (если тип - Строка или Число).
- Точность - точность (если тип - Число).
- НеОтрицательный - запрет отрицательных значений (Число [0/1]).
- РазделятьТриады - разделять триады (Число [0/1]).
- Периодический - является ли данная константа периодической (Число [0/1]).

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

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

(Справочники) 

Количество справочников в конфигурации можно узнать следующим образом: Метаданные.Справочник().

Для работы с метаданными справочников используется такая конструкция: Метаданные.Справочник(["Идентификатор"/Номер]).

У каждого справочника доступны следующие свойства:
- Идентификатор - идентификатор справочника (Cтрока).
- Синоним - синоним справочника (Cтрока).
- Комментарий - комментарий справочника (Cтрока).
- Владелец - ссылка на справочник-владелец (МетаданныеСсылка).
- КоличествоУровней - количество уровней в справочнике (Число).
- ДлинаКода - длина кода элемента/группы справочника (Число).
- ДлинаНаименования - длина наименования элемента/группы справочника (Число).
- СерииКодов - вариант назначения кодов справочника (Cтрока ["ВПределахПодчинения" / "ВесьСправочник"]).
- ТипКода - тип кода (Cтрока ["Числовой" / "Текстовый"]).
- ОсновноеПредставление - режим представления элемента/группы справочника (Cтрока ["ВВидеКода" / "ВВидеНаименования"]).
- КонтрольУникальности - контроль уникальность элементов справочника (Число [0 / 1]).
- АвтоНумерация - автоматическая нумерация элементов/групп справочника (Число [1 / 2]). 1 - нет автонумерации, 2 - есть.
- ГруппыВпереди - показывать группы в начале списка (Число [0 / 1]).
- СпособРедактирования - способ редактирования элемента/группы (Cтрока ["ВСписке" / "ВДиалоге" / "ОбоимиСпособами"]).
- ЕдинаяФормаЭлемента - одна форма для элемента и группы(Число [0 / 1]).
- ОсновнаяФорма - ссылка на основную форму списка справочника (МетаданныеСсылка).
- ОсновнаяФормаДляВыбора - ссылка на форму списка для выбора справочника (МетаданныеСсылка).
Количество реквизитов у справочника в конфигурации можно узнать следующим образом: Метаданные.Справочник(["Идентификатор"/Номер]).Реквизит()



Для доступа к свойствам реквизита справочника используется следующая конструкция:
Метаданные.Справочник(["Идентификатор"/Номер]).Реквизит(["Идентификатор"/Номер]), то есть после определения анализируемого справочника по его идентификатору или порядковому номеру в конфигурации идет определение реквизитов справочника по их идентификатору или порядковому номеру.

У каждого из реквизитов справочника доступны следующие свойства:
- Идентификатор - идентификатор реквизита справочника (Cтрока).
- Синоним - синоним реквизита справочника (Cтрока).
- Комментарий - комментарий реквизита справочника (Cтрока).
- Тип - тип реквизита справочника (Cтрока).
- Вид - вид реквизита справочника (Cтрока), (если тип - Справочник).
- Длина - длина (Число), (если тип - Строка или Число).
- Точность - точность (если тип - Число).
- НеОтрицательный - запрет отрицательных значений (Число [0 / 1]).
- РазделятьТриады - разделять триады (Число [0 / 1]).
- Периодический - является ли данный реквизит справочника периодическим (Число [0 / 1]).
- Сортировка - показывает, возможен ли отбор или поиск по данному реквизиту методами НайтиПоРеквизиту() или ВыбратьЭлементыПоРеквизиту()(Число [0 / 1]).
- Отбор - показывает, возможен ли интерактивный отбор элементов (Число [0 / 1]).
- РучноеИзменение - показывает, разрешено ли ручное изменение для данного реквизита, если он периодический (Число [0 / 1]).
- ИзменяетсяДокументами - показывает возможность установления периодического реквизита документами(Число [0 / 1]).
- Использование - режим использования реквизита справочника (Cтрока ["ДляЭлемента","ДляГруппы","ДляОбоих"]).

Далее следует описание всех доступных форм списка справочника.

Количество имеющихся форм можно узнать следующим образом: Метаданные.Справочник(["Идентификатор"/Номер]).ФормаСписка();

У формы списка есть три доступных свойства:
- Идентификатор - идентификатор формы списка(Cтрока).
- Синоним - синоним формы списка(Cтрока).
- Комментарий - комментарий формы списка(Cтрока).
 

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

Для получения сведения о количестве общих реквизитов документов из метаданных используется конструкция: Метаданные.ОбщийРеквизитДокумента();

Для доступа к свойствам каждого реквизита в свойствах общего реквизита документа используется следующая конструкция:
Метаданные.ОбщийРеквизитДокумента(["Идентификатор"/Номер]).Реквизит(["Идентификатор"/Номер]), то есть после определения анализируемого общего реквизита документа по его идентификатору или порядковому номеру в конфигурации идет определение реквзитов общего реквизита документа по их идентификатору или порядковому номеру.

У каждого из общих реквизитов документа доступны следующие свойства:
- Идентификатор - идентификатор общего реквизита документа (Cтрока).
- Синоним - синоним реквизита общего реквизита документа (Cтрока).
- Комментарий - комментарий реквизита общего реквизита документа (Cтрока).
- Тип - тип реквизита общего реквизита документа (Cтрока).
- Вид - вид реквизита общего реквизита документа (Cтрока), (если тип - Справочник).
- Длина - длина (Число), (если тип - Строка или Число).
- Точность - точность (если тип - Число).
- НеОтрицательный - запрет отрицательных значений (Число [0/1]).
- РазделятьТриады - разделять триады (Число [0/1]).
- Сортировка - показывает, режим размещения поля, содержащего данный общий реквизит документа в базе данных (Число [0/1]). Если 0 - то такое поле содержится в шапке каждого из документов, если 1 - такое поле не содержится в документах, а содержится в журнале документов 1sjourn.

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

(Нумераторы) 

Нумераторы в 1С - очень полезная вещь. Они позволяют вести сквозную нумерацию по нескольким различным видам документов.

Количество нумераторов в конфигурации можно узнать следующим образом: Метаданные.Нумератор().

Для работы с метаданными нумераторов используется такая констукция: Метаданные.Нумератор(["Идентификатор"/Номер]).

У каждого нумератора доступны следующие свойства:
- Идентификатор - идентификатор нумератора (Cтрока).
- Синоним - синоним нумератора (Cтрока).
- Комментарий - комментарий нумератора (Cтрока).
- ПериодичностьНомера - вариант установленной периодичности номера для данного нумератора (Строка ["Все"/"Год"/"Квартал"/"Месяц"/"День"]).
- ДлинаНомера - длина номера документа для этого нумератора (Число).
- ТипНомера - тип номера документа в нумераторе (Строка ["Числовой"/"Текстовый"]).
- АвтоНумерация - признак автонумерации документа Число ["1"/"2"]). Единица обозначает отсутствие автонумерации документов, двойка - наличие автонумерации.
- КонтрольУникальности - признак контроля уникальности номеров документов для данного нумератора Число ["0"/"1"]). Ноль - нет контроля, единица - контроль включен.

 (Документы)  

Для получения количества документов, присутствующих в конфигурации, используется следующая конструкция: Метаданные.Документ();

Для работы с метаданными документов используется такая констукция: Метаданные.Документ(["Идентификатор"/Номер]).
Присутствующая в метаданных информация описывает как свойства самого документа, так и свойства всех его реквизитов, как находящихся в шапке, так и в табличной части документа (об общих реквизитах документа можно прочитать здесь).



Для начала рассмотрим непосредственно свойства документа:
- Идентификатор - идентификатор документа (Cтрока).
- Синоним - синоним документа (Cтрока).
- Комментарий - комментарий документа (Cтрока).
- Журнал - ссылка на журнал, к которому относится данный документ (МетаданныеСсылка).
- ПериодичностьНомера - вариант установленной периодичности номера (Строка ["Все" / "Год" / "Квартал" / "Месяц" / "День"]).
- ДлинаНомера - длина номера документа (Число).
- ТипНомера - тип номера в документе (Строка ["Числовой" / "Текстовый"]).
- АвтоНумерация - признак автонумерации документа Число ["1" / "2"]). Единица обозначает отсутствие автонумерации документов, двойка - наличие автонумерации.
- КонтрольУникальности - признак контроля уникальности номеров документов Число ["0" / "1"]). Ноль - нет контроля, единица - контроль включен.
- Нумератор - ссылка на используемый в документе нумератор (МетаданныеСсылка).
- ОперативныйУчет - признак принадлежности документа к оперативному учету (Число ["0" / "1"]).
- Расчет - признак принадлежности документа к расчету (Число ["0" / "1"]).
- БухгалтерскийУчет - признак принадлежности документа к бухгалтерскому учету (Число ["0" / "1"]).
- СоздаватьОперацию - вариант создания операции в бухгалтерских документах (Строка ["Всегда" / "Выборочно" / "ТолькоПриПроведении"]).
- АвтоНумерацияСтрок - признак автоматической нумерации строк документа (Число ["0" / "1"]).
- АвтоудалениеДвижений - признак автоматического удаления движений (Число ["0" / "1"]).
- РедактированиеОпераций - признак разрешения редактировать операцию документа (Число ["0" / "1"]).
- РазрешитьПроведение - признак разрешения проведения документа (Число ["0" / "1"]).
- ВводимыеНаОснованииДокументы - список документов, вводимых на основании документов данного вида (МетаданныеСсылки).
- ОснованиеДляЛюбогоДокумента - признак принадлежности документа к бухгалтерскому учету (Число ["0" / "1"]).
- ОбластьРаспространения - область распространения данных документов этого вида (Строка ["ВсеИнформационныеБазы" / "МестоСоздания" / "МестоСозданияИЦентр"]).
- АвтоРегистрация - автоматическая регистрация изменений (Число ["0" / "1"]).
- ДополнительныеКодыИБ - дополнительные коды баз для компоненты УРБД (Строка).

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

Для получения количества реквизитов шапки документа используется обращение:
Метаданные.Документ(["Идентификатор"/Номер]).РеквизитШапки().

Для обращения к свойствам реквизита используется такая конструкция:
Метаданные.Документ(["Идентификатор"/Номер]).РеквизитШапки(["Идентификатор"/Номер]).

У каждого из реквизитов шапки документа доступны следующие свойства:
- Идентификатор - идентификатор реквизита документа (Cтрока).
- Синоним - синоним реквизита документа (Cтрока).
- Комментарий - комментарий реквизита документа (Cтрока).
- Тип - тип реквизита документа (Cтрока).
- Вид - вид реквизита (Cтрока), (если тип - Справочник).
- Длина - длина (Число), (если тип - Строка или Число).
- Точность - точность (если тип - Число).
- НеОтрицательный - запрет отрицательных значений (Число [0 / 1]).
- РазделятьТриады - разделять триады (Число [0 / 1]).

Для получения количества реквизитов табличной части документа используется обращение:
Метаданные.Документ(["Идентификатор"/Номер]).РеквизитТабличнойЧасти().

Для обращения к свойствам реквизита табличной части документа используется такая конструкция:
Метаданные.Документ(["Идентификатор"/Номер]).РеквизитТабличнойЧасти(["Идентификатор"/Номер]).

У каждого из реквизитов табличной части документа доступны следующие свойства:
- Идентификатор - идентификатор реквизита табличной части документа (Cтрока).
- Синоним - синоним реквизита табличной части документа (Cтрока).
- Комментарий - комментарий реквизита табличной части документа (Cтрока).
- Тип - тип реквизита документа (Cтрока).
- Вид - вид реквизита (Cтрока), (если тип - Справочник).
- Длина - длина (Число), (если тип - Строка или Число).
- Точность - точность (если тип - Число).
- НеОтрицательный - запрет отрицательных значений (Число [0 / 1]).
- РазделятьТриады - разделять триады (Число [0 / 1]).
- ИтогПоКолонке - признак наличия итога по колонке для данного реквизита табличной части документа (Число ["0" / "1"]).

(Журналы)  

Количество журналов в конфигурации можно узнать следующим образом: Метаданные.Журнал().

Для работы с метаданными журналов используется такая констукция: Метаданные.Журнал(["Идентификатор" / Номер]).

У каждого журнала доступны следующие свойства:
- Идентификатор - идентификатор журнала (Cтрока).
- Синоним - синоним журнала (Cтрока).
- Комментарий - комментарий журнала (Cтрока).
- ТипЖурнала - тип журнала (Cтрока ["Обычный" / "Общий" / "Дополнительный"]).
- Состав - Список документов, входящих в данный журнал (МетаданныеСсылки).
- ОсновнаяФорма - Основная форма журнала (МетаданныеСсылка).
- ОсновнаяФормаДляВыбора - Форма журнала, предназначенная для выбора документа (МетаданныеСсылка).
- ДляЖурналаПодчиненныхДокументов - признак использования данного журнала в качестве журнала подчиненных документов (Число ["0" / "1"]).
- ДляПолногоЖурнала - признак использования данного журнала в качестве полного журнала документов (Число ["0" / "1"]).

Кроме всего прочего, метаданные позволяют получить доступ к свойствам граф журнала. Количество существующих граф журнала определяется следующим образом: Метаданные.Журнал(["Идентификатор" / Номер]).Графа();.

Соответственно, чтобы получить доступ к свойствам конкретной графы используется следующая конструкция: Метаданные.Журнал(["Идентификатор" / Номер]).Графа(["Идентификатор" / Номер]).

У каждой графы журнала существует следующий набор свойств:
- Идентификатор - идентификатор графы журнала (Cтрока).
- Синоним - синоним графы журнала (Cтрока).
- Комментарий - комментарий графы журнала (Cтрока).
- Ссылки - список ссылок на реквизиты документов, составляющие содержимое данной графы (МетаданныеСсылки).

Далее следует описание всех доступных форм списка журнала.

Количество имеющихся форм можно узнать следующим образом: Метаданные.Журнал(["Идентификатор"/Номер]).ФормаСписка();

У формы списка есть три доступных свойства:
- Идентификатор - идентификатор формы списка(Cтрока).
- Синоним - синоним формы списка(Cтрока).
- Комментарий - комментарий формы списка(Cтрока).

(Перечисления) 

Количество перечислений в конфигурации можно узнать следующим образом: Метаданные.Перечисление();.

Для работы с метаданными перечислений используется такая констукция: Метаданные.Перечисление(["Идентификатор" / Номер]).

У каждого перечисления доступны следующие свойства:
- Идентификатор - идентификатор перечисления (Cтрока).
- Синоним - синоним перечисления (Cтрока).
- Комментарий - комментарий перечисления (Cтрока).

Далее следует описание всех доступных значений перечисления.

Количество имеющихся значений перечисления можно узнать следующим образом: Метаданные.Перечисление(["Идентификатор"/Номер]).Значение();

У каждого значения перечисления есть три доступных свойства:
- Идентификатор - идентификатор значения перечисления (Cтрока).
- Комментарий - комментарий значения перечисления (Cтрока).
- Представление - представление значения перечисления (Cтрока).

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


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


КонецЦикла;

 

(Отчеты и обработки)

Количество отчетов и обработок в конфигурации можно узнать следующим образом: Метаданные.Отчет(); и Метаданные.Обработка();.

Для работы с метаданными отчетов и обработок используется такие констукции: Метаданные.Отчет(["Идентификатор" / Номер]) и Метаданные.Обработка(["Идентификатор" / Номер]).

У каждого отчета и обработки доступны следующие свойства:
- Идентификатор - идентификатор отчета или обработки (Cтрока).
- Синоним - синоним отчета или обработки (Cтрока).
- Комментарий - комментарий отчета или обработки (Cтрока).

(Последовательности)

Количество последовательностей в конфигурации можно узнать следующим образом: Метаданные.Последовательность();.

Для работы с метаданными последовательностей используется такие констукции: Метаданные.Последовательность(["Идентификатор" / Номер]).

У каждой последовательности доступны следующие свойства:
- Идентификатор - идентификатор последовательности (Cтрока).
- Синоним - синоним последовательности (Cтрока).
- Комментарий - комментарий последовательности (Cтрока).
- ВлияющиеДвижения - список регистров, влияющих на данную последовательность (МетаданныеСсылки).
- Документы - список документов, входящих в данную последовательность (МетаданныеСсылки).

 (Регистры) 

Для получения количества регистров, присутствующих в конфигурации, используется следующая конструкция: Метаданные.Регистр();

Для работы с метаданными регистров используется такая констукция: Метаданные.Регистр(["Идентификатор"/Номер]).

У регистра доступны следующие свойства:
- Идентификатор - идентификатор регистра (Cтрока).
- Синоним - синоним регистра (Cтрока).
- Комментарий - комментарий регистра (Cтрока).
- ТипРегистра - тип регистра (Строка ["Остатки" / "Обороты"]).
- ПериодичностьРегистра - периодичность хранения оборотов для оборотного регистра (Cтрока ["День" / "Неделя" / "Декада" / "Месяц" / "Квартал" / "Год"]).
- БыстраяОбработкаДвижений - признак установленности быстрой обработки движений для регистра (Число ["0" / "1"]).
- МиграцияЗапрещена - Признак запрета миграции данного регистра в другие базы при использовании компоненты управления разпределенными базами данных (Число ["0" / "1"]).

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

Для получения количества измерений у регистра используется следующая конструкция: Метаданные.Регистр(["Идентификатор" / Номер]).Измерение();

Для доступа к свойствам измерения используется следующая конструкция: Метаданные.Регистр(["Идентификатор" / Номер]).Измерение(["Идентификатор" / Номер]);

У каждого из измерений регистра доступны следующие свойства:
- Идентификатор - идентификатор измерения регистра (Cтрока).
- Синоним - синоним измерения регистра (Cтрока).
- Комментарий - комментарий измерения регистра (Cтрока).
- Тип - тип измерения регистра (Cтрока).
- Вид - вид измерения регистра (Cтрока), (если тип - Справочник, Документ или Перечисление).
- Длина - длина (Число), (если тип - Строка или Число).
- Точность - точность (если тип - Число).
- НеОтрицательный - не используется.
- РазделятьТриады - разделять триады (Число [0 / 1]).
- ОтборДвижений - признак установленности отбора движений для регистра по данному реквизиту (фактически означает создание дополнительного индекса к таблице движений регистра).(Число ["0" / "1"]).
- ОтборИтогов - признак установленности отбора итогов для регистра по данному реквизиту (фактически означает создание дополнительного индекса к таблице итогов регистра).(Число ["0" / "1"]).

Для получения количества ресурсов у регистра используется следующая конструкция: Метаданные.Регистр(["Идентификатор" / Номер]).Ресурс();

Для доступа к свойствам ресурсов используется следующая конструкция: Метаданные.Регистр(["Идентификатор" / Номер]).Ресурс(["Идентификатор" / Номер]);

У каждого из ресурсов регистра доступны следующие свойства:
- Идентификатор - идентификатор ресурса регистра (Cтрока).
- Синоним - синоним ресурса регистра (Cтрока).
- Комментарий - комментарий ресурса регистра (Cтрока).
- Тип - не используется, всегда "Число".
- Вид - не используется.
- Длина - длина (Число).
- Точность - точность (Число).
- НеОтрицательный - не используется.
- РазделятьТриады - разделять триады (Число [0 / 1]).

Для получения количества реквизитов у регистра используется следующая конструкция: Метаданные.Регистр(["Идентификатор" / Номер]).Реквизит();

Для доступа к свойствам реквизитов используется следующая конструкция: Метаданные.Регистр(["Идентификатор" / Номер]).Реквизит(["Идентификатор" / Номер]);

У каждого из ресурсов реквизитов доступны следующие свойства:
- Идентификатор - идентификатор реквизитов регистра (Cтрока).
- Синоним - синоним ресурса реквизитов (Cтрока).
- Комментарий - комментарий ресурса регистра (Cтрока).
- Тип - тип ресурса регистра (Cтрока).
- Вид - вид ресурса регистра (Cтрока), (если тип - Справочник, Документ или Перечисление).
- Длина - длина ресурса (Число), (если тип - Строка или Число).
- Точность - точность (если тип - Число).
- НеОтрицательный - запрет отрицательных значений (Число [0/1]).
- РазделятьТриады - разделять триады (Число [0 / 1]).
- Сортировка - признак установленного отбора движений по значению реквизита (фактически означачет дополнительный индекс по таблице движений регистра) (Число [0/1]).

(Графы отбора журналов) 

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

Для работы с метаданными граф отбора журналов используется такая констукция: Метаданные.ГрафаОтбора(["Идентификатор"/Номер]).

У графы отбора журнала доступны следующие свойства:
- Идентификатор - идентификатор графы отбора журнала (Cтрока).
- Синоним - синоним графы отбора журнала (Cтрока).
- Комментарий - комментарий графы отбора журнала (Cтрока).
- Ссылки - ссылки на элементы метаданных, формирующих данную графу отбора журнала (МетаданныеСсылки).
- ОтборПустыхЗначений - отбор пустых значений для графы отбора журнала (Число [0/1]).
- Тип - тип графы отбора журнала (Cтрока).
- Вид - вид графы отбора журнала (Cтрока), (если тип - Справочник, Документ или Перечисление).

(Свойства метаданных 1с) 

Здесь находится вся общая информация, описывающая конфигурацию 1с в целом:
- Метаданные.Идентификатор - идентификатор конфигурации (Cтрока). Пример: "Торговля+Склад, редакция 9.0"
- Метаданные.Синоним - синоним конфигурации (Cтрока).
- Метаданные.Комментарий - комментарий конфигурации (Cтрока).
- Метаданные.Пароль - наличие пароля на конфигурации (Число [0/1]).
- Метаданные.Язык - язык конфигурации (Cтрока). Пример: "Русский".
- Метаданные.Округление - выбранный в конфигурации вариант округления (Cтрока ["Окр1_5До2"/"Окр1_5До1"]).
- Метаданные.НепосредственноеУдалениеОбъектов - разрешено ли непосредственное удаление (Число [0/1]).
- Метаданные.АвторРазвернутаяИнформация - информация об авторе полная (Cтрока).
- Метаданные.АвторКороткаяИнформация - информация об авторе краткая (Cтрока).
- Метаданные.ЖурналПодчиненныхДокументов - журнал подчиненных документов (МетаданныеСсылка). Пример: "Журнал.Общий".
- Метаданные.ПолныйЖурнал - полный журнал документов (МетаданныеСсылка). Пример: "Журнал.Общий".

Тип реквизита метаданных 1с МетаданныеСсылка - это ссылка на другие объекты метаданных 1с.

 

Статью нашел на просторах сети

http://www.softpoint.ru/article_id77.htm 

См. также

Механизмы платформы 1С Программист Платформа 1С v7.7 Конфигурации 1cv7 Бесплатно (free)

В статье расписаны примеры из жизни использования "Виртуального" работника. Разобраны вопросы, возникающие при работе с ним.

28.11.2021    1864    user707242_Gold_karas    18    

5

Механизмы платформы 1С Программист Платформа 1С v7.7 Абонемент ($m)

Пример построения программного кода для достижения функционала обратных вызовов (call back) во внешних обработках исключительно штатными средствами. Тестировалось на платформе 1с77 релиз 027. Конфигурация значения не имеет.

1 стартмани

06.10.2018    7803    Vortigaunt    5    

11

Механизмы платформы 1С Программист Оперативный учет 7.7 Абонемент ($m)

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

1 стартмани

16.05.2018    10482    Vortigaunt    26    

5

Механизмы платформы 1С Программист Платформа 1С v7.7 Платформа 1С v8.3 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    95958    Serginio    116    

188

Механизмы платформы 1С Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

В 1С 8 наличие картинок товаров предусмотрено изначально, а в 7.7 такого нет. Проблема существует и ее исправляют, но это, как правило, частные случаи, касающиеся, например, печати прайса http://infostart.ru/public/289876/ , показу картинок в справочнике номенклатура http://infostart.ru/public/17125/, файловый менеджер картинок товара http://infostart.ru/public/15239/ или просто конфигурации работы с картинками http://infostart.ru/public/21142/ (не стремился дать полный обзор, поэтому не попавшие не обижайтесь :). Что не устроило – информация разбросана по статьям, необходимость дополнительно напрягаться, чтобы это заработало. Здесь я попытался собрать все «до кучи», а так же дать необходимые ссылки для желающих «копнуть вглубь».

1 стартмани

18.11.2014    44842    95    kitminsk    18    

20

Механизмы платформы 1С Программист Платформа 1С v7.7 Конфигурации 1cv7 Бесплатно (free)

Если вы используете в работе 1С:Предприятие 8.х, то наверняка знакомы и с замечательной системной процедурой, как ЗаполнитьЗначенияСвойств(). Ее использование помогает значительно упростить написание программного кода в ряде случае, делает его (код) более наглядным и простым. Но что же делать тем, кто до сих пор использует (постоянно или иногда) 1С:Предприятие 7.7?

24.07.2014    24253    tomvlad    5    

14

Механизмы платформы 1С Программист Платформа 1С v7.7 Конфигурации 1cv7 Россия Бесплатно (free)

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

02.07.2012    18984    maxpiter    62    

15
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Трактор 1254 02.02.10 17:39 Сейчас в теме
Жизненный пример работы с метаданными http://infostart.ru/public/59937/

А тут, надеюсь, скоро появится файл синтакс-помощника по метаданным от товарища Моисеенко http://infostart.ru/public/65091
2. Andry.Boris 59 02.02.10 17:47 Сейчас в теме
Автор: П.П. Моисеенко
Метаданные в ALS-формате
http://1c.proclub.ru/modules/mydownloads/personal.php?cid=124&lid=2716
Lena272; Tatitutu; +2 Ответить
3. CheBurator 2712 02.02.10 17:51 Сейчас в теме
ну еще можно отметить, что если сформировать текастовое описание конфигурации (штатноая возможность) - то все там и можно посмотреть...
Tatitutu; +1 Ответить
4. Valet 56 02.02.10 21:32 Сейчас в теме
А тут, надеюсь, скоро появится файл синтакс-помощника по метаданным от товарища Моисеенко

А по мне, ALS файлик по метаданным тут лучше смотреться будет.
Вводная дана и als бы на каждый день.
А в посте V0fka всего лишь несколько недокументированных функций.
8. Арчибальд 2709 03.02.10 18:08 Сейчас в теме
(4)
Прикрепленные файлы:
meta.als
Chai Nic; ZOMI; +2 Ответить
10. Valet 56 03.02.10 23:31 Сейчас в теме
(8)(6)Для тех кто для себя только открывает метаданные, als файл быстрее увидят, если он к статье прикреплен, а не к комментариям.
5. afanasko 35 03.02.10 09:34 Сейчас в теме
Это статья с сайта компании "СофтПойнт". Ооочень древний баян :-)

Вот ссылка: http://www.softpoint.ru/article_id77.htm
Tatitutu; +1 Ответить
6. Tatitutu 3847 03.02.10 11:53 Сейчас в теме
(5) Спасибо за ссылку на первоисточник - шапку поправил.
Ну что это баян - я с тобой не соглашусь. Хорошая и доступно понятная статья
по работе с метаданными.Как то так.
7. afanasko 35 03.02.10 18:00 Сейчас в теме
(5). Нееее. Я не в том смысле, что статья плохая, а в том, что написана была очень давно и много раз всплывала на различных ресурсах. Я ее прочел еще в 2007-м.
Статья очень полезная -- это несомненно. Без умения работы с метаданными практически невозможно создать что-то универсальное и гибкое ))).
Tatitutu; +1 Ответить
9. afanasko 35 03.02.10 18:09 Сейчас в теме
Кстати на сайте СофтПойнта еще очень много полезного. ;)
11. NoMax 233 04.02.10 11:37 Сейчас в теме
12. nss 10.02.10 11:20 Сейчас в теме
отличная статья. Давно искал комплексную инфу по метаданным
13. IrinaKostroma 04.04.12 19:12 Сейчас в теме
Хорошая статья, помогла, а то по регистрам обычно пропускают описание.
14. notepad 27.08.12 12:38 Сейчас в теме
Хорошая статья, интересно, много нового узнал про метаданные.
15. sergiobargio1 119 18.10.12 17:48 Сейчас в теме
а как обратиться к метаданным табличной части документа?
может немного проконсультируете (в синакс-помощнике не могу отыскать) ?
пожалуйста, напишите как правильно с точки зрения синтаксиса обращаться к метаданным:
- находясь внутри модуля документа, определить табличные части документа;
- зная имя табличной части, обратиться к структуре табличной части;
- проверить заполнена ли табличная часть;
16. valval 18.10.12 19:56 Сейчас в теме
(15) "а как обратиться к метаданным табличной части документа?"

Для Инд=1 По Метаданные.Документ() Цикл
мдДок = Метаданные.Документ(Инд);
ИДДок = мдДок.Идентификатор;
// обходим реквизиты
Для Инд2=1 По мдДок.РеквизитШапки() Цикл
Ркв=мдДок.РеквизитШапки(Инд2);
КонецЦикла;
Для Инд2=1 По мдДок.РеквизитТабличнойЧасти() Цикл
Ркв=мдДок.РеквизитТабличнойЧасти(Инд2);
КонецЦикла;
КонецЦикла;
sergiobargio1; +1 Ответить
17. ignor 237 14.12.14 22:20 Сейчас в теме
Статья не полна. Свою что ли написать
18. laf 17.05.15 02:30 Сейчас в теме
(17) ignor, напишите, пожалуйста.
19. b-dm 174 24.12.15 11:31 Сейчас в теме
Спасибо за статью о метаданных, лишним не будет...
20. user608794_vfon3 01.12.16 17:02 Сейчас в теме
Файл meta_als.zip

Содержит:
1. ALS файл по метаданным. Редакция 2.2 от июля 2002. ©Моисеенко П.П.
2. Обработка MetAlsl161.ert ©Бертыш А.В
3. readme.txt (описание)

Скачать:
http://pro1c.org.ua/index.php?showtopic=5877
file: meta_als.zip
pass: pro1c.org.ua
21. user1057879 27.09.18 11:03 Сейчас в теме
Добрый день, в свойствах реквизита, при выборе значение "число" в поле "типе значения", длина ограничена "19", а надо хотя бы "21" - прошу помочь.
Спасибо.
22. user1057879 16.10.18 10:24 Сейчас в теме
Добрый день, в свойствах реквизита, при выборе значение "число" в поле "типе значения", длина ограничена "19", а надо хотя бы "40" - прошу помочь.
Спасибо.
23. DenisCh 16.10.18 10:32 Сейчас в теме
(22) Можем только посочувствовать.
24. user1057879 16.10.18 19:25 Сейчас в теме
(23)Ясно ((, а в версии 8.3 это решается ?
Спасибо.
25. DenisCh 17.10.18 09:13 Сейчас в теме
(24) Нет. Числа - они есть числа.
26. user1057879 17.10.18 10:15 Сейчас в теме
(25)Понятно, попробую по свободе соединить циклы или ещё что то ((
27. Tatitutu 3847 18.10.18 12:11 Сейчас в теме
(22) поставь СТРОКА и посмотри в сторону МАСКА ввода (оставь там только цифры) и твой вопрос решен
28. user1057879 18.10.18 13:15 Сейчас в теме
(27)Простите ((( не очень понял, можно подробней для не гуру, со скрином ?
Спасибо.
29. user1057879 18.10.18 17:07 Сейчас в теме
(27)Мне нужно выбирать именно значение "число", т.к. этот реквизит у меня нужен для построения таблички, где именно величина "числа" определяет количество ячеек в конкретном диапазоне столбцов. Случилось так, что обычно мне требуется 4-6 ячеек (интервал 4-6 столбцов), а рядом сейчас потребовалось 21 ячейка в диапазоном ,соответственно следующих столбцов.В каждой ячейке находится много информации, в том числе номер по горизонтали.Скажем на первом ряде ячейки должны иметь номера с 1 до 21, на втором ряде ячеек в этом же диапазоне- с22- по42 и так далее.Но при текущем значении выборе значение "число" в поле "типе значения", длина ограничена "19" и ячейки под номером "20" и "21" хоть и находятся в первом ряде ячеек, но если посмотреть их свойства, то они причислены ко второму ряду (этажу) ячеек, а очень надо, что бы они относились к первому ряду (этажу) ячеек.
Если подъитожить, то система сейчас работает корректно, только до 19 ячеек в конкретном диапазоне столбцов (( , это и есть максимальное значение "числа" в поле "типе значения" свойства реквизита.
Кто подскажет решение.
Спасибо.
30. Tatitutu 3847 18.10.18 17:20 Сейчас в теме
Реквизит = МоеПсевдоЧисло

тип значения поля "Строка" длина 21

маска "999999999999999999999" //кроме цифр 0,1,2,34,5,6,7,8,9 - в это поле ничего нельзя будет ввести


и делай с этим реквизитом все что хочеш

Число(МоеПсевдоЧисло)*2
31. user1057879 20.10.18 19:09 Сейчас в теме
(30)Добрый день, 1. меняем существующий реквизит
"ЧислоКвартир" на "МоеПсевдоЧисло" , а вот , что делать с маской "999999999999999999999" я не гуру и не знаю ((( , прошу подсказать в моих вариантах (очень не хочу быть навязчивывм !)
СмещениеКвартир=?(ПустоеЗначение(Объект.ПерваяКвартираДома)=1,0,Объект.ПерваяКвартираДома-1);
СмещениеПодъездов=?(ПустоеЗначение(Объект.ПервыйПодъездДома)=1,0,Объект.ПервыйПодъездДома-1);
Для кв=1+СмещениеКвартир по Объект.ЧислоКвартир+СмещениеКвартир Цикл

ЧислоКвартир=Дом.ЧислоКвартир;


Таб=СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Таблица");
//Легенда
Таб.Область(2,1).Текст="Цвета";
Таб.Область(3,1).ЦветФона(16777000);//(15,1200,35579);
Таб.Область(3,1).Текст="Чужие";
Таб.Область(4,1).ЦветФона(25589,25812,35355);
Таб.Область(4,1).Текст="Резерв";
Таб.Область(5,1).Текст="Свои";
Таб.Область(3,1,5,1).РамкаОбвести(4,4,4,4);
Таб.Область(5,2).ЦветФона(4295829);
Таб.Область(5,2).Текст="Встречн.";
//Формируем этажи
ЧислоЭтажей=Дом.Этажность;
Для эт=1 по ЧислоЭтажей Цикл
// Сообщить("Этаж"+эт);
Строк=6+(ЧислоЭтажей)-эт;
// Таб.Область(Строк,2,Строк+2,2).Объединить();
Ещё раз извиняюсь за назойливость, спасибо за поддержку.
32. rougudz 27.02.19 16:24 Сейчас в теме
добрый день! а кто знает как извлекать информацию из "МетаданныеСсылки"

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


не могу достать ничего кроме идентификатора...
а мне бы надо еще вид документа выдернуть.... ни кто не в курсе как сие сделать?
33. Burjuy 23.12.20 15:46 Сейчас в теме
А можно ли как-то выдернуть из конфы признаки миграции объектов для УРБД?
Есть ИБ, распределенная, с достаточно немалым количеством объектов метаданных, и надо понять, у кого какой признак миграции. Но перебирать их руками уж очень не хочется...
Оставьте свое сообщение