|
v7: Как совместить в переменной запроса два реквизита документа? | ☑ | ||
---|---|---|---|---|
0
kissolo
04.12.16
✎
16:23
|
В документе РасходнаяНакладная есть покупатель и грузополучатель. Если грузополучатель совпадает с покупателем, то реквизит "грузополучатель" в документе остается пустым.
Есть запрос, вот его часть: Грузополучатель = Документ.Заказ.Заказчик,Документ.РасходнаяНакладная.Грузополучатель; Можно ли как-то указать, в тексте запроса, что если грузополучатель в документе пустой, то в переменную Грузополучатель присваивать значение покупателя из РасходнойНакладной? PS: этот запрос - часть отчета, сильно переделанного, поэтому если делать отдельный запрос по грп, достаточно геморройно будет искать подходящую строку (т.к. там кроме грузополучателя может быть и другая группировка включена, например, номенклатура)... |
|||
1
Mauser
04.12.16
✎
16:30
|
1) У запроса нет переменных
2) В описании языка запросов надо прочитать про ВЫБОР |
|||
2
Mauser
04.12.16
✎
16:31
|
А, это 7.7
Извиняюсь, думал про 8 |
|||
3
Slypower
05.12.16
✎
13:19
|
(0) один из способов, это в запросе сделать:
Грузополучатель = Документ.Заказ.Заказчик; Грузополучатель1 = Документ.РасходнаяНакладная.Грузополучатель; , а уже при обработки строк запроса впихнуть: Если СокрЛП(Грузополучатель)="" Тогда Грузополучатель=Грузополучатель1; КонецЕсли; |
|||
4
Mauser
05.12.16
✎
13:41
|
(3) А в 7.7 чтобы проверить на пустое значение, обязательно к строке приводить?
|
|||
5
Builder
05.12.16
✎
13:45
|
(4) Не обязательно, это от религии зависит :)
Если ПустоеЗначение(Грузополучатель)=1 Тогда КонецЕсли; |
|||
6
Mauser
05.12.16
✎
13:50
|
(5) Так даже понятней. Ну, если религия состоит в "было тяжело писать, пусть будет тяжело читать" тогда да...
Там в 7.7 есть функции с выражением КОГДА. Не спасет? |
|||
7
lubitelxml
05.12.16
✎
13:52
|
(6) она вроде только для функций... 7.7 давно не видел
|
|||
8
Lazy Stranger
05.12.16
✎
13:53
|
Ещё можно обработкой во всех накладных в базе в расх. накладных в поле грузополучатель покупателя засунуть (ну и для новых документов при записи это делать)
|
|||
9
Builder
05.12.16
✎
13:54
|
(6) Она для расчета чего либо,
типа Функция СуммаКолво = Сумма(Колво) Когда ПустоеЗначение(Грузополучатель)=1 |
|||
10
kissolo
05.12.16
✎
23:44
|
(3) Не совсем понятен смысл этого кода.
Грп (aka Грузополучатель) - по нему идет группировка. и на одном уровне надо сразу и у заказа и у реализации видеть Грп (чтобы видеть кол-во заказа и отгрузки). Так бы можно было добавить переменную Покупатель, куда брать из реализации Покупателя, и проверку на пустое значение Грп делать (т.е. если Грп пустой, в него писать покупателя) - но это уже другой уровень запроса же будет... а у вас вообще получается, Грп - из заказа, Грп1 - из реализации, и зачем тогда в Грп брать значение из Грп1? Непонятно.. |
|||
11
kissolo
05.12.16
✎
23:47
|
(8) Тоже не совсем подходяший вариант, у 1с-ников там хитро придумано, мол, если Грп пустой - в форме документа включается галка "он же" (т.е. Грп = Покупателю), и в печ.ф. так же, и вполне возможно, что где-то еще. Так что не стал рушить, поступил проще - добавил еще реквизит в шапку, Грп1 - и в него при проведении документа отгрузки пишу Грп (а если тот пустой - то покупателя), заодно потом вывожу этот реквизит в форму журнала (они как раз попросили добавить колонку "грп")..
Изврат, конечно... Зато быстро, а то отчет уже долго делаю.. |
|||
12
Garykom
гуру
05.12.16
✎
23:51
|
Условие(Грузополучатель в СписокГрузополучатели);
|
|||
13
kissolo
06.12.16
✎
09:49
|
(12) Зачем мне условие в таком виде? Мне надо, что если Грп в документе пустой - брать покупателя (из того же документа).
офф. Я так понимаю, в данном варианте задача не решаема, т.к. группировки по документу нет, а только из документа можно взять покупателя... В общем, остаюсь на своем варианте, всем спасибо. |
|||
14
пипец
06.12.16
✎
10:08
|
есть еще внешние функции - но эт уже действительно вопрос религии
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |