Ошибка передачи данных между клиентом и сервером, когда никакой передачи нет

1. starjevschik 22.01.22 08:49 Сейчас в теме
Делаю внешнюю обработку для создания актов сверки пачкой (переделываю из БП2 в БП3).
Вызываю из кнопки обработку
&НаКлиенте
Процедура ВыполнитьОбработку(Команда)
	ВыполнитьОбработкуНаСервере();
КонецПроцедуры

Серверная процедура полностью проходит нормально, все заполняет, что нужно, и в момент возврата выполнения на клиент получаю ошибку.
Но я же ничего не передаю?
Подозреваю, что она конвертирует какие-то реквизиты формы или объекта-обработки. Но как-то очень уж неявно...

Ошибка преобразования данных XDTO:
НачалоСвойства: {http://v8.1c.ru/8.1/data/enterprise/current-config}Ref Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
{ВнешняяОбработка.СозданиеАктовСверки.Форма.ФормаУпр.Форма(175)}: ВыполнитьОбработкуНаСервере();

по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: v Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: value Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: {http://v8.1c.ru/8.1/data/enterprise/current-config}Ref Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. glek 119 22.01.22 09:23 Сейчас в теме
(1) Приведите полностью листинг серверной процедуры
3. starjevschik 22.01.22 11:36 Сейчас в теме
(2) похоже это связано со списком. Реквизит объекта - список значений, в него складывались готовые документы
&НаСервере
Процедура ВыполнитьОбработкуНаСервере()
	Объект.СозданныеДокументы.Очистить();
	
	СписокСчетов = Новый Массив;
	СписокСчетов.Добавить(ПланыСчетов.Хозрасчетный.РасчетыСПоставщикамиИПодрядчиками); 		//60
	СписокСчетов.Добавить(ПланыСчетов.Хозрасчетный.РасчетыСПокупателямиИЗаказчиками);		//62
	СписокСчетов.Добавить(ПланыСчетов.Хозрасчетный.РасчетыСРазнымиДебиторамиИКредиторами);	//76
	
	Валюта = Константы.ВалютаРегламентированногоУчета.Получить();
	
	Запрос = Новый Запрос(
				"ВЫБРАТЬ
				|	ХозрасчетныйОбороты.Субконто1 КАК Контрагент
				|ИЗ
				|	РегистрБухгалтерии.Хозрасчетный.Обороты(
				|			&ДатаНачала,
				|			&ДатаОкончания,
				|			Период,
				|			Счет В ИЕРАРХИИ (&Счета),
				|			,
				|			Организация = &Организация
				|				И Субконто1 В ИЕРАРХИИ (&ГруппаКонтрагентов),
				|			,
				|			) КАК ХозрасчетныйОбороты");       
	
	Запрос.УстановитьПараметр("ДатаНачала", НачалоДня(Объект.Период.ДатаНачала));
	Запрос.УстановитьПараметр("ДатаОкончания", КонецДня(Объект.Период.ДатаОкончания));
	Запрос.УстановитьПараметр("Счета", СписокСчетов);
	Запрос.УстановитьПараметр("Организация", Объект.Организация);
	Запрос.УстановитьПараметр("ГруппаКонтрагентов", Объект.ГруппаКонтрагентов);
	
	Выборка = Запрос.Выполнить().Выбрать();
	Пока Выборка.Следующий() Цикл
		
		АктСверки = Документы.АктСверкиВзаиморасчетов.СоздатьДокумент();
		АктСверки.Дата = Объект.ДатаНовыхДокументов;
		АктСверки.ДатаНачала = Объект.Период.ДатаНачала;
		АктСверки.ДатаОкончания = КонецДня(Объект.Период.ДатаОкончания);
		АктСверки.Контрагент = Выборка.Контрагент;
		АктСверки.Организация = Объект.Организация;
		АктСверки.ВалютаДокумента = Валюта;
		
		Для каждого Счет Из СписокСчетов Цикл
			НовСтр = АктСверки.СписокСчетов.Добавить();
			НовСтр.Счет = Счет;
			НовСтр.УчаствуетВРасчетах = Истина;
		КонецЦикла;
		
		Результат = ЗаполнитьПоДаннымБухгалтерскогоУчета(АктСверки, СписокСчетов);
		Если Результат = Неопределено Тогда
			Возврат;
		КонецЕсли;
		//ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
		//ОповещениеОЗавершении = Новый ОписаниеОповещения("ЗаполнитьДаннымиБухгалтерскогоУчетаЗавершение", ЭтотОбъект);
		//ДлительныеОперацииКлиент.ОжидатьЗавершение(Результат, ОповещениеОЗавершении, ПараметрыОжидания);
		РезультатВыполнения = ЗагрузитьПодготовленныеДанные(АктСверки, Результат);
		
		//АктСверки.ЗаполнитьПоДаннымБухгалтерскогоУчета(СписокСчетов);
		ПересчитатьОстатки(АктСверки);
		АктСверки.Записать();
		
		Объект.СозданныеДокументы.Добавить(АктСверки, , Истина);
		Сообщить("Записано " + АктСверки);
	КонецЦикла;
КонецПроцедуры
Показать
4. glek 119 22.01.22 11:49 Сейчас в теме
(3)
СозданныеДокументы

Это у вас имеет тип "Произвольный"?
Если да, то перепишите на реквизит формы с типом список значений. Что получается?
5. starjevschik 22.01.22 11:53 Сейчас в теме
(4) нет, это список значений. Это реквизит объекта.
Я понял, что ей не нравится, в этот список складываются объекты почему-то. Переделал на ссылки, ошибка пропала.
Не очень очевидный момент )
6. lefthander 22.01.22 12:39 Сейчас в теме
(5)На клиенте не получится работать с объектом, только с его представлением.
7. glek 119 22.01.22 14:11 Сейчас в теме
(5) Чет я ступил, не увидел, что объект засовывается.
Оставьте свое сообщение

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