Имя: Пароль:
1C
1С v8
Открыть форму, Ошибка передачи данных между клиентом и сервером
0 sv201
 
24.10.14
15:29
Добрый день....

//Где "СписокОплатКлиентов" это табличная часть в обработке

&НаКлиенте
Процедруа СоздатьДокумент(команда)

МассивНайденныхСтрок = новый массив;
Для Каждого ТекСтрока Из Элементы.СписокОплатКлиентов.ВыделенныеСтроки Цикл
    ДанныеСтроки = Элементы.СписокОплатКлиентов.ДанныеСтроки(ТекСтрока);
    МассивНайденныхСтрок.Добавить(ДанныеСтроки)    
КонецЦикла;

Если МассивНайденныхСтрок.Количество() > 0 Тогда
   ОчиститьСообщения();
   СтруктураРеквизитов = ПоместитьТаруВоВременноеХранилищеСервер(МассивНайденныхСтрок);
   Если СтруктураРеквизитов <> Неопределено Тогда
    ОткрытьФорму("Документ.ОплатыКлиентов.форма.формаДокумента", Новый Структура("Основание", СтруктураРеквизитов));
   КонецЕсли;
КонецЕсли;

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

При отладке как только доходит до "СтруктураРеквизитов" программа выдает ошибку:

*******************************************************************************************
СтруктураРеквизитов = ПоместитьТаруВоВременноеХранилищеСервер(МассивНайденныхСтрок);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'param':
    форма: Элемент
    имя: {http://v8.1c.ru/8.2/managed-application/modules}param
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'Value':
    форма: Элемент
    имя: {http://v8.1c.ru/8.1/data/core}Value
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'ДанныеФормыЭлементКоллекции'

*******************************************************************************************
1 SUA
 
24.10.14
15:32
ибо нефиг
2 Жан Пердежон
 
24.10.14
15:33
хвастаешься?
3 hhhh
 
24.10.14
15:33
а зачем вы данные формы передаете. Передавайте данные объекта.
4 DrZombi
 
гуру
24.10.14
15:36
(0) Все правильно пишет :)
Ибо нечего так делать...

Сперва на той же форме вызываешь процедурку с директивой "
&НаСервере". А уже в ней и делаешь что хочешь :)
5 DrZombi
 
гуру
24.10.14
15:37
(3) Данные формы тоже можно передавать, но на самом сервере
6 Krolik Bezobraznik
 
24.10.14
15:37
(0) А не проще тебе вот так сделать?


   Если СтруктураРеквизитов <> Неопределено Тогда
    ОткрытьФорму("Документ.ОплатыКлиентов.форма.формаДокумента", Новый Структура("Основание", МассивНайденныхСтрок));
   КонецЕсли;
7 Krolik Bezobraznik
 
24.10.14
15:38
(0) + передай массив сразу в параметры формы
8 sv201
 
24.10.14
15:50
вот упращенный вариант на основании выше сказанных подсказок:

МассивНайденныхСтрок = новый массив;
Для Каждого ТекСтрока Из Элементы.СписокОплатКлиентов.ВыделенныеСтроки Цикл
   ДанныеСтроки = Элементы.СписокОплатКлиентов.ДанныеСтроки(ТекСтрока);
   МассивНайденныхСтрок.Добавить(ДанныеСтроки);
КонецЦикла;

СтруктураОснование = Новый Структура("Организация, Помещение, МассивНайденныхСтрок",
ОрганизацияОтборОплаты,
ПомещениеОтборОплаты,
МассивНайденныхСтрок);

СтруктураПараметры = Новый Структура("Основание", СтруктураОснование);

ОткрытьФорму("Документ.ОплатыКлиентов.ФормаОбъекта", СтруктураПараметры, Элементы.СписокОплатКлиентов);

Но все равно выдает ошибку...
9 sv201
 
24.10.14
15:52
ОткрытьФорму("Документ.ОплатыКлиентов.ФормаОбъекта", СтруктураПараметры, Элементы.СписокОплатКлиентов);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'val':
    форма: Элемент
    имя: {http://v8.1c.ru/8.2/mngsrv/ws}val
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'Value':
    форма: Элемент
    имя: {http://v8.1c.ru/8.1/data/core}Value
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'ДанныеФормыЭлементКоллекции'
10 SUA
 
24.10.14
15:53
(9) см (3)
11 Krolik Bezobraznik
 
24.10.14
15:53
Госпадии-и-и-и (8)

МассивНайденныхСтрок = новый массив;
Для Каждого ТекСтрока Из Элементы.СписокОплатКлиентов.ВыделенныеСтроки Цикл
   ДанныеСтроки = Элементы.СписокОплатКлиентов.ДанныеСтроки(ТекСтрока);
   МассивНайденныхСтрок.Добавить(ДанныеСтроки);
КонецЦикла;

СтруктураПараметры = Новый Структура;
СтруктураПараметры.Вставить("ОрганизацияОтборОплаты", ОрганизацияОтборОплаты);
СтруктураПараметры.Вставить("ПомещениеОтборОплаты", ПомещениеОтборОплаты);
СтруктураПараметры.Вставить("МассивНайденныхСтрок", МассивНайденныхСтрок);

ОткрытьФорму("Документ.ОплатыКлиентов.ФормаОбъекта", СтруктураПараметры, Элементы.СписокОплатКлиентов);

Зачем ты стопицот структур делаешь?
12 Krolik Bezobraznik
 
24.10.14
15:54
Прислушайся к (10) и (3) , дело говорят тебе
13 sv201
 
24.10.14
15:57
(11) Результат выполнения та же самая ошибка (9)
14 sv201
 
24.10.14
16:00
вот так имеешь ввиду (12)

&НаКлиенте
Процедура СоздатьДокумент(команда)

МассивНайденныхСтрок = исходныеДанные();

СтруктураОснование = Новый Структура("Организация, Помещение, МассивНайденныхСтрок",
ОрганизацияОтборОплаты,
ПомещениеОтборОплаты,
МассивНайденныхСтрок);

СтруктураПараметры = Новый Структура("Основание", СтруктураОснование);

ОткрытьФорму("Документ.ОплатыКлиентов.ФормаОбъекта", СтруктураПараметры, Элементы.СписокОплатКлиентов);

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

&НаСервере
функция исходныеДанные()
    
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("выбран", истина);
МассивНайденныхСтрок = Объект.СписокОплатКлиентов.НайтиСтроки(ПараметрыОтбора);

возврат МассивНайденныхСтрок;
    
КонецФункции
15 Жан Пердежон
 
24.10.14
16:01
не слушай (11), слушай (3)
последняя строка в тексте ошибки тебе прямо говорит, что нельзя так делать
16 sv201
 
24.10.14
16:05
МассивНайденныхСтрок = исходныеДанные();
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'ret':
    форма: Элемент
    имя: {http://v8.1c.ru/8.2/managed-application/modules}ret
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'Value':
    форма: Элемент
    имя: {http://v8.1c.ru/8.1/data/core}Value
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'ДанныеФормыЭлементКоллекции'
17 sv201
 
24.10.14
16:38
(14) результат выполнения процедуры
18 SUA
 
24.10.14
17:03
Мыши плакали, кололись...
19 sv201
 
24.10.14
17:08
Хорошо по другому объясню проблему,
нужно чтобы в "основание" документа заполнения передать табличную часть с неким отбором?
20 SUA
 
24.10.14
17:13
табличную часть - нет
массив структур - да
+ как я вижу передаются данные в форму а не в документ
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан