В запросе получаю ошибку: "Ошибка чтения значения"
Всем доброго времени суток! Сделал простой запрос:
Суть его в том, что мне нужно получить ссылку на запрос через телефонный звонок.
Но после выполнении строки в отладчике вместо значения ссылки написано: "Ошибка чтения значения".
Не могу понять в чём проблема, буду благодарен за ваши советы!
P.S. Прогнал запрос через консоль: по итогу запроса пусто, не находит ничего. Однако, если убрать условие из запроса, то он работает корректно, но мне то нужен запрос с условием. Суть ошибки видно... в запросе. Но почему он не показывает никаких значений, если я ставлю условие... не понимаю.
&НаСервере
Функция ИзменитьСПомощьюЗапроса() Экспорт
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
| Запросы.Ссылка КАК Ссылка
|ИЗ
| Справочник.Запросы КАК Запросы
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ТелефонныйЗвонок КАК ТелефонныйЗвонок
| ПО Запросы.Ссылка = ТелефонныйЗвонок.ВзаимодействиеОснование
|ГДЕ
| ТелефонныйЗвонок.ВзаимодействиеОснование = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий()Цикл
СсылкаНаЗапрос = Выборка.Ссылка;
КонецЦикла;
Возврат СсылкаНаЗапрос;
КонецФункции
ПоказатьСуть его в том, что мне нужно получить ссылку на запрос через телефонный звонок.
Но после выполнении строки
Выборка = Запрос.Выполнить().Выбрать();
Не могу понять в чём проблема, буду благодарен за ваши советы!
P.S. Прогнал запрос через консоль: по итогу запроса пусто, не находит ничего. Однако, если убрать условие из запроса, то он работает корректно, но мне то нужен запрос с условием. Суть ошибки видно... в запросе. Но почему он не показывает никаких значений, если я ставлю условие... не понимаю.
По теме из базы знаний
- Смотрим запросы 1С через Microsoft SQL Profiler по следам ошибок разработчиков, приводящих к проблемам производительности
- Как читать чужой код? Часть 3. Разбор и доработка запросов
- Экспорт запроса из отладки в консоль запросов
- Зачем и как читать чужой код? Какой результат ожидаем получить? Основные подходы
- Модель запроса SQL
Найденные решения
(1)Решение, как оказалось было простым и банальным, по невнимательности не заметил.
Вот такой запрос является решением (в условии поставил ссылку на документ, а в самом запросе связал по основанию):
Вот такой запрос является решением (в условии поставил ссылку на документ, а в самом запросе связал по основанию):
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
| Запросы.Ссылка КАК Ссылка
|ИЗ
| Справочник.Запросы КАК Запросы
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ТелефонныйЗвонок КАК ТелефонныйЗвонок
| ПО Запросы.Ссылка = ТелефонныйЗвонок.ВзаимодействиеОснование
|ГДЕ
| ТелефонныйЗвонок.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий()Цикл
СсылкаНаЗапрос = Выборка.Ссылка;
КонецЦикла;
Возврат СсылкаНаЗапрос;
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)Видиммо потому, что ТелефонныйЗвонок.ВзаимодействиеОснование не равно Объект.Ссылка, т.к. в противном случае ваш запрос может превратится в:
и не очень понятно, для чего вы вообще выполняли соединение таблиц.
Но после выполнении строки
Выборка = Запрос.Выполнить().Выбрать();
в отладчике вместо значения ссылки написано: "Ошибка чтения значения".
Не могу понять в чём проблема, буду благодарен за ваши советы!
Это нормальное поведение системы, т.к. вы еще не спозиционировались на каком-либо элементе выборки.
Значение необходимо проверять в строке:
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| Запросы.Ссылка КАК Ссылка
|ИЗ
| Справочник.Запросы КАК Запросы
|ГДЕ
| Запросы.Ссылка = &Ссылка"
и не очень понятно, для чего вы вообще выполняли соединение таблиц.
Но после выполнении строки
Выборка = Запрос.Выполнить().Выбрать();
в отладчике вместо значения ссылки написано: "Ошибка чтения значения".
Не могу понять в чём проблема, буду благодарен за ваши советы!
Это нормальное поведение системы, т.к. вы еще не спозиционировались на каком-либо элементе выборки.
Значение необходимо проверять в строке:
СсылкаНаЗапрос = Выборка.Ссылка;
(1)Решение, как оказалось было простым и банальным, по невнимательности не заметил.
Вот такой запрос является решением (в условии поставил ссылку на документ, а в самом запросе связал по основанию):
Вот такой запрос является решением (в условии поставил ссылку на документ, а в самом запросе связал по основанию):
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
| Запросы.Ссылка КАК Ссылка
|ИЗ
| Справочник.Запросы КАК Запросы
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ТелефонныйЗвонок КАК ТелефонныйЗвонок
| ПО Запросы.Ссылка = ТелефонныйЗвонок.ВзаимодействиеОснование
|ГДЕ
| ТелефонныйЗвонок.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий()Цикл
СсылкаНаЗапрос = Выборка.Ссылка;
КонецЦикла;
Возврат СсылкаНаЗапрос;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот