Разработка и Конфигурация · 9 мин
Что такое табличная модель в 1С и как она устроена
Табличная модель в 1С: как данные хранятся в таблицах, чем отличаются справочники, документы и регистры, как читать структуру базы и избегать типичных ошибок.
Табличная модель в 1С — это способ представления и хранения данных, при котором вся информация системы организована в виде связанных таблиц: строк и колонок с заданными типами полей. Любой объект конфигурации — справочник, документ, регистр — в конечном счёте разворачивается платформой в одну или несколько таблиц базы данных. Понимание этой модели помогает правильно проектировать конфигурации, писать запросы и не теряться в структуре данных.
Когда разработчик создаёт в конфигураторе справочник «Номенклатура» с реквизитами «Артикул» и «Ставка НДС», платформа автоматически формирует таблицу, где каждому реквизиту соответствует колонка, а каждому элементу справочника — строка. Пользователь видит форму с полями, но под ней всегда лежит табличное представление.
Важно понимать: табличная модель в 1С — это не просто «таблица на экране», а принцип организации всего хранилища. Даже сложные объекты, такие как документы с табличными частями или регистры накопления, состоят из набора связанных между собой таблиц, соединённых ключевыми полями.
Из чего состоит табличная модель 1С
Основные строительные блоки модели — объекты конфигурации, каждый из которых имеет своё табличное представление. Справочник хранит однородные списки (контрагенты, товары, сотрудники), документ фиксирует факты хозяйственной деятельности, регистры накапливают сведения и остатки. Все они описываются реквизитами, которые становятся колонками таблиц.
У каждой таблицы есть служебные поля, которые платформа создаёт автоматически: ссылка (уникальный идентификатор), код, наименование, пометка удаления. Эти поля нельзя удалить, и именно ссылка служит главным ключом, связывающим таблицы между собой.
Как устроены табличные части документов
Документ в 1С — это всегда минимум две таблицы: шапка и табличная часть. В шапке хранятся общие реквизиты (номер, дата, контрагент), а в табличной части — строки: товары, услуги, начисления. Связь между ними обеспечивается полем «Ссылка»: каждая строка табличной части знает, к какому документу она относится.
Это классическая связь «один ко многим»: один документ — много строк. При проведении документа платформа читает шапку и табличную часть и на их основе формирует движения — записи в регистрах. Поэтому ошибка в структуре табличной части (например, неправильный тип реквизита) напрямую влияет на учёт.
Почему нельзя хранить списки в одном текстовом поле
Начинающие разработчики иногда пытаются записать перечень товаров в один строковый реквизит через запятую. Это ломает табличную модель: по такому полю невозможно построить запрос, посчитать суммы, сделать отбор. Правильное решение — табличная часть с отдельной строкой на каждую позицию.
Регистры как таблицы учёта
Регистры — специализированные таблицы, предназначенные для накопления данных. Регистр сведений хранит информацию в разрезе измерений (например, цены по номенклатуре), регистр накопления — остатки и обороты (товары на складах, взаиморасчёты). Структура регистра задаётся измерениями, ресурсами и реквизитами.
Измерения — это разрезы учёта (склад, товар, организация), ресурсы — числовые показатели (количество, сумма). Платформа автоматически поддерживает для регистров накопления виртуальные таблицы остатков и оборотов, которые рассчитываются на основе физической таблицы движений.
Какой объект выбрать для хранения
Подходит для условно-постоянных списков: номенклатура, контрагенты, договоры. Не предназначен для хранения остатков и истории изменений.
Фиксирует событие с датой и номером, формирует движения. Не используйте документы как справочники — это замедляет выборки.
Хранит значения в разрезе измерений, может быть периодическим (история цен, курсов). Не считает итоги автоматически.
Ведёт остатки и обороты по документам-движениям. Записывать вручную без документа-регистратора — признак архитектурной ошибки.
Как табличная модель связана с запросами
Язык запросов 1С работает именно с табличной моделью: вы обращаетесь к таблицам объектов по их именам в конфигурации, например Справочник.Номенклатура или Документ.РеализацияТоваровУслуг.Товары. Табличные части доступны как отдельные таблицы через точку после имени документа.
Соединения таблиц выполняются по ссылкам: типичный запрос соединяет табличную часть документа со справочником номенклатуры по полю «Номенклатура». Понимание, какие поля являются ссылками, а какие — примитивными значениями, определяет корректность соединений и скорость запроса.
ВЫБРАТЬ
РеализацияТовары.Номенклатура КАК Товар,
СУММА(РеализацияТовары.Количество) КАК Количество
ИЗ
Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТовары
ГДЕ
РеализацияТовары.Ссылка.Проведен
СГРУППИРОВАТЬ ПО
РеализацияТовары.НоменклатураКак увидеть табличную структуру базы на практике
В клиент-серверном режиме физическую структуру таблиц можно посмотреть через диалог «Параметры базы данных SQL» или специальную функцию получения структуры хранения базы данных в конфигураторе. Она показывает соответствие объектов конфигурации и таблиц СУБД с их внутренними именами.
- 1Откройте конфигуратор и перейдите в меню «Администрирование»
- 2Выберите пункт «Параметры базы данных SQL» или используйте функцию ПолучитьСтруктуруХраненияБазыДанных()
- 3Найдите интересующий объект по имени таблицы и изучите соответствие реквизитов и полей
- 4Проверьте, какие индексы созданы платформой автоматически
Эта информация полезна при оптимизации запросов и интеграциях: внешние системы, читающие базу напрямую, работают именно с физическими таблицами. Однако прямая запись в таблицы СУБД в обход платформы категорически недопустима.
Типичные ошибки при работе с табличной моделью
Большинство проблем у начинающих связано с непониманием разницы между объектным и табличным представлением. Объект в памяти (например, ДокументОбъект) — это не таблица, а структура данных, которая записывается в таблицы при вызове метода «Записать». До записи изменения в базе не существует.
Как проверить корректность структуры данных
После изменения конфигурации выполняйте реструктуризацию и тестирование. Платформа при обновлении конфигурации базы данных сама преобразует таблицы, но при удалении реквизитов данные в них теряются безвозвратно — делайте резервную копию перед обновлением.
Как проверить результат
Обновление завершается без ошибок, данные на месте
Сообщения о невозможности преобразования, потеря данных в удалённых реквизитах
Строки возвращаются с корректной ссылкой на документ
Пустой результат при наличии проведённых документов или задвоение строк
Виртуальная таблица остатков совпадает с отчётом
Расхождения между движениями и итогами — признак ручной правки данных
Часто задаваемые вопросы
Чем табличная модель отличается от объектной модели в 1С?
Табличная модель описывает, как данные физически хранятся — в таблицах базы данных. Объектная модель — это программное представление: справочник-объект, документ-объект с методами «Записать», «Провести». Разработчик работает с объектами, а платформа сама отображает их в таблицы.
Можно ли посмотреть таблицы 1С в SQL Server Management Studio?
Да, в клиент-серверном режиме таблицы видны в СУБД, но их имена генерируются платформой и не совпадают с именами объектов конфигурации. Соответствие помогает установить функция получения структуры хранения базы данных. Смотреть можно, изменять напрямую — нельзя.
Что такое виртуальные таблицы в запросах?
Это расчётные представления, которые платформа строит на лету на основе физических таблиц: остатки и обороты регистров накопления, срезы первых и последних регистров сведений. Они не хранятся отдельно, но позволяют быстро получать итоги без ручной группировки движений.
Сколько табличных частей может быть у документа?
Количество табличных частей не ограничено жёстко — документ может иметь несколько (например, «Товары» и «Услуги»). Каждая табличная часть — отдельная таблица в базе, связанная с шапкой по ссылке. Злоупотреблять ими не стоит: каждая часть усложняет проведение и запросы.
Почему соединение по ссылке быстрее, чем по наименованию?
Ссылка — это уникальный идентификатор фиксированного формата, по которому платформа строит индексы. Наименование — текстовое поле без гарантии уникальности: соединение по нему идёт медленнее и может дать задвоения, если в справочнике есть элементы с одинаковыми названиями.
Что важно запомнить
Табличная модель 1С — это представление всех данных в виде связанных таблиц: справочников, документов с табличными частями и регистров. Таблицы соединяются ссылками, запросы работают с именами объектов конфигурации, а прямая правка данных в СУБД недопустима. Понимание модели — основа проектирования, отчётов и оптимизации.