пятница, 2 августа 2013 г.

КД перенос данных между приемником и источником

Перед выгрузкой данных:

Сз = Новый СписокЗначений;
выборка = Документы.КорректировкаРеализации.Выбрать();
пока выборка.Следующий() Цикл
   
Сз.Добавить(строка(выборка.Ссылка.УникальныйИдентификатор()),строка(выборка.Ссылка));
КонецЦикла;

МойУзел = СоздатьУзел("ЗначениеПараметраСвой");
УстановитьАтрибут(МойУзел, "Имя", "Сз");
УстановитьАтрибут(МойУзел, "Тип", "Строка");
//одЗаписатьЭлемент(МойУзел, "Значение", ЗначениеВСтрокуВнутр(Сз));
УстановитьАтрибут(МойУзел, "Значение", ЗначениеВСтрокуВнутр(Сз));
МойУзел.ЗаписатьКонецЭлемента();
ЗаписатьВФайл(МойУзел);


После загрузки данных:
СтрокаДляЗаписи = Неопределено;
ОткрытьФайлЗагрузки();
Пока ФайлОбмена.Прочитать() Цикл   
    ИмяУзла = ФайлОбмена.ЛокальноеИмя;
    ТипУзла = ФайлОбмена.ТипУзла;   
    Если ИмяУзла = "ЗначениеПараметраСвой" И (ТипУзла = одТипУзлаXML_НачалоЭлемента) Тогда               
        СтрокаДляЗаписи=ФайлОбмена.ПолучитьАтрибут("Значение");
    ИначеЕсли ИмяУзла = "ЗначениеПараметраСвой" И (ТипУзла = одТипУзлаXML_КонецЭлемента) Тогда
        Прервать;
    КонецЕсли;
КонецЦикла;
ФайлОбмена.Закрыть();

если СтрокаДляЗаписи <> Неопределено тогда
    Сз = ЗначениеИзСтрокиВнутр(СтрокаДляЗаписи);   
    для сч = 0 по Сз.Количество()-1 Цикл
        //Сообщить(Сз.Получить(сч).Значение);
        Сообщить(Сз.Получить(сч).Представление);
    КонецЦикла;
конецесли;