В 1С существует удобный метод редактирования типовых конфигураций, без внесения изменений в базу. В статье описано как добавить свой код После, До или Вместо процедуры, при этом не меняя модуль конфигурации базы данных.

Пример задачи:

Требуется при записи заказа покупателя вывести сообщение «Привет мир». Изменять модуль объекта нельзя;

Решение задачи:

  • Создать новое расширение;
  • Добавить в расширение документ «Заказ покупателя»;
  • Открыть модуль объекта «Заказ покупателя» в расширении;
  • Создать процедуру, которая добавит свой программный код в модуль объекта — «При записи», документ — «Заказ покупателя» ;
// в процедуру должны быть скопированы параметры исходной процедуры
// наименование процедуры в расширении должна отличаться от наименования исходной процедуры

// пример запуска кода после исходной процедуры:
&После("ПриЗаписи")
Процедура _ПриЗаписи(Отказ) 
	Сообщить("Привет мир");
КонецПроцедуры

// пример запуска кода перед исходной процедуры:
&Перед("ПриЗаписи")
Процедура _ПриЗаписи(Отказ) 
	Сообщить("Привет мир");
КонецПроцедуры

// пример запуска кода вместо исходной процедуры:
&Перед("ПриЗаписи")
Процедура _ПриЗаписи(Отказ)
	// если требуется копируем сюдя типовой программный код
	Сообщить("Привет мир");
КонецПроцедуры

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

В работе с функциями доступен только вызов «Вместо», в остальном все происходит по аналогии.