Как работать с метаданными в 1с?
Недавно работая с одним клиентом, нам надо было доработать его конфигурацию для согласования с законодательством «О защите персональных данных». Это постановление приняли для конфиденциальности информации клиентов, применяется онj так, что если происходит отмена заказчиком заказа оформленного вами, то содержащиеся его данные подлежат немедленному удалению. Данных в базе о заказчике очень много и удалят их вручную потребовало бы очень много времени и было бы совсем не удобно. При этом стирать целый элемент справочника было невозможно, так как это бы нарушило работу базы данных.
Для подобных случаев был разработан инструмент, разрешающий вывести весь список реквизитов и данных их таблицы. У всех объектов в базе 1с есть функция Метаданные(), которая встроена изначально.
Данная функция восстанавливает данные специального вида — ОбъектМетаданных. В этом виде хранится огромное количество свойств выбранного объекта. К примеру для составляющей справочника это будет длина имени и кода, автоматическая нумерация, стандартные формы, другие имеющиеся формы, иерархия, шаблоны и тому подобное.
Если рассматривать конкретный случай, то нам понадобятся Реквизиты и части таблицы. Данные элементы метаданных хранят в себе значение КоллекцияОбъектовМетаданных. Существует способ обхода их в цикле Для каждого. Любой из этих компонентов коллекции обладает большим числом различных свойств. Одно из самых важных свойств, свойство Turn. Оно позволяет получить типы любого реквизита. Весь перечень реквизитов есть возможность узнать с помощью операции Вычислить выражение. Нам, чтобы запросить Табличные данные или реквизиты понадобиться свойство Имя.
Модуль удаляющий все требуемые данные будет иметь такой вид:
1 |
Контрагент=КонтрагентСсылка.ПолучитьОбъект(); |
Функция Метаданные() может использоваться не только для объекта но и для того чтобы быстро сослаться на него. Рассматривая случай нашего клиента, нужно было использовать именно данные реквизитов. Для этого необходим был сам объект. Метаданные() могут быть использованы для любых объектов находящихся в конфигурации 1С. Поэтому существует множество способов применения данной функции.
Если у вас возникли вопросы и вы не можете сделать данные доработки 1с самостоятельно, свяжитесь с нашими экспертами. Они могут проконсультировать вас по 1с и мгновенно решить любую задачу связанную с 1с.