вторник, 5 ноября 2013 г.

Чтение XML на сервере, управляемое приложение

Берем файл и передаем его на сервер, тк на клиенте нет возможность создавать таблицу значений.
&НаКлиенте
Процедура Выполнить_(Команда)
    Адрес = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные("c:\КолШтВупак.xml"));
    Тз = Вып(Адрес);
    Тз.ВыбратьСтроку();
КонецПроцедуры


А на сервере читаем и заполняем таблицу значений:
&НаСервере
Функция Вып(Адрес);
    Тз = Новый ТаблицаЗначений;
    Тз.Колонки.Добавить("Имя");
    Тз.Колонки.Добавить("Кол");
   
    ДвДанные = ПолучитьИзВременногоХранилища(Адрес);
    Имя=ПолучитьИмяВременногоФайла(".xml");
    ДвДанные.Записать(имя);
    Хмл = новый ЧтениеXML;
    Хмл.ОткрытьФайл(Имя);   
    пока Хмл.Прочитать() Цикл
        ИмяУзла = Хмл.Имя;
        ТипУзла = Хмл.ТипУзла;       
        Если ТипУзла<>ТипУзлаXML.НачалоЭлемента Тогда
            Продолжить;
        КонецЕсли;       
        Если НРег(ИмяУзла)="номшт" Тогда
           
            Имя = СокрЛП(Хмл.ПолучитьАтрибут("Имя"));
            Кол = СокрЛП(Хмл.ПолучитьАтрибут("Кол"));
                       
            Нов = Тз.Добавить();
            Нов.Имя = Имя;
            Нов.Кол = Кол;
           
        КонецЕсли;
    КонецЦикла;
    Хмл.Закрыть();   
    Возврат Тз;
КонецФункции