Расширение: контролируемая вставка в заимствованный метод

Учебные задачи

ИзменениеИКонтроль сохраняет исходное тело и выделяет добавленный код директивами Вставка.

Где и как запускать

Модуль объекта заимствованной собственной обработки в расширении; сервер.

Подготовка

  1. В исходном модуле объекта своей обработки УчебныйРасчет функция РассчитатьУчебнуюСумму(Цена, Количество) Экспорт содержит ровно Возврат Цена * Количество;. Создайте ее до заимствования.

  2. В своем расширении заимствуйте этот метод штатно в режиме ИзменениеИКонтроль. Сохраните скопированное тело и добавьте только блок между Вставка и КонецВставки. Для этого опыта не используйте одновременно аннотацию Вместо предыдущего примера.

&ИзменениеИКонтроль("РассчитатьУчебнуюСумму")
Функция КонтролируемаяУчебнаяСумма(Цена, Количество)
#Вставка
    Если Цена < 0 Или Количество < 0 Тогда
        ВызватьИсключение "Учебные цена и количество не могут быть отрицательными";
    КонецЕсли;
    Сообщить("Учебные параметры проверены");
#КонецВставки
    Возврат Цена * Количество;
КонецФункции
Исходный модуль объекта УчебныйРасчет

Исходная учебная конфигурация → Обработки → УчебныйРасчет → Модуль объекта

Серверный модуль собственного объекта; это исходный код, не модуль расширения.

Функция РассчитатьУчебнуюСумму(Цена, Количество) Экспорт
    Возврат Цена * Количество;
КонецФункции

Разбор по шагам

  1. Штатно скопируйте исходное тело метода.

  2. Добавьте проверку в явном блоке вставки.

  3. Проверьте применение расширения и два варианта вызова.

Как проверить результат

  1. Для 250 и 4 результат 1000.

  2. Для отрицательного количества возникает исключение; после изменения исходного тела контроль может потребовать согласования.

Ожидаемый результат

Контролируемое дополнение своего исходного метода.

На что обратить внимание

  1. Исходное тело вне специальных блоков должно совпадать с базовым методом. Не переносите этот пример в чужой метод с другим телом и не отключайте контроль ради применения расширения.

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

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

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

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

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