Имя: Пароль:
1C
1С v8
УФ. Ошибка передачи данных между клиентом и сервером.
0 Полька
 
30.10.18
11:40
Пишу первую обработку на УФ. Вроде, ничего ужасного не делаю. А он так ругается, так ругается :))))

&НаКлиенте
Процедура Загрузить(Команда)
    Выборка = СформироватьВыборкуИЗЗапроса();
КонецПроцедуры
    
&НаСервере
Функция  СформироватьВыборкуИЗЗапроса()
    
    Запрос = Новый Запрос;
      Запрос.Текст =    "ВЫБРАТЬ
                      |    Пользователи.*
                      |ИЗ
                      |    Справочник.Пользователи КАК Пользователи";
    ТаблицаДанных = Запрос.Выполнить().Выбрать();
    
    Возврат ТаблицаДанных;
    
КонецФункции


{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(3)}: Ошибка при вызове метода контекста (СформироватьВыборкуИЗЗапроса)
    Выборка = СформироватьВыборкуИЗЗапроса();
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'ret':
    форма: Элемент
    имя: {http://v8.1c.ru/8.2/managed-application/modules}ret
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'ВыборкаИзРезультатаЗапроса'
1 ejikbeznojek
 
30.10.18
11:59
(0) Может один из реквизитов какой-нибудь подозрительный тип имеет, который нельзя на клиенте.
Выбери только нужные реквизиты и если ошибка останется, удаляй по 1
2 Остап Сулейманович
 
30.10.18
12:03
(1) Действительно... Какой же реквизит имеет такой тип, когда написано : Отсутствует отображение для типа 'ВыборкаИзРезультатаЗапроса'?
Интрига...
3 Timon1405
 
30.10.18
12:03
(0)на клиенте нельзя ТЗ, используйте
Функция ТаблицаЗначенийВМассив(ТаблицаЗначений) Экспорт
    
    Массив = Новый Массив();
    СтруктураСтрокой = "";
    НужнаЗапятая = Ложь;
    Для Каждого Колонка Из ТаблицаЗначений.Колонки Цикл
        Если НужнаЗапятая Тогда
            СтруктураСтрокой = СтруктураСтрокой + ",";
        КонецЕсли;
        СтруктураСтрокой = СтруктураСтрокой + Колонка.Имя;
        НужнаЗапятая = Истина;
    КонецЦикла;
    Для Каждого Строка Из ТаблицаЗначений Цикл
        НоваяСтрока = Новый Структура(СтруктураСтрокой);
        ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка);
        Массив.Добавить(НоваяСтрока);
    КонецЦикла;
    Возврат Массив;

КонецФункции
4 ejikbeznojek
 
30.10.18
12:04
(2) Да, проглядел...сначала прочитал как
ТаблицаДанных = Запрос.Выполнить().Выгрузить();
5 Остап Сулейманович
 
30.10.18
12:05
(0) Вот это вот :
ТаблицаДанных = Запрос.Выполнить().Выбрать();
не нужно возвращать на клиента. С ним нужно разбираться не сходя с места (с сервера).
6 ejikbeznojek
 
30.10.18
12:06
(3) Можно ((=
https://prnt.sc/lc5bmr
7 ejikbeznojek
 
30.10.18
12:06
(6) Но не нужно конечно же)
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн