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

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

Где определяется структура создаваемого бизнес-приложения в 1С

Разбираем, где и как определяется структура создаваемого бизнес-приложения в 1С: конфигуратор, дерево метаданных, объекты конфигурации, модули и подсистемы.

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

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

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

Конфигуратор как среда определения структуры

Конфигуратор запускается из того же ярлыка, что и прикладной режим, но с выбором пункта «Конфигуратор» в стартовом окне или через файл 1cv8.exe DESIGNER. Работа в нём возможна только при монопольном доступе к базе для большинства структурных изменений, поэтому перед началом работ стоит убедиться, что пользователи вышли из системы.

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

Конфигурация хранится внутри информационной базы. Дополнительно её можно выгрузить в файл 1Cv8.cf (полная конфигурация), в файлы выгрузки XML либо в формат проекта EDT. Это важно для резервного копирования: перед любыми структурными изменениями всегда делайте выгрузку базы или конфигурации.

Дерево объектов конфигурации: что в нём находится

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

Основные группы объектов, формирующие структуру типового бизнес-приложения:

  • Общие — подсистемы, общие модули, параметры сеанса, роли, общие формы, планы обмена, критерии отбора, хранилища настроек;
  • Константы — хранят единичные значения настроек (например, наименование организации);
  • Справочники — списки условно-постоянной информации: контрагенты, номенклатура, сотрудники;
  • Документы — факты хозяйственной деятельности: заказы, накладные, платёжки;
  • Регистры — накопление, сведений, расчёта и бухгалтерии: именно здесь хранятся обороты и остатки;
  • Отчёты и обработки — инструменты анализа и пакетных операций;
  • Планы счетов, планы видов характеристик, планы видов расчёта — основа учётных механизмов;
  • Бизнес-процессы и задачи — маршруты согласования и списки поручений.

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

Свойства объекта: где задаётся поведение элемента структуры

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

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

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

Модули и программный код: логика поверх структуры

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

Код пишется на встроенном языке 1С. Например, обработка проведения документа описывается в его модуле объекта и определяет, какие записи попадут в регистры:

bsl
Процедура ОбработкаПроведения(Отказ, Режим)
  Для Каждого СтрокаТовары Из Товары Цикл
    Движение = Движения.ОстаткиНоменклатуры.Добавить();
    Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
    Движение.Период = Дата;
    Движение.Номенклатура = СтрокаТовары.Номенклатура;
    Движение.Количество = СтрокаТовары.Количество;
  КонецЦикла;
КонецПроцедуры

Таким образом, полная структура приложения = метаданные (дерево объектов и их свойства) + код модулей + формы и макеты. Вse эти элементы редактируются в конфигураторе и вместе образуют конфигурацию.

Подсистемы и командный интерфейс: структура для пользователя

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

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

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

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

Обновление конфигурации базы данных и реструктуризация

Изменения, внесённые в конфигурацию, не применяются к рабочей базе автоматически. Чтобы структура данных пришла в соответствие с новой структурой конфигурации, выполняется команда «Конфигурация → Обновить конфигурацию базы данных» (клавиша F7). Платформа показывает список изменений: какие таблицы будут созданы, изменены или удалены.

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

Динамическое обновление доступно только для ограниченного круга правок (например, изменения кода модулей без изменения структуры данных). Любое добавление или изменение реквизитов, регистров, типов требует полного обновления с монопольным режимом.

Типичные ошибки
01
Редактирование структуры без резервной копии — при ошибке реструктуризации данные восстановить неоткуда.
02
Удаление «ненужных» объектов в типовой конфигурации — при обновлении релиза возникают конфликты и потеря сопоставления.
03
Изменение типов и длин реквизитов без проверки существующих данных — часть значений обрезается или теряется.
04
Забытая привязка нового объекта к подсистемам и ролям — объект создан, но пользователи его не видят или не имеют доступа.
05
Прерывание процесса реструктуризации — риск повреждения информационной базы.

Альтернативные способы определения структуры: EDT и расширения

Помимо классического конфигуратора, структуру приложения можно разрабатывать в 1C:Enterprise Development Tools (EDT) — среде на базе Eclipse, где конфигурация хранится как проект из файлов. Это удобно для командной разработки и интеграции с Git, но суть не меняется: структура по-прежнему описывается объектами метаданных.

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

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

Способы изменения структуры приложения

Прямая правка конфигурации

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

Расширение конфигурации

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

Внешние обработки и отчёты

Подходят для добавления функций без изменения структуры данных. Не позволяют создавать новые объекты метаданных.

1C:EDT

Среда для командной разработки с контролем версий. Требует освоения, но даёт те же метаданные в файловом формате.

Как проверить, что структура определена корректно

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

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

Контрольные точки

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

Обновление конфигурации базы данных
Норма

Завершилось без ошибок, список реструктуризации соответствовал ожиданиям

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

Сообщения о потере данных, обрыв процесса, ошибки блокировок

Отображение объекта в интерфейсе
Норма

Объект виден в нужной подсистеме, открываются формы списка и элемента

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

Объект отсутствует в разделах или недоступен по правам

Проверка конфигурации
Норма

Нет ошибок логической проверки и проверки прав

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

Ссылки на несуществующие объекты, ошибки модулей

Работа с данными
Норма

Записи создаются, движения по регистрам формируются корректно

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

Ошибки при проведении, пустые или дублирующиеся движения

Итог

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

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

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

Можно ли изменить структуру приложения из режима «1С:Предприятие»?

Нет. Пользовательский режим позволяет только вводить данные и настраивать доступные параметры (например, состав команд интерфейса в пределах прав). Создание и изменение объектов метаданных возможно исключительно в конфигураторе или через EDT и расширения.

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

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

Где физически хранится структура приложения?

В файловом варианте — внутри файла информационной базы 1Cv8.1CD, в клиент-серверном — в базе данных на СУБД. Отдельно конфигурацию можно выгрузить в файл 1Cv8.cf, XML-файлы или проект EDT для хранения и переноса.

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

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

Как добавить свой реквизит в типовую конфигурацию, не нарушая поддержку?

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

Нужен ли монопольный доступ для любых изменений в конфигураторе?

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