Объект метаданных 1с. Работа с метаданными. Получение метаданных по ссылке объекта

Метаданные имя. Метаданные – это что? Получение метаданных по ссылке объекта

Объект метаданных 1с. Работа с метаданными. Получение метаданных по ссылке объекта

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

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

Зачем нужна работа с метаданными

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

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

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

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

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

Обход метаданных в цикле

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

Для каждого МетаданныеСправочника Из Метаданные.Справочники Цикл Сообщить(МетаданныеСправочника.Имя); Сообщить(МетаданныеСправочника.Синоним); Для каждого РеквизитСправочника Из МетаданныеСправочника.Реквизиты Цикл Сообщить(РеквизитСправочника.Имя); Сообщить(РеквизитСправочника.Синоним); КонецЦикла; КонецЦикла;

Получение метаданных по ссылке объекта

Зачастую возникает ситуация когда надо получить метаданные по ссылке какого-нибудь объекта. Это может быть элемент справочника, документ и т.д. И здесь нам поможет метод НайтиПоТипу(). Этот метод позволяет получить метаданные по типу объекта.

Соответственно если у нас есть ссылка нам надо сначала узнать ее тип. Сделать это поможет функция ТипЗнч(). В качестве примера возьмем справочник Пользователи (т.к. он есть наверное во всех конфигурациях).

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

Запрос = Новый Запрос; Запрос.Текст = “ВЫБРАТЬ ПЕРВЫЕ 1| Пользователи.Ссылка|ИЗ | Справочник.Пользователи КАК Пользователи”; Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл МетаданныеОбъекта = Метаданные.НайтиПоТипу(ТипЗнч(Выборка.Ссылка)); Сообщить(МетаданныеОбъекта.Имя); Сообщить(МетаданныеОбъекта.Синоним); КонецЦикла;

Получение метаданных по полному имени

Cуществует еще один метод, который позволяет получить метаданные по полному имени объекта. Речь идет о методе НайтиПоПолномуИмени(). Если взять тот же справочник Пользователи, то его полное имя выглядить как Справочник.Пользователи. Соответственно код для получения метаданных справочника Пользователи по полному имени выглядит вот так

МетаданныеПользователи = Метаданные.НайтиПоПолномуИмени(“Справочник.Пользователи”);

Если выбирать между получением метаданных по ссылке и по полному имени, то мне больше по душе метод НайтиПоТипу().

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

Метаданные 1С – это список справочников, документов, их реквизитов и прочего, составляющего конфигурацию. Список метаданных 1С правится программистов в конфигураторе в окне конфигурации.

Из программы на языке 1С доступен список метаданных 1С и их свойства.

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

Рассмотрим, как работать с метаданными 1С конфигурации из языка 1С.

Метаданные 1С конфигурации

Глобальная переменная Метаданные дает доступ к метаданным 1С всей конфигурации (т.е. к «корню» конфигурации). Далее через точку можно обращаться к «коллекциям» — документы, справочники и т.п., чтобы выйти на конкретный справочник или документ, у которых соответственно есть «коллекции» реквизиты, табличные части и т.п. – все, как в конфигураторе, в дереве конфигурации.

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

//Метаданные – глобальная переменная, которая дает доступ ко всем метаданным 1С конфигурации//Метаданные.Документы – коллекция документов конфигурацииДля каждого Документ из Метаданные.Документы Цикл //Документ – это метаданные 1С документа (каждого, так как мы обходим их в цикле) //.

Имя – наименование документа так, как оно задано в конфигурации //.Синоним – “человеческое” наименование документа, которое отображается пользователю //список значений может хранить значение (имя документа) и “представление для пользователя” (как раз – синоним документа) спДокументовКонфигурации.Добавить(Документ.

Имя, Документ.Синоним);

КонецЦикла;

//даем возможность пользователю выбрать из списка нужный документ
элДокумент = спДокументовКонфигурации.ВыбратьЭлемент();

//если пользователь нажал “Отмена”, то результатом выбора будет значение НЕОПРЕДЕЛЕНО, иначе результатом будет – выбранный элементЕсли элДокумент Неопределено Тогда //в.

Значение списка значений мы записывали имя документа “как в конфигурации” //создадим новый документ с таким именем, напомним – к документам можно обращаться Документы.ИмяДокумента или Документы[ИмяДокумента] обДокумент = Документы[элДокумент.Значение].СоздатьДокумент(); //ДокументОбъект.

ПолучитьФорму() – возвращает форму с указанным именем, а если имя не указано – то форму “по-умолчанию” обДокумент.ПолучитьФорму().Открыть();

КонецЕсли;

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

Метаданные 1С объекта

Большинство объектов 1С, сохраняемых в базе данных (справочники, документы и т.д.) представлены ссылками и объектами (подробнее см. «Ссылки и объекты»).

У ссылок и объектов есть метод.Метаданные(), который позволяет выйти на метаданные 1С этого объекта.

Пример – проверка на наличие реквизитов с типом «Справочник.Организация» в документе и обнуление значения этих реквизитов: //ДокументОбъект – документ, полученный на изменение или создание//аналогичным образом можно работать со ссылками, например: ДокументСсылка = Документ.ИмяДокумента.ПустаяСсылка().Метаданные()

ДокументОбъект = Документы.ПоступлениеТоваров.СоздатьДокумент();

//цикл по реквизитамДля каждого Реквизит из ДокументОбъект.Метаданные().Реквизиты Цикл //у каждого реквизита может быть как один, так и несколько типов, подробнее см.

“ОписаниеТипов” //проверяем по каждому типу – тот ли это нужный нам? //обнуляем реквизит с этим именем в документе //для “обнуления” можно приравнивать его к Неопределено, //по факту значение будет установлено не Неопределено, а “пустое значение” типа реквизита //Неопределено только если у реквизита несколько типов ДокументОбъект[Реквизит.Имя] = Неопределено; КонецЕсли; КонецЦикла;

КонецЦикла;

//цикл по табличным частямДля каждого ТабЧасть из ДокументОбъект.Метаданные().ТабличныеЧасти Цикл //в табличной части тоже реквизиты (колонки таб.части) Для каждого Реквизит из ТабЧасть.Реквизиты Цикл //здесь аналогично мТипов = Реквизит.Тип.

Типы(); Для каждого Тип из мТипов Цикл Если Тип = Тип(“СправочникСсылка.Организации”) Тогда //так как это таб.часть, то мы должны пройтись по всем строкам этой тач. части Для каждого Строка из ДокументОбъект[ТабЧасть.Имя] Цикл Строка[Реквизит.

Имя] = Неопределено; КонецЦикла; КонецЕсли; КонецЦикла; КонецЦикла;

КонецЦикла; 

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

Что такое метаданные?

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

В основном используется четыре обозначения данного термина:

  1. Могут подразумевать субканальную информацию про используемые данные.
  2. Так называют характеристики, описывающие сущность. Они необходимы, чтобы искать, идентифицировать, оценивать и управлять значениями в БД. Ещё таким образом называют важный набор определённого количества структурированных описаний, предоставленных в допустимой форме и доступных в явном виде, благодаря чему можно найти необходимый объект. Подобная формулировка применяется в случаях, когда необходимо искать сущности, ресурсы и объекты.
  3. Данные из общей формальной системы, которые описывают свойства конкретного хранилища информации.
  4. Информация про характеристики веб-страницы (когда была создана, кто её автор).

Различие между данными и метаданными

Как их отличают? Дело в том, что провести однозначное разделение обычно невозможно. Почему? Давайте рассмотрим более детально на примере:

  1. Что-то может выступать в обеих ролях. Например, заголовок статьи может рассматриваться и как элемент метаданных, и в качестве информации, что передаётся читателю.
  2. Возможность меняться местами. Допустим, кто-то написал стихотворное произведение. Оно представляет собой данные. Композитор, опираясь на слова, создал музыкальную композицию и прикрепил данный текст. В таком случае он превращается в метаданные. Всё зависит от использования. Вообще, подобные случаи возможны из-за восприятия определённой точки зрения на основании своих суждений (тут играет роль пространство имён и система отсчёта).
  3. Возможность создания мета-…-метаданных ориентируясь на аксиому выбора. Это вытекает из того, что почти на любую информацию может быть создана своя система характеристик.

Метаданные файлов в компьютерах

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

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

Метаданные в мировой сети

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

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

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

Классификация метаданных

Как их различают? В основном классификация проводится по одному из двух принципов:

  1. . Метаданные используются, чтобы описывать файл, ресурс или его содержимое (к примеру, заголовок – «как готовить картошку»).
  2. По принадлежности. Метаданные могу использовать, чтобы информировать о чем-то целом или его составляющей. Так, название фильма относится ко всему нему, а описание эпизода информирует только об определенной части.

Если метаданные – это совокупность зависимостей от возможностей логического вывода, то в таком случае они делятся на 3 вида:

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

Такие типы метаданных существуют.

Три наиболее востребованных класса

Предлагаем ознакомиться с тремя классами, которые сейчас широко применяются:

  1. Внутренние метаданные. Это информация, которая описывает составные части вещей, их структуру и что она собой представляет. В качестве примера можно привести размер и формат файла.
  2. Административные метаданные. Требуются для процессов обработки информации, а также для назначения вещи. Например, кто автор, редактор, когда был создан файл.
  3. Описательные метаданные. Используются, чтобы охарактеризовать природу файла и его признаки (к какой категории относится, с чем ещё связан).

Формат метаданных

Так называют стандарт, который используется, чтобы проводить формальное описание какой-то категории ресурсов (сущностей, объектов и тому подобного).

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

Возможные проблемы

Когда может возникать ошибка метаданных? Отсутствие необходимой информации или ограничение доступа – вот основные причины возникающих проблем.

Также ошибка загрузки метаданных появляется в тех случаях, когда файл есть, но он повреждён. Основных причин такого состояния насчитывают три: износ техники, вредоносное влияние отдельных программ (как правило, компьютерных вирусов) и неправильное завершение работы с документом, по причине чего данные сохранились некорректно.

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

Возможно, будет полезно почитать:

Источник: https://www.adminpz.ru/contracts/metadannye-imya-metadannye-eto-chto-poluchenie-metadannyh-po.html

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

Объект метаданных 1с. Работа с метаданными. Получение метаданных по ссылке объекта

Понятие «метаданные»

Основу концепции системы 1:Предприятие составляет понятие метаданные.Однако прежде чем дать расшифровку этого понятия, рассмотрим понятие объекта метаданных.

Объекты конфигурации (объект метаданных) – это составные элементы, “детали”, из которых складывается любое прикладное решение.

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

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

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

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

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

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

Таким образом, разработчик оперирует метаданными – “данными о данных”, или объектами конфигурации. Добавляя в структуру прикладного решения очередной объект конфигурации, разработчик, по сути, добавляет описание того, как будут размещаться соответствующие данные, и как они будут взаимодействовать с другими данными, хранящимися в информационной базе.

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

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

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

Под объектом метаданныхв системе 1С:Предприятие понимается формальное описание группы понятий предметной области со сход­ными характеристиками и одинаковым предназначением.

Приведем такой пример. Объект метаданных «Справочник» в системе 1С:Предприятие предназначен для ведения списков одно­родных элементов данных – справочников, картотек, нормативных сборников и тому подобное. Использование объектов метаданных этого типа позволяет организовать ведение любых справочников, необходимых для автоматизации деятельности предприятия.

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

Что такое метаданные

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

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

Работа с метаданными. Работа с метаданными 1с получить имя объекта метаданных

Объект метаданных 1с. Работа с метаданными. Получение метаданных по ссылке объекта

» Страхование » Работа с метаданными. Работа с метаданными 1с получить имя объекта метаданных

Метаданные 1С – это список справочников, документов, их реквизитов и прочего, составляющего конфигурацию. Список метаданных 1С правится программистов в конфигураторе в окне конфигурации.

Из программы на языке 1С доступен список метаданных 1С и их свойства.

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

Рассмотрим, как работать с метаданными 1С конфигурации из языка 1С.

Метаданные 1С конфигурации

Глобальная переменная Метаданные дает доступ к метаданным 1С всей конфигурации (т.е. к «корню» конфигурации). Далее через точку можно обращаться к «коллекциям» — документы, справочники и т.п., чтобы выйти на конкретный справочник или документ, у которых соответственно есть «коллекции» реквизиты, табличные части и т.п. – все, как в конфигураторе, в дереве конфигурации.

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

//Метаданные – глобальная переменная, которая дает доступ ко всем метаданным 1С конфигурации//Метаданные.Документы – коллекция документов конфигурацииДля каждого Документ из Метаданные.Документы Цикл //Документ – это метаданные 1С документа (каждого, так как мы обходим их в цикле) //.

Имя – наименование документа так, как оно задано в конфигурации //.Синоним – “человеческое” наименование документа, которое отображается пользователю //список значений может хранить значение (имя документа) и “представление для пользователя” (как раз – синоним документа) спДокументовКонфигурации.Добавить(Документ.

Имя, Документ.Синоним);

КонецЦикла;

//даем возможность пользователю выбрать из списка нужный документ
элДокумент = спДокументовКонфигурации.ВыбратьЭлемент();

//если пользователь нажал “Отмена”, то результатом выбора будет значение НЕОПРЕДЕЛЕНО, иначе результатом будет – выбранный элементЕсли элДокумент Неопределено Тогда //в.

Значение списка значений мы записывали имя документа “как в конфигурации” //создадим новый документ с таким именем, напомним – к документам можно обращаться Документы.ИмяДокумента или Документы[ИмяДокумента] обДокумент = Документы[элДокумент.Значение].СоздатьДокумент(); //ДокументОбъект.

ПолучитьФорму() – возвращает форму с указанным именем, а если имя не указано – то форму “по-умолчанию” обДокумент.ПолучитьФорму().Открыть();

КонецЕсли;

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

Метаданные 1С объекта

Большинство объектов 1С, сохраняемых в базе данных (справочники, документы и т.д.) представлены ссылками и объектами (подробнее см. «Ссылки и объекты»).

У ссылок и объектов есть метод.Метаданные(), который позволяет выйти на метаданные 1С этого объекта.

Пример – проверка на наличие реквизитов с типом «Справочник.Организация» в документе и обнуление значения этих реквизитов: //ДокументОбъект – документ, полученный на изменение или создание//аналогичным образом можно работать со ссылками, например: ДокументСсылка = Документ.ИмяДокумента.ПустаяСсылка().Метаданные()

ДокументОбъект = Документы.ПоступлениеТоваров.СоздатьДокумент();

//цикл по реквизитамДля каждого Реквизит из ДокументОбъект.Метаданные().Реквизиты Цикл //у каждого реквизита может быть как один, так и несколько типов, подробнее см.

“ОписаниеТипов” //проверяем по каждому типу – тот ли это нужный нам? //обнуляем реквизит с этим именем в документе //для “обнуления” можно приравнивать его к Неопределено, //по факту значение будет установлено не Неопределено, а “пустое значение” типа реквизита //Неопределено только если у реквизита несколько типов ДокументОбъект[Реквизит.Имя] = Неопределено; КонецЕсли; КонецЦикла;

КонецЦикла;

//цикл по табличным частямДля каждого ТабЧасть из ДокументОбъект.Метаданные().ТабличныеЧасти Цикл //в табличной части тоже реквизиты (колонки таб.части) Для каждого Реквизит из ТабЧасть.Реквизиты Цикл //здесь аналогично мТипов = Реквизит.Тип.

Типы(); Для каждого Тип из мТипов Цикл Если Тип = Тип(“СправочникСсылка.Организации”) Тогда //так как это таб.часть, то мы должны пройтись по всем строкам этой тач. части Для каждого Строка из ДокументОбъект[ТабЧасть.Имя] Цикл Строка[Реквизит.

Имя] = Неопределено; КонецЦикла; КонецЕсли; КонецЦикла; КонецЦикла;

КонецЦикла; 

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

Метаданные – это что? Работа с метаданными Получение метаданных по ссылке объекта

Объект метаданных 1с. Работа с метаданными. Получение метаданных по ссылке объекта

» Корпоративное » Метаданные – это что? Работа с метаданными Получение метаданных по ссылке объекта.

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

Юриста дом
Добавить комментарий