Четверг, 10.10.2024, 13:52
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Отладка запроса в транзакции на сервере
SimolДата: Суббота, 15.11.2014, 19:08 | Сообщение # 1
Полковник
Группа: Проверенные
Сообщений: 237
Репутация: 27
Статус: Оффлайн
При отладке запроса, который выполняется в транзакции на сервере проблема вот в этом месте. Модуль ирОбщий, функция ОтложитьУпакованныйОбъектДляОтладкиЛкс
Код
......
выхОбъектДляОтладки = ЗаписатьОбъектДляОтладкиЛкс(ОбъектДляОтладки);


Функция возвращает Неорпеделено, хотя в ОбъектДляОтладки нормальный объект.

Начал разбирать эту функцию:

Код
Функция ЗаписатьОбъектДляОтладкиЛкс(Объект, АдресРезультата = Неопределено) Экспорт
       
     #Если Не Клиент Тогда
            Если ТранзакцияАктивна() Тогда
                   лАдресРезультата = ПоместитьВоВременноеХранилище(Неопределено, Новый УникальныйИдентификатор);
                   СтрокаХМЛ = СохранитьОбъектВВидеСтрокиXMLЛкс(Объект);
                   Параметры = Новый Массив();
                   Параметры.Добавить(СтрокаХМЛ);
                   Параметры.Добавить(лАдресРезультата);
                   ФоновоеЗадание = ФоновыеЗадания.Выполнить("ирОбщий.ЗаписатьОбъектДляОтладкиЛкс", Параметры);
                   ФоновоеЗадание.ОжидатьЗавершения(3);
                   Результат = ПолучитьИзВременногоХранилища(лАдресРезультата);
            Иначе
     #КонецЕсли   
                   Если ТипЗнч(Объект) = Тип("Строка") Тогда   
                          Объект = ВосстановитьОбъектИзСтрокиXMLЛкс(Объект);
                   КонецЕсли;   
                   Объект.Записать();
                   Результат = Объект.Ссылка;
     #Если Не Клиент Тогда
            КонецЕсли;   
     #КонецЕсли   
         Возврат Результат;
       
КонецФункции


Создается фоновое задание, куда передается СтрокаХМЛ и лАдресРезультата, Но ни лАдресРезультата ни АдресРезультата не используется. Может в этом проблема?

Добавлено (15.11.2014, 19:08)
---------------------------------------------

Код
Сделал вот так:

...
     Результат = Объект.Ссылка;
     //Симашкевич Начало 15.11.2014 17:56  
     Если АдресРезультата <> Неопределено Тогда
         ПоместитьВоВременноеХранилище(Результат, АдресРезультата);
     КонецЕсли;    
     //Симашкевич Окончание 15.11.2014 17:56  
#Если Не Клиент Тогда
....
работает


Сообщение отредактировал Simol - Суббота, 15.11.2014, 18:54
 
tormozitДата: Суббота, 15.11.2014, 19:19 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 6386
Репутация: 165
Статус: Оффлайн
Исправление верное. Этот фрагмент был утрачен несколько версий назад при переработке отложенной отладки для поддержки портативной версии.
 
tormozitДата: Воскресенье, 16.11.2014, 21:28 | Сообщение # 3
Генералиссимус
Группа: Администраторы
Сообщений: 6386
Репутация: 165
Статус: Оффлайн
Исправлено в 3.20
 
  • Страница 1 из 1
  • 1
Поиск: