Структура конфигурации 1С: объекты, связи и права доступа

· 9 мин

Содержание

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

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

Из чего состоит структура конфигурации

Конфигурация 1С — это дерево объектов. Открывается оно в Конфигураторе: Конфигурация → Открыть конфигурацию. Слева появляется дерево, где объекты сгруппированы по видам.

Основные виды объектов:

  • 📁 Справочники — списки условно-постоянных данных: номенклатура, контрагенты, склады, сотрудники.
  • 📄 Документы — события хозяйственной жизни: поступления, реализации, начисления. Документ проводится и создаёт движения в регистрах.
  • 📊 Регистры — хранилища итогов и записей. Накопления (остатки и обороты), сведения (срезы на дату), бухгалтерии (проводки), расчёта (начисления).
  • 🔢 Перечисления — фиксированные наборы значений: статусы, виды операций.
  • ⚙️ Отчёты и обработки — не хранят данные, а показывают и преобразуют их.
  • 🧩 Планы видов характеристик, планы счетов, планы видов расчёта — настраиваемые наборы разрезов учёта.
  • 🗂 Константы — одиночные значения настроек (название организации, учётная политика по умолчанию).
  • 📚 Журналы документов — витрины, которые показывают документы разных видов в одном списке.

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

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

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

Иерархия и подчинённость: как связаны объекты

Два механизма задают структуру связей внутри данных — иерархия внутри справочника и подчинённость одного справочника другому. Их часто путают.

Иерархия делает справочник многоуровневым. Включается свойством Иерархический в окне редактирования справочника. Вид иерархии бывает двух типов:

Вид иерархииЧто этоПример
Иерархия групп и элементовПапки отдельно, элементы внутри папокНоменклатура: группа «Материалы» → товары
Иерархия элементовРодителем может быть обычный элементПодразделения, статьи затрат

У иерархии есть свойство Ограничение количества уровней иерархии. Если глубина не ограничена, дерево может разрастись до неудобной вложенности, поэтому для номенклатуры и подразделений уровни обычно ограничивают заранее.

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

Связи между объектами строятся через реквизиты ссылочного типа. Реквизит документа «Контрагент» ссылается на элемент справочника. Движения документа ссылаются на регистры. Эта сеть ссылок — каркас базы.

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

Права доступа на уровне структуры

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

Порядок настройки:

  1. В Конфигураторе в ветке Общие → Роли создают роль.
  2. В таблице прав напротив объектов ставят галочки нужных действий.
  3. Готовую роль назначают пользователю: Администрирование → Пользователи (в Конфигураторе) либо через список пользователей в режиме 1С:Предприятие.

Для тонкого ограничения есть RLS — ограничение доступа на уровне записей. Оно позволяет показать пользователю не весь справочник, а только его часть: например, менеджеру — только его склад или его контрагентов. Условие пишется в роли на языке запросов.

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

Доступ к Конфигуратору и праву «Администрирование» давайте минимальному числу людей — именно эти права позволяют менять структуру базы.

Как структура влияет на скорость работы

Плохо спроектированная структура тормозит базу сильнее, чем слабое железо. Несколько рычагов, которыми управляют на уровне объектов.

Индексирование реквизитов. Если по реквизиту часто идёт отбор или поиск, у него задают свойство Индексировать (значения «Индексировать» или «Индексировать с доп. упорядочиванием»). Без индекса отбор по большому справочнику вызывает полный перебор таблицы.

Разделение итогов регистров. У регистра накопления есть свойство Разрешить разделение итогов. Оно снижает блокировки при одновременной записи движений многими пользователями. Включают его для регистров с активной параллельной записью.

Лишние реквизиты и табличные части раздувают таблицы. Поле, которое нигде не используется, всё равно читается при каждом обращении к объекту. Периодически стоит пересматривать состав реквизитов.

Выбор правильного типа объекта. Срез значений на дату — это регистр сведений , а не справочник с историей в табличной части. Остатки и обороты — регистр накопления, а не ручной пересчёт по документам.

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

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

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

Изменение структуры в распределённой базе (РИБ)

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

Как это работает на практике:

  1. Разработчик вносит изменения в конфигурацию главного узла и обновляет структуру его базы.
  2. При очередном обмене изменения конфигурации уходят в сообщение вместе с данными.
  3. Периферийный узел принимает сообщение и обновляет свою конфигурацию под то же состояние.

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

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

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

Чем менять структуру: Конфигуратор, расширения, обработки

Инструмент выбирают по задаче. Это и определяет, насколько безопасно и обратимо изменение.

Что нужно сделать со структурой?

Ключевые приёмы:

  • Расширения конфигурации появились в платформе 8.3.6. Файл расширения — .cfe. Подключается в Конфигурация → Расширения конфигурации. Расширение хранит только ваши доработки поверх типовой конфигурации — обновления вендора при этом не конфликтуют с правками.
  • Обновление структуры базы выполняется командой Конфигурация → Обновить конфигурацию базы данных (F7). Если изменения затрагивают таблицы (новый реквизит, новое измерение регистра), платформа запускает реструктуризацию и запрашивает монопольный доступ.
  • Внешние обработки и отчёты меняют и анализируют данные, но не структуру. Их удобно использовать, чтобы не раздувать конфигурацию разовыми инструментами.

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

Резервная копия структуры и базы

Перед любым изменением структуры делают копию. Копировать можно по-разному — важно понимать разницу.

Что выгружаемКомандаЧто внутри
Всю базу (структура + данные)Администрирование → Выгрузить информационную базуФайл .dt — полный слепок
Только конфигурацию (структуру)Конфигурация → Сохранить конфигурацию в файлФайл .cf — без данных
Только расширениеКонфигурация → Расширения конфигурации → сохранитьФайл .cfe

Файл .dt — это полная резервная копия: из него база восстанавливается целиком командой Загрузить информационную базу. Файл .cf хранит только структуру и код — им удобно переносить доработки между базами и откатывать неудачное изменение конфигурации.

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

Перед изменением структуры рабочей базы
Выполнено: 0 / 5

Частые ошибки при работе со структурой

Не повторяя шагов выше, соберём то, на чём чаще спотыкаются.

  • Меняют структуру в периферийном узле РИБ. Правки живут до первого обмена, потом исчезают. Структуру правят только в главном узле.
  • Удаляют объект, в котором есть данные. При обновлении структуры данные удаляемого объекта стираются без возможности отката, если нет копии. Сначала проверяют, нужны ли записи.
  • Запускают реструктуризацию днём. Обновление структуры большой таблицы блокирует работу на десятки минут. Такие операции — в окно обслуживания.
  • Делают доработки прямо в типовой конфигурации на поддержке. Это ломает автоматическое обновление от вендора. Для типовых используют расширения.
  • Путают индекс и реквизит. Добавить реквизит мало — чтобы отбор по нему работал быстро, реквизит ещё нужно проиндексировать.

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

Чем структура конфигурации отличается от структуры данных?
Структура конфигурации — это состав объектов и их реквизитов в дереве метаданных (что вообще может храниться). Структура данных — это уже конкретные таблицы в СУБД, которые платформа создаёт по конфигурации при обновлении структуры БД.
Можно ли менять структуру без остановки пользователей?
Изменения, не затрагивающие таблицы (правка форм, модулей, расширения без новых реквизитов), применяются без монополии. Любое изменение состава реквизитов или объектов требует монопольного доступа и реструктуризации.
Что делать, если после обновления структуры база не открывается?
Восстановить из резервной копии: загрузить сохранённый .dt или вернуть прежнюю структуру из .cf через сравнение и объединение конфигураций. Поэтому копию и делают до правок.
Как посмотреть всю структуру конфигурации одним списком?
В Конфигураторе откройте дерево конфигурации и выгрузите отчёт по конфигурации (Конфигурация → Поставка конфигурации → … либо встроенные отчёты по структуре метаданных). Для быстрой инвентаризации достаточно раскрыть ветки дерева по видам объектов.
Нужен ли программист, чтобы работать со структурой?
Для просмотра и выгрузки копий — нет, это администраторские действия. Для изменения состава объектов, реквизитов и прав нужен человек, понимающий Конфигуратор и последствия реструктуризации, иначе легко повредить данные.