Имя: Пароль:
1C
 
Почему не могу передать массив структур с сервера на клиент
0 falselight
 
19.09.19
07:41
&НаСервере
Функция ПолучитьДолжности()
    МассДолжности   = Объект.интДолжностиЛицаИмеющиеПравоНаВыдачуНарядаДопуска.Должности.ВыгрузитьКолонку("Должность");
    СписокДолжности = Новый СписокЗначений;
    СписокДолжности.ЗагрузитьЗначения(МассДолжности);
    Запрос          = Новый Запрос;
    Запрос.Текст = "
            |ВЫБРАТЬ
            |    Сотрудники.Ссылка КАК Ссылка
            |ИЗ
            |    Справочник.Сотрудники КАК Сотрудники
            |ГДЕ
            |    Сотрудники.Должность В(&СписокДолжности)";
    Запрос.УстановитьПараметр("СписокДолжности", СписокДолжности);
    ТзДолжности    = Запрос.Выполнить().Выгрузить();
    МассВозврата   = Новый Массив(1);
    СтруктВозврата = Новый Структура;
    СтруктВозврата.Вставить("ТзДолжности", ТзДолжности);
    МассВозврата[0] = СтруктВозврата;
    Возврат МассВозврата;
КонецФункции
1 Завадкин
 
19.09.19
07:44
(0) И?
2 falselight
 
19.09.19
07:45
(1) Ошибка. Что не так? Я думал передам массив структур нормлаьно.

{Документ.УчетНарядовДопусков.Форма.интФормаДокумента.Форма(516)}: Ошибка при вызове метода контекста (ПолучитьДолжности)
    МассПриема = ПолучитьДолжности();
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: ret    Форма: Элемент    Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: Value    Форма: Элемент    Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа '{http://v8.1c.ru/8.1/data/core}ValueTable'
3 falselight
 
19.09.19
07:46
Что я не так делаю?
4 falselight
 
19.09.19
07:49
Что не так в моих действиях?
5 ДНН
 
19.09.19
07:52
(0) СтруктВозврата.Вставить("ТзДолжности", ТзДолжности);
ты в структуру таблицу вставляешь
6 SleepyHead
 
гуру
19.09.19
07:52
Ты на клиента передаешь таблицу значений. Открой СП на таблице значений и прочитай, что ее на клиенте нет.
7 НичегоНе Понятно
 
19.09.19
07:52
Ты в структуру пихаешь ТЗ. То есть напрямую ее передать никак, а вот если запихать в структуру а потом в массив, то ок, так что ли?
8 hhhh
 
19.09.19
07:52
(4) таблицу значений нельзя передать на клиент.
9 НичегоНе Понятно
 
19.09.19
07:53
(5)(6)(7)(8)ККККККкомбо! )
10 НичегоНе Понятно
 
19.09.19
07:55
Ты хотел вот это наверянка http://www.1c-cod.ru/code/8PYCUbyJjwXeXNF/ по чьему то совету. Но неправильно всё понял и сделал свою реализацию.
11 Kashey
 
19.09.19
07:58
(0) У тебя запрос возвращает одну колонку. Почему возвращаешь именно ТЗ, а не массив, например?