24.03.2020 Брежицкий Никита 12343
Работа с объектами в 1С

Содержание:

1.    Что дает доступ к метаданным конфигурации

2.    Для чего нужен доступ к структуре метаданных  

 

1.    Что дает доступ к метаданным конфигурации


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


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


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


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


2.    Для чего нужен доступ к структуре метаданных


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


Например:

Сообщить(Метаданные.Документы.Счет.Реквизиты.Контрагент);


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


Например:

Док = Документы.Счет.СоздатьДокумент();

Сообщить(Док.Метаданные().ПолноеИмя());


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


Например:

Выборка = Документы.Счет.Выбрать();

Сообщить(Метаданные.НайтиПоТипу(ТипЗнч(Выборка)));


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


Например:

Сообщить(Метаданные.ОсновнаяФормаКонстант = Метаданные.ОбщиеФормы.Основная);


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


Например:

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


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


Например:

Сообщить(Метаданные.Справочники.РасчетныеСчета);

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


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


Например:

Сообщить(Метаданные.ОбщиеФормы.Основная.ПолноеИмя());


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


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


Например:

Сообщить(Метаданные.Документы.Счет.ПериодичностьНомера =
Метаданные.СвойстваОбъектов.ПериодичностьНомераДокумента.Год);


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


Например:

Сообщить(Метаданные.Документы.Счет.ВводитсяНаОсновании.Количество());

Сообщить(Метаданные.Документы.Счет.ВводитсяНаОсновании.Содержит(Метаданные.Справочники.Контрагенты));


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


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


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

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


Например:

Стиль = БиблиотекаСтилей.СтильФормКомпании;

ЭлементыФормы.Кнопка1.ЦветТекстаКнопки = ЦветаСтиля.ЦветПредупреждения;

ЭлементыФормы.Кнопка1.Картинка = БиблиотекаКартинок.Автозаполнение;


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


Специалист компании ООО «Кодерлайн» 

Брежицкий Никита.

Наши проекты

ООО «ДАФ Тракс Рус» (DAF Trucks Rus)
ООО «ДАФ Тракс Рус» (DAF Trucks Rus)

Отрасль:
Машиностроение

Внедренное типовое решение:
«1С:Управление корпоративными финансами»

- Осуществлена разработка матрицы прав и ролей для финансового подразделени...

Оптимизация производительности системы
ЗАО ИД «Комсомольская правда»

Отрасль:
Медиа

Внедренное типовое решение:
1С:Бухгалтерия

- Оптимизация производительности системы, в том числе сервера Postgre. ...

Группа компаний ТМ «Дружба народов»
Группа компаний ТМ «Дружба народов»

Отрасль:
Пищевая промышленность

Внедренное типовое решение:
1С:ERP Управление предприятием 2.1

- Переход на новый релиз 2.1 программы «1С:ERP Управление предприятием»
- Разра...

МИР ХОББИ
МИР ХОББИ

Отрасль:
Торговля. Интернет магазин

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

Оформление заказов поставщикам
Взаиморасчеты с покупателями
Оформление...

ООО «Лаборатория успеха»
ООО «Лаборатория успеха»

Отрасль:
Общественное и плановое питание, гостиничный бизнес, туризм

Внедренное типовое решение:
1С:Зарплата и управление персоналом 8. КОРП

Кадровый учет;
Расчет зарплаты;...

Автоматизации бизнес-процессов учета и планирования на базе «1С:ERP Управление предприятием 2.0»
ООО «Буровая сервисная компания «ГРАНД»

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

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

Автоматизация кадрового учета на базе «1С:ERP Управление предприятием 2.0»
Автопредприятие ПАО «Газпром»

Отрасль:
Транспорт

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Настройка подсистемы кадрового учета;
- Перенос персональных данных;
- З...

Внедрение ПП "1С:Бухгалтерия 8 ПРОФ" в ООО Фирма «Бисер»
ООО фирма «Бисер»

Отрасль:
Производство

Внедренное типовое решение:
1С:Бухгалтерия 8 ПРОФ

Финансы, управленческий учет, мониторинг показателей:
- Налоговый учет...

Внедрение системы финансового учета БИТ:Финанс
ООО «Алькор и Ко» (Л’Этуаль)

Отрасль:
Торговля

Внедренное типовое решение:
БИТ.Финанс

- Финансовый учет;
- Поддержка проекта внедрения МСФО;
- Регламентные рабо...

ООО "РУКАРД-АУРА"
ООО "РУКАРД-АУРА"

Отрасль:
Профессиональные услуги

Внедренное типовое решение:
1С:Комплексная автоматизация

- Налоговый учет;...

ЗАО «Ламбумиз»
ЗАО «Ламбумиз»

Отрасль:
Производство картонной упаковки

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Маркетинг;
- Продажи;
- Планирование закупок;
- Закупки;
- Регламенти...

Филиал ГлавУпДК при МИД России фирма «Инпредкадры»
Филиал ГлавУпДК при МИД России фирма «Инпредкадры»

Отрасль:
Государственное управление

Внедренное типовое решение:
1С:Бухгалтерия

- Расчеты с контрагентами;
- Управленческий учет;
- Формирование отраслев...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение