Волшебная процедура обращение к web-сервису 1с из 1с

Подключается к 1с82 web-сервису, получает от него описание типа
Создает переменную этого типа
Создает файл (dbf обмена)
Помещает файл в переменную и отдает на web-сервис для обработки, получает от него результат обработки

Определение = Новый WSОпределения(Server, User, Pass);

Прокси = Новый WSПрокси(Определение, "http://www.anton.fly7.ru", "Obmen", "ObmenSoap");
Прокси.Пользователь = User;
Прокси.Пароль = Pass;

Тип = Прокси.ФабрикаXDTO.Тип("http://www.anton.fly7.ru", "ФайлОбмена");
ФайлОбмена = Прокси.ФабрикаXDTO.Создать(Тип);

Файл = Новый Файл(КаталогВременныхФайлов() + "dat.dbf"); i=1;
Пока Файл.Существует() Цикл

    Файл = Новый Файл(КаталогВременныхФайлов() + "dat" + i + ".dbf");
    i=i+1;

КонецЦикла;

ДБ = Новый XBase;
ЗаполнитьПоляДБ(ДБ, ТабСвойств);
ДБ.СоздатьФайл(Файл.ПолноеИмя);
ДБ.АвтоСохранение = Истина;

            ДБ.Добавить();
            ДБ.Artik    = Номенклатура.Артикул;
            ДБ.Name     = Строка(Номенклатура);
            ДБ.NomGrup  = Строка(Номенклатура.ТипНоменклатуры);
            ДБ.VidNom   = Строка(Номенклатура.ВидНоменклатуры);
            ДБ.Group    = ПолучитьГруппу(Номенклатура);
            ДБ.Strana   = "";
            ДБ.Pol      = "";

ДБ.Записать();
ДБ.ЗакрытьФайл();

ФайлДвоичныеДанные = Новый ДвоичныеДанные(Файл.ПолноеИмя);
ФайлаХранилищеЗначения = Новый ХранилищеЗначения(ФайлДвоичныеДанные, Новый СжатиеДанных(9));

ФайлОбмена.ТипФайла = 1;
ФайлОбмена.ИмяФайла = "data_" + СокрЛП(СсылкаНаОбъект.Номер) + ".dbf";
ФайлОбмена.Данные = ФайлаХранилищеЗначения.Получить();

УдалитьФайлы(Файл.ПолноеИмя);

Результат = Прокси.LoadDocs(ФайлОбмена);

Если ЗначениеЗаполнено(Результат) Тогда
    ОбщегоНазначенияКлиентСервер.СообщитьПользователю(Результат);
КонецЕсли;

Добавить комментарий