Заглушки в отдельном расширении
Предположим прямо в конфигурации 1С есть старые самописные бредовые обработки и вместо них в расширении с интенсивным развитием уже созданы и используются аналогичные нормальные. Удалить физически маразм пока нельзя, чтобы сохранить историю (было - стало). Небольшой простой совет, как с этим жить поаккуратнее...
К сожалению в расширении нельзя убрать объекты из интерфейса. Но можно и, на первое время, нужно поставить "заглушки". Заимствовать в расширение форму, а в модуле написать:
&НаСервере
Процедура ПрефиксИмен_ПриСозданииНаСервереВместо(Отказ, СтандартнаяОбработка)
Сообщить("Этот бред устарел и отключен! Вместо него используйте другой...");
КонецПроцедуры
&НаКлиенте
Процедура ПрефиксИмен_ПриОткрытииВместо(Отказ)
ЭтаФорма.Закрыть();
КонецПроцедурыВсе отлично и наглядно, но ведь обязательно придет время физического удаления ненужных обработок. И тогда важно не забыть удалить заглушки из расширения, а то оно не применится. А если оно большое и в нем все активно используется, если кучу пропавших механизмов и элементов интерфейса заметят пользователи, а что будет если наоборот не обратят внимания и получат кривые записи в базе данных...
Ну и тут на ум приходит простое очевидное правило из заголовка статьи. Заглушки и любые другие изменения в объектах, которые скоро или когда-нибудь потом будут удалены, нужно делать в отдельном специальном расширении. Не применится, ну и ладно. Во всяком случае ничего сильно страшного не произойдет. Конечно лучше вообще таких ситуаций не допускать, например с помощью чек-листа с проверками. Но в реальной жизни возможны любые накладки. И если сбой потенциально возможен, пусть он будет безобидным.
←38 | заметка 39