Доработка от поставщика пришла: ставим новую версию, не трогая типовую 1С

· 9 мин

Содержание

Новую версию от поставщика можно принять тремя способами, и ни один не требует снимать базу с поддержки. Внешнюю обработку или отчёт заменяют в режиме 1С:Предприятие через Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки. Расширение (.cfe) обновляют там же, в списке «Расширения». А если поставщик прислал файл .cf или .cfu для конфигурации на поддержке, в Конфигураторе запускают обновление, снимают все флажки в окне сравнения и нажимают «Выполнить»: обновится только конфигурация поставщика, основная останется прежней.

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

Что именно присылает поставщик и где это живёт в базе

Сначала определите тип файла. От него зависит весь дальнейший порядок.

Что пришлоРасширение файлаГде хранитсяЗатрагивает основную конфигурацию
Внешняя обработка.epfв справочнике дополнительных обработокнет
Внешний отчёт.erfтам женет
Расширение конфигурации.cfeв списке расширений базынет, но меняет поведение объектов
Полная конфигурация поставщика.cfв конфигурации поставщикада, если объединять
Файл обновления.cfuв конфигурации поставщикада, если объединять

📦 Внешняя обработка или отчёт — самостоятельный файл. Типовые конфигурации на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) хранят его внутри базы, в справочнике дополнительных отчётов и обработок. Чтобы файл можно было зарегистрировать, в его модуле объекта должна быть экспортная функция СведенияОВнешнейОбработке(). Она сообщает программе вид обработки, версию, команды и признак безопасного режима.

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

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

Пример функции регистрации, которую поставщик кладёт в модуль объекта обработки:

Функция СведенияОВнешнейОбработке() Экспорт

	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.4.1.1");
	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
	ПараметрыРегистрации.Версия = "1.2.0";
	ПараметрыРегистрации.БезопасныйРежим = Истина;

	Команда = ПараметрыРегистрации.Команды.Добавить();
	Команда.Представление = "Загрузить прайс поставщика";
	Команда.Идентификатор = "ЗагрузкаПрайса";
	Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
	Команда.ПоказыватьОповещение = Ложь;

	Возврат ПараметрыРегистрации;

КонецФункции

💡 Сравните строку Версия в новом файле со старым. Если поставщик забыл поднять номер, в карточке обработки вы не отличите старую версию от новой.

Подготовка: копия, версии, список изменений

Перед заменой соберите три вещи.

  1. Резервную копию. Для обработки или расширения достаточно сохранить старый файл: откройте карточку обработки и выгрузите текущую версию на диск. Для обновления конфигурации поставщика сделайте полную выгрузку базы в Конфигураторе: Администрирование → Выгрузить информационную базу (файл .dt).
  2. Номер текущей версии. Для обработки он виден в карточке, для расширения — в списке расширений. Для конфигурации поставщика откройте Конфигурация → Поддержка → Настройка поддержки: там указаны поставщик и версия.
  3. Описание изменений от поставщика. Попросите список: какие объекты он поменял, какие реквизиты добавил, нужны ли новые настройки. Без него проверять результат придётся вслепую.

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

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

Замена обработки или отчёта в режиме 1С:Предприятие

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

Пошагово в Бухгалтерии 3.0, ЗУП 3.1 и УТ 11

  1. Откройте Администрирование → Печатные формы, отчеты и обработки.
  2. Убедитесь, что включён флажок «Дополнительные отчеты и обработки». Без него список не открывается.
  3. Перейдите по ссылке «Дополнительные отчеты и обработки».
  4. Найдите в списке старую версию и откройте её карточку.
  5. В карточке выберите команду загрузки из файла (она в меню Ещё или на командной панели) и укажите новый .epf или .erf.
  6. Проверьте, что в карточке обновились версия и список команд.
  7. Нажмите «Записать и закрыть».

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

Что сохраняется при замене файла

При загрузке новой версии в существующую карточку остаются:

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

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

Расширение .cfe

Порядок похож. Откройте Администрирование → Печатные формы, отчеты и обработки → Расширения, выделите нужное расширение и выберите на командной панели команду обновления из файла. Новый .cfe заменит старый, основная конфигурация не изменится.

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

Приём изменений через Конфигуратор без объединения

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

Как обновить только конфигурацию поставщика

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

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

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

Чем это отличается от объединения с файлом

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

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

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

Когда этот приём не сработает

  • 🔒 Конфигурация на поддержке без возможности изменения. Тогда обновление поставщика сразу меняет и основную. Флажки в окне сравнения не дают выбора.
  • 🔀 Не тот файл .cfu. Файл обновления рассчитан на конкретные версии. Если ваша версия поставщика не входит в список, Конфигуратор сообщит, что обновлений нет. Попросите у поставщика полный .cf.
  • 👥 Несколько поставщиков. Например, отраслевое решение поверх Бухгалтерии. Каждый поставщик обновляется своим файлом, и порядок важен: сначала тот, на чьей основе построен второй.

Сравнение способов

СпособКогда выбиратьРиски
Замена .epf/.erf в карточкепришла новая версия внешней обработки или отчётадубли, если добавить новой строкой
Обновление расширениядоработка оформлена как .cfeконфликт с новым релизом типовой
Обновление только поставщикапришёл .cf/.cfu, объединять пока раноизменения поставщика не работают, пока не перенесёте
Полное объединениеготовы принять изменения в основнуюконфликты с вашими доработками, реструктуризация

Права и регистрация после обновления

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

Кто может загружать обработки. В типовых на БСП за это отвечает роль «Добавление и изменение дополнительных отчетов и обработок». Её включают в профиль групп доступа администратора или ответственного сотрудника. Остальным она не нужна.

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

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

Перед тем как отдать обработку пользователям
Выполнено: 0 / 5

Как проверить, что новая версия работает

Проверка зависит от того, что делает доработка. Минимальный набор такой.

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

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

Если поставщик прислал сразу и обработку, и расширение, обновляйте сначала расширение. Обработка часто обращается к реквизитам, которые это расширение добавляет.

Сбои при обновлении и что с ними делать

Ниже симптомы, которые встречаются при замене файлов от поставщика, и действия по каждому.

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

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

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

Нужно ли выгонять пользователей при замене внешней обработки?
Нет. Новая версия начнёт работать у пользователя при следующем запуске команды. Тем, у кого обработка уже открыта, достаточно закрыть и открыть её снова.
Можно ли потом перенести изменения поставщика в основную конфигурацию?
Да. Откройте Конфигурация → Сравнить конфигурации, выберите основную и конфигурацию поставщика, отметьте нужные объекты и объедините. После этого понадобится обновление конфигурации базы данных.
Слетит ли внешняя обработка после обновления типовой Бухгалтерии?
Нет, файл хранится в справочнике и при обновлении релиза не удаляется. Но если обработка обращается к объектам, которые фирма 1С изменила, она может перестать работать. Проверьте её после каждого крупного обновления.
Чем расширение лучше доработки прямо в конфигурации?
Расширение не снимает базу с поддержки и не мешает обновлять типовую автоматически. Конфликт возможен только в местах, которые расширение перехватывает.
Можно ли хранить внешнюю обработку в сетевой папке, а не в базе?
Можно открывать её через Файл → Открыть, но тогда нет размещения по разделам, прав и истории версий. Для обработок, которыми пользуются постоянно, регистрация в базе удобнее.