Ошибка отображения типов отсутствует отображение для типа результатзапроса

Добрый день, пытаюсь заполнить список выбора для колонки таблицы значений результатами запроса, но бьет ошибку

<b>Ошибка отображения типов:Отсутствует отображение для типа ‘РезультатЗапроса'</b>

Не подскажете в чем проблема, что делаю не так?

&НаКлиенте

Процедура ОбработкаВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)

      СтрокаТабличнойЧасти  = Элементы.ТаблицаПолучателей.ТекущиеДанные;

      ЗагрузитьСписокЗначений(СтрокаТабличнойЧасти.Получатель);

     // Элементы.ТаблицаПолучателейЭлектроннаяПочта.СписокВыбора.ЗагрузитьЗначения( = «gmail»;

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

&НаСервере

Процедура ЗагрузитьСписокЗначений(Сотрудник)

    
    СписокЗначений = Новый Массив;

        
    Запрос = Новый Запрос;

    Запрос.УстановитьПараметр(«Сотрудник», Сотрудник);

    Запрос.Текст =

        «ВЫБРАТЬ

        |   Сотрудники.КонтактнаяИнформация.(

        |       АдресЭП КАК АдресЭП

        |   ) КАК КонтактнаяИнформация

        |ИЗ

        |   Справочник.Сотрудники КАК Сотрудники

        |ГДЕ

        |   Сотрудники.Ссылка = &Сотрудник»;

    
    Выборка = Запрос.Выполнить().Выбрать();

    
    Пока Выборка.Следующий() Цикл

        СписокЗначений.Добавить(Выборка.КонтактнаяИнформация);  

    КонецЦикла;

    
    Элементы.ТаблицаПолучателейЭлектроннаяПочта.СписокВыбора.ЗагрузитьЗначения(СписокЗначений);

Добрый день, пытаюсь заполнить список выбора для колонки таблицы значений результатами запроса, но бьет ошибку

<b>Ошибка отображения типов:Отсутствует отображение для типа ‘РезультатЗапроса'</b>

Не подскажете в чем проблема, что делаю не так?

&НаКлиенте

Процедура ОбработкаВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)

      СтрокаТабличнойЧасти  = Элементы.ТаблицаПолучателей.ТекущиеДанные;

      ЗагрузитьСписокЗначений(СтрокаТабличнойЧасти.Получатель);

     // Элементы.ТаблицаПолучателейЭлектроннаяПочта.СписокВыбора.ЗагрузитьЗначения( = «gmail»;

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

&НаСервере

Процедура ЗагрузитьСписокЗначений(Сотрудник)

    
    СписокЗначений = Новый Массив;

        

    Запрос = Новый Запрос;

    Запрос.УстановитьПараметр(«Сотрудник», Сотрудник);

    Запрос.Текст =

        «ВЫБРАТЬ

        |   Сотрудники.КонтактнаяИнформация.(

        |       АдресЭП КАК АдресЭП

        |   ) КАК КонтактнаяИнформация

        |ИЗ

        |   Справочник.Сотрудники КАК Сотрудники

        |ГДЕ

        |   Сотрудники.Ссылка = &Сотрудник»;

    
    Выборка = Запрос.Выполнить().Выбрать();

    

    Пока Выборка.Следующий() Цикл

        СписокЗначений.Добавить(Выборка.КонтактнаяИнформация);  

    КонецЦикла;

    
    Элементы.ТаблицаПолучателейЭлектроннаяПочта.СписокВыбора.ЗагрузитьЗначения(СписокЗначений);

  1. При передаче результата запроса функции через Возврат в Клиент, выходит ошибка «Отсутствует отображение для типа ‘ВыборкаИзРезультатаЗапроса‘».

    При совершении таких же манипуляций с кодом, ошибок не возникало. На ошибки все проверил.
    Какой тут может быть подводный камень?

    На клиенте:

    Процедура РаскладкаПКОтПриИзменении(Элемент)
        СтрокаТабличнойЧасти = Элементы.Раскладка.ТекущиеДанные;
        ПКДо = СтрокаТабличнойЧасти.ПКОт + СтрокаТабличнойЧасти.Длина;
        Результат = РаскладкаТрубы.ПересеченияРаскладки(СтрокаТабличнойЧасти.ПКОт, ПКДо);
    КонецПроцедуры

    НаСервере

    Функция ПересеченияРаскладки(От,До)Экспорт
        Запрос = Новый Запрос;
        Запрос.Текст =
        "ВЫБРАТЬ
        |    ТрубаРаскладка.ПКОт,
        |    ТрубаРаскладка.ПКДо,
        |    ТрубаРаскладка.ТрубаНом,
        |    ТрубаРаскладка.ТрубаНом.Длина КАК Длина
        |ИЗ
        |    РегистрСведений.ТрубаРаскладка КАК ТрубаРаскладка
        |ГДЕ
        |    ТрубаРаскладка.ПКОт <= &ПКОт И ТрубаРаскладка.ПКДо >= &ПКОт
        |УПОРЯДОЧИТЬ ПО ТрубаРаскладка.ПКОт
        |";
                
        Запрос.УстановитьПараметр("ПКОт", От);
        Запрос.УстановитьПараметр("ПКДо", До);
        Результат = Запрос.Выполнить().Выбрать();
       
        Возврат Результат;
           
    КонецФункции
  2. Offline

    alexburn
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204

    Почитайте про Выбрать() и про его область видимости — На клиенте, На сервере…

  3. А почему точно в таких же запросах из клиента в сервер все работает? Разница только в другой таблице.

  4. Offline

    alexburn
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204

    Потому что:
    РезультатЗапроса (QueryResult)
    Выбрать (Select)
    Доступность:
    Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).

    ВыборкаИзРезультатаЗапроса (QueryResultSelection)
    Доступность:
    Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).

  5. Одинаковая ошибка как из Тонкого клиента, так из Толстого.

  6. Offline

    alexburn
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204

    А где вы параметры запросу задаете ? Вернее их значения ?

    — Объединение сообщений, 2 июн 2016

    А, увидел

    — Объединение сообщений, 2 июн 2016

    Отладчиком проходились по серверной функции ? Попадает туда ?

  7. По серверной ходил. Ответ по запросу есть. Но при передаче в клиент путем Возврат, выходит ошибка.
    Перед этим киврялся и пытался передать значения на другую форму. Начала выходить ошибка. Потом эту Другую форму удалил……но результат с ошибкой сохранился.
    Могло это как-то повлиять?

  8. Offline

    alexburn
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204

    Вроде как результат запроса на клиента нельзя передать, обрабатывайте на сервере все.

При попытке «обработать как всегда» результат запроса — получил уведомление

Ошибка отображения типов:
Отсутствует отображение для типа ‘РезультатЗапроса’
{ИнструментыРазработчикаTormozit Обработка.ирКонсольЗапросов.Форма.Форма.Форма(2919)}: ирСервер.ВыполнитьАлгоритм(ТекстДляВыполнения, , , ПолучитьСтруктуруПараметров(), , мРезультатЗапроса, мРезультатПакета, мРезультатПоИменам);
{(1)}:КонтекстВыполнения.ВыполнитьЛокальноКодОбработкиРезультата(ТекстДляВыполнения, ЛиСинтаксическийКонтроль)
{ИнструментыРазработчикаTormozit Обработка.ирПлатформа.МодульОбъекта(4241)}: ИнформацияОбОшибке = Вычислить(«КонтекстВыполнения.» + МетодВыполнения + «(ТекстДляВыполнения, ЛиСинтаксическийКонтроль)»);
{ИнструментыРазработчикаTormozit Обработка.ирКлсПолеТекстовогоДокументаСКонтекстнойПодсказкой.МодульОбъекта(1837)}: мПлатформа.ВыполнитьПрограммныйКодВКонтексте(КонтекстВыполнения, МетодВыполнения, ТекстДляВыполнения);
{ИнструментыРазработчикаTormozit Обработка.ирКонсольЗапросов.Форма.Форма.Форма(2737)}: КодОбработкиРезультата.ВыполнитьПрограммныйКод();

