Код IT
← Каталог

Функции и процедуры 1С — Проверенный шаблон: функция + процедура

Фрагмент из «Функции и процедуры 1С»: Проверенный шаблон: функция + процедура.

1С (BSL) main.bsl
Функция РассчитатьСуммуСоСкидкой(Сумма, ПроцентСкидки) Экспорт
    Если ПроцентСкидки < 0 Или ПроцентСкидки > 100 Тогда
        ВызватьИсключение "Скидка должна быть в диапазоне 0..100";
    КонецЕсли;

    Возврат Сумма - (Сумма * ПроцентСкидки / 100);
КонецФункции

Процедура ПрименитьСкидкуКДокументу(ДокументОбъект, ПроцентСкидки) Экспорт
    Попытка
        ДокументОбъект.ИтоговаяСумма = РассчитатьСуммуСоСкидкой(ДокументОбъект.Сумма, ПроцентСкидки);
        ДокументОбъект.Записать();
    Исключение
        ЗаписьЖурналаРегистрации("Скидки", УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
        ВызватьИсключение;
    КонецПопытки;
КонецПроцедуры
Функция РассчитатьСуммуСоСкидкой(Сумма, ПроцентСкидки) Экспорт
    Если ПроцентСкидки < 0 Или ПроцентСкидки > 100 Тогда
        ВызватьИсключение "Скидка должна быть в диапазоне 0..100";
    КонецЕсли;

    Возврат Сумма - (Сумма * ПроцентСкидки / 100);
КонецФункции

Процедура ПрименитьСкидкуКДокументу(ДокументОбъект, ПроцентСкидки) Экспорт
    Попытка
        ДокументОбъект.ИтоговаяСумма = РассчитатьСуммуСоСкидкой(ДокументОбъект.Сумма, ПроцентСкидки);
        ДокументОбъект.Записать();
    Исключение
        ЗаписьЖурналаРегистрации("Скидки", УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
        ВызватьИсключение;
    КонецПопытки;
КонецПроцедуры