Не верный результат "Обработки"

1. F4RR3L 14.10.21 11:51 Сейчас в теме
Добрый день.
Создана обработка для формирования по трем реквизитам результат поиска в справочнике "Контрагенты".
Установлен переключатель с пунктами "Есть", "Нет", "Весь список" (при выборе переключателя и нажатии кнопки "Сформировать", должен смотря на переключатель сформироваться результат. В первый переключатель где Есть номера, Второй переключатель где нет номеров и третий где они смешаны.
Сейчас при выборе первого и второго переключателя выдается результат одинаковый. Третий переключатель выдает ошибку:
Обработка.ПоискНомер.Форма.ФормаПоиск(7)}: Преобразование значения к типу Булево не может быть выполнено
	Если НЕ ЭлементыФормы.Отбор.Значение Тогда        // НЕ ЭлементыФормы.Отбор.Значение   ВыбиратьТип



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

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

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

Процедура ПриОткрытии()
	ЭлементыФормы.Отбор.СписокВыбора.Добавить(Истина, "Есть");
	ЭлементыФормы.Отбор.СписокВыбора.Добавить(Ложь, "Нет");
	ЭлементыФормы.Отбор.СписокВыбора.Добавить(Неопределено, "Не имеет значения");
КонецПроцедуры
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. XAKEP 14.10.21 12:43 Сейчас в теме
Значения типа Булево в 1С имеют два значения в коде программы: Истина и Ложь (Да и Нет)
3. Vladimir-R 168 14.10.21 12:43 Сейчас в теме
Если НЕ ЭлементыФормы.Отбор.Значение= ИСТИНА Тогда
4. F4RR3L 14.10.21 12:52 Сейчас в теме
(3)Не помогло, выдает результат аналогичный, Есть, Нет.
Проверка показывает, что переключатели не подсоединены к
Процедура ОсновныеДействияФормыДействие(Выбрать)
, но как сделать я не могу сообразить
5. nomad_irk 76 14.10.21 13:51 Сейчас в теме
(4) Ошибка возникает потому, что НЕОПРЕДЕЛЕНО невозможно преобразовать к Булево.

Переключатель, тем более на 3 положения, должен иметь значения число/строка.
Должно быть что-то вроде Отбор.Значение = 0 или Отбор.Значение = "Значение"
6. F4RR3L 14.10.21 13:58 Сейчас в теме
(5)Убрал третий пункт.
Остальное выводится без сортировки
7. nomad_irk 76 14.10.21 14:21 Сейчас в теме
(6)Каким образом вы хотите сортировку настраивать?
8. F4RR3L 14.10.21 14:36 Сейчас в теме
(7)По булево. Пункт Номер-Тип Булево. Если выбираю пункт Есть. Он показывается с номером, если Нет, без него
Прикрепленные файлы:
9. nomad_irk 76 14.10.21 14:53 Сейчас в теме
(8)при чем здесь сортировка?

ВЫБРАТЬ
|    Контрагенты.Номер,
|    Контрагенты.Адрес,
|    Контрагенты.ФИО
|ИЗ
|    Справочник.Контрагенты КАК Контрагенты
|ГДЕ
|       ВЫБОР
|               КОГДА &Отбор
|                       ТОГДА Контрагенты.Номер <> ""//если номер - число,  то <> 0
|               ИНАЧЕ Контрагенты.Номер = ""//если номер - число,  то = 0
|       КОНЕЦ
Показать

Запрос.УстановитьПараметр("отбор", ЗначениеОтбора)
Оставьте свое сообщение

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