|
Запрос по оборотам из нескольких регистров накопления. | ☑ | ||
---|---|---|---|---|
0
Lostcost333
05.08.18
✎
14:37
|
Добрый день, такая ситуация: Необходимо в запросе получить Обороты за день по 4 регистрам. Делаю левое соединение по "Павилион", делаю проверку на NULL, а в итоге результат запроса все равно пустой... Подскажите пожалуйста, в чем дело...
|
|||
1
Lostcost333
05.08.18
✎
14:41
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | ВЫБОР | КОГДА КассаОбороты.СуммаОборот ЕСТЬ NULL | ТОГДА 0 | ИНАЧЕ КассаОбороты.СуммаОборот | КОНЕЦ КАК Касса, | ВЫБОР | КОГДА ПокупкиОбороты.СуммаОборот ЕСТЬ NULL | ТОГДА 0 | ИНАЧЕ ПокупкиОбороты.СуммаОборот | КОНЕЦ КАК Покупки, | ВЫБОР | КОГДА ПродажиОбороты.СуммаОборот ЕСТЬ NULL | ТОГДА 0 | ИНАЧЕ ПродажиОбороты.СуммаОборот | КОНЕЦ КАК Продажи, | ВЫБОР | КОГДА УчетОбменаТоваровОбороты.СуммаОборот ЕСТЬ NULL | ТОГДА 0 | ИНАЧЕ УчетОбменаТоваровОбороты.СуммаОборот | КОНЕЦ КАК ОбменВозврат |ИЗ | РегистрНакопления.Касса.Обороты(&ПериодНачало, &ПериодОкончание, , ) КАК КассаОбороты | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.УчетОбменаТоваров.Обороты(&ПериодНачало, &ПериодОкончание, , ) КАК УчетОбменаТоваровОбороты | ПО КассаОбороты.Павилион = УчетОбменаТоваровОбороты.Павилион | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&ПериодНачало, &ПериодОкончание, , ) КАК ПродажиОбороты | ПО КассаОбороты.Павилион = ПродажиОбороты.Павилион | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Покупки.Обороты(&ПериодНачало, &ПериодОкончание, , ) КАК ПокупкиОбороты | ПО КассаОбороты.Павилион = ПокупкиОбороты.Павилион |ГДЕ | КассаОбороты.Павилион = &Павилион"; Запрос.УстановитьПараметр("Павилион", Объект.Павилион); Запрос.УстановитьПараметр("ПериодНачало", НачалоДня(Объект.Дата)); Запрос.УстановитьПараметр("ПериодОкончание", КонецДня(Объект.Дата)); |
|||
2
mmmarat
05.08.18
✎
14:45
|
(0) Четыре запроса через ОБЪЕДИНИТЬ ВСЕ
|
|||
3
sechs
05.08.18
✎
14:54
|
Что такое "Павилион"? Какое-то животное?
|
|||
4
Lostcost333
05.08.18
✎
15:04
|
Понятия не имею, так справочник назвали)))
|
|||
5
craxx
05.08.18
✎
15:15
|
Вообще не понял зачем соединения. Четыре запроса с объединением ОБЪЕДИНИТЬ ВСЕ
|
|||
6
Lostcost333
05.08.18
✎
15:26
|
Я прошу прощения за свою глупость, но правильно я понял, что при ОБЪЕДИНИТЬ ВСЕ, Весь результат соберется в 1 колонку, но (в моем случае) 4 строки, и потом нужно просто перебирать в цикле?
|
|||
7
palsergeich
05.08.18
✎
15:28
|
Нет, можно сгрупиировать и получить столько колонок (в вашем случае - 5) сколько надо. См книгу Хрусталевой Язык запросов "1С:Предприятия 8"
Это основа основ. |
|||
8
RomanYS
05.08.18
✎
15:29
|
(6)
Выбрать поле как поле1, 0 как поле2 поместить ВТ ИЗ Тз1 объединить все Выбрать 0 как поле1, поле как поле2 ИЗ Тз2; ВЫбрать сумма(поле1), Сумма(поле2) из вт |
|||
9
palsergeich
05.08.18
✎
15:32
|
(8) А следующий шаг - сгруппировать по Максимум не ссылочные поля. Что бы слопнуть строки в 1.
|
|||
10
Lostcost333
05.08.18
✎
15:38
|
Огромное спасибо! (7) Обязательно прочитаю, еще раз извините за глупые вопросы.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |