Доработанная конфигурация 1С и новый релиз: как не потерять свои изменения

· 9 мин

Содержание

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

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

1. Подготовка: в каком состоянии ваша нетиповая конфигурация

Перед обновлением нужно понять три вещи: насколько база «нетиповая», на какой версии она сейчас и где лежат доработки.

Проверьте состояние поддержки

Откройте Конфигуратор, затем Конфигурация → Поддержка → Настройка поддержки. В окне видно:

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

У объектов бывает три правила:

ПравилоЧто значит при обновлении
Объект поставщика не редактируетсяОбновится из релиза автоматически, конфликтов нет
Объект поставщика редактируется с сохранением поддержкиПопадёт в трёхстороннее сравнение, решаете вы
Объект снят с поддержкиРелиз его не трогает, переносить изменения придётся вручную

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

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

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

Этот отчёт — карта доработок. По нему потом проверяете, что ничего не потерялось.

Сделайте копии

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

Рабочую базу обновляйте только после прогона на копии. Для .dt-выгрузки нужен монопольный доступ: попросите пользователей выйти заранее.

Перед обновлением нетиповой базы
Выполнено: 0 / 7

2. Чем обновлять нетиповую базу: cf, cfu и цепочка релизов

Обновление поставщика приходит в двух видах. От выбора зависит, сколько шагов придётся пройти.

ФайлЧто внутриКогда подходит
1Cv8.cfuФайл обновления, рассчитан на переход с определённых версийВаша версия поставщика есть в списке версий, с которых возможно обновление
1Cv8.cfПолная конфигурация нового релизаНужно восстановить поддержку или версия не входит в список .cfu

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

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

Патч или релиз

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

3. Пошагово: обновление нетиповой конфигурации 1С через сравнение и объединение

Работаем на тестовой копии, в Конфигураторе, под пользователем с полными правами.

Шаг 1. Если конфигурация снята с поддержки — верните её

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

  1. Найдите .cf типового релиза той же версии, что указана в свойствах вашей конфигурации.
  2. Выполните Конфигурация → Сравнить, объединить с конфигурацией из файла и укажите этот .cf.
  3. Платформа спросит, ставить ли конфигурацию на поддержку. Согласитесь.
  4. В окне сравнения снимите флажки объединения со всех объектов: вам нужно только восстановить поддержку, а не менять код.
  5. Выполните объединение.

После этого объекты, которые вы меняли, получат правило «редактируется с сохранением поддержки». Теперь базу можно обновлять обычным способом.

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

Шаг 2. Запустите обновление

  1. Конфигурация → Поддержка → Обновить конфигурацию.
  2. Выберите «Выбор файла обновления» и укажите .cfu или .cf.
  3. Платформа покажет версию, до которой обновится конфигурация. Проверьте номер.
  4. Откроется окно сравнения трёх конфигураций.

Шаг 3. Разберите дважды изменённые объекты

В окне три колонки: основная конфигурация (ваша), старая конфигурация поставщика и новая. Самое важное — объекты, которые поменяли и вы, и поставщик.

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

  • ✅ Взять из новой конфигурации поставщика — если ваша доработка больше не нужна или релиз делает то же самое;
  • 🔀 Объединить с приоритетом основной конфигурации — сохранить свою логику и добавить новое от поставщика;
  • 🔀 Объединить с приоритетом новой конфигурации поставщика — взять релиз, сохранив ваши фрагменты там, где нет пересечений;
  • ⛔ снять флажок — объект останется как у вас.

Шаг 4. Модули объединяйте по процедурам

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

💡 Метки в коде сильно ускоряют работу. Если при доработках вы ставили комментарии вида // +++ Петров 12.03 и // --- Петров, свои вставки видно сразу. Если меток нет — сверяйтесь с отчётом о сравнении из раздела 1.

Шаг 5. Проверьте конфигурацию и обновите базу данных

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

Если цепочка из нескольких релизов, повторите шаги 2-5 для каждого.

4. Тестирование обновлённой нетиповой базы

Обновление «прошло без ошибок» ещё не значит, что база работает. Проверяйте по сценариям, а не по объектам.

Что проверитьКак
Доработанные документыСоздайте и проведите по одному документу каждого изменённого вида, сравните движения со старой базой
Печатные формыРаспечатайте каждую доработанную форму
ОбменыВыполните обмен с тестовым узлом, не с рабочим
ОтчётыСформируйте ключевые отчёты за закрытый период и сверьте суммы со старой базой
ПраваЗайдите под пользователем с ограниченной ролью
Регламентные заданияПроверьте, что нужные включены и отрабатывают

💡 Сверка за закрытый период — самый надёжный тест. Оборотно-сальдовая ведомость за прошлый квартал в старой и новой базе должна совпадать до копейки. Расхождение — признак, что обработчик обновления или ваша доработка изменили данные.

После теста повторите на рабочей базе ровно те же решения по объединению. Удобнее всего взять готовую конфигурацию с тестовой копии: сохраните её в .cf и загрузите в рабочую базу через Конфигурация → Загрузить конфигурацию из файла. Тогда не нужно второй раз разбирать конфликты.

Загрузка .cf полностью заменяет конфигурацию рабочей базы. Делайте это, только если после теста в рабочей базе никто ничего не менял в Конфигураторе.

5. Когда обновлять платформу 1С

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

Порядок такой:

  1. Посмотрите, какую версию платформы требует целевой релиз.
  2. Сравните с установленной: Справка → О программе.
  3. Если номер ниже требуемого — установите новую платформу на сервер и все клиентские компьютеры.
  4. Потом обновляйте конфигурацию.

В клиент-серверном варианте версия клиента должна совпадать с версией сервера 1С. Обновление сервера останавливает службу, и все сеансы обрываются. Планируйте его на нерабочее время и предупредите пользователей.

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

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

Большая часть проблем возникает на стыке ваших доработок и нового кода поставщика.

Диагностика: выберите симптом

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

7. Как упростить следующие обновления: расширения, скрипты, документация

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

Переносите доработки в расширения

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

  • 📄 новые печатные формы и отчёты;
  • 📄 новые реквизиты справочников и документов;
  • 📄 изменения типовых процедур через аннотации &Перед, &После, &Вместо.

После обновления проверяйте расширения: если поставщик удалил или переименовал объект, на который ссылается расширение, оно не применится, и программа об этом сообщит.

Автоматизируйте рутинные шаги

Пакетный режим Конфигуратора закрывает подготовку и базы, где конфликтов нет:

"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /F "D:\Bases\Test" /N "Администратор" /P "" /DumpIB "D:\Backup\before_update.dt" /Out "D:\Logs\dump.log"
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /F "D:\Bases\Test" /N "Администратор" /P "" /UpdateCfg "D:\Update\1Cv8.cfu" /UpdateDBCfg /Out "D:\Logs\update.log"

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

💡 Если над базой работают несколько программистов, ведите доработки в хранилище конфигурации или в Git через EDT. История изменений сама становится документацией.

Документируйте и предупреждайте пользователей

После каждого обновления зафиксируйте:

  1. Версии: была, стала, промежуточные.
  2. Конфликты и решения по каждому объекту.
  3. Что изменилось для пользователей: новые поля, другой порядок действий.

Пользователям достаточно короткой памятки на одну страницу: что поменялось в их документах и к кому идти с вопросами. Без неё первые дни после обновления уходят на одинаковые звонки.

8. Частые вопросы об обновлении нетиповой базы 1С

Можно ли обновить нетиповую базу через «Интернет-поддержку» в режиме Предприятия?
Нет. Автообновление из режима Предприятия рассчитано на типовые конфигурации без изменений. Нетиповую базу обновляют в Конфигураторе с трёхсторонним сравнением.
Сколько времени занимает обновление нетиповой конфигурации?
Зависит от объёма доработок и отставания. Один релиз при паре доработанных форм — около часа. Отставание на год при переписанных модулях проведения — несколько дней работы программиста.
Можно ли перепрыгнуть через несколько релизов сразу?
Только если версия вашей конфигурации поставщика есть в списке версий, с которых возможно обновление новым .cfu. Иначе идите по цепочке промежуточных релизов.
Что делать, если после обновления пропали мои доработки?
Восстановите копию или сравните текущую конфигурацию с сохранённым .cf через «Сравнить, объединить с конфигурацией из файла» и верните только нужные объекты.
Как понять, что база нетиповая?
Откройте в Конфигураторе «Настройка поддержки». Если возможность изменения включена и есть объекты с правилом «редактируется» или «снят с поддержки» — конфигурация изменена.