|
Вычисляемое поле на компоновке данных БП 3.0
| ☑ |
0
1cv78
29.10.17
✎
15:50
|
Добрый день! Компоновку только осваиваю, просьба сильно не ругаться...
Создаю простой отчет на компоновке в БП 3.0. Из "Движения с субконто" вытаскиваю данные по продажам, т.е. кредитовый оборот по 90.01.1. В запросе сразу разделяю поля по продажам и возвратам (Когда сумма больше или меньше нуля). Группирую по Номенклатуре (Субконто кредит 3) и по покупателям (Регистратор.Контрагент). С этим всё ок.
Теперь добавляю вычисляемое поле "Процент возврата". Если пишешь выражение СуммаВозврата/СуммаПродаж*100, выдает деление на ноль именно в тех группировках, где есть возврат, если используешь "Выбор Когда СуммаПродаж > 0", выдает в везде пустоту. В качестве знаменателя использовал и более простые поля типа Кредитовый оборот без всяких условий - та же фигня. Я что-то делаю не так?
Спасибо.
|
|
1
Cyberhawk
29.10.17
✎
15:51
|
Выбор Когда [СуммаПродаж] > 0
|
|
2
1cv78
29.10.17
✎
15:55
|
Т.е. в квадратные скобки что ли? Я ж так и делал, только без скобок)
|
|
3
Franchiser
гуру
29.10.17
✎
15:59
|
ЕстьNull тебя спасет
|
|
4
Cyberhawk
29.10.17
✎
18:04
|
(2) Ну попробуй, вдруг прокатит
|
|
5
1cv78
30.10.17
✎
00:22
|
(4) Сорри, чот не выходит каменный цветок. Это пробовал - не прокатило, тот же результат.
ВЫБОР КОГДА [СуммаПродаж] > 0 ТОГДА СуммаВозвратов / СуммаПродаж * 100 Иначе 0 Конец
(3) Проштудировал матчасть, хотя не понял, в каком месте использовать. В результате везде включил, в запросе:
ЕСТЬNULL(ХозрасчетныйДвиженияССубконто.Сумма, 0)
Также крутил и в вычисляемом выражении:
ВЫБОР КОГДА СуммаПродаж Есть Null ТОГДА 0 Иначе СуммаВозвратов / СуммаПродаж * 100 Конец
Так работает, если бы условия не было, т.е. выдает деление на ноль.
А если так, то ничего не выдает, как всегда, даже если есть возвраты:
ВЫБОР КОГДА СуммаПродаж = 0 ТОГДА 0 Иначе СуммаВозвратов / СуммаПродаж * 100 Конец
|
|
6
1cv78
30.10.17
✎
00:39
|
Может, речь идет об этом выражении в вычисляемом значении:
ЕстьNull(СуммаВозвратов / СуммаПродаж * 100, 0)
Так оно выдает деление на ноль.
|
|
7
1cv78
30.10.17
✎
01:00
|
В общем, результат такой: оба значения видит, когда вытаскиваешь их непосредственно в выражении или, например складываешь или вычитаешь, но как только одно на другое делишь, то выдает деление на ноль именно в тех группировках, где значение положительное.
|
|
8
1cv78
30.10.17
✎
01:34
|
Ой, сорри! Простите дурака, что мозги вынес, выражение надо было в ресурсах еще писать... РТФМ, едрен батон...
|
|
9
1cv78
30.10.17
✎
01:35
|
И спасибо еще раз)
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший