Имя: Пароль:
1C
1С v8
Шаблон наблюдатель
0 Черный всадник
 
28.06.16
18:57
Доброго времени суток.
Поделитесь, пожалуйста, идеями, как реализовать наблюдателя в 1С? Есть хитро мудрый модуль с расчётами, по итогам расчёта надо записать логи. Хотелось бы сделать логи через наблюдателя, чтобы автоматизированное тестирование не обращалось к базе данных. Пока я сделал через локатор сервисов, выглядит примерно так:
Общий модуль ЛокаторСервисов:

Функция ПолучитьНаблюдателейСобытия(ИмяСобытия) Экспорт

    Результат = Новый Массив;

    Если ЗапущеныАвтоТесты тогда
       ...
    Иначе
        Если ИмяСобытия = "Событие" Тогда
            Результат.Добавить(Обработчик);
        КонецЕсли;
    КонецЕсли;

    Возврат Результат;

КонецФункции

Хитро мудрый модуль:

Процедура Рассчитать() Экспорт

    ...
    Обработчики = ЛокаторСервисов.ПолучитьНаблюдателейСобытия("ХитрыйРасчетВыполнен");
    Для каждого ТекОбработчик Из Обработчики Цикл
       ТекОбработчик .ПриЗавершенииРасчета();
    КонецЦикла;
    ...

КонецПроцедуры

Выглядит криво вся эта конструкция. Можно ли её как то упростить, что-то наподобие метода Оповестить на стороне сервера? Спасибо.