Разработка и Конфигурация · 11 мин
Какая модель данных используется в 1С и как она устроена
Какая модель данных используется в 1С: предметно-ориентированный подход, объекты конфигурации, регистры, документы и справочники. Разбираем устройство и выбор структуры.
1С использует собственную предметно-ориентированную модель данных, которая принципиально отличается от классического реляционного подхода «таблицы и связи». Разработчик описывает не структуру таблиц базы данных, а объекты предметной области: документы, справочники, регистры, планы счетов. Платформа сама преобразует это описание в физические таблицы СУБД — MS SQL Server, PostgreSQL, Oracle или IBM DB2.
Такой подход называют метаданно-ориентированным: вся структура данных определяется конфигурацией (метаданными), а не схемой базы напрямую. Прикладной разработчик работает на уровне сущностей «Номенклатура», «Реализация товаров», «Регистр остатков», а платформа берёт на себя создание таблиц, индексов, ключей и механизмов целостности.
Понимание этой модели критично и для внедренцев, и для пользователей: от того, как спроектирована структура объектов, зависят скорость отчётов, корректность остатков и возможность доработки системы без потери данных.
Как устроена модель данных 1С: метаданные вместо таблиц
Фундамент модели — дерево метаданных конфигурации. Каждый прикладной объект (справочник, документ, регистр) описывается набором свойств: реквизиты, табличные части, измерения, ресурсы, движения. На основании этого описания платформа генерирует физическую структуру базы и поддерживает её при изменениях конфигурации через механизм реструктуризации.
Ключевое следствие: одна и та же конфигурация может работать на разных СУБД без переписывания кода. Платформа абстрагирует прикладной уровень от диалекта SQL. Запросы пишутся на собственном языке запросов 1С, который по синтаксису напоминает SQL, но оперирует именами объектов метаданных, а не физических таблиц.
Физическая структура базы (имена таблиц вида _Reference, _Document, _AccumRg) считается внутренней кухней платформы. Она может меняться между версиями технологической платформы, поэтому прямые обращения к таблицам через сторонние SQL-запросы — неподдерживаемый сценарий.
Основные типы объектов и их роли в модели
Модель данных 1С строится из типовых «кирпичиков», каждый из которых решает свою задачу. Неправильный выбор типа объекта — самая частая причина проблем с производительностью и логикой учёта.
- Справочники — условно постоянные нормативные данные: номенклатура, контрагенты, склады. Поддерживают иерархию, предопределённые элементы, владельцев (подчинённые справочники).
- Документы — факты хозяйственной деятельности, привязанные к моменту времени. Документ может быть проведён, то есть сформировать движения по регистрам.
- Регистры сведений — хранилища значений в разрезе измерений (цены, курсы, настройки). Могут быть независимыми или подчинёнными регистратору, периодическими.
- Регистры накопления — учёт остатков и оборотов: товары на складах, взаиморасчёты. Вид «Остатки» хранит значение ресурса, вид «Обороты» — только приращения.
- Планы счетов и регистры бухгалтерии — модель бухгалтерского учёта с поддержкой двойной записи, субконто, корреспонденций.
- Планы видов характеристик — механизм для расширяемых аналитик, когда состав характеристик заранее неизвестен.
- Бизнес-процессы и задачи — модель маршрутизации работ между исполнителями.
Перечисления, константы и планы обмена дополняют модель: константы хранят единичные настройки, перечисления — жёстко заданные списки значений, планы обмена — структуру узлов распределённых баз.
Как связаны документы и регистры: модель проведения
Центральная идея учётной модели 1С — разделение первичного факта и учётного результата. Документ фиксирует «что произошло», а регистры — «как это отразилось на учёте». Связь между ними настраивается в свойствах документа на вкладке «Движения» и программируется в обработчике проведения.
При проведении документа платформа записывает наборы записей в регистры единой транзакцией: либо проведение проходит целиком, либо откатывается полностью. Это гарантирует целостность учёта на уровне платформы, а не прикладного кода.
Для регистров накопления с видом «Остатки» платформа автоматически поддерживает таблицу итогов, благодаря которой отчёт по остаткам на дату выполняется быстро, без суммирования всех движений. Управление периодичностью итогов и датой запрета изменения данных — стандартные инструменты оптимизации.
Физический уровень: как метаданные превращаются в таблицы
При обновлении конфигурации базы данных платформа сравнивает метаданные с текущей физической структурой и выполняет реструктуризацию: создаёт новые таблицы и поля, переносит данные при изменении типов реквизитов. На больших базах реструктуризация может занимать часы — её планируют на нерабочее время и предварительно тестируют на копии.
Каждому объекту соответствует одна или несколько таблиц: основная таблица справочника, таблицы табличных частей, таблицы движений и итогов регистров. Платформа сама создаёт индексы по ключевым полям (ссылка, дата, регистратор, измерения), дополнительные индексы можно включить через свойство «Индексировать» у реквизита.
Уникальность ссылок обеспечивается GUID — каждый объект базы имеет глобально уникальный идентификатор, что позволяет объединять базы и настраивать обмены без конфликтов ключей.
Как выбрать тип объекта для своей задачи
При проектировании собственных доработок тип объекта определяется природой данных. Ориентиры для выбора:
- Данные редко меняются и на них ссылаются другие объекты — справочник.
- Событие имеет дату, номер и должно отражаться в учёте — документ.
- Нужно хранить значение в разрезе аналитик без учёта «кто ввёл» — независимый регистр сведений.
- Нужны остатки на дату (склад, деньги, долги) — регистр накопления с видом «Остатки».
- Нужны только суммы за период без остатков (выручка, объёмы) — регистр накопления с видом «Обороты».
- Значение меняется во времени и нужна история (цены, курсы) — периодический регистр сведений.
Ошибка выбора дорого обходится: перенести данные из регистра сведений в регистр накопления или превратить справочник в документ без потерь невозможно, потребуется конвертация. Поэтому структуру новых объектов согласовывают до начала разработки.
Как выбрать действие
Проверка корректности модели и типичные ошибки
Работоспособность модели проверяется на тестовых данных до запуска в эксплуатацию: документы проводятся, отчёты по регистрам сходятся с первичкой, остатки не уходят в минус без контроля, время проведения приемлемо на ожидаемых объёмах.
Полезная практика — отчёт «Анализ прав доступа» и проверка конфигурации в конфигураторе (пункт «Проверка конфигурации»): платформа выявляет незаполненные обязательные свойства, ошибки в запросах и недопустимые сочетания настроек ещё до обновления базы.
Как проверить результат
Документ проводится, движения видны в регистрах
Документ проведён, но записей в регистрах нет — проверьте настройку Движения
Остатки на дату формируются быстро и сходятся с оборотно-сальдовой логикой
Отчёт зависает или показывает нули при наличии движений — проблема с итогами или регистратором
Обновление проходит без ошибок на тестовой копии
Ошибки реструктуризации или потеря данных — откат и анализ изменений типов
Ограничения модели и альтернативные подходы
Модель 1С оптимизирована под учётные задачи, но имеет границы. Произвольные графовые связи, сложные иерархии «многие-ко-многим» с атрибутами связи, потоковая аналитика больших объёмов — сценарии, где встроенных механизмов может не хватить. Их решают через регистры сведений с составными измерениями, внешние источники данных или интеграцию с аналитическими хранилищами.
Механизм внешних источников данных позволяет подключить таблицы сторонней базы и работать с ними в запросах и отчётах 1С, не перенося данные в конфигурацию. Это стандартный способ интеграции с учётными системами, написанными вне экосистемы 1С.
Для обмена между конфигурациями предназначены планы обмена и формат EnterpriseData: данные передаются на уровне прикладных объектов, а не таблиц, что сохраняет целостность модели в каждом узле.
Прежде чем добавлять новый объект в типовую конфигурацию, проверьте, нет ли подходящего механизма в стандартной поставке: дополнительные реквизиты и сведения, расширения конфигурации и подключаемые обработчики часто закрывают задачу без изменения модели данных и без потери поддержки обновлений.
Часто задаваемые вопросы
1С — это реляционная база данных?
Нет. 1С — платформа с предметно-ориентированной моделью данных, которая использует реляционные СУБД (MS SQL, PostgreSQL, Oracle, DB2) как физическое хранилище. Разработчик работает с объектами метаданных, а платформа сама отображает их в реляционные таблицы.
Можно ли посмотреть, в каких таблицах SQL лежат данные объекта?
Можно: в файловом варианте структуру показывает обработка с функцией ПолучитьСтруктуруХраненияБазыДанных(), в клиент-серверном — та же функция через консоль кода. Но использовать эти знания для прямой записи в таблицы нельзя — только для чтения и диагностики.
Чем регистр сведений отличается от регистра накопления?
Регистр сведений хранит значения «как есть» в разрезе измерений и не суммирует их; регистр накопления хранит числовые ресурсы с направлением (приход/расход) и автоматически поддерживает итоги для быстрых остатков и оборотов.
Что происходит с данными при изменении конфигурации?
При обновлении конфигурации базы данных платформа выполняет реструктуризацию: добавляет новые поля, переносит данные при изменении типов. Удаление реквизита приводит к безвозвратной потере его данных, поэтому перед обновлением обязательна резервная копия.
Почему нельзя удалять документы напрямую из базы?
Документ связан с движениями по регистрам и последовательностями. Физическое удаление в обход платформы оставляет «висячие» записи в регистрах и ломает итоги. Корректный путь — отменить проведение и пометить документ на удаление, затем выполнить штатное удаление помеченных объектов.
Подходит ли модель 1С для неучётных задач, например CRM?
Да, объектная модель универсальна: справочники, документы и регистры сведений покрывают клиентскую базу, сделки и историю взаимодействий. Ограничения появляются в задачах потоковой аналитики больших данных — там 1С обычно дополняют внешними хранилищами.
Что важно запомнить
1С строит модель данных на метаданных: справочники хранят нормативку, документы — факты, регистры — учётные результаты. Платформа сама создаёт таблицы СУБД и поддерживает итоги; прямая правка таблиц запрещена. Правильный выбор типа объекта на этапе проектирования определяет скорость отчётов и надёжность учёта.