Как с помощью обработки на клиенте вызвать обработку на сервере?

1. user825439 11.09.17 11:15 Сейчас в теме
Всем привет!) Помогите пожалуйста разобраться с ошибкой.
Есть обработка на сервере, в которой прописана форма отчета. Необходимо на клиенте вызвать обработку с сервера.
В модуле web-сервиса прописываю следующий код:

Функция ПолучитьОбработка(Отбор)
	ОбработкаТест = Обработки.Обработка1.Создать();
	ТабДиаграмма = Новый Диаграмма;
	Возврат ТабДиаграмма

КонецФункции


В обработке на клиенте прописываю следующий код:

&НаСервере
Процедура Команда1НаСервере()
	Попытка 
		ВСОпределение = Новый WSОпределения("http://172.0.0.1/wer2/ws/Обмен.1cws?wsdl");
		ВСервис = ВСОпределение.Сервисы.Получить("DataT","Обмен");
		ВТочкаВхода = ВСервис.ТочкиПодключения.Получить("ОбменSoap");
		ВОперация = ВТочкаВхода.Интерфейс.Операции.Получить("ПолучитьОбработка");
		
		ДанныеXDTO = ВСОпределение.ФабрикаXDTO.Создать(ВОперация.Параметры.Получить("Отбор").Тип,"");
		
		ВСПрокси = Новый WSПрокси(ВСОпределение,"DataT","Обмен","ОбменSoap") ;
		//ТабличныйДокументОтвет = ВСПрокси.ПолучитьОтчет(ДанныеXDTO);
		//ТабличныйДокумент = СериализаторXDTO.ПрочитатьXDTO(ТабличныйДокументОтвет);
		ДиаграммаОтвет = ВСПрокси.ПолучитьОбработка(ДанныеXDTO);
		Диаграмма = СериализаторXDTO.ПрочитатьXDTO(ДиаграммаОтвет);
	Исключение
		Сообщить(ОписаниеОшибки());
		
	КонецПопытки;

КонецПроцедуры

&НаКлиенте
Процедура Команда1(Команда)
	Команда1НаСервере();
КонецПроцедуры
Функция Сериализовать(ОбъектСериализации)
	ДеревоВОбъектеXDTO = СериализаторXDTO.ЗаписатьXDTO(ОбъектСериализации);
	МойXML = Новый ЗаписьXML;
	МойXML.УстановитьСтроку();
	ФабрикаXDTO.ЗаписатьXML(МойXML, ДеревоВОбъектеXDTO);
	Возврат МойXML.Закрыть();
КонецФункции

Функция Десериализовать(XMLСтруктураСериализованногоОбъекта)
	ЧтениеXMLДанных = Новый ЧтениеXML;
	ЧтениеXMLДанных.УстановитьСтроку(XMLСтруктураСериализованногоОбъекта);
	ТЗ = СериализаторXDTO.ПрочитатьXML(ЧтениеXMLДанных);
	ЧтениеXMLДанных.Закрыть();
	Возврат ТЗ;
КонецФункции
Показать

На клиенте выдает ошибку.
Прикрепленные файлы:
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. japopov 68 11.09.17 12:15 Сейчас в теме
(1) А чего ты ждал? Какой тип значения принимает метод ПрочитатьXDTO? Правильно, ОбъектXTDO. А у тебя функция ПолучитьОбработка() возвращает что? Диаграмму. И чего ж платфрорма ругается... %)
zarucheisky; +1
3. japopov 68 11.09.17 12:16 Сейчас в теме
Кстати, на будущее: в таких случаях перед запуском в режиме отладки зайди в Конфигураторе в Отладка / Останавливаться по ошибке. Система тебе остановится на том месте, где ошибка, но ДО самой ошибки. Сможешь проверить все данные и проще найти решение.
+
4. zarucheisky 11.09.17 12:48 Сейчас в теме
Добавлю свои 5 копеек:
Свойство СериализаторXDTO - Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).

Функции Сериализовать/Десериализовать в тонком клиенте будут выдавать ошибку.


Функция ПолучитьОбработка(Отбор) 
ОбработкаТест = Обработки.Обработка1.Создать(); 
ТабДиаграмма = Новый Диаграмма; 
//Возврат ТабДиаграмма 
МойXML = Новый ЗаписьXML; 
МойXML.УстановитьСтроку(); 
ФабрикаXDTO.ЗаписатьXML(МойXML, ТабДиаграмма); 
Возврат МойXML.Закрыть(); 

КонецФункции
Показать
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот