![]() |
![]() |
![]() |
|
Выгрузка,подтверждение,очистка УзлаОбмена с использованием Web-сервиса | ☑ | ||
---|---|---|---|---|
0
skupidom
29.05.18
✎
17:01
|
Как реализовать выгрузку с использованием Web-сервиса?
Что в модуле Web-сервиса должно быть? Выгрузка: Функция GetData(Unit) ВозвращаемаяСтруктура = Новый Структура("ВыгружаемыеДанные,НомерОтправленного","",0); Если ПустаяСтрока(Unit) Тогда ДанныеДляОтправки = ПодготовитьДанныеДляОтправки(ВозвращаемаяСтруктура); Возврат ДанныеДляОтправки; КонецЕсли; УзелОбмена = ПланыОбмена.п_ВнешниеСистемы.НайтиПоНаименованию(Unit,Истина); Если Не ЗначениеЗаполнено(УзелОбмена) Тогда ДанныеДляОтправки = ПодготовитьДанныеДляОтправки(ВозвращаемаяСтруктура); Возврат ДанныеДляОтправки; КонецЕсли; ЗаписьXML = Новый ЗаписьXML; ЗаписьXML.УстановитьСтроку(); ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения(); ЗаписьСообщения.НачатьЗапись(ЗаписьXML, УзелОбмена); Попытка ИмяВременногоКаталога = КаталогВременныхФайлов() + "ВыгрузкаЗУП\"; СоздатьКаталог(ИмяВременногоКаталога); ИмяФайлаВыгрузки = ИмяВременногоКаталога + "ВыгрузкаЗП.xml"; ИмяВременногоФайлаПравилОбмена = ИмяВременногоКаталога + "ПравилаОбмена.xml"; //ДвоичныеПравила = Справочники.ПравилаОбменаСПрограммамиБухгалтерскогоУчета.БухгалтерияПредприятия16.Правила.Получить(); //ДвоичныеПравила = Справочники.ПравилаОбменаСПрограммамиБухгалтерскогоУчета.п_УправлениеПроизводственнымПредприятием.Правила.Получить(); ДвоичныеПравила = УзелОбмена.ПравилаОбмена.Правила.Получить(); ДвоичныеПравила.Записать(ИмяВременногоФайлаПравилОбмена); // Получим Универсальную обработку обмена данными XML ОбработкаВыгрузки = Обработки.УниверсальныйОбменДаннымиXML.Создать(); ОбработкаВыгрузки.РежимОбмена = "Выгрузка"; ОбработкаВыгрузки.ИмяФайлаОбмена = ИмяФайлаВыгрузки; ОбработкаВыгрузки.ИмяФайлаПравилОбмена = ИмяВременногоФайлаПравилОбмена; ОбработкаВыгрузки.ЗагрузитьПравилаОбмена(); //УстановитьУзелПланаОбмена(ОбработкаВыгрузки.ТаблицаПравилВыгрузки.Строки, УзелОбмена); ОбработкаВыгрузки.ВыполнитьВыгрузку(); ФайлВыгрузки = Новый Файл(ИмяФайлаВыгрузки); Если Не ФайлВыгрузки.Существует() Тогда ВозвращаемаяСтрока = ""; Иначе ТекстовыйФайл = Новый ТекстовыйДокумент; ТекстовыйФайл.Прочитать(ИмяФайлаВыгрузки); ЗаписьЖурналаРегистрации("Данные выгружены в "+УзелОбмена.Код, УровеньЖурналаРегистрации.Информация, Метаданные.WebСервисы.ZupExchange); ВозвращаемаяСтрока = ТекстовыйФайл.ПолучитьТекст(); КонецЕсли; Исключение ЗаписьЖурналаРегистрации("Данные не выгружены в "+УзелОбмена.Код, УровеньЖурналаРегистрации.Ошибка, Метаданные.WebСервисы.ZupExchange); КонецПопытки; ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(УзелОбмена, ЗаписьСообщения.НомерСообщения); Пока ВыборкаИзменений.Следующий() Цикл КонецЦикла; ЗаписьСообщения.ЗакончитьЗапись(); УдалитьФайлы(ИмяВременногоКаталога); ВозвращаемаяСтруктура.ВыгружаемыеДанные = ВозвращаемаяСтрока; ВозвращаемаяСтруктура.НомерОтправленного= УзелОбмена.НомерОтправленного; ДанныеДляОтправки = ПодготовитьДанныеДляОтправки(ВозвращаемаяСтруктура); Возврат ДанныеДляОтправки; КонецФункции |
|||
1
DrShad
29.05.18
✎
17:14
|
ты уверен что хочешь все это тягать через веб сервант?
|
|||
2
skupidom
29.05.18
✎
17:21
|
можно просто помочь?
|
|||
3
DrShad
29.05.18
✎
17:25
|
не стоит, поверь
|
|||
4
FIXXXL
29.05.18
✎
17:30
|
(0) в ДанныеДляОтправки сунь НомерОтправленного и сделай еще одну операцию веб-сервиса, которая в обратку примет номер и зачистит изменения
|
|||
5
hhhh
29.05.18
✎
17:55
|
(2) в web-сервисе это всё делается точно так же, как и не в web-сервисе. Чего вы прикалываетесь?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |