Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 11:02

Запрос не выводит результат

Автор dritt, 21 мая 2021, 15:24

0 Пользователей и 1 гость просматривают эту тему.

dritt

Здравствуйте. Совсем немного понимаю в 1С и возникла такая проблема: есть справочник Базы, в которой в поле Среда хранится значение из перечисления Среда. Необходимо выборкой получить среду определенной базы выбранной организации. Но запрос ничего не выводит. В некоторых вариантах выдаёт ошибку "Поле среда не является значением объектного типа". Помогите, пожалуйста.

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

LexaK

немного по другому надо

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

если помогло нажмите: Спасибо!

dritt

Цитата: LexaK от 21 мая 2021, 15:45
немного по другому надо

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



Но там точно для выбранной организации есть среда

LexaK

dritt,
ЦитироватьНо там точно для выбранной организации есть среда
хм, а комп уверен в другом! :D

возможно неправильно задаете Параметры

попробуйте свой запрос в консоли запросов выполнить
если помогло нажмите: Спасибо!

dritt

Цитата: LexaK от 21 мая 2021, 16:13
dritt,
ЦитироватьНо там точно для выбранной организации есть среда
хм, а комп уверен в другом! :D

возможно неправильно задаете Параметры

попробуйте свой запрос в консоли запросов выполнить

В консоли выводит правильно только если тип у параметра Организация поставить "Клиенты". Но установка ссылочного типа не помогла. Всё равно ничего не выводит.
Запрос.УстановитьПараметр("Организация", Справочники.Клиенты.НайтиПоНаименованию(Клиент));

LexaK

а второй параметр, ну который первый в вашем тексте, в смысле База
короче вот это
Запрос.УстановитьПараметр("Наименование", База);
- там что? все правильно передаете? какой тип?
если помогло нажмите: Спасибо!

dritt

Цитата: LexaK от 21 мая 2021, 17:28
а второй параметр, ну который первый в вашем тексте, в смысле База
короче вот это
Запрос.УстановитьПараметр("Наименование", База);
- там что? все правильно передаете? какой тип?

Там всё верно. В консоли тип Строка стоит.
Предположу, что из-за того, что данные выбираются из справочника Базы, на который ссылка уже не нужна

LexaK

Цитироватьиз справочника Базы, на который ссылка уже не нужна
ни чего не понятно :fdbsdfbsd: , но очень интересно :)

так тоже бывает, что при поиске по каким-то параметрам - данных нет
либо они не нужны
либо их надо завести
если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск