Снять с поддержки 1С 8.3: конфигурацию или один объект

Дата: 06.10.2026 16:54:16
Поддержка конфигурации
Конфигуратор
Обновление 1С
Расширение конфигурации
Доработка 1С
Комментарий:
0
Платформа:
8.3
Конфигурация:
Любая
Формы:
Любые

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

Где встречается задача

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

Три правила поддержки: чем они отличаются

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

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

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

Как режим поддержки влияет на стоимость обновлений

На полной поддержке обновление — загрузка файла обновления, обновление базы и проверка; программист нужен на тестирование, а не на перенос кода.

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

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

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

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

Как снять с поддержки 1С: объект или вся конфигурация

Включить возможность изменения

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

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

Как снять с поддержки один объект

  1. В окне «Настройка поддержки» найдите объект в дереве и откройте настройку его правила двойным щелчком по строке.
  2. Выберите «Объект поставщика снят с поддержки» или — чаще это правильнее — «Объект поставщика редактируется с сохранением поддержки».
  3. Чтобы правило получили реквизиты, формы и макеты объекта, установите флажок «Установить для подчиненных объектов».

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

Снять с поддержки всю конфигурацию

В окне «Настройка поддержки» для этого есть кнопка «Снять с поддержки». В 8.3 то же делает пакетный режим конфигуратора: ключ /ManageCfgSupport с параметром -disableSupport, а -force нужен, если возможность изменения ещё не включена. Перед снятием сделайте полную копию базы.

@echo off
rem Снять конфигурацию с поддержки целиком в пакетном режиме конфигуратора 8.3.
rem Сначала полная выгрузка базы - самый простой путь назад.
rem Версию платформы подставьте свою, пароль администратора базы - в переменной V8_PWD.
set "V8=C:\Program Files\1cv8\8.3.x.xxxx\bin\1cv8.exe"
set "LOG=D:\1C\logs\support.log"
set IB=/S srv01\trade /N admin /P "%V8_PWD%"
if not exist "D:\1C\logs" mkdir "D:\1C\logs"
if not exist "D:\1C\backup" mkdir "D:\1C\backup"

start "" /wait "%V8%" DESIGNER %IB% /DisableStartupDialogs /Out "%LOG%" /DumpIB "D:\1C\backup\trade_before_unsupport.dt"
if errorlevel 1 (
  echo Copy failed, see %LOG%
  exit /b 1
)
rem -force: снять, даже если возможность изменения в конфигурации ещё не включена
start "" /wait "%V8%" DESIGNER %IB% /DisableStartupDialogs /Out "%LOG%" -NoTruncate /ManageCfgSupport -disableSupport -force

Вернуть конфигурацию на поддержку можно объединением с .cf поставщика через «Конфигурация → Сравнить, объединить с конфигурацией из файла…»: платформа предложит поставить её на поддержку (в пакетном режиме — параметр -EnableSupport ключа /MergeCfg). Берите .cf того же релиза, что стоит в базе: тогда отличия в окне сравнения — это ваши доработки, а не изменения 1С.

Если правите типовую: одна строка вместо переписанного модуля

Когда без изменения основной конфигурации не обойтись, держите правку в типовом модуле минимальной. Логику кладите в свой общий модуль, например ДоработкиЗаказовКлиента с флажком «Сервер»: это ваш объект, правила поставщика на него не действуют. В конец типовой процедуры ОбработкаПроверкиЗаполнения вставляется только вызов с метками:

	// ++ ДоработкиЗаказов: проверки заказа (задача 125)
	ДоработкиЗаказовКлиента.ПроверитьЗаказ(ЭтотОбъект, Отказ);
	// -- ДоработкиЗаказов

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

Когда лучше сделать расширение

Расширение подключается без включения возможности изменения, поэтому типовая остаётся на полной поддержке и обновляется по самому дешёвому сценарию. В расширении перехватывают события и процедуры (&Перед, &После, &Вместо), правят типовой метод через &ИзменениеИКонтроль, добавляют реквизиты, формы, команды, отчёты и роли. Назначение «Исправление» — для срочной правки ошибки типовой, «Дополнение» — для нового функционала. Подробнее — в статье про расширения конфигурации.

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

Пример — проверка заказа клиента без единой строки в типовом модуле (имена сверены по УТ 11.4 и КА 2.5).

// Расширение с префиксом Расш1_: модуль объекта заимствованного документа
// ЗаказКлиента (имена - по УТ 11.4 и КА 2.5). Типовой модуль не изменён,
// конфигурация остаётся на полной поддержке.

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

&После("ОбработкаПроверкиЗаполнения")
Процедура Расш1_ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)

	// Несогласованный заказ - черновик: наши правила к нему не применяем
	Если ЭтотОбъект.Статус = Перечисления.СтатусыЗаказовКлиентов.НеСогласован Тогда
		Возврат;
	КонецЕсли;

	// Заказы, загруженные с сайта, нередко приходят без менеджера
	Если Не ЗначениеЗаполнено(ЭтотОбъект.Менеджер) Тогда
		Расш1_СообщитьОбОшибке("Укажите менеджера: без него заказ не передаётся в работу.",
			"Менеджер", Отказ);
	КонецЕсли;

	// Крупный заказ принимаем только с пометкой о согласовании
	Если ЭтотОбъект.СуммаДокумента >= Расш1_ПорогКрупногоЗаказа()
		И ПустаяСтрока(ЭтотОбъект.Комментарий) Тогда
		Расш1_СообщитьОбОшибке("Для крупного заказа укажите в комментарии, кто согласовал условия.",
			"Комментарий", Отказ);
	КонецЕсли;

КонецПроцедуры

// Порог условный: в рабочей базе его удобнее хранить в константе расширения
Функция Расш1_ПорогКрупногоЗаказа()

	Возврат 1000000;

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

Процедура Расш1_СообщитьОбОшибке(ТекстОшибки, ИмяРеквизита, Отказ)

	Сообщение = Новый СообщениеПользователю;
	Сообщение.Текст = ТекстОшибки;
	Сообщение.Поле = ИмяРеквизита;
	Сообщение.УстановитьДанные(ЭтотОбъект);
	Сообщение.Сообщить();
	Отказ = Истина;

КонецПроцедуры

#КонецЕсли

Перед обновлением: что уже изменено расширениями

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

// Внешняя обработка «Контроль доработок», модуль формы. У формы две команды
// с одноимёнными действиями: ДоработкиРасширениями и ПроверитьРасширения.
// Свойства Активно и ИзменяетСтруктуруДанных() - с режима совместимости 8.3.12 и 8.3.13.

&НаКлиенте
Процедура ДоработкиРасширениями(Команда)

	ТекстОтчета = Новый ТекстовыйДокумент;
	ТекстОтчета.УстановитьТекст(ОтчетОДоработкахРасширениями());
	ТекстОтчета.Показать("Доработки расширениями");

КонецПроцедуры

&НаСервереБезКонтекста
Функция ОтчетОДоработкахРасширениями()

	Строки = Новый Массив;

	// Расширения базы: назначение, активность, свои данные
	Для Каждого Расширение Из РасширенияКонфигурации.Получить() Цикл
		Строки.Добавить(СтрШаблон("%1, версия %2: %3; активно: %4; хранит данные: %5",
			Расширение.Имя, Расширение.Версия, Расширение.Назначение,
			Формат(Расширение.Активно, "БЛ=нет; БИ=да"),
			Формат(Расширение.ИзменяетСтруктуруДанных(), "БЛ=нет; БИ=да")));
	КонецЦикла;

	// Типовые объекты, которые расширения меняют в текущем сеансе
	Строки.Добавить("");
	Строки.Добавить("Изменённые типовые объекты:");
	Для Каждого Раздел Из РазделыМетаданных() Цикл
		Для Каждого ОбъектМД Из Раздел.Коллекция Цикл
			Если ОбъектМД.РасширениеКонфигурации() <> Неопределено Тогда
				Продолжить; // объект добавлен расширением, в типовой его нет
			КонецЕсли;
			Если Не ОбъектМД.ЕстьИзмененияРасширениямиКонфигурации() Тогда
				Продолжить;
			КонецЕсли;
			Описание = "  " + ОбъектМД.ПолноеИмя();
			Если Раздел.ЕстьРеквизиты Тогда
				Описание = Описание + НовыеРеквизиты(ОбъектМД);
			КонецЕсли;
			Строки.Добавить(Описание);
		КонецЦикла;
	КонецЦикла;

	Возврат СтрСоединить(Строки, Символы.ПС);

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

&НаСервереБезКонтекста
Функция РазделыМетаданных()

	// Коллекция метаданных и признак «у объектов есть реквизиты»
	Разделы = Новый Массив;
	Разделы.Добавить(Новый Структура("Коллекция, ЕстьРеквизиты", Метаданные.Справочники, Истина));
	Разделы.Добавить(Новый Структура("Коллекция, ЕстьРеквизиты", Метаданные.Документы, Истина));
	Разделы.Добавить(Новый Структура("Коллекция, ЕстьРеквизиты", Метаданные.РегистрыСведений, Истина));
	Разделы.Добавить(Новый Структура("Коллекция, ЕстьРеквизиты", Метаданные.РегистрыНакопления, Истина));
	Разделы.Добавить(Новый Структура("Коллекция, ЕстьРеквизиты", Метаданные.Отчеты, Истина));
	Разделы.Добавить(Новый Структура("Коллекция, ЕстьРеквизиты", Метаданные.Обработки, Истина));
	Разделы.Добавить(Новый Структура("Коллекция, ЕстьРеквизиты", Метаданные.ОбщиеМодули, Ложь));
	Разделы.Добавить(Новый Структура("Коллекция, ЕстьРеквизиты", Метаданные.ОбщиеФормы, Ложь));
	Разделы.Добавить(Новый Структура("Коллекция, ЕстьРеквизиты", Метаданные.Роли, Ложь));
	Возврат Разделы;

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

&НаСервереБезКонтекста
Функция НовыеРеквизиты(ОбъектМД)

	Имена = Новый Массив;
	Для Каждого Реквизит Из ОбъектМД.Реквизиты Цикл
		Если Реквизит.РасширениеКонфигурации() <> Неопределено Тогда
			Имена.Добавить(Реквизит.Имя);
		КонецЕсли;
	КонецЦикла;

	Если Имена.Количество() = 0 Тогда
		Возврат "";
	КонецЕсли;
	Возврат "; реквизиты расширения: " + СтрСоединить(Имена, ", ");

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

После обновления: применились ли расширения

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

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

&НаКлиенте
Процедура ПроверитьРасширения(Команда)

	Проблемы = ПроблемыПримененияРасширений();
	Если Проблемы.Количество() = 0 Тогда
		ПоказатьПредупреждение(, "Расширения применимы к текущей конфигурации, проблем нет.");
		Возврат;
	КонецЕсли;

	Для Каждого ТекстСообщения Из Проблемы Цикл
		Сообщение = Новый СообщениеПользователю;
		Сообщение.Текст = ТекстСообщения;
		Сообщение.Сообщить();
	КонецЦикла;

КонецПроцедуры

&НаСервереБезКонтекста
Функция ПроблемыПримененияРасширений()

	Проблемы = Новый Массив;
	Если Не ПравоДоступа("Администрирование", Метаданные) Тогда
		Проблемы.Добавить("Проверку запускает пользователь с правом «Администрирование».");
		Возврат Проблемы;
	КонецЕсли;

	// Что не удалось применить при запуске этого сеанса
	Для Каждого Проблема Из РасширенияКонфигурации.ПолучитьИнформациюОПроблемахПримененияВСеансе() Цикл
		Проблемы.Добавить(ОписаниеПроблемы(Проблема, "при запуске сеанса"));
	КонецЦикла;

	// Все расширения базы против текущей конфигурации, по порядку загрузки
	Для Каждого Проблема Из РасширенияКонфигурации.ПроверитьВозможностьПримененияВсех() Цикл
		Проблемы.Добавить(ОписаниеПроблемы(Проблема, "проверка применения"));
	КонецЦикла;

	// Расширения есть в базе, но в этом сеансе не подключены
	Отключенные = РасширенияКонфигурации.Получить(, ИсточникРасширенийКонфигурации.СеансОтключенные);
	Для Каждого Расширение Из Отключенные Цикл
		Проблемы.Добавить(СтрШаблон("%1, версия %2: в этом сеансе не подключено",
			Расширение.Имя, Расширение.Версия));
	КонецЦикла;

	Возврат Проблемы;

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

&НаСервереБезКонтекста
Функция ОписаниеПроблемы(Проблема, Этап)

	Если Проблема.Важность = ВажностьПроблемыПримененияРасширенияКонфигурации.Критичная Тогда
		Уровень = "КРИТИЧНО, расширение не применится";
	ИначеЕсли Проблема.Важность = ВажностьПроблемыПримененияРасширенияКонфигурации.Обычная Тогда
		Уровень = "предупреждение";
	Иначе
		Уровень = "низкая важность";
	КонецЕсли;

	ИмяРасширения = ?(Проблема.Расширение = Неопределено, "?", Проблема.Расширение.Имя);
	Возврат СтрШаблон("[%1] %2 (%3): %4", Уровень, ИмяРасширения, Этап, Проблема.Описание);

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

Разбор ключевых строк

  • &После("ОбработкаПроверкиЗаполнения") — обработчик расширения выполняется после типового, типовые проверки работают как раньше. Параметры повторяют типовую процедуру: (Отказ, ПроверяемыеРеквизиты) в УТ 11.4 и КА 2.5.
  • ЭтотОбъект.Менеджер — реквизиты читаем через ЭтотОбъект, и модуль компилируется, даже если реквизиты не заимствованы в расширение.
  • Сообщение.УстановитьДанные(ЭтотОбъект) с Сообщение.Поле привязывают ошибку к реквизиту: из сообщения можно перейти к полю.
  • ОбъектМД.РасширениеКонфигурации() <> Неопределено — объект добавлен расширением, обновление 1С его не касается.
  • ЕстьИзмененияРасширениямиКонфигурации() — Истина, если расширения в текущем сеансе изменили сам объект или подчинённые ему, в том числе добавили новые реквизиты или формы.
  • ИзменяетСтруктуруДанных() — у расширения свои данные, удалить и поставить его заново без потери данных нельзя.
  • ПроверитьВозможностьПримененияВсех() проверяет расширения базы по порядку загрузки, ПолучитьИнформациюОПроблемахПримененияВСеансе() — что случилось при запуске сеанса. Важность «Критичная» значит, что расширение не будет использовано; «Обычная» подключение не блокирует.

Типичные ошибки

  • Конфигурацию сняли с поддержки ради одной правки. Релизы приходится объединять из полного .cf вручную. Лечится возвратом на поддержку через объединение с .cf того же релиза.
  • В диалоге включения изменений выбрали «снят с поддержки». Формально конфигурация на поддержке, но изменения 1С не придут ни в один объект группы, а вернуть «не редактируется» нельзя.
  • Типовую процедуру переписали целиком и без меток. На обновлении весь модуль — конфликт, и программист заново ищет, где доработка. Правильно — одна строка вызова между // ++ и // --.
  • &ИзменениеИКонтроль перестал работать без единой ошибки. В справке конфигуратора 8.3.27 проверка текста метода неблокирующая: если 1С поменяла типовой метод, расширение применится, но этот метод расширен не будет. После обновления запускайте «Проверка возможности применения всех расширений» — она сверяет и такие методы.
  • Пытаются сменить правило у объекта с «Изменения запрещены». Конфигуратор не даст, остаётся снять с поддержки всю конфигурацию. Почти всегда дешевле решить задачу расширением.

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

Слетят ли доработки при обновлении, если объект «редактируется с сохранением поддержки»?

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

Как понять, что конфигурация или объект сняты с поддержки?

Откройте «Конфигурация → Поддержка → Настройка поддержки…» — там видно правило каждого объекта. У конфигурации на поддержке в дереве объектов есть значки состояния поддержки; если их нет ни у одного объекта, конфигурация, скорее всего, снята с поддержки целиком или никогда на ней не стояла.

Можно ли удалить типовой объект?

Можно, но сначала у него и всех подчинённых объектов должно быть правило «Объект поставщика снят с поддержки». Обычно проще перестать объектом пользоваться: так он не мешает обновлениям.

Что делать с конфигурацией, снятой с поддержки прежним подрядчиком?

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

Когда проще заказать

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

По теме

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

Станьте частью сообщества!
Войдите или зарегистрируйтесь, и вы сможете участвовать в обсуждениях.


1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.