|
Проблемы с запросом | ☑ | ||
---|---|---|---|---|
0
zzzLEXzzz
26.12.13
✎
16:33
|
Привет всем, имеется запрос из обработки, эта обработка создаёт документ в реализации, данный запрос заполняет поле "договор", в нем есть несколько условий, но я не могу разобраться почему они не работают, поле договор продолжает заполняться договор с наименованием "Основной договор Эфес" и т.д. хотя док_.комментарий заполнены символами "чт" и т.д., помогите пожалуйста разобраться почему не работает, заранее спасибо, вот сам запрос
запрос = новый запрос; запрос.Текст = "ВЫБРАТЬ | ДоговорыКонтрагентов.Ссылка КАК Договор |ИЗ | Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов |ГДЕ | ДоговорыКонтрагентов.Организация = &Организация | И ДоговорыКонтрагентов.Владелец = &Контрагент | И ДоговорыКонтрагентов.Наименование <> ""Бонус"" | И ДоговорыКонтрагентов.Наименование <> ""Бонус КП"" | И ДоговорыКонтрагентов.Наименование <> ""Основной договор Эфес"" | И ДоговорыКонтрагентов.Наименование <> ""Оборудование"" | И ДоговорыКонтрагентов.ТорговыйПредставитель = &Агент | И ДоговорыКонтрагентов.Наименование = (ВЫБОР | КОГДА &Комментарий ПОДОБНО ""ЧЕККП"" | ТОГДА ""Основной КП"" | ИНАЧЕ | (ВЫБОР | КОГДА &Комментарий ПОДОБНО ""ТОР"" | Тогда ""Основной договор Торнадо"" | ИНАЧЕ | (ВЫБОР | КОГДА &Комментарий ПОДОБНО ""ЧТ"" | Тогда ""Договор КП Торнадо"" | ИНАЧЕ ""Основной договор"" | КОНЕЦ) КОНЕЦ) КОНЕЦ)"; запрос.УстановитьПараметр("Организация", Док_.Организация); запрос.УстановитьПараметр("Контрагент", Док_.Контрагент); запрос.УстановитьПараметр("Агент", Агент_.Ссылка); Запрос.УстановитьПараметр("Комментарий", Док_.Комментарий); выборка = запрос.Выполнить().Выбрать(); Если выборка.Количество() <> 0 Тогда //заполним реквизит найденным реквизитом выборка.Следующий(); Док_.ДоговорКонтрагента = выборка.Договор; Иначе Сообщить("Не найден Договор по Организации "+Строка(Док_.Организация)+", ТП- "+Строка(Агент_.Ссылка)); Док_.ДоговорКонтрагента = Док_.Контрагент.ОсновнойДоговорКонтрагента; КонецЕсли; |
|||
1
Wobland
26.12.13
✎
16:34
|
может, лучше нормальный написать?
|
|||
2
zzzLEXzzz
26.12.13
✎
16:36
|
(1) только если вы поможете, просто я не опытный в этом
|
|||
3
Wobland
26.12.13
✎
16:37
|
начинай формулировать цель запроса, а я пойду кушать
|
|||
4
zzzLEXzzz
26.12.13
✎
16:41
|
(3) цель запроса,
если док_.комментарий Содержит "ЧЕККП" ТОГДА "Основной КП" ИНАЧЕ Если док_.Комментарий содержит ""ТОР"" Тогда "Основной договор Торнадо" ИНАЧЕ Если Док_.Комментарий содержит "ЧТ" тогда "Договор КП Торнадо" Иначе "Основной договор" |
|||
5
salvator
26.12.13
✎
16:44
|
(4) А нахрена запрос для этой цели писать?
|
|||
6
zzzLEXzzz
26.12.13
✎
16:45
|
(5) это только часть условия, мне в основном нужно это условие, оно у меня не работает
|
|||
7
salvator
26.12.13
✎
16:46
|
(6) Еще раз: цель запроса какая? Что ты с помощью него хочешь получить?
|
|||
8
Nenaviwu1c20
26.12.13
✎
16:47
|
Ты глянь что у тебя запрос возвращает.Скорее всего там несколько договоров и он соответственно выбирает первый попавшийся
|
|||
9
Wobland
26.12.13
✎
16:47
|
(4) цель запроса - если? оригинально
|
|||
10
Nenaviwu1c20
26.12.13
✎
16:49
|
(9) Согласен логика гоуноу, но стоит помочь разобраться с проблемой.
|
|||
11
Wobland
26.12.13
✎
16:50
|
(10) помоги. я буду ждать внятности и гундеть
|
|||
12
salvator
26.12.13
✎
16:50
|
Если тебе нужно заполнить реквизит "Договор" в зависимости от текста в комментарии, то напиши просто
Если Найти(Док.Комментарий,"ЧЕККП")>0 Тогда Договор = Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию("Основной КП",Истина); ИначеЕсли Найти(Док.Комментарий.... ... ... Док.ДоговорКонтрагента = Договор; И не епи моск. |
|||
13
Wobland
26.12.13
✎
16:51
|
а неплохо было бы иметь в документах строковое поле, в которую можно писать всякую фигню, которая придёт в голову
|
|||
14
zzzLEXzzz
26.12.13
✎
16:54
|
(12) если так сделать, разве выбор падет на договор у которого владелец = контрагент, так же торговый представитель = агент, он же тогда возьмёт первый попавшийся с наименование "Основной КП"
|
|||
15
Wobland
26.12.13
✎
16:55
|
(14) истинно так. именно поэтому и придумали разнообразные параметры, которые так приятно описаны в СП
|
|||
16
salvator
26.12.13
✎
16:57
|
(14) Скажи, а зачем эти условия?
И ДоговорыКонтрагентов.Наименование <> ""Бонус"" И ДоговорыКонтрагентов.Наименование <> ""Бонус КП"" И ДоговорыКонтрагентов.Наименование <> ""Основной договор Эфес"" И ДоговорыКонтрагентов.Наименование <> ""Оборудование"" |
|||
17
zzzLEXzzz
26.12.13
✎
16:58
|
(16) я просто уже пытался вообще исключить договора с такими наименованиями
|
|||
18
zzzLEXzzz
26.12.13
✎
17:03
|
почему-то переходит постоянно на это условие
Иначе Сообщить("Не найден Договор по Организации "+Строка(Док_.Организация)+", ТП- "+Строка(Агент_.Ссылка)); Док_.ДоговорКонтрагента = Док_.Контрагент.ОсновнойДоговорКонтрагента; КонецЕсли; |
|||
19
salvator
26.12.13
✎
17:03
|
(17) Ты их исключаешь уже вложенной конструкцией с "ВЫБОР"
|
|||
20
Wobland
26.12.13
✎
17:04
|
для любви с запросами очень хороша консоль запросов
|
|||
21
salvator
26.12.13
✎
17:08
|
(20) Ему уже советовали.
|
|||
22
salvator
26.12.13
✎
17:10
|
(18) Смотри на условия которые накладываешь. Проверь что в параметры передаешь. И есть ли вообще такие данные в базе.
|
|||
23
zzzLEXzzz
26.12.13
✎
17:12
|
(22) конечно большой процент того что я туплю, но ребят, я правда всё сделал что в моих силах,и проверял вроде всё везде правильно
|
|||
24
zzzLEXzzz
26.12.13
✎
17:14
|
зам запрос сформулирован правильно?
|
|||
25
salvator
26.12.13
✎
17:14
|
(23) Самое время скачать и запустить консоль запросов ;)
|
|||
26
Wobland
26.12.13
✎
17:15
|
я Дархону сегодня целую пачку подарил ;)
|
|||
27
zzzLEXzzz
26.12.13
✎
17:17
|
я просто не разу не пользовался консолью запроса
|
|||
28
MKZM
26.12.13
✎
17:17
|
(26) Какой ты добрый. А сигарку подарить?
|
|||
29
MKZM
26.12.13
✎
17:17
|
Гаванскую
|
|||
30
MKZM
26.12.13
✎
17:18
|
Мой адрес не лом и не улица
|
|||
31
Wobland
26.12.13
✎
17:19
|
(27) у меня тоже был такой период в жизни. довольно длительный
|
|||
32
salvator
26.12.13
✎
17:20
|
(27) Выпей 100 грамм для, так сказать, раскрепощения.
|
|||
33
MKZM
26.12.13
✎
17:21
|
У меня тоже был, когда я ногу сломал.
|
|||
34
viktor_vv
26.12.13
✎
17:23
|
(4)
Вот это, &Комментарий ПОДОБНО ""ТОР"" то же самое, что и &Комментарий = ""ТОР"" вряд ли это то, что тебе нужно. Скорее тебе надо что-то типа &Комментарий ПОДОБНО ""%ТОР%"" |
|||
35
zzzLEXzzz
26.12.13
✎
17:24
|
(34 сейчас попробую
|
|||
36
MKZM
26.12.13
✎
17:26
|
(34) Иайдан надоел?
|
|||
37
MKZM
26.12.13
✎
17:26
|
Майдан
|
|||
38
zzzLEXzzz
26.12.13
✎
17:29
|
(34) не, всё равно выполняется условие
Иначе Сообщить("Не найден Договор по Организации "+Строка(Док_.Организация)+", ТП- "+Строка(Агент_.Ссылка)); Док_.ДоговорКонтрагента = Док_.Контрагент.ОсновнойДоговорКонтрагента; КонецЕсли; |
|||
39
zzzLEXzzz
26.12.13
✎
17:30
|
может кто нить по ТВ подключится, если конечно у кого нить время есть?
|
|||
40
Wobland
26.12.13
✎
17:30
|
(39) ну я могу
|
|||
41
zzzLEXzzz
26.12.13
✎
17:31
|
(40) ну посмотри пожалуйста 574168643 qpq885
|
|||
42
Wobland
26.12.13
✎
17:32
|
(41) ты расскажи, чего ты хочешь добиться этим запросом
|
|||
43
viktor_vv
26.12.13
✎
17:32
|
(36) Это к чему вопрос был ?
|
|||
44
zzzLEXzzz
26.12.13
✎
17:32
|
(42) я может просто выражаю свою мысль, нагляднее просто понятнее будет
|
|||
45
zzzLEXzzz
26.12.13
✎
17:33
|
(43) просто когда увидите поймёте о чём я говорю
|
|||
46
salvator
26.12.13
✎
17:34
|
(38) Попробуй так сообщить. Что выдает?
Сообщить("Не найден Договор по Организации: "+Док_.Организация+"; ТП- "+Агент_.Ссылка+"; Контрагент: "+Док_Контрагент+"; Комментарий: "+Док_.Комментарий); |
|||
47
zzzLEXzzz
26.12.13
✎
17:37
|
(46) выдает это
Не найден Договор по Организации: КП; ТП- ТП 44 Арзиманов; Контрагент: Дворникова О.И. ИП; Комментарий: МБ!!! ЧТ |
|||
48
Wobland
26.12.13
✎
17:37
|
(41) не узнаёт
|
|||
49
zzzLEXzzz
26.12.13
✎
17:37
|
(48) извини не тот вписал 375 981 647 qpq885
|
|||
50
salvator
26.12.13
✎
17:38
|
(47) Ты как тебе советовали в (34) сделал для всех условий по комментарию?
|
|||
51
salvator
26.12.13
✎
17:40
|
+(50) И есть ли договор "Основной договор" по указанным организации, контрагенту и торговому представителю?
|
|||
52
selenat
26.12.13
✎
17:48
|
"Оптимизируя бардак, получите автоматизированный бардак" (с)
Интересно, я один считаю, что делать отбор по написанному в комментарии - бред? И кстати, если комментарий - это реквизит неограниченной длины, то я бы в запросе как минимум использовал бы конструкцию ВЫРАЗИТЬ, дабы немножко его ограничить... |
|||
53
selenat
26.12.13
✎
17:50
|
(52) Оптимизируя = автоматизируя.
|
|||
54
Wobland
26.12.13
✎
18:25
|
не выйдет комментарий в запросе обработать - документ не записан ещё (вроде)
|
|||
55
selenat
27.12.13
✎
10:04
|
(54) анекдот в тему.
Двое молодых неопытных альпиниста приходят к старому и опытному и говорят: "Объясните нам такую проблему. Мы вот когда делали восхождение на пятитысячник, никак не могли наверху костер разжечь" Тот отвечает: "Ну понятное дело, там же воздух разряженный потому и не горит". Один другого локтем толкает и говорит: "Вот видишь - воздух разряженный, а ты заладил: дров нет, дров нет". |
|||
56
zzzLEXzzz
27.12.13
✎
10:06
|
(55) ржака ))))))))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |