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

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

Сколько конфигураций может существовать в прикладном решении 1С

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

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

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

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

Какие конфигурации существуют в прикладном решении

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

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

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

Основная конфигурация и конфигурация базы данных: в чём разница

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

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

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

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

Как проверить состояние конфигураций

Совпадение основной конфигурации и конфигурации базы данных
Норма

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

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

Платформа предлагает реструктуризацию или сообщает о несоответствии

Состояние поддержки
Норма

В окне «Настройка поддержки» виден поставщик и номер версии

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

Конфигурация поставщика отсутствует, хотя решение должно быть типовым

Расширения
Норма

Все расширения активны, без отметок об ошибках применения

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

Расширение отключено с диагностикой конфликта с основной конфигурацией

Конфигурация поставщика и поддержка типового решения

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

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

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

Конфигурация хранилища при командной разработке

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

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

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

Расширения как отдельные конфигурации

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

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

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

Как проверить и синхронизировать конфигурации

Порядок действий при подозрении на рассинхронизацию конфигураций в прикладном решении:

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

Для пакетной проверки и обновления удобно использовать командную строку конфигуратора:

bash
1cv8 DESIGNER /F"C:\Bases\Trade" /UpdateDBCfg /Out"C:\Logs\update.log"

Ключ /UpdateDBCfg выполняет обновление конфигурации базы данных из командной строки, а параметр /Out сохраняет протокол в файл — по нему удобно искать ошибки реструктуризации, если обновление завершилось с предупреждениями.

Типичные ошибки при работе с несколькими конфигурациями

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

Отдельная ошибка — путать выгрузку конфигурации в файл (cf) с выгрузкой информационной базы (dt). Файл cf содержит только конфигурацию без данных, и загрузка его в рабочую базу заменит метаданные, но не создаст резервную копию данных. Перед любыми операциями с конфигурациями делайте именно выгрузку dt или штатную копию средствами СУБД.

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

Как выбрать действие

Доработки внесены, но пользователи их не видятВыполните «Обновить конфигурацию базы данных» в монопольном режиме
Нужно обновить типовой релизИспользуйте «Поддержка → Обновить конфигурацию», не загружайте cf вручную
Нужно добавить доработку без снятия с поддержкиИспользуйте расширение конфигурации вместо изменения основной
Основная конфигурация разошлась с хранилищемВыполните сравнение и объединение с хранилищем до продолжения разработки

Часто задаваемые вопросы

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

Нет. Основная конфигурация в базе всегда одна. Несколько конфигураций существуют как разные слои (основная, базы данных, поставщика, хранилища, расширения), но редактируемая основная конфигурация — единственная. Разные прикладные решения размещают в отдельных информационных базах.

Почему после сохранения конфигурации пользователи не видят изменений?

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

Что произойдёт, если удалить конфигурацию поставщика?

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

Сколько расширений можно подключить к одной конфигурации?

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

Опасно ли расхождение основной конфигурации и конфигурации базы данных?

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

Как узнать, какие объекты изменены относительно типовой конфигурации?

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

Итог

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

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