Имя: Пароль:
1C
1С v8
Отследить вызов функции
0 zhuk125
 
18.05.16
14:20
Хелп Люди добрые. Подскажите какие еще есть способы что бы посмотреть  где вызывается функция/процедура из общего модуля, юзал точки останова, делал поиск по всем модулям и объектам и т.д, Стек вызовов тоже ничего не дал, ощущение что она сама на себя ссылается. Суть такова что есть 2 док. РеализацияТоваров и ЗаказПокупателя. если на основании заказа сделана реализация и состояния док.Заказа <> Отгружен. Проведение = ложь. так все ок. Но если я создаю реализацию просто то вылазит ошибка. "Мол нету объекта для проверки".Все модуля перерыл док., нигде и намека нет. как быть ? вот Код

Процедура ИзменениеСостоянияПриПроведенииОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт
    
    Если Не Отказ Тогда
        ЗаказПокупателяРТУ = Источник.Сделка;
        СостояниеЗаказа = ЗаказПокупателяРТУ.Состояние;
        Если СостояниеЗаказа <> Перечисления.СостоянияДокументов.Отгружен Тогда
            ОбъектЗаказ = ЗаказПокупателяРТУ.ПолучитьОбъект();
            ОбъектЗаказ.Состояние = Перечисления.СостоянияДокументов.Отгружен;
            Попытка
                ОбъектЗаказ.Записать();
            Исключение
                Сообщить(ОписаниеОшибки());
                Отказ = Истина;
            КонецПопытки;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры
1 Nuobu
 
18.05.16
14:23
(0) А полный текст ошибки можно?
2 zhuk125
 
18.05.16
14:26
(1) полный "Значение не является значением объектного типа (Состояние)"  это значит что  ЗаказПокупателяРТУ = "Ничего не попадает"; т.к Реализация была создана не на основании Заказа.
3 Nuobu
 
18.05.16
14:29
(2) Скорее всего у тебя УФ и не включена отладка на сервере.
Либо выгрузи базу в файловую локальную копию и смотри там, либо включи отладку на сервере.
Чтобы исправить ситуацию напиши код:

Если Не Отказ Тогда
        ЗаказПокупателяРТУ = Источник.Сделка;
        СостояниеЗаказа = ЗаказПокупателяРТУ.Состояние;
        Если СостояниеЗаказа <> Перечисления.СостоянияДокументов.Отгружен Тогда

Если Не Отказ Тогда
        ЗаказПокупателяРТУ = Источник.Сделка;
Если ТипЗнч(ЗаказПокупателяРТУ) = Тип("ДокументСсылка.ЗаказПокупателя")
И ЗначениеЗаполнено(ЗаказаПокупателяРТУ) Тогда
        СостояниеЗаказа = ЗаказПокупателяРТУ.Состояние;
        Если СостояниеЗаказа <> Перечисления.СостоянияДокументов.Отгружен Тогда
4 zhuk125
 
18.05.16
14:31
(3) Упп для Украины. Отладка на сервере включена, Спасибо, буду пробовать
5 catena
 
18.05.16
14:31
(0)Может подписка на событие?
6 zhuk125
 
18.05.16
14:35
(5) Вот Оно!! Спасибо Большое !!!
2 + 2 = 3.9999999999999999999999999999999...