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

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

Для чего нужна структура в 1С

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

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

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

Что вообще называют структурой в 1С

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

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

Зачем структура нужна в повседневной работе с учётом

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

Для пользователя это означает простое правило: если данные повторяются и меняются редко — им место в справочнике; если это разовое событие с датой и номером — это документ; если нужен остаток или оборот — данные должны попасть в регистр при проведении. Нарушение этой логики (например, учёт остатков в реквизитах справочника) почти всегда приводит к расхождениям в отчётах.

Какие объекты образуют структуру конфигурации

Типовая конфигурация строится из ограниченного набора видов объектов, и у каждого — своё назначение. Понимание этого набора помогает ориентироваться в любой базе, даже сильно доработанной.

ОбъектНазначениеПример
СправочникХранение нормативно-справочной информацииНоменклатура, контрагенты
ДокументРегистрация хозяйственных операцийПоступление товаров, счёт-фактура
Регистр накопленияОстатки и обороты по разрезамТовары на складах
Регистр сведенийЗначения в разрезе измерений и периодовЦены номенклатуры, курсы валют
Регистр бухгалтерииПроводки по плану счетовХозрасчётный
Отчёт / обработкаВывод и обработка данных без их храненияОборотно-сальдовая ведомость

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

Как связи между объектами обеспечивают целостность данных

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

Проведение документа — второй уровень связности. При проведении документ записывает движения в регистры, и именно эти движения, а не «шапки» документов, формируют отчёты. Поэтому диагностика расхождений в учёте почти всегда начинается с вопроса: проведён ли документ и какие движения он сделал.

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

Структура как тип данных в языке 1С

Для разработчика «Структура» — это встроенный тип, коллекция пар «ключ-значение». Её используют, чтобы передать в процедуру набор именованных параметров, не создавая отдельный объект, и чтобы вернуть из функции несколько значений сразу.

Параметры = Новый Структура;

Параметры.Вставить("Организация", Организация);

Параметры.Вставить("Период", НачалоМесяца(ТекущаяДатаСеанса()));

// Обращение по ключу

Если Параметры.Свойство("Организация") Тогда

// ключ существует

КонецЕсли;

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

Типичные ошибки при работе со структурой
01
Обращение к несуществующему ключу структуры без проверки методом «Свойство» — приводит к ошибке выполнения
02
Хранение остатков в реквизитах справочников вместо регистров накопления — отчёты расходятся с фактическими данными
03
Добавление новых объектов в типовую конфигурацию без префикса — конфликты при обновлении
04
Удаление элементов справочников вместо пометки на удаление — нарушение ссылочной целостности

Как менять структуру без риска для данных

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

Безопасные правила доработки: все новые объекты и реквизиты называйте с префиксом (например, «Преф_»), чтобы не конфликтовать с обновлениями типовой конфигурации; по возможности используйте расширения конфигурации вместо прямого изменения; тестируйте изменения на копии базы. Если конфигурация на полной поддержке, снятие с поддержки усложнит будущие обновления — это решение должно быть осознанным.

Маршрут решения

Как выбрать способ доработки

Нужно добавить печатную форму или отчёт без изменения объектовИспользуйте внешнюю обработку или дополнительные отчёты и обработки (БСП)
Нужно добавить реквизит или изменить форму в типовой конфигурацииИспользуйте расширение конфигурации
Требуется глубокая переработка логики проведенияДоработка в конфигураторе на копии базы с последующим тестированием
Нужно просто хранить дополнительные сведения об объектеИспользуйте дополнительные реквизиты и сведения — без изменения структуры

Частые вопросы

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

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

Можно ли посмотреть структуру конфигурации без конфигуратора?

Частично — да. В режиме предприятия доступны «Все функции» (список объектов), состав подсистем, а в типовых решениях — описание конфигурации. Но полное дерево метаданных с реквизитами, измерениями и ресурсами видно только в конфигураторе.

Зачем нужен тип «Структура», если есть «Соответствие»?

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

Что произойдёт с данными при удалении реквизита из конфигурации?

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

Почему отчёт показывает не те данные, что в документах?

Чаще всего документ не проведён, помечен на удаление или его движения были изменены (например, ручной операцией или обработкой). Отчёты строятся по регистрам, а не по «шапкам» документов, поэтому проверять нужно именно движения документа по регистрам.

Нужно ли понимать структуру обычному пользователю?

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

Итог

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

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