|
Как в запросе к оборотам регистра проигнорировать нулевые обороты? | ☑ | ||
---|---|---|---|---|
0
dark70
06.12.22
✎
05:58
|
Отчет на СКД. Движения с минусом - расход, с плюсом -приход.
ВЫБРАТЬ РАЗРЕШЕННЫЕ ВВ_ОплатаПоОбъектамОбороты.ОбъектАренды КАК ОбъектАренды, ВВ_ОплатаПоОбъектамОбороты.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств, ВЫБОР КОГДА ВВ_ОплатаПоОбъектамОбороты.СуммаОборот > 0 ТОГДА ВВ_ОплатаПоОбъектамОбороты.СуммаОборот ИНАЧЕ NULL КОНЕЦ КАК Сумма, "Приход" КАК Раздел, ВВ_ОплатаПоОбъектамОбороты.Организация КАК Организация, ВВ_ОплатаПоОбъектамОбороты.ПериодМесяц КАК ПериодМесяц, ВВ_ОплатаПоОбъектамОбороты.Регистратор КАК Регистратор ПОМЕСТИТЬ ВТ_Приход ИЗ РегистрНакопления.ВВ_ОплатаПоОбъектам.Обороты(, , Авто, ) КАК ВВ_ОплатаПоОбъектамОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗРЕШЕННЫЕ ВВ_ОплатаПоОбъектамОбороты.ОбъектАренды КАК ОбъектАренды, ВВ_ОплатаПоОбъектамОбороты.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств, ВЫБОР КОГДА ВВ_ОплатаПоОбъектамОбороты.СуммаОборот < 0 ТОГДА ВВ_ОплатаПоОбъектамОбороты.СуммаОборот ИНАЧЕ NULL КОНЕЦ КАК Сумма, "Расход" КАК Раздел, ВВ_ОплатаПоОбъектамОбороты.Организация КАК Организация, ВВ_ОплатаПоОбъектамОбороты.ПериодМесяц КАК ПериодМесяц, ВВ_ОплатаПоОбъектамОбороты.Регистратор КАК Регистратор ПОМЕСТИТЬ ВТ_Расход ИЗ РегистрНакопления.ВВ_ОплатаПоОбъектам.Обороты(, , Авто, ) КАК ВВ_ОплатаПоОбъектамОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_Расход.ОбъектАренды КАК ОбъектАренды, ВТ_Расход.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств, ВТ_Расход.Сумма КАК Сумма, ВТ_Расход.Раздел КАК Раздел, ВТ_Расход.Организация КАК Организация, ВТ_Расход.ПериодМесяц КАК ПериодМесяц, ВТ_Расход.Регистратор КАК Регистратор ИЗ ВТ_Расход КАК ВТ_Расход ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ВТ_Приход.ОбъектАренды, ВТ_Приход.СтатьяДвиженияДенежныхСредств, ВТ_Приход.Сумма, ВТ_Приход.Раздел, ВТ_Приход.Организация, ВТ_Приход.ПериодМесяц, ВТ_Приход.Регистратор ИЗ ВТ_Приход КАК ВТ_Приход На закладке НаборыДанных в колонке роль у Суммы стоит игнорировать NULL. Но все равно выводит в отчет нулевые строки. Скрин результата здесь https://s1.hostingkartinok.com/uploads/images/2022/12/42ccf0604c5d5482763ea4f999f60b2d.jpg |
|||
1
dark70
06.12.22
✎
06:01
|
Т.е. вопрос, как убрать выделенное красным ?
https://s1.hostingkartinok.com/uploads/images/2022/12/58f9215f81d1fa7b3b186c828d849495.jpg |
|||
2
Смотрящий
06.12.22
✎
06:59
|
(0) Нет у тебя там NULL, есть 0
Из набора данных, условно: ОбъектАренды, СтатьяДвиженияДенежныхСредств, Организация, Договор, +100 ОбъектАренды, СтатьяДвиженияДенежныхСредств, Организация, Договор, -100 Ты отбираешься по ОбъектАренды, СтатьяДвиженияДенежныхСредств, Организация, +100 ОбъектАренды, СтатьяДвиженияДенежныхСредств, Организация, -100 и получаешь 0 в результирующей таблице Исправь данные |
|||
3
dark70
06.12.22
✎
07:01
|
Я попробовал так сделать
ВЫБОР КОГДА ВВ_ОплатаПоОбъектамОбороты.СуммаОборот > 0 ТОГДА ВВ_ОплатаПоОбъектамОбороты.СуммаОборот ИНАЧЕ 0 КОНЕЦ КАК Сумма ВЫБОР КОГДА ВТ_Расход.Сумма = 0 ТОГДА NULL ИНАЧЕ ВТ_Расход.Сумма КОНЕЦ КАК Сумма Все равно выводит |
|||
4
Смотрящий
06.12.22
✎
07:05
|
(3) Выдерни в ВТ_Приход и ВТ_Расход полный набор данных по статье ДДС клининговые услуги и аренды, обе две
и увидишь |
|||
5
kittystark
06.12.22
✎
08:39
|
один запрос, суммы не трожь
ВЫБОР КОГДА ВВ_ОплатаПоОбъектамОбороты.СуммаОборот > 0 ТОГДА "Приход" ИНАЧЕ "Расход" КОНЕЦ КАК Раздел |
|||
6
Мультук
гуру
06.12.22
✎
09:02
|
(0)
1) Есть поля СуммаПриход и СуммаРасход. Почему автор о них не слышал и не использует -- странно. 2) Вероятно автору стоит еще знать, что Приход может быть меньше нуля (сторно, возвраты), Расход аналогично. 3) Логики в ТОГДА NULL не вижу вообще 4) Почему нужное автору условие он не может засунуть в ГДЕ -- тоже непонятно (5) Есть понятия "Дт" и "Кт" ("Приход" и "Расход"), оно конечно понятно, что в частных случаях предложенное решение будет работать, но потом кто-то очень неприятно может нарваться на возвраты, например. Будет - "нехорошо". |
|||
7
Dmitrii
гуру
06.12.22
✎
10:46
|
(6) >> Есть поля СуммаПриход и СуммаРасход. Почему автор о них не слышал и не использует - странно.
Видимо у автора оборотный регистр накопления. Поэтому вид движения (приход/расход) он определяет по знаку. Строить подобные отчеты по виртуальным таблицам - идиотизм. Виртуальные таблицы выдают данные в сгруппированном (свёрнутом) виде. В результате теряется часть оборотов. Например, когда по одним и тем же измерениям (Организация, Объект, Статья ДДС) был приход (оборот с плюсом) и расход (оборот с минусом), виртуальная таблица выдаст только разницу между ними (приход минус расход). Понятно, что есть статьи ДДС, по которым бывает только расход, есть статьи, по которым бывает только приход, но как только появится статья, по которой может быть и приход и расход (например, какие-нибудь расчёты по претензиям или те же возвраты), отчёт будет выдавать искаженную информацию. |
|||
8
Мультук
гуру
06.12.22
✎
11:26
|
(7)
Согласен, не подумал головой. P.S. Не понимаю, что может быть "по другой стороне" в регистре "Оплата по объектам". Начисления? А как же остатки ? Нет, я понимаю, что есть бизнес-процессы, где остаток невозможен в принципе, но... |
|||
9
Dmitrii
гуру
06.12.22
✎
13:38
|
(8) >> Не понимаю...
А нам и не нужно. Чтобы понять смысл этого регистра, надо знать задачу, которую ставил перед собой тот, кто его спроектировал. Можно лишь предположить, что заказчиком был кто-то из финансистов, а задачей было увидеть денежный поток по объектам аренды. Но это неточно... >> А как же остатки? Денежный поток не имеет остатка. У него лишь объём и направление. Остатки на счетах и в кассе лежат. |
|||
10
1Сергей
06.12.22
✎
13:40
|
Сгруппировать не предлогали ещё?
|
|||
11
dark70
06.12.22
✎
15:26
|
(5) Так просто :) Спасибо, помогло.
(10) Пробовал, нифига. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |