Разработка и Конфигурация · 12 мин
Объекты метаданных 1С: что это и как с ними работать
Что такое объекты метаданных в 1С: справочники, документы, регистры, отчёты. Где смотреть в конфигураторе, как выбирать объект под задачу и не сломать базу.
Объекты метаданных — это «чертежи», по которым платформа 1С строит прикладное решение. Самих бухгалтерских проводок, товаров или заказов в метаданных нет: там описано, какие сущности существуют в системе, какие у них поля, как они связаны и как с ними работает пользователь. Когда разработчик добавляет справочник «Контрагенты» или документ «Реализация товаров», он создаёт именно объект метаданных, а платформа автоматически формирует под него таблицы базы данных, экранные формы и права доступа.
Понимание метаданных нужно не только программистам. Администратору это помогает оценить, что изменится в базе после обновления конфигурации. Аналитику — грамотно ставить задачи на доработку. Продвинутому пользователю — понимать, почему одни данные можно править напрямую, а другие (например, движения документов по регистрам) редактировать вручную опасно.
Работа с метаданными ведётся в конфигураторе 1С, а пользователи видят только результат — готовые формы, списки и отчёты в режиме «Предприятие». Ниже разберём, какие виды объектов существуют, чем они отличаются, как выбрать подходящий объект под задачу и каких ошибок стоит избегать при изменении конфигурации.
Что такое метаданные и где они находятся
Метаданные — это «данные о данных». В контексте 1С это полное описание конфигурации: перечень объектов, их реквизитов, табличных частей, связей, форм, макетов и модулей с кодом. Физически метаданные хранятся внутри информационной базы (или в файле конфигурации .cf при выгрузке) и отделены от пользовательских данных — записей справочников, проведённых документов и движений по регистрам.
Увидеть дерево метаданных можно в конфигураторе: главное меню → «Конфигурация» → «Открыть конфигурацию». Откроется окно с иерархическим списком: «Общие», «Константы», «Справочники», «Документы», «Регистры сведений», «Регистры накопления» и так далее. Разворачивая ветки, вы видите конкретные объекты конкретной конфигурации — например, в «1С:Бухгалтерии» это документы «Поступление товаров и услуг», «Счёт-фактура», справочник «Номенклатура».
Важно различать конфигурацию поставщика и конфигурацию базы данных. Когда вы редактируете объект в конфигураторе, изменения сначала попадают в основную конфигурацию, но база данных обновится только после команды «Обновить конфигурацию базы данных» (клавиша F7). Пока обновление не выполнено, пользователи работают со старой структурой.
Основные виды объектов метаданных
Все объекты метаданных делятся на несколько групп по назначению. Одни хранят данные, другие описывают алгоритмы и интерфейс, третьи обеспечивают обмен и интеграцию. Ниже — ключевые типы, с которыми сталкиваются чаще всего.
Справочники и перечисления — условно постоянные данные
Справочники хранят списки однотипных объектов: номенклатуру, контрагентов, сотрудников, склады. Они поддерживают иерархию (группы и элементы), подчинённые справочники (например, «Договоры контрагентов» подчинены «Контрагентам») и предопределённые элементы, которые создаются разработчиком и доступны в коде по имени.
Перечисления — жёстко заданный список значений, который не может менять пользователь: виды операций, ставки НДС, статусы. Значения перечисления задаёт разработчик в метаданных, и добавить новое значение «снаружи» нельзя — только доработкой конфигурации.
Документы — факты хозяйственной жизни
Документы отражают события учёта: поступление, реализацию, оплату, начисление зарплаты. Ключевые свойства документа — номер, дата и возможность проведения. При проведении документ формирует движения по регистрам, то есть изменяет состояние учёта. Отмена проведения или перепроведение «задним числом» меняет последовательность документов и может повлиять на итоги, поэтому массовые перепроведения выполняют осторожно.
Регистры — накопление и хранение итогов
Регистры — это объекты, в которых документы оставляют свои движения. Регистры накопления хранят остатки и обороты (товары на складах, взаиморасчёты), регистры сведений — произвольные данные в разрезе измерений (цены номенклатуры, курсы валют), регистры бухгалтерии — проводки по плану счетов, регистры расчёта — данные для расчёта зарплаты. Редактировать записи регистров вручную без понимания механизмов проведения нельзя: вы разрушите связность учёта.
Отчёты, обработки и прочие объекты
Отчёты и обработки не хранят данные, а работают с ними: отчёты выводят информацию (чаще всего на СКД — системе компоновки данных), обработки выполняют действия — загрузку, выгрузку, групповые изменения. Константы хранят единичные значения (наименование организации), планы видов характеристик позволяют описывать произвольные свойства объектов, планы обмена — механизмы синхронизации между базами, роли и права определяют доступ пользователей.
Номенклатура, контрагенты, склады
Поступление, реализация, платёжное поручение
Остатки товаров, взаиморасчёты, цены
Оборотно-сальдовая ведомость, анализ продаж
Как выбрать объект метаданных под задачу
Типичная ошибка начинающего разработчика — создавать данные «не в том» объекте. Правильный выбор определяется тремя вопросами: меняются ли данные со временем, нужно ли фиксировать событие с датой, нужны ли итоги и остатки.
Если это список сущностей, которые живут долго и редко меняются, — нужен справочник. Если фиксируется разовое событие с датой и номером, влияющее на учёт, — документ. Если нужно хранить историю значений в разрезе чего-либо (цены по номенклатуре на дату) — регистр сведений. Если нужны остатки, которые увеличиваются и уменьшаются документами, — регистр накопления. Если результат — только вывод информации пользователю — отчёт.
Как выбрать тип объекта
Практика: как посмотреть и изменить объект метаданных
Рассмотрим типовую задачу: добавить в справочник «Номенклатура» новый реквизит «Вес брутто». Порядок действий одинаков для большинства объектов и безопасен, если соблюдать последовательность.
- 1Сделайте резервную копию базы: меню «Администрирование» → «Выгрузить информационную базу» в режиме конфигуратора или штатными средствами СУБД.
- 2Откройте конфигуратор, убедитесь, что конфигурация доступна для изменения (замок на объекте — значит, включена поддержка, потребуется снятие с замка).
- 3В дереве конфигурации найдите объект, откройте его свойства, перейдите на вкладку «Данные» и добавьте реквизит с нужным типом.
- 4При необходимости добавьте реквизит на форму элемента, чтобы пользователи могли его заполнять.
- 5Нажмите F7 («Обновить конфигурацию базы данных»), подтвердите реструктуризацию.
- 6Проверьте в режиме «Предприятие»: откройте элемент справочника, заполните новый реквизит, сохраните.
После обновления конфигурации базы данных платформа выполняет реструктуризацию — изменяет физические таблицы. На больших базах это может занять заметное время, поэтому обновление планируют вне рабочих часов. Если реструктуризация прервётся (отключение питания, разрыв соединения), база может остаться в повреждённом состоянии — отсюда обязательное требование резервной копии.
Метаданные в коде: как обращаться к объектам программно
Во встроенном языке 1С объекты метаданных доступны через глобальный контекст: Справочники.Номенклатура, Документы.РеализацияТоваровУслуг, РегистрыНакопления.ТоварыНаСкладах. Кроме того, есть коллекция Метаданные, которая позволяет перебрать все объекты конфигурации программно — это полезно для универсальных обработок, проверок прав и анализа структуры.
Для Каждого Документ Из Метаданные.Документы Цикл
Сообщить(Документ.Имя + " — " + Документ.Синоним);
КонецЦикла;Такой перебор используют, например, для построения универсального отчёта по структуре конфигурации или проверки, у каких документов включено проведение по конкретному регистру. Свойство Движения у метаданных документа показывает список регистров, по которым документ может проводиться.
Типичные ошибки при работе с метаданными
Отдельно стоит сказать о доработке типовых конфигураций. Правильный подход — минимизировать изменения типовых объектов: по возможности использовать расширения конфигурации, дополнительные реквизиты и сведения, подписки на события вместо правки типовых модулей. Это резко упрощает последующие обновления.
Как проверить, что изменения применились корректно
Как проверить результат
Реструктуризация завершилась без ошибок, база открывается в режиме «Предприятие»
Ошибки реструктуризации, конфигуратор требует повторного обновления
Реквизит виден на форме, значение сохраняется и читается после переоткрытия
Реквизит не отображается или значение пропадает после записи
Документ проводится, движения видны в регистрах, итоги сходятся
Ошибки проведения, отсутствие движений, расхождение итогов
Пользователи с нужными ролями видят объект, остальные — нет
Объект недоступен всем или, наоборот, виден лишним ролям
Если после обновления что-то пошло не так, первое действие — не пытаться «откатить» изменения повторной правкой, а восстановить базу из резервной копии на тестовом стенде и разобраться в причине. Повторная реструктуризация поверх неудачной может усугубить проблему.
Что важно запомнить
Объекты метаданных — это структура конфигурации 1С: справочники хранят списки сущностей, документы фиксируют события, регистры накапливают итоги, отчёты выводят данные. Изменения делаются в конфигураторе и применяются обновлением конфигурации базы данных — всегда с резервной копией и вне рабочего времени. Типовые конфигурации лучше дорабатывать через расширения, а не прямой правкой.
Частые вопросы
Чем объект метаданных отличается от объекта базы данных?
Объект метаданных — это описание (например, справочник «Номенклатура» со своими реквизитами), а объект базы данных — конкретная запись, созданная по этому описанию (конкретный товар «Кирпич М-150»). Метаданные одни на конфигурацию, записей данных — сколько угодно.
Можно ли изменять метаданные без конфигуратора?
Нет, структура конфигурации меняется только в конфигураторе или через загрузку файла конфигурации/расширения. В режиме «Предприятие» пользователь может добавлять лишь дополнительные реквизиты и сведения, если эта возможность включена администратором, — это ограниченный механизм, не заменяющий доработку.
Что такое расширение конфигурации и когда его использовать?
Расширение — это надстройка над конфигурацией, которая добавляет или изменяет объекты, не затрагивая типовую конфигурацию. Его используют, когда нужно доработать типовое решение, но сохранить простое обновление релизов. Ограничение: не все изменения возможны через расширение, например, есть ограничения на изменение ролей и некоторых механизмов.
Почему после добавления реквизита его не видно пользователям?
Чаще всего реквизит не выведен на форму элемента или у роли пользователя нет прав на его просмотр. Проверьте форму объекта в конфигураторе и настройки прав. Также убедитесь, что выполнено обновление конфигурации базы данных — без него изменения работают только в конфигураторе.
Опасно ли удалять объект метаданных?
Да. При удалении объекта и последующей реструктуризации удаляются все связанные данные: элементы справочника, документы, движения. Кроме того, могут сломаться ссылки из других объектов и код, обращающийся к удалённому объекту. Перед удалением найдите все ссылки на объект (правый клик → «Поиск ссылок на объект») и убедитесь, что данные не нужны.
Как узнать, какие объекты метаданных есть в конкретной конфигурации?
Откройте конфигуратор и дерево конфигурации — там полный перечень. Быстро найти нужный объект помогает поиск по дереву (Ctrl+F в окне конфигурации). Программно структуру можно выгрузить через коллекцию «Метаданные» или штатную выгрузку конфигурации в файлы.