0
abbas
05.08.15
✎
08:36
|
Доброе время суток.
Есть код(см. ниже), который обменивается данными с другой такой же конфигурации с помощью веб сервера...
Если я его запуская в обработке "загрузка данных(собственная)", то работает нормально, но когда он в модуле Веб сервиса, почему то зависает, даже если я вызываю обработку "загрузка данных(собственная)" из модуля Веб сервиса, так же зависает...
В чем может быть дело???
Подскажите плс...
ЧтениеХМЛ = Новый ЧтениеXML;
ЧтениеХМЛ.ОткрытьФайл(ПутьКФайлу);
ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения();
ЧтениеСообщения.НачатьЧтение(ЧтениеХМЛ);
ПланыОбмена.УдалитьРегистрациюИзменений(ЧтениеСообщения.Отправитель, ЧтениеСообщения.НомерПринятого);
Узел = ЧтениеСообщения.Отправитель;
НачатьТранзакцию();
Пока ВозможностьЧтенияXML(ЧтениеХМЛ) Цикл
Данные = ПрочитатьXML(ЧтениеСообщения.ЧтениеXML);
Если Не Данные = Неопределено Тогда
Попытка
Данные.ОбменДанными.Отправитель = ЧтениеСообщения.Отправитель;
Данные.ОбменДанными.Загрузка = Истина;
Данные.Записать();
Исключение
ОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
ЗаписьЖурналаРегистрации("ИнформационнаяБаза.ОБМЕН", УровеньЖурналаРегистрации.Ошибка,
Данные.Метаданные(), Строка(Данные), ОписаниеОшибки);
Прервать;
КонецПопытки;
КоличествоЗаписанныхОбъектов = КоличествоЗаписанныхОбъектов + 1;
Если КоличествоЭлементовВТранзакции > 0 И КоличествоЗаписанныхОбъектов = КоличествоЭлементовВТранзакции Тогда
ЗафиксироватьТранзакцию();
НачатьТранзакцию();
КоличествоЗаписанныхОбъектов = 0;
КонецЕсли;
КонецЕсли;
КонецЦикла;
ЗафиксироватьТранзакцию();
ЧтениеСообщения.ЗакончитьЧтение();
Возврат Узел;
|
|