Программирование • 17 января 2024 • 5 мин чтения

Стройматериал в 1С, или Для чего нужны метаданные

Функциональность 1С-решений для автоматизации бизнеса можно «подгонять» под задачи компании. В основе таких изменений — работа с метаданными. Рассказываем о ней подробнее.

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

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

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

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

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

Научиться создавать информационные системы на базе 1С и решать с их помощью задачи бизнеса можно с нуля — на курсе «Разработчик 1С». Во время обучения студенты практикуются применять новые знания и навыки на платформе 1С и собирают портфолио проектов для старта в карьере. Начать учиться можно бесплатно.

Попробуйте себя в роли разработчика 1С
Освойте программирование и мобильную разработку на базе 1С. Добавьте 5 проектов в портфолио и пройдите стажировку у партнёров Практикума после курса. Начните учиться бесплатно.

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

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

Определить структуру данных и бизнес-логику
С помощью метаданных организовывают хранение и обработку информации в системе. Можно задать тип объекта, например, создать документ или справочник. Ещё можно определить атрибуты объекта — реквизиты. Например, у объекта справочника «Товары» реквизитами могут быть наименование товара и производитель. Это поля, которые нужно будет заполнять пользователю для корректного учёта.

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

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

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

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

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

Что определяют метаданные в 1С: объекты конфигурации и их структура

Конфигурация 1С состоит из предопределённого списка видов метаданных. У объектов одного вида одинаковые наборы свойств и выполняемых действий. Разработчики могут создавать неограниченное количество объектов метаданных одного вида. Допустим, в списке метаданных есть вид объекта — Справочники. В рамках этого вида можно создать объекты метаданных — справочник «Номенклатура» или справочник «Контрагенты».

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

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

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

● Справочники «Товары» и «Клиенты» — для сбора и хранения информации об ассортименте товаров и списке покупателей.
● Документы «Счёт на оплату» и «Платёжное поручение» — для возможности добавить в систему выставленные для клиентов счета и прикрепить документы, которые подтверждают их оплату.
● Регистр сведений «Курсы валют» — для хранения данных об изменении Центральным банком курсов валют, которые влияют на себестоимость товаров.
● Бизнес-процессы «Оформление закупки» и «Согласование возврата товара» — для описания последовательности действий и формирования задач пользователям при оформлении заказа или возврате товара.
● Роли «Менеджер по продажам» и «Бухгалтер» — для разграничения прав доступа пользователей. Например, можно настроить систему так, что записи о новых клиентах смогут вносить только менеджеры по продажам, а добавлять счета — только бухгалтера.

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

Большинство реквизитов создаёт разработчик 1С, руководствуясь логикой бизнес-процесса, который нужно автоматизировать. Однако часть реквизитов определена платформой автоматически — это стандартные реквизиты, которые хранят основную информацию об объекте. Например, для объекта справочник это «Ссылка», «Код», «Наименование», «ПометкаУдаления». Стандартные реквизиты нельзя удалить при доработке конфигурации.

Примеры работы с метаданными в 1С

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

Открыть дерево объектов конфигурации можно через меню: Конфигурация → Окно конфигурации, или с помощью горячих клавиш “Ctrl + Shift + C”

Разберём, как пошагово добавлять и удалять объекты метаданных в 1С-конфигурации.

Как добавить новый объект метаданных

1. В дереве объектов конфигурации выбрать вид объекта, который нужно добавить.

2. Нажать кнопку «Добавить» на командной панели дерева объектов.

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

Добавить новый объект можно также с помощью клавиши “Insert” на клавиатуре или через контекстное меню.

Чтобы добавить объект через контекстное меню, нужно кликнуть правой кнопкой мыши на выбранный вид объекта в дереве и нажать «Добавить»

3. После создания нового объекта метаданных откроется окно редактирования.

В окне редактирования разработчик в зависимости от задачи может, например, задать имя объекта, указать синоним — название объекта для пользователя, определить структуру будущего объекта — создать и описать реквизиты

Как удалить объект метаданных

1. Выбрать нужный объект в дереве объектов конфигурации.

2. Удалить выбранный объект, кликнув по кнопке «Удалить» на командной панели дерева объектов.

Условное обозначение кнопки «Удалить» на командной панели дерева объектов — красный крест

Удалить объект метаданных можно также с помощью клавиши “Del” на клавиатуре или контекстного меню.

Чтобы удалить объект через контекстное меню, нужно кликнуть правой кнопкой мыши на выбранный вид объекта в дереве и нажать «Удалить»

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

Например, разработчик конфигурации изначально определил, что в документе «Заказ» пользователь указывает данные из справочника «Клиенты». Тогда система не даст удалить справочник «Клиенты» и выдаст такое сообщение

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

Как читать метаданные

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

Например, разработчику нужно определить, есть ли в документе реквизит «Валюта». И если есть — разрешить заполнять его значением, отличным от «Рубль», только пользователю с определёнными правами.

Для проверки наличия реквизита «Валюта» можно использовать программную работу с метаданными. Например, последовательно выполнить несколько операций:

1. Обратиться к метаданным документа:

МетаданныеОбъекта = ДокументСсылка.Метаданные();

2. Проверить через метаданные наличие нужного реквизита:

РеквизитВалюта = МетаданныеОбъекта.Реквизиты.Найти("Валюта");

3. Задать условие в зависимости от того, найден реквизит или нет:

Если РеквизитВалюта <> Неопределено Тогда

КонецЕсли;

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

Совет эксперта

Игорь Семигук
Разработчики 1С, решая рабочие задачи, часто изменяют объекты метаданных или создают новые. Начинающим специалистам важно изучить, какие виды объектов определены на уровне платформы 1С и для чего их можно использовать. А чтобы развить навыки работы с метаданными и сформировать портфолио, на старте полезно создать собственный пет-проект.
Статью подготовили:
Игорь Семигук
Яндекс Практикум
Автор курса «1С:Специалист», архитектор 1С с квалификацией «1С:Специалист» и опытом разработки более 12 лет,
обучает студентов и сотрудников, состоит в жюри конкурсов ВКР с использованием продуктов 1C
Яндекс Практикум
Редактор
Анастасия Павлова
Яндекс Практикум
Иллюстратор

Дайджест блога: ежемесячная подборка лучших статей от редакции

Поделиться
Знакомство с IT: Бесплатный гид Практикума по профессиям
Tue Mar 26 2024 13:08:11 GMT+0300 (Moscow Standard Time)