|
v7: Формирование внутренней переменной запроса по условию | ☑ | ||
---|---|---|---|---|
0
mpbakunov
30.10.11
✎
19:02
|
Доброго дня!
Делаю запрос по одному документу. В дальнейшем в запросе будет условие по внутренней переменной запроса (Маршрут). В переменной должно сохранятся значение поля Маршрут из документа если оно заполнено или поле Маршрут из элемента спр Контрагенты которое есть в документе. примерно так |Маршрут=?(Пустоезначение(Документ.Т_РасходнаяНакладнаяПрод_MG.Маршрут_MG)=1,Документ.Т_РасходнаяНакладнаяПрод_MG.Контрагент.Маршрут_MG,Документ.Т_РасходнаяНакладнаяПрод_MG.Маршрут_MG); но такая конструкция не работает в запросах. Может есть какой нить другой способ реализовать задачу чтобы в запросе была только одна переменная Маршрут. Не хочется формировать 2 ю переменную, потому что надо будет переделовать логику отчета в котором раньше маршрут брался только из контрагента документа. жду советов! |
|||
1
Темный Эльф
30.10.11
✎
19:05
|
Напиши два текста запроса и сделай обычное Если
|
|||
2
mpbakunov
30.10.11
✎
19:09
|
(1) не пойдет. потому что в одних документах маршрут должен браться из поля документа а в других через контрагента документа!
|
|||
3
Ёпрст
30.10.11
✎
19:13
|
(0) в чорном такую переменную не слепишь, только в условии или в вычислении функции.
|
|||
4
ДенисЧ
30.10.11
✎
19:13
|
Забей на эту с**ную 1с. Всё равно ничего толкового не выйдет
|
|||
5
Злопчинский
30.10.11
✎
19:14
|
|Маршрут=Документ.Т_РасходнаяНакладнаяПрод_MG.Контрагент.Маршрут_MG,Документ.Т_РасходнаяНакладнаяПрод_MG.Маршрут_MG
|
|||
6
Кукуев
30.10.11
✎
19:17
|
Можно, наверное, попробовать через тот же Если...
что-то типа формируем ТекстЗапроса до определения переменной Маршрут, затем Если Пустоезначение(Документ.Т_РасходнаяНакладнаяПрод_MG.Маршрут_MG)=1 Тогда ТекстЗапроса = ТекстЗапроса + |Маршрут = Документ.Т_РасходнаяНакладнаяПрод_MG.Контрагент.Маршрут_MG;"; Иначе ТекстЗапроса = ТекстЗапроса + |Маршрут = Документ.Т_РасходнаяНакладнаяПрод_MG.Маршрут_MG";" КонецЕсли |
|||
7
Кукуев
30.10.11
✎
19:19
|
+6 Ага, и синтаксис правильно выставить!!! (кавычки и т.д.) :)
|
|||
8
Ёпрст
30.10.11
✎
19:22
|
(6) п..ц
|
|||
9
mpbakunov
30.10.11
✎
19:23
|
(6) да тоже так пробовал , но тянет только первое выражение! :(
|
|||
10
mpbakunov
30.10.11
✎
19:23
|
сорри последний ответ касается (5)
|
|||
11
Ёпрст
30.10.11
✎
19:23
|
(5) это не верно, если маршрут не пустой и отличный от маршрута контрагента.
|
|||
12
Кукуев
30.10.11
✎
19:24
|
(8) сам уже понял, невнимательно прочитал условие...
|
|||
13
SnarkHunter
30.10.11
✎
19:25
|
(0)Используй прямой запрос и функцию Coalesce...
|
|||
14
Ёпрст
30.10.11
✎
19:31
|
+13 или тупо case
|
|||
15
mpbakunov
30.10.11
✎
19:32
|
(13) поподробнее плиз
|
|||
16
Ёпрст
30.10.11
✎
19:39
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |