Today

Заглушки в отдельном расширении

Предположим прямо в конфигурации 1С есть старые самописные бредовые обработки и вместо них в расширении с интенсивной разработкой уже созданы и используются аналогичные нормальные. Удалить физически маразм пока нельзя, чтобы сохранить историю (было - стало). Небольшой простой совет, как сделать аккуратно...

К сожалению в расширении нельзя убрать объекты из интерфейса. Можно и, на первое время, нужно поставить "заглушки". Заимствовать в расширение форму, а в модуле написать:

&НаСервере
Процедура ПрефиксИмен_ПриСозданииНаСервереВместо(Отказ, СтандартнаяОбработка)
	Сообщить("Этот бред устарел и отключен! Вместо него используйте другой...");
КонецПроцедуры

&НаКлиенте
Процедура ПрефиксИмен_ПриОткрытииВместо(Отказ)
	ЭтаФорма.Закрыть();
КонецПроцедуры

Все отлично и наглядно, но ведь обязательно придет время физического удаления бредовых обработок. И тогда нужно не забыть удалить заглушки из расширения, а то оно не применится. А если в нем все последние достижения, если кучу пропавших механизмов и элементов интерфейса заметят пользователи, а что будет если наоборот не обратят внимания и получат кривые записи в базе данных...

Ну и тут на ум приходит простое очевидное правило из заголовка статьи. Заглушки и любые другие изменения в объектах, которые скоро или когда-нибудь потом будут удалены, нужно делать в отдельном специальном расширении (нескольких расширениях). При удалении не применится, ну и ладно.

←38 | заметка 39