Вопрос по запросу

1. siyayushhijasinxral@mail.ru 28.12.13 03:30 Сейчас в теме
Имеется запрос из обработки, эта обработка создаёт документ в реализации, данный запрос заполняет поле "договор", в нем есть несколько условий, но я не могу разобраться почему они не работают, поле договор продолжает заполняться договор с наименованием "Основной договор Эфес" и т.д. хотя док_.комментарий заполнены символами "чт" и т.д., помогите пожалуйста разобраться почему не работает, заранее спасибо, вот сам запрос


+ Code

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

запрос.УстановитьПараметр("Организация", Док_.Организация);
запрос.УстановитьПараметр("Контрагент", Док_.Контрагент);
запрос.УстановитьПараметр("Агент", Агент_.Ссылка);
Запрос.УстановитьПараметр("Комментарий", Док_.Комментарий);


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

Если выборка.Количество() <> 0 Тогда
//заполним реквизит найденным реквизитом

выборка.Следующий();
Док_.ДоговорКонтрагента = выборка.Договор;
Иначе
Сообщить("Не найден Договор по Организации "+Строка(Док_.Организация)+", ТП- "+Строка(Агент_.Ссылка));
Док_.ДоговорКонтрагента = Док_.Контрагент.ОсновнойДоговорКонтрагента;
КонецЕсли;
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. juntatalor 63 28.12.13 07:35 Сейчас в теме
1) Проверьте, что попадает в Запрос.Параметры (действительно ли там ссылки и все верно)
2) Если в поле Комментарий есть другие символы, то надо использовать конструкцию ПОДОБНО "%ЧЕККП%". А еще ПОДОБНО - регистрозависимое условие.
3. PoZiTiFFF 915 28.12.13 15:14 Сейчас в теме
(2)с каких это пор ПОДОБНО в запросе - регистрозавимое условие? Это не правда.
(1)Зачем так усложнен запрос в конструкции Выбор Когда ?
Незачем составлять конструкцию Выбор Когда Тогда Иначе Выбор Когда Тогда Конец Конец, можно просто Выбор Когда Тогда Когда Тогда Конец, то есть одна конструкция Выбор Конец, а в ней для каждой проверка Когда ... Тогда...
Применение функции Подобно действительно непонятно, если то, что Вы проверяете в реквизите Комментарий (например "ТОР") один в один соответствует, то надо изпользовать оператор "=",а не подобно, а если Вы проверяете вхождение, то действительно как указал juntatalor конструкцию Подобно "%ТОР%".
Оставьте свое сообщение

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