Доработка и обновление конфигурации 1С без потери поддержки
Содержание
Правильно вносить изменения в 1С — значит в таком порядке: выгрузить базу
в .dt, сделать доработку на копии, по возможности оформить её расширением (а не правкой типовой конфигурации), проверить и только потом переносить в рабочую базу. Снимать конфигурацию с поддержки — крайний вариант: после этого каждое обновление превращается в ручное сравнение.
Способов изменить программу три: внешняя обработка или отчёт, расширение конфигурации и правка самой конфигурации в Конфигураторе. Первые два не трогают типовой код и не мешают обновлениям. Третий даёт полную свободу, но за неё платят временем при каждом новом релизе.
Подготовка базы перед изменением конфигурации
Любая работа с конфигурацией начинается с точки возврата. Без неё откатить неудачное обновление структуры базы нельзя.
- Попросите пользователей выйти из программы. Монопольный доступ нужен на этапе обновления структуры базы данных и выгрузки, а не для открытия Конфигуратора.
- Запустите Конфигуратор и выполните
Администрирование → Выгрузить информационную базу.... Получите файл.dt— это полная копия данных и конфигурации. - Дополнительно сохраните саму конфигурацию:
Конфигурация → Сохранить конфигурацию в файл...(файл.cf). Он пригодится для сравнения «до» и «после». - Запишите номер платформы и релиз конфигурации:
Справка → О программе. - Разверните копию: создайте новую пустую базу в окне запуска и загрузите в неё
.dtчерезАдминистрирование → Загрузить информационную базу....
Загрузка .dt полностью заменяет данные базы, в которую её загружают. Проверьте, что загружаете в пустую копию, а не в рабочую базу.
💡 Для клиент-серверной базы на MS SQL или PostgreSQL выгрузку .dt дополняйте бэкапом средствами СУБД. Он быстрее восстанавливается на больших объёмах.
Если базу дорабатывает несколько человек, подключите хранилище конфигурации (Конфигурация → Хранилище конфигурации). Оно хранит версии объектов и не даёт двум разработчикам одновременно править один модуль.
Какой способ изменения выбрать
Прежде чем открывать Конфигуратор, решите, где будет жить доработка. От этого зависит, сколько стоит каждое следующее обновление.
| Способ | Когда подходит | Влияние на обновления |
|---|---|---|
| Внешняя обработка, отчёт, печатная форма | Новый отчёт, печать, разовая загрузка данных | Никакого: файл подключается отдельно |
Расширение конфигурации (.cfe) | Новые реквизиты, команды, изменение поведения форм и модулей | Типовая остаётся на полной поддержке, обновляется автоматически |
| Правка конфигурации с сохранением поддержки | Изменение, которое расширением не сделать | При каждом релизе — сравнение и объединение |
| Снятие объекта или конфигурации с поддержки | Почти никогда | Обновлять придётся вручную, объект за объектом |
Свои доработки через расширения и Конфигуратор
Расширение конфигурации
Расширения появились в платформе 8.3.6 и с тех пор стали основным способом дорабатывать типовые решения.
- В Конфигураторе откройте
Конфигурация → Расширения конфигурации. - Нажмите «Добавить» и задайте имя и префикс. Префикс (например,
мр_) потом попадает в имена новых объектов и сразу показывает, что это не типовой код. - Откройте конфигурацию расширения и в дереве основной конфигурации через контекстное меню объекта выберите «Добавить в расширение».
- В заимствованном объекте добавьте реквизит, форму или процедуру. Для изменения типового метода используйте аннотации
&Перед,&После,&Вместо. - Сохраните расширение и обновите конфигурацию базы данных для него.
Пример обработчика, который дополняет проверку при записи документа, не затрагивая типовой модуль:
&После("ОбработкаПроверкиЗаполнения")
Процедура мр_ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
Если НЕ ЗначениеЗаполнено(Комментарий) Тогда
ОбщегоНазначения.СообщитьПользователю("Заполните комментарий", ЭтотОбъект, "Комментарий", , Отказ);
КонецЕсли;
КонецПроцедуры
В БП 3.0 готовое расширение можно подключить и без Конфигуратора: Администрирование → Печатные формы, отчеты и обработки → Расширения.
💡 У расширения есть свойство «Безопасный режим». Если оно включено, часть операций (работа с файлами, COM, внешние компоненты) недоступна. Отключайте его только для проверенного кода.
Правка конфигурации с сохранением поддержки
Когда расширение не справляется, конфигурацию правят напрямую. Делается это так, чтобы связь с поставщиком осталась.
Конфигурация → Поддержка → Настройка поддержки...- Если стоит «Изменения не разрешены», нажмите «Включить возможность изменения». Платформа предложит правило для объектов поставщика — выберите «Объект поставщика редактируется с сохранением поддержки».
- Правьте только нужные объекты. Каждое изменение помечайте комментарием с датой и автором, например
// мр 2026-10 началои// мр 2026-10 конец. - Не удаляйте типовые объекты и реквизиты: отключите их использование кодом. Удалённый объект при следующем обновлении вернётся и даст конфликт.
Правило «Объект поставщика снят с поддержки» для всей конфигурации обрывает связь с поставщиком. После этого обновления не применяются автоматически ни к одному объекту.
Обновление типовой конфигурации
Порядок зависит от того, менялась ли конфигурация.
Конфигурация без изменений
Если типовая на полной поддержке (а доработки — только в расширениях), обновление проходит штатно. В БП 3.0, ЗУП 3.1 и УТ 11 можно обновить программу из пользовательского режима через Администрирование → Интернет-поддержка и сервисы, раздел обновления версии. Программа сама скачает нужные релизы, сделает копию по настройке и применит обновление.
Изменённая конфигурация
Здесь работают в Конфигураторе файлом обновления .cfu (или полным дистрибутивом .cf).
- Убедитесь, что текущий релиз указан в списке тех, с которых возможен переход. Перепрыгнуть через несколько релизов нельзя: файл обновления содержит список допустимых исходных версий, и обновляться приходится цепочкой.
Конфигурация → Поддержка → Обновить конфигурацию..., укажите файл.- Платформа построит сравнение трёх конфигураций: старой поставщика, новой поставщика и вашей основной.
- Разберите объекты, изменённые и у вас, и у поставщика (об этом — в следующем разделе).
- Нажмите «Выполнить», затем
Конфигурация → Обновить конфигурацию базы данных(F7). На этом шаге нужен монопольный доступ. - Запустите базу в режиме 1С:Предприятие под администратором. На первом запуске выполняются обработчики обновления: они переносят данные под новую структуру. Не прерывайте их.
Обработчики обновления на большой базе могут идти десятки минут. Закрытие окна посередине оставляет данные в промежуточном состоянии.
После обновления расширения тоже нужно проверить: если поставщик переименовал или удалил заимствованный объект, расширение перестанет применяться, и платформа сообщит об этом при запуске.
Сравнение и объединение конфигураций
Сравнение — главный инструмент, который отличает аккуратное обновление от поломки. Оно открывается при обновлении изменённой конфигурации, а вручную — через Конфигурация → Сравнить, объединить с конфигурацией из файла....
В окне сравнения у каждого объекта есть статус и флажок объединения. Объекты делятся на группы:
- 🟢 изменены только у поставщика — смело берите из новой конфигурации;
- 🟡 изменены только у вас — остаются как есть, поставщик их не трогал;
- 🔴 изменены и у вас, и у поставщика — требуют ручного разбора.
Для объектов третьей группы:
- Откройте объект через контекстное меню и посмотрите отличия по модулям, формам и реквизитам.
- Для модулей выберите режим объединения на уровне процедур. Где ваш код и код поставщика пересекаются, установите «Взять из файла» и затем верните свою вставку вручную, сверившись с сохранённым
.cf. - Формы чаще всего проще взять у поставщика целиком, а свои элементы добавить заново или перенести в расширение.
- После объединения выполните
Конфигурация → Проверка конфигурации..., чтобы поймать синтаксические ошибки и ссылки на исчезнувшие объекты.
💡 Чем больше ваших изменений в типовых модулях, тем дольше этот разбор. Именно поэтому новые доработки разумно переносить в расширение: в следующий раз объектов «красной» группы станет меньше.
Сравнить можно и две любые конфигурации без объединения, например рабочую и тестовую: Конфигурация → Сравнить конфигурации.... Отчёт о сравнении удобно сохранить и приложить к описанию изменений.
Проверка изменений и откат
Как тестировать
Изменения сначала проверяют на копии, развёрнутой на первом шаге. Минимальный набор:
- Открыть изменённые формы и провести несколько документов, которых касалась доработка.
- Перепровести документы за закрытый месяц на копии и сравнить оборотно-сальдовую ведомость до и после. Расхождений быть не должно, если доработка не меняла учёт.
- Запустить регламентные операции, которые используются в базе (закрытие месяца, расчёт зарплаты).
- Проверить обмены, если база отдаёт данные в другую программу или на сайт.
- Выполнить
Администрирование → Тестирование и исправление...в Конфигураторе в режиме «только тестирование», без исправления — чтобы увидеть, нет ли битых ссылок после изменения структуры.
«Тестирование и исправление» с включённым исправлением меняет данные. На рабочей базе запускайте его только после выгрузки .dt и в нерабочее время: потребуется монопольный доступ, пользователи будут отключены.
Перенос в рабочую базу
Готовую конфигурацию с копии переносят файлом .cf через сравнение и объединение, а расширение — файлом .cfe. Загрузка .cfe и обновление конфигурации базы данных — это два отдельных шага.
Перенос планируйте на вечер или выходной. Обновление структуры займёт монопольный доступ, а обработчики обновления — ещё время после него.
Как откатить
| Ситуация | Как вернуться |
|---|---|
| Изменения внесены, но «Обновить конфигурацию базы данных» ещё не выполнено | Конфигурация → Вернуться к конфигурации БД |
| Структура базы обновлена, данные ещё не вводились | Загрузка .dt, сделанного перед изменением |
| После обновления пользователи уже работали | Загрузка .dt с потерей введённого, либо исправление ошибки «вперёд» |
| Проблема только в расширении | Отключить расширение в списке расширений, база продолжит работу на типовой |
Отсюда простое правило: выгрузка .dt делается непосредственно перед переносом в рабочую базу, а не накануне. Иначе при откате пропадут данные за целый день.
Последняя строка таблицы — ещё один довод за расширения: неудачную доработку можно выключить за минуту, не трогая данные.
Частые ошибки при доработке 1С
- ❌ Правка рабочей базы напрямую. Ошибка в модуле проведения сразу останавливает работу всех пользователей.
- ❌ Динамическое обновление на работающей базе. Платформа позволяет применить часть изменений без отключения пользователей, но открытые сеансы продолжают работать со старой конфигурацией. Это даёт непредсказуемые ошибки до перезапуска.
- ❌ Снятие с поддержки «чтобы не мешало». Через полгода база отстаёт на несколько релизов, а обязательные изменения законодательства не приходят.
- ❌ Изменения без пометок. Через год никто не помнит, что из модуля типовое, а что добавлено, и при сравнении доработка теряется.
- ❌ Удаление типовых объектов. Удалённый реквизит поставщик вернёт при обновлении, а ваши данные, которые на него ссылались, уже не восстановить.
- ❌ Пропуск обработчиков обновления. Если после F7 сразу пустить пользователей, они увидят окно обновления данных и будут ждать или закрывать его.
Можно ли вносить изменения в 1С, не останавливая работу пользователей?
Сохранятся ли доработки после обновления типовой конфигурации?
Где посмотреть, какие объекты конфигурации уже изменены?
Конфигурация → Сравнить конфигурации... и выберите для сравнения основную конфигурацию и конфигурацию поставщика. В отчёте останутся только объекты с отличиями.Как вернуть снятую с поддержки конфигурацию на поддержку?
.cf того же релиза с установкой поддержки. Все расхождения придётся разобрать вручную, поэтому сначала выгрузите .dt.