по причине:
Ошибка при вызове серверного метода.
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘param’:
форма: Элемент
имя: {http://v8.1c.ru/8.2/managed-application/modules}param
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа ‘РезультатЗапроса’

Платформа: 8.3.15.1778
Режим БД: файловый
Конфигурация. Название: Конфигурация ()
Конфигурация. Основной режим запуска: Управляемое приложение
Конфигурация. Вариант встроенного языка: Русский
Конфигурация. Режим совместимости: Версия8_3_10
Инструменты разработчика. Версия: Расширение 5.47e
Инструменты разработчика. Объекты на сервере: Да
Расширения. ИнструментыРазработчикаTormozit (5.47e)
Клиент. ОС: Windows x86-64 Microsoft Windows 10 version 10.0  (Build 18363)
Клиент. Приложение: Управляемое приложение 64б
Клиент. От имени администратора Windows: Нет
Клиент. Текущий язык системы: ru_RU

Добавлено (08.08.2020, 20:33)
———————————————
При переходе «в обычное приложение» при выполнении оператора

ВыборкаВыше = мРезультатЗапроса.Выбрать();

Дает диагностику:

Код обработки результата: Строка кода 5: Значение не является значением объектного типа (Выбрать)

Хотя контекстная подсказка выдает «легальность» этого метода

6elka1703

91 / 85 / 27

Регистрация: 29.10.2016

Сообщений: 928

1

Ошибка отображения типов: Отсутствует отображение для типа ‘РезультатЗапроса’

23.04.2019, 10:02. Показов 3605. Ответов 1

Метки нет (Все метки)


Добрый день, пытаюсь заполнить список выбора для колонки таблицы значений результатами запроса, но бьет ошибку

Ошибка отображения типов:Отсутствует отображение для типа ‘РезультатЗапроса’

Не подскажете в чем проблема, что делаю не так?

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
&НаКлиенте
Процедура ОбработкаВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
      СтрокаТабличнойЧасти  = Элементы.ТаблицаПолучателей.ТекущиеДанные;
      ЗагрузитьСписокЗначений(СтрокаТабличнойЧасти.Получатель);
     // Элементы.ТаблицаПолучателейЭлектроннаяПочта.СписокВыбора.ЗагрузитьЗначения( = "gmail";
      
КонецПроцедуры
 
&НаСервере
Процедура ЗагрузитьСписокЗначений(Сотрудник) 
    
    СписокЗначений = Новый Массив;
        
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Сотрудник", Сотрудник);
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   Сотрудники.КонтактнаяИнформация.(
        |       АдресЭП КАК АдресЭП
        |   ) КАК КонтактнаяИнформация
        |ИЗ
        |   Справочник.Сотрудники КАК Сотрудники
        |ГДЕ
        |   Сотрудники.Ссылка = &Сотрудник";
    
    Выборка = Запрос.Выполнить().Выбрать();
    
    Пока Выборка.Следующий() Цикл
        СписокЗначений.Добавить(Выборка.КонтактнаяИнформация); 
    КонецЦикла;
    
    Элементы.ТаблицаПолучателейЭлектроннаяПочта.СписокВыбора.ЗагрузитьЗначения(СписокЗначений);
        
КонецПроцедуры

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

0

856 / 655 / 111

Регистрация: 01.11.2012

Сообщений: 2,410

23.04.2019, 10:55

2

Я знаю в чём ошибка, но пока не выясню как это ты АдресЭП хранишь в табличной части, ничего исправлять не буду

Дай пжлста снимок из дерева конфигурации этого справочника и снимок из базы как у тебя там инфа хранится в сотруднике

0

Есть таблица с товарами и ценами в документе Поставка. Есть справочник контрагентов с таблицей цен для каждого контрагента. Нужно из таблицы цен контрагента вытащить цену на нужный товар. Для этого написал такой код:

&НаКлиенте
Процедура ТоварыНоменклатураПриИзменении(Элемент)
	Контрагент = Объект.Контрагент;
	СтрокаТабличнойЧасти = Элементы.Товары.ТекущиеДанные;
	Товар = Элементы.Товары.ТекущиеДанные.Номенклатура;
	СтрокаТабличнойЧасти.Цена = ПолучитьЦены(Контрагент,Товар);	
КонецПроцедуры

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

Но вот получить цену так и не удалось. Где здесь может быть ошибка?

При отладке данного кода такой результат:
{Документ.Поставка.Форма.ФормаДокумента.Форма(40)}: Поле объекта не обнаружено (Цена)
Возврат Результат.Цена;


  • Вопрос задан

    более трёх лет назад

  • 27561 просмотр

И запрос поправьте.

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

все банально

РезультатЗапроса = Запрос.Выполнить();	
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Цена = 0;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
	Цена = ВыборкаДетальныеЗаписи.Цена;
КонецЦикла;

Имейте ввиду, что если в результате запроса возвращается несколько строк, то вы получите результат последней строки.

Пригласить эксперта

Вы получаете таблицу (пусть даже состоящую из одной строки).
Вам нужно не просто результаты запроса читать, а или обходить все строки таблицы в цикле или прямо обращаться к первой строчке таблицы.


  • Показать ещё
    Загружается…

30 янв. 2023, в 11:58

500 руб./за проект

30 янв. 2023, в 11:55

2000 руб./за проект

30 янв. 2023, в 11:41

1600 руб./в час

Минуточку внимания

1CLenta.ru  

Evgenii
Пользователь
19.12.2016 08:55
При передаче таблицы значений на клиент выдает ошибку.

Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: ret Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа ‘{http://v8.1c.ru/8.1/data/core}ValueTable’

&НаСервере
Функция ПолучитьТаблицуТоваров()

Запрос

= Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Наименование,
| Номенклатура.Количество,
| Номенклатура.Ссылка
|ИЗ
| Справочник.Номенклатура КАК Номенклатура"
;

РезультатЗапроса

= Запрос.Выполнить();
Таблица = РезультатЗапроса.Выгрузить();Возврат Таблица;КонецФункции

&НаКлиенте


Процедура Команда(Команда)
Таблица = ПолучитьТаблицуТоваров();
КонецПроцедуры

Ответы (5)


Кодер
Пользователь
19.12.2016 09:16
Номер  (1)

Какая конфигурация?
Управляемое или обычное приложение?


Evgenii
Пользователь
19.12.2016 09:31
Номер  (2)

Управляемое приложение УТ 11.
В файловой базе такой ошибки нет. Ошибка появляется только в клиент-серверном варианте.


Кодер
Пользователь
19.12.2016 10:06
Номер  (3)

Видимо у вас:
На сервере запускается в «Тонком клиенте». В этом режиме с сервера на клиент нельзя передавать таблицу значений и некоторые другие типы данных.

В файловом варианте запускается в «Толстом клинете». Этот режим работы позволяет передавать ТЗ.


Evgenii
Пользователь
19.12.2016 10:33
Номер  (4)

Файловая база используеттся для тестирования.
А как можно ее запустить в тонком клиенте для отладки?


progv8
Пользователь
19.12.2016 15:13
Номер  (5)

В конфигураторе Сервис->Параметры->Запуск 1С:Предприятия
Обязательно должен быть установлен компонент «Тонкий клиент».

Обсуждение закрыто

  • Регистрация
  • Восстановить пароль
  • Вход
 

Ошибка отображения типов: Отсутствует отображение для типа ‘ЭлементСпискаЗначений’

Описание ошибки:
Ошибка при программировании, конфигурировании кода в 1С 8:

Ошибка отображения типов:
Отсутствует отображение для типа ‘ЭлементСпискаЗначений’
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘v’:
форма: Элемент
имя: {http://v8.1c.ru/8.2/uobjects}v
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘value’:
форма: Элемент
имя: {http://v8.1c.ru/8.1/data/core}value

Найденные решения:

1C 8 Ошибка отображения типов: Отсутствует отображение для типа ЭлементСпискаЗначений,

Нажатие на изображении увеличит его
1C 8, Отсутствует отображение для типа ЭлементСпискаЗначений, по причине, ошибка передачи данных между клиентом и сервером, значение недопустимого типа

Возникла при написании кода индивидуальной конфигурации. Но, как оказалось, может подстерегать программиста из-за его невнимательности и при конфигурировании в других конфигурациях. Итак, в чем же причина возникновения данной ошибки. В управляемой форме был создан реквизит типа «СписокЗначений». При открытии формы по коду срабатывает обработчик заполнения этого списка значений. Т.е. в коде создается переменная с помощью конструктора «Новый СписокЗначений», значение которой потом и устанавливается реквизиту формы. Но, перед тем как это происходит, в коде список значений изменяется — в частности выполняется его дополнительная сортировка. Конечно, ошибка «Ошибка отображения типов: Отсутствует отображение для типа ‘ЭлементСпискаЗначений’» может возникнуть у Вас не только в такой ситуации. Сейчас разберемся в чем ее суть.

1С 8, Ошибка для типа ЭлементСпискаЗначений, передачи данных между клиентом и сервером, значение недопустимого типа, по причине, ошибка преобразования данных XDTO

Как было отмечено в этой частной задаче выполняется сортировка исходного заполненного списка значений. Но, т.к. в этой частной задаче не подходило использование метода «СортироватьПоЗначению(<Направление>)«, т.к. сортировка более сложная (по текстовым данным с разделителями порядка, содержащих разделитель «.», пример: 1.1, 2.2, 2.2.1, 2.2.2, 3.1, 3.2, 3.3.1, 3.3.2). Поэтому сортировка выполнялась программно с созданием новой переменной типа «СписокЗначений» и ее заполнением по данным исходного списка.

После сохранения кода и попытки проверки появилась ошибка, текст которой приведен в начале страницы. Анализ данных через предмет отладки неявно, но показал ошибку.

Нажатие на изображении увеличит его

1C 8, как устранить, исправить ошибку, ошибка преобразования данных XDTO, отсутствует отображение для типа ЭлементСпискаЗначений

Не смотря на то, что в методической информации «Синтакс-помощника» 1С 8 указано, что значение элемента списка значений может быть любым (произвольным), все-таки для случая использования в управляемой форме в качестве реквизита накладывается ограничение по типу. И нельзя в значение такого списка значений поместить «ЭлементСискаЗначений» другого списка значений.

1С 8, какие значения могут быть у списказначений, исключения для управляемой формы

Т.е. для моего случая использования списка значений в управляемой форме в качестве реквизита ошибка была в коде, где происходило заполнение значений нового списка по данным исходного при сортировке.

Нажатие на изображении увеличит его

Было выполнено исправление в коде для обращения к значениям и передачи их в качестве значений нового списка значений. 

Нажатие на изображении увеличит его
1С 8, в чем причина ошибки в форме, отсутствует отображение для типа Элемент списка значений, ошибка отображения типов

В данном случае значениями списка были значения примитивного тип «Строка», поэтому дальнейшая работа доработанного кода стала возможной. И это все-таки позволило реализовать задачу. Если у Вас будут другие типы, например ссылки, то продумывайте заранее, как будете упорядочить, возможно придется через другие универсальные объекты, например использование таблицы значений, и потом заполнять конечный список значений. Другие примитивные типы не проверялись, но предполагаю, что они так же подойдут для корректной работы в управляемой форме. в качестве значений списка. Поэтому учитывайте это, если столкнетесь с данной ошибкой при Вашем конфигурировании — подбирайте по возможности простой тип для значений списка.

Нажатие на изображении увеличит его
1С 8, в чем, причина ошибки, как устранить, Ошибка передачи данных между клиентом и сервером, отсутствует отображение для типа элемент списка значений

Таким образом на примере данной частной ситуации возникновения ошибки при конфигурировании в 1С 8 «Отсутствует отображение для типа ЭлементСпискаЗначений, по причине, ошибка передачи данных между клиентом и сервером, значение недопустимого типа» извлекаем вывод о том, что нужно быть внимательным и не заполнять значения объекта «Список значений» элементами другого списка значений. А передавать значения элемента списка значений, если одна переменная типа «СписокЗначений» заполняется за счет другой подобной.

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

16-03-2022

Журавлев А.С.
(Сайт azhur-c.ru)

  1. При передаче результата запроса функции через Возврат в Клиент, выходит ошибка «Отсутствует отображение для типа ‘ВыборкаИзРезультатаЗапроса‘».

    При совершении таких же манипуляций с кодом, ошибок не возникало. На ошибки все проверил.
    Какой тут может быть подводный камень?

    На клиенте:

    Процедура РаскладкаПКОтПриИзменении(Элемент)
        СтрокаТабличнойЧасти = Элементы.Раскладка.ТекущиеДанные;
        ПКДо = СтрокаТабличнойЧасти.ПКОт + СтрокаТабличнойЧасти.Длина;
        Результат = РаскладкаТрубы.ПересеченияРаскладки(СтрокаТабличнойЧасти.ПКОт, ПКДо);
    КонецПроцедуры

    НаСервере

    Функция ПересеченияРаскладки(От,До)Экспорт
        Запрос = Новый Запрос;
        Запрос.Текст =
        "ВЫБРАТЬ
        |    ТрубаРаскладка.ПКОт,
        |    ТрубаРаскладка.ПКДо,
        |    ТрубаРаскладка.ТрубаНом,
        |    ТрубаРаскладка.ТрубаНом.Длина КАК Длина
        |ИЗ
        |    РегистрСведений.ТрубаРаскладка КАК ТрубаРаскладка
        |ГДЕ
        |    ТрубаРаскладка.ПКОт <= &ПКОт И ТрубаРаскладка.ПКДо >= &ПКОт
        |УПОРЯДОЧИТЬ ПО ТрубаРаскладка.ПКОт
        |";
                
        Запрос.УстановитьПараметр("ПКОт", От);
        Запрос.УстановитьПараметр("ПКДо", До);
        Результат = Запрос.Выполнить().Выбрать();
       
        Возврат Результат;
           
    КонецФункции

  2. alexburn

    Offline

    alexburn
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204

    Почитайте про Выбрать() и про его область видимости — На клиенте, На сервере…

  3. А почему точно в таких же запросах из клиента в сервер все работает? Разница только в другой таблице.


  4. alexburn

    Offline

    alexburn
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204

    Потому что:
    РезультатЗапроса (QueryResult)
    Выбрать (Select)
    Доступность:
    Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).

    ВыборкаИзРезультатаЗапроса (QueryResultSelection)
    Доступность:
    Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).

  5. Одинаковая ошибка как из Тонкого клиента, так из Толстого.


  6. alexburn

    Offline

    alexburn
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204

    А где вы параметры запросу задаете ? Вернее их значения ?

    — Объединение сообщений, 2 июн 2016

    А, увидел

    — Объединение сообщений, 2 июн 2016

    Отладчиком проходились по серверной функции ? Попадает туда ?

  7. По серверной ходил. Ответ по запросу есть. Но при передаче в клиент путем Возврат, выходит ошибка.
    Перед этим киврялся и пытался передать значения на другую форму. Начала выходить ошибка. Потом эту Другую форму удалил……но результат с ошибкой сохранился.
    Могло это как-то повлиять?


  8. alexburn

    Offline

    alexburn
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204

    Вроде как результат запроса на клиента нельзя передать, обрабатывайте на сервере все.


1C-pro.ru - форум по 1С:Предприятию 7.7, 8.0, 8.1, 8.2, 8.3

При попытке «обработать как всегда» результат запроса — получил уведомление

Ошибка отображения типов:
Отсутствует отображение для типа ‘РезультатЗапроса’
{ИнструментыРазработчикаTormozit Обработка.ирКонсольЗапросов.Форма.Форма.Форма(2919)}: ирСервер.ВыполнитьАлгоритм(ТекстДляВыполнения, , , ПолучитьСтруктуруПараметров(), , мРезультатЗапроса, мРезультатПакета, мРезультатПоИменам);
{(1)}:КонтекстВыполнения.ВыполнитьЛокальноКодОбработкиРезультата(ТекстДляВыполнения, ЛиСинтаксическийКонтроль)
{ИнструментыРазработчикаTormozit Обработка.ирПлатформа.МодульОбъекта(4241)}: ИнформацияОбОшибке = Вычислить(«КонтекстВыполнения.» + МетодВыполнения + «(ТекстДляВыполнения, ЛиСинтаксическийКонтроль)»);
{ИнструментыРазработчикаTormozit Обработка.ирКлсПолеТекстовогоДокументаСКонтекстнойПодсказкой.МодульОбъекта(1837)}: мПлатформа.ВыполнитьПрограммныйКодВКонтексте(КонтекстВыполнения, МетодВыполнения, ТекстДляВыполнения);
{ИнструментыРазработчикаTormozit Обработка.ирКонсольЗапросов.Форма.Форма.Форма(2737)}: КодОбработкиРезультата.ВыполнитьПрограммныйКод();

по причине:
Ошибка при вызове серверного метода.
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства ‘param’:
форма: Элемент
имя: {http://v8.1c.ru/8.2/managed-application/modules}param
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа ‘РезультатЗапроса’

Платформа: 8.3.15.1778
Режим БД: файловый
Конфигурация. Название: Конфигурация ()
Конфигурация. Основной режим запуска: Управляемое приложение
Конфигурация. Вариант встроенного языка: Русский
Конфигурация. Режим совместимости: Версия8_3_10
Инструменты разработчика. Версия: Расширение 5.47e
Инструменты разработчика. Объекты на сервере: Да
Расширения. ИнструментыРазработчикаTormozit (5.47e)
Клиент. ОС: Windows x86-64 Microsoft Windows 10 version 10.0  (Build 18363)
Клиент. Приложение: Управляемое приложение 64б
Клиент. От имени администратора Windows: Нет
Клиент. Текущий язык системы: ru_RU

Добавлено (08.08.2020, 20:33)
———————————————
При переходе «в обычное приложение» при выполнении оператора

ВыборкаВыше = мРезультатЗапроса.Выбрать();

Дает диагностику:

Код обработки результата: Строка кода 5: Значение не является значением объектного типа (Выбрать)

Хотя контекстная подсказка выдает «легальность» этого метода

6elka1703

91 / 85 / 27

Регистрация: 29.10.2016

Сообщений: 928

1

Ошибка отображения типов: Отсутствует отображение для типа ‘РезультатЗапроса’

23.04.2019, 10:02. Показов 4309. Ответов 1

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Добрый день, пытаюсь заполнить список выбора для колонки таблицы значений результатами запроса, но бьет ошибку

Ошибка отображения типов:Отсутствует отображение для типа ‘РезультатЗапроса’

Не подскажете в чем проблема, что делаю не так?

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
&НаКлиенте
Процедура ОбработкаВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
      СтрокаТабличнойЧасти  = Элементы.ТаблицаПолучателей.ТекущиеДанные;
      ЗагрузитьСписокЗначений(СтрокаТабличнойЧасти.Получатель);
     // Элементы.ТаблицаПолучателейЭлектроннаяПочта.СписокВыбора.ЗагрузитьЗначения( = "gmail";
      
КонецПроцедуры
 
&НаСервере
Процедура ЗагрузитьСписокЗначений(Сотрудник) 
    
    СписокЗначений = Новый Массив;
        
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Сотрудник", Сотрудник);
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   Сотрудники.КонтактнаяИнформация.(
        |       АдресЭП КАК АдресЭП
        |   ) КАК КонтактнаяИнформация
        |ИЗ
        |   Справочник.Сотрудники КАК Сотрудники
        |ГДЕ
        |   Сотрудники.Ссылка = &Сотрудник";
    
    Выборка = Запрос.Выполнить().Выбрать();
    
    Пока Выборка.Следующий() Цикл
        СписокЗначений.Добавить(Выборка.КонтактнаяИнформация); 
    КонецЦикла;
    
    Элементы.ТаблицаПолучателейЭлектроннаяПочта.СписокВыбора.ЗагрузитьЗначения(СписокЗначений);
        
КонецПроцедуры



0



856 / 655 / 111

Регистрация: 01.11.2012

Сообщений: 2,411

23.04.2019, 10:55

2

Я знаю в чём ошибка, но пока не выясню как это ты АдресЭП хранишь в табличной части, ничего исправлять не буду

Дай пжлста снимок из дерева конфигурации этого справочника и снимок из базы как у тебя там инфа хранится в сотруднике



0



  • Ошибка отображения типов отсутствует отображение для типа параметрывыполнениякоманды
  • Ошибка отображения типов отсутствует отображение для типа описаниепомещенногофайла
  • Ошибка отображения типов отсутствует отображение для типа описаниеоповещения
  • Ошибка отображения типов отсутствует отображение для типа командаформы
  • Ошибка отображения типов отсутствует отображение для типа кодвозвратадиалога