В запросе получаю ошибку: "Ошибка чтения значения"

1. user1500067 25.05.21 03:54 Сейчас в теме
Всем доброго времени суток! Сделал простой запрос:

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


Суть его в том, что мне нужно получить ссылку на запрос через телефонный звонок.

Но после выполнении строки
Выборка = Запрос.Выполнить().Выбрать();
в отладчике вместо значения ссылки написано: "Ошибка чтения значения".
Не могу понять в чём проблема, буду благодарен за ваши советы!

P.S. Прогнал запрос через консоль: по итогу запроса пусто, не находит ничего. Однако, если убрать условие из запроса, то он работает корректно, но мне то нужен запрос с условием. Суть ошибки видно... в запросе. Но почему он не показывает никаких значений, если я ставлю условие... не понимаю.
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
11. user1500067 25.05.21 08:45 Сейчас в теме +0.09 $m
(1)Решение, как оказалось было простым и банальным, по невнимательности не заметил.

Вот такой запрос является решением (в условии поставил ссылку на документ, а в самом запросе связал по основанию):

 Запрос = Новый Запрос;
            Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
                           |	Запросы.Ссылка КАК Ссылка
                           |ИЗ
                           |	Справочник.Запросы КАК Запросы
                           |		ЛЕВОЕ СОЕДИНЕНИЕ Документ.ТелефонныйЗвонок КАК ТелефонныйЗвонок
                           |		ПО Запросы.Ссылка = ТелефонныйЗвонок.ВзаимодействиеОснование
                           |ГДЕ
                           |	ТелефонныйЗвонок.Ссылка = &Ссылка";
            
            Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
            
            Выборка = Запрос.Выполнить().Выбрать();
						
            Пока Выборка.Следующий()Цикл
                СсылкаНаЗапрос = Выборка.Ссылка;    
            КонецЦикла;
			
			Возврат СсылкаНаЗапрос;
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 72 25.05.21 05:57 Сейчас в теме
(1)Видиммо потому, что ТелефонныйЗвонок.ВзаимодействиеОснование не равно Объект.Ссылка, т.к. в противном случае ваш запрос может превратится в:
"ВЫБРАТЬ РАЗЛИЧНЫЕ
|    Запросы.Ссылка КАК Ссылка
|ИЗ
|    Справочник.Запросы КАК Запросы
|ГДЕ
|    Запросы.Ссылка = &Ссылка"

и не очень понятно, для чего вы вообще выполняли соединение таблиц.


Но после выполнении строки

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

в отладчике вместо значения ссылки написано: "Ошибка чтения значения".
Не могу понять в чём проблема, буду благодарен за ваши советы!


Это нормальное поведение системы, т.к. вы еще не спозиционировались на каком-либо элементе выборки.
Значение необходимо проверять в строке:

СсылкаНаЗапрос = Выборка.Ссылка;
5. user1500067 25.05.21 06:56 Сейчас в теме
(2) Значение пустое. Это происходит из-за того, что в запросе нет значений
10. nomad_irk 72 25.05.21 07:46 Сейчас в теме
(5)так у вас запрос составлен не правильно, либо реально нет данных, попадающих в отбор.
11. user1500067 25.05.21 08:45 Сейчас в теме +0.09 $m
(1)Решение, как оказалось было простым и банальным, по невнимательности не заметил.

Вот такой запрос является решением (в условии поставил ссылку на документ, а в самом запросе связал по основанию):

 Запрос = Новый Запрос;
            Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
                           |	Запросы.Ссылка КАК Ссылка
                           |ИЗ
                           |	Справочник.Запросы КАК Запросы
                           |		ЛЕВОЕ СОЕДИНЕНИЕ Документ.ТелефонныйЗвонок КАК ТелефонныйЗвонок
                           |		ПО Запросы.Ссылка = ТелефонныйЗвонок.ВзаимодействиеОснование
                           |ГДЕ
                           |	ТелефонныйЗвонок.Ссылка = &Ссылка";
            
            Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
            
            Выборка = Запрос.Выполнить().Выбрать();
						
            Пока Выборка.Следующий()Цикл
                СсылкаНаЗапрос = Выборка.Ссылка;    
            КонецЦикла;
			
			Возврат СсылкаНаЗапрос;
Показать
3. PowerBoy 3364 25.05.21 06:05 Сейчас в теме
Когда Выборка.Следующий() выполните тогда в отладчике и смотрите.
7. user1500067 25.05.21 07:06 Сейчас в теме
(3) Когда дохожу до него в отладчике пишет "Ошибка чтения значения". А так значение туда идёт пустое, так как сам запрос выдаёт пустое значение. Но не могу понять, почему в запросе пусто
4. Aluvika4 25.05.21 06:49 Сейчас в теме
Прав на чтение хватает?
6. user1500067 25.05.21 07:00 Сейчас в теме
8. Aitbay 25.05.21 07:32 Сейчас в теме
выбрать ТелефонныйЗвонок.ВзаимодействиеОснование КАК ссылка
     из Документ.ТелефонныйЗвонок  как ТелефонныйЗвонок
где ТелефонныйЗвонок.ВзаимодействиеОснование =  &Ссылка
9. Aitbay 25.05.21 07:33 Сейчас в теме
если ВзаимодействиеОснование  составной тип то еще нужно использовать Выразить()
Оставьте свое сообщение

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