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

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

Как работать с конфигурацией 1С: структура, доработка и обновление

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

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

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

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

Что такое конфигурация и как устроено дерево метаданных

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

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

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

Режимы работы: Конфигуратор и Предприятие

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

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

Как безопасно дорабатывать типовую конфигурацию

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

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

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

Способы доработки

Настройка без кода

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

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

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

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

Изменение типовых объектов с включением возможности изменения. Решает любые задачи, но усложняет обновления и требует учёта всех правок.

Обновление конфигурации: порядок действий

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

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

Безопасное обновление
  1. 1
    Выгрузите базу в файл .dt и проверьте, что файл создан и имеет ненулевой размер
  2. 2
    Завершите все сеансы пользователей и фоновые задания
  3. 3
    Загрузите обновление поставщика и выполните сравнение/объединение, разбирая конфликты в доработанных объектах
  4. 4
    Обновите конфигурацию базы данных (F7) и дождитесь реструктуризации
  5. 5
    Запустите базу в режиме Предприятие, дождитесь выполнения обработчиков обновления и проверьте ключевые операции: проведение документов, формирование отчётов

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

Отладка и проверка изменений

Отладчик Конфигуратора позволяет ставить точки останова, пошагово выполнять код и смотреть значения переменных через табло. Включается отладка через «Отладка → Начать отладку»; при этом открывается сеанс «Предприятия», подключённый к отладчику. Для серверного кода в клиент-серверном варианте нужно дополнительно разрешить отладку на сервере 1С.

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

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

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

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

Обновление проходит без ошибок, реструктуризация завершается

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

Ошибки проверки конфигурации, обрыв реструктуризации

Работа типовых сценариев
Норма

Документы проводятся, отчёты формируются с прежними итогами

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

Ошибки при проведении, изменились итоги в отчётах

Новая функциональность
Норма

Сценарий выполняется на тестовых данных, включая граничные случаи

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

Работает только на «идеальных» данных, падает на пустых или некорректных значениях

Права доступа
Норма

Новые объекты доступны нужным ролям, лишние права не добавлены

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

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

Распространённые ошибки и ограничения

Одна из частых ошибок — правка модулей без понимания контекста выполнения: код в общем модуле с признаком «Сервер» недоступен в клиентском контексте формы, а директивы &НаКлиенте и &НаСервере в модулях форм определяют, где исполняется процедура. Нарушение этих границ приводит к ошибкам компиляции или непредсказуемому поведению в тонком клиенте и веб-клиенте.

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

Отдельно стоит упомянуть прямое обращение к данным в обход объектной модели: запросы вида «ВЫБРАТЬ … ИЗ РегистрНакопления» без учёта виртуальных таблиц и итогов могут давать неверные цифры. Для остатков и оборотов используйте виртуальные таблицы Остатки и Обороты с указанием периода.

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

Перенос изменений и хранение версий

Для переноса конфигурации между базами используются файлы .cf (полная конфигурация) и .cfu (обновление), а также выгрузка/загрузка отдельных объектов через «Выгрузить в файлы конфигурации». Для командной работы предназначено хранилище конфигурации: оно фиксирует, кто и что изменил, позволяет захватывать объекты и откатываться к прежним версиям.

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

Перед любой доработкой проверьте, не решается ли задача типовыми механизмами: дополнительными реквизитами, вариантами отчётов на СКД или подключаемыми внешними обработками. Значительная часть запросов на доработку закрывается настройкой, и это сильно упрощает дальнейшее сопровождение.
ПЗ
Практическое замечание
Итог

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

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

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

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

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

Что значит «конфигурация на поддержке»?

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

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

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

Что делать, если после обновления перестала работать доработка?

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

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

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

Опасно ли обновлять платформу 1С вместе с конфигурацией?

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