Помощь - Поиск - Пользователи - Календарь
Полная версия: Ошибка "Недостаточно памяти" при обмене
1C-PRO - Форум по 1С > Форумы по платформе "1С:Предприятие 8.0 и 8.1" > (8.0 и 8.1) Обмен данными
FateevR

Доброе время суток!
Коллеги, помогите! Есть загрузка данных из БП в УПП. Загрузка идет сразу в базу (это не критично, можно и в файл). Загрузка идет через обработку "Универсальный обмен данными XML". План обмена делался в последней конвертации (если это последняя, Конвертация данных, редакция 2.0 (2.0.24.1)). При загрузке документа "Корректировка долга" вылетает ошибка "Недостаточно памяти", там много проводок. Как обойти такую проблему? 1С сервер перезагружался, процесс во время загрузки занимает 380 метров в оперативке. Я пытался попробовать галочку в конвертации "ВыгружатьГруппуЧерезФайл" - выдает уже ошибку в самой обработке обмена, при чем на этапе начала загрузки проводок (грузил в файл, так как сразу в базу эта галочка не работает).
Пробовал загрузить этот документ универсальной обработкой "ВыгрузкаЗагрузкаДанныхXML.epf" (конфигурация в части метаданных по этому документу и ссылкам в этом документе одинаковая) - выдает какую-то ошибку в XML, пробовал даже через файл *.fi грузить - показывает в отладчике вместо документа с проводками 1 объект узла обмена и больше ничего не грузит.
BabySG
Как-то было у меня такое - дело было срочное, и я на коленке написал перенос через OLE :)
FateevR
Цитата(BabySG @ 15.1.2009, 19:48) *

Как-то было у меня такое - дело было срочное, и я на коленке написал перенос через OLE :)


спасибо за ответ
FateevR
Докопался :)
в общем, в стандартной обработке "Универсальный обмен данными" в процедуре "Выгрузить группу свойств" вместо
Код

Если ПКГС.НуженУзелXMLПриВыгрузке Тогда
ДобавитьПодчиненный(УзелКоллекцииОбъектов, УзелОбъектаКоллекции);
Иначе
УзелКоллекцииОбъектов.ЗаписатьКонецЭлемента();
КонецЕсли;
// заполням файл объектами узла
Если ВыгружатьГруппуЧерезФайл Тогда

УзелОбъектаКоллекции.ЗаписатьКонецЭлемента();
ИнформацияДляЗаписиВФайл = УзелОбъектаКоллекции.Закрыть();
ВременныйФайЗаписей.ЗаписатьСтроку(ИнформацияДляЗаписиВФайл);

КонецЕсли;


пишем так

Код
	Если ПКГС.НуженУзелXMLПриВыгрузке Тогда
ДобавитьПодчиненный(УзелКоллекцииОбъектов, УзелОбъектаКоллекции);
ИначеЕсли ВыгружатьГруппуЧерезФайл Тогда
УзелОбъектаКоллекции.ЗаписатьКонецЭлемента();
ИнформацияДляЗаписиВФайл = УзелОбъектаКоллекции.Закрыть();
ВременныйФайЗаписей.ЗаписатьСтроку(ИнформацияДляЗаписиВФайл);
Иначе
УзелКоллекцииОбъектов.ЗаписатьКонецЭлемента();
КонецЕсли;


и все чудненько грузится в файл без ошибки памяти

Не забываем про тег [code]! (lazy)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2009 Invision Power Services, Inc.