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

Обновлено: 07.07.2024

Работа во встроенном языке с объектами метаданных

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

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

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

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

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

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

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

С помощью метода Родитель() можно получить вышестоящий объект метаданных.
Например:

Для представления объекта метаданных пользователю нужно использовать преобразование значения к строке или метод Представление() .
Например:

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

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

Метаданные можно использовать, чтобы проверить, относится ли, например, значение к справочникам. Методика такой проверки описана в разделе "Как проверить, что тип значения относится к справочникам, документам и т. д.?".

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

Некоторые свойства объектов метаданных являются коллекциями значений и представляются типом КоллекцияЗначенийСвойстваОбъектаМетаданных .
Например:

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

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

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

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

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


Получить значение объекта своего типа через рефлексию
Доброго времени суток. Есть собственный тип с перегрузкой. public struct MyType < .

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

Как из объекта класса TStringList взять первое по порядку значение, не зная его значения?
Как из объекта класса TStringList взять первое по порядку значение, не зная его значения :) и затем.

Как получить значение id, зная currentIndex().row()?
как получить значение id зная currentIndex().row() из первого столбца.

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

а что за обработка такая?
да это именно тот самый случай- написать свою конвертацию данных

Добавлено через 1 минуту
мне пришло на ум только перебор или прописка исходного типа при выгрузке.
чтобы потом его прочитать и через выполнить вставить.
эту настройку куда нить сохранить туда же в файл с выгрузкой.

Это обработка из варианта "конфигурации аналогичны" (они прекреплены для 8.3 и 8.2)
Где - то на ИТС есть статья, в общем случае есть два пути обмена "правилами через файл"
1) конфигурации не отличаются одна от другой нужно просто перегнать данные в таком случае используется "выгрузка загрузка данных XML"

2) использование конфигурации Конвертация данных посложнее будет


обработка выгрузки структуры 1К --- --- обработка выгрузки структуры 2К
. | |
Конф "конвертация данных" ( создание правил обмена) -> правила обмена

правила обмена правила обмена
| |
универсальный обмен XML(выгрузка) -> файл данных -> универсальный обмен XML(загрузка)

Доброго времени суток.
Подскажите как решить проблему.

Есть ОписаниеТипов содержащее Тип Партнер. Как имея только эту информацию получить полное имя объекта метаданных (Справочники.Партнеры)

УТ 11
1С:Предприятие 8.3 (8.3.12.1714)

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


Метод ToString() возвращяет полное имя типа объекта, вплоть до namespace
Метод ToString() возвращяет полное имя типа объекта, вплоть до namespace. Помогите понять, как.

Запрос: получить id сотрудника, полное имя (имя и фамилия) сотрудника и название страны, в которой он(а) работает
по заданию, требуют получить id сотрудника, полное имя (имя и фамилия) сотрудника и названием.

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


Ввести короткое имя, получить полное
Написать программу, которая спрашивала бы сокращенное имя, а печатала полное (например, Саша –.

Решение

Как получить полное имя файла
Здравствуйте! У меня на форме TSaveDialog, вот я сохранил текст с TMemo используя имя например.

Как получить полное имя файла?
Подскажите пожалуйста, File file = fileopen.getSelectedFile(); label.setText(file.getName()); .

Как получить полное имя компьютера
Как получить полное имя компьютера? И связанный с этим вопрос: &quot;Как получить имя домена или рабочей.


Получить полное имя файла без расширения
Задача: получить полное имя файла и заменить в нём (не добавить) расширение Делаю это так: Dim.

Как получить полное квалификационное имя класса
Как получить полное квалификационное имя класса в Intelliji IDEA, например в eclipse для этого.

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

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

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

Для доступа к тому или иному объекту конфигурации 1С необходимо сначала обратиться к менеджеру этого объекта. Например, для управления документом, как объектом конфигурации, следует обратиться к менеджеру документа, а для управления справочником, как объектом конфигурации, нужно обратиться к менеджеру справочника.

Узнать, какое свойство за какой объект отвечает, можно в синтакс-помощнике в разделе Глобальный контекст, подразделе Свойства.

Свойство глобального контекста 1С

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

Свойство глобального контекста 1С

После выбора конкретного объекта, мы уже обратимся к менеджеру этого объекта. Например, к менеджеру справочника.

И нам будут доступны все свойства и методы менеджера объекта. Заметим, что менеджер объекта даёт доступ не к конкретному экземпляру объекта, а ко всему объекту в целом.

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

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

А для документа, следующий:

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

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

А так, к менеджеру документа Счет.

Естественно, и справочник Контрагенты, и документ Счет уже созданы в конфигурации.

Если после получения доступа к менеджеру объекта, мы поставим точку или выполним комбинацию клавиш Ctrl + Space, то появится контекстная подсказка со свойствами и методами менеджера объекта.

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

Подробно об этих методах можно почитать в синтакс-помощнике. Например, о методах менеджера справочника.

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

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

Где СоздатьЭлемент() – это функция менеджера справочника, которая возвращает новый экземпляр объекта.

А получить выборку элементов справочника можно так:

Где Выбрать() – это функция менеджера справочника, которая возвращает выборку элементов.

Модуль менеджера 1С

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

Модуль менеджера 1С

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

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

Программировать в 1С за 11 шагов

  1. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  2. Научитесь понимать архитектуру 1С;
  3. Станете писать код на языке 1С;
  4. Освоите основные приемы программирования;
  5. Закрепите полученные знания при помощи задачника

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

Основы разработки в 1С такси

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


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

можно оплатить вручную:

Читайте также: