К статье
Практический материал

Разработка и Конфигурация · 11 мин

Что такое объект базы данных 1С и как с ним работать

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

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

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

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

Два значения термина: метаданные и данные

Объект конфигурации (объект метаданных) — это шаблон, описание структуры. Когда разработчик добавляет в конфигурацию справочник «Номенклатура», он задаёт его реквизиты, табличные части, формы, длину кода и наименования. На этом этапе в базе ещё нет ни одного товара — есть только правило, по которому товары будут храниться.

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

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

Основные виды объектов в базе 1С

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

Вид объектаЧто хранитПример объекта данных
СправочникУсловно постоянные нормативные данныеКонтрагент, товар, склад
ДокументСобытия хозяйственной жизни с датой и номеромПоступление товаров, приказ о приёме
Регистр сведенийЗначения в разрезе измерений, возможно с периодичностьюКурс валюты на дату, цена номенклатуры
Регистр накопленияОстатки и обороты ресурсовОстаток товара на складе
Регистр бухгалтерииПроводки по плану счетовДт 41 — Кт 60 на сумму поступления
План счетов, план видов характеристик, план обменаСпециализированные списки с особыми механизмамиСчёт 41 «Товары», дополнительное свойство
Бизнес-процесс и задачаМаршруты согласования и порученияЗадача «Согласовать счёт»

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

Чем объект конфигурации отличается от объекта данных

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

Удаление работает по-разному. Удаление объекта конфигурации (например, лишнего справочника) при обновлении приведёт к потере всех данных этого объекта — платформа предупредит об этом при реструктуризации. Удаление объекта данных подчинено контролю ссылочной целостности: элемент справочника, на который есть ссылки в документах, нельзя удалить физически, только пометить на удаление.

Сравнение вариантов

Объект конфигурации

Описание структуры: создаётся в конфигураторе, требует обновления базы, изменение затрагивает всех пользователей. Подходит, когда нужно новое хранилище данных.

Объект данных

Конкретная запись: создаётся пользователем или кодом, имеет ссылку и GUID, удаляется с контролем ссылочной целостности. Подходит для повседневного учёта.

Как платформа хранит объекты: ссылки, идентификаторы, таблицы

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

На уровне СУБД каждому объекту конфигурации соответствует одна или несколько таблиц. Справочник — это таблица с полями ссылки, кода, наименования и реквизитов; табличные части выносятся в отдельные таблицы. Документ хранит шапку в основной таблице, а движения — в таблицах регистров, связанных с ним по полю регистратора. Прямой доступ к этим таблицам средствами SQL в обход платформы не рекомендуется: структура таблиц не документирована и может меняться между версиями.

Как посмотреть объекты конкретной базы

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

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

Как найти объект и его связи
  1. 1
    Откройте нужный список (справочник или журнал документов) в режиме 1С:Предприятие
  2. 2
    Найдите объект по коду, наименованию или отбору
  3. 3
    Через меню «Ещё» выполните поиск ссылок на объект, чтобы увидеть зависимые записи
  4. 4
    При необходимости технического анализа включите «Все функции» и откройте связанные регистры
  5. 5
    Проверьте результат: объект найден, список ссылок построен без ошибок

Работа с объектами в коде: краткий ориентир

Во встроенном языке различают ссылку и объект. Ссылка — лёгкий идентификатор, получение которого не читает всю запись из базы. Объект (например, результат метода ПолучитьОбъект()) — полная копия данных в памяти, которую можно изменить и записать. Чтение реквизитов через точку от ссылки выполняет обращение к базе, поэтому в циклах вместо обращений через точку используют запросы.

КонтрагентСсылка = Справочники.Контрагенты.НайтиПоКоду("000000123");

Если Не КонтрагентСсылка.Пустая() Тогда

КонтрагентОбъект = КонтрагентСсылка.ПолучитьОбъект();

КонтрагентОбъект.Комментарий = "Проверен";

КонтрагентОбъект.Записать();

КонецЕсли;

Запись объекта выполняется в транзакции и подчиняется правам доступа и подпискам на события. Программное создание и изменение объектов в боевой базе делайте только после теста на копии: ошибка в обходе бизнес-логики (например, запись документа без проведения по регистрам) способна рассогласовать учёт.

Типичные ошибки и ограничения

Самая частая ошибка начинающих — попытка хранить изменяющиеся по времени данные в реквизитах справочника. Цена или остаток в карточке товара быстро устаревает и конфликтует при одновременной работе пользователей; для таких данных предназначены регистры сведений и накопления. Второй типовой просчёт — создание документа там, где достаточно справочника, и наоборот: документ без проведения по регистрам часто оказывается лишней сущностью.

Ещё одна группа ошибок связана со ссылками: сравнение объектов по наименованию вместо ссылки, хранение GUID в виде строки без связи с базой, использование «битых» ссылок после некорректного обмена. Признак битой ссылки — значение вида «Объект не найден» в реквизитах; такие записи находят штатной проверкой ссылочной целостности и обработками поиска битых ссылок.

Типичные ошибки
01
Хранение цен и остатков в реквизитах справочника — данные устаревают и конфликтуют при параллельной работе
02
Сравнение объектов по наименованию вместо ссылки — дубли и ложные совпадения после переименования
03
Физическое удаление объектов без поиска ссылок — битые ссылки в документах и регистрах
04
Изменение конфигурации без обновления на тестовой копии — риск потери данных при реструктуризации
Контрольные точки

Как проверить результат

Объект создан
Норма

Запись открывается, имеет код/номер и сохраняется без ошибок

Тревожный признак

Ошибка записи, объект не появляется в списке

Ссылочная целостность
Норма

Поиск ссылок показывает корректные связи, нет записей «Объект не найден»

Тревожный признак

В реквизитах отображается «Объект не найден»

Движения документа
Норма

По кнопке «Движения» видны записи в нужных регистрах

Тревожный признак

Документ проведён, но движений нет или они не в тех регистрах

Часто задаваемые вопросы

Чем объект базы данных отличается от таблицы SQL?

Таблица SQL — физическое хранилище строк, а объект 1С — логическая сущность уровня платформы. Один объект (например, документ с табличными частями) может занимать несколько таблиц, и работать с ним полагается средствами платформы, а не прямыми запросами к СУБД.

Почему нельзя удалить элемент справочника сразу?

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

Что такое GUID объекта и где его посмотреть?

GUID — уникальный идентификатор объекта, присваиваемый при создании и неизменный в течение жизни записи. Программно его получают методом УникальныйИдентификатор() у ссылки; он используется в обменах и внешних интеграциях для однозначного сопоставления объектов.

Документ — это объект базы данных или объект конфигурации?

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

Можно ли создать собственный тип объекта в 1С?

Нет. Набор классов (справочники, документы, регистры и так далее) фиксирован платформой. Разработчик создаёт новые объекты только этих типов, настраивая реквизиты, табличные части и поведение.

Что делать, если в реквизите отображается «Объект не найден»?

Это битая ссылка: запись, на которую указывал реквизит, удалена или утеряна при обмене. Найдите такие записи штатной проверкой или обработкой поиска битых ссылок, затем либо восстановите объект по идентификатору из резервной копии или базы-источника, либо очистите ссылку осознанно.

Итог

Что важно запомнить

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