|
Избегаем деления на 0 в СКД | ☑ | ||
---|---|---|---|---|
0
prilforreal
03.07.18
✎
11:55
|
Доброго времени суток! В СКД пишу отчет, столкнулся с тем что СКД не дает делить на ноль, в запросе подменяю ноль на небольшое число, но ошибка повторяется
ВЫБРАТЬ ПроизводствоПечатьТабличнаяЧасть1.Ссылка.Дата, ПроизводствоПечатьТабличнаяЧасть1.Ссылка.Проведен, ПроизводствоПечатьТабличнаяЧасть1.Материал, ПроизводствоПечатьТабличнаяЧасть1.МатериалФакт, ПроизводствоПечатьТабличнаяЧасть1.ПлощадьМатериала, ПроизводствоПечатьТабличнаяЧасть1.Площадь, ВЫБОР КОГДА ПроизводствоПечатьТабличнаяЧасть1.Площадь = 0 ТОГДА ПроизводствоПечатьТабличнаяЧасть1.Площадь + 0.00000001 ИНАЧЕ ПроизводствоПечатьТабличнаяЧасть1.Площадь КОНЕЦ, ПроизводствоПечатьТабличнаяЧасть1.Площадь / 100 * 5 + ПроизводствоПечатьТабличнаяЧасть1.Площадь КАК ПорогПерерасхода, ПроизводствоПечатьТабличнаяЧасть1.Ссылка, ПроизводствоПечатьТабличнаяЧасть1.ПлощадьМатериала / ПроизводствоПечатьТабличнаяЧасть1.Площадь КАК КИМ ИЗ Документ.ПроизводствоПечать.ТабличнаяЧасть1 КАК ПроизводствоПечатьТабличнаяЧасть1 |
|||
1
Nikoss
03.07.18
✎
11:57
|
где ты в запросе, где деление, подменил 0 ?
|
|||
2
piter3
03.07.18
✎
11:57
|
не там где нужно подменил)
|
|||
3
prilforreal
03.07.18
✎
11:58
|
(1) ВЫБОР КОГДА ПроизводствоПечатьТабличнаяЧасть1.Площадь = 0
ТОГДА ПроизводствоПечатьТабличнаяЧасть1.Площадь + 0.00000001 ИНАЧЕ ПроизводствоПечатьТабличнаяЧасть1.Площадь КОНЕЦ, |
|||
4
Мандалай
03.07.18
✎
11:58
|
Выбор когда ЕстьNULL(ПроизводствоПечатьТабличнаяЧасть1.Площадь ,0) = 0 Тогда 1 Иначе ПроизводствоПечатьТабличнаяЧасть1.Площадь Конец
|
|||
5
СвинТуз
03.07.18
✎
11:59
|
Есть такой оператор . Называется "Выбор" . Слабо его использовать?
|
|||
6
Dmitry1c
03.07.18
✎
11:59
|
(3) в анналы истории
а если у тебя там NULL, а не 0? NULL + 0.00001 = NULL |
|||
7
Мандалай
03.07.18
✎
11:59
|
Ну хотя ЕстьNULL наверное лишнее.
|
|||
8
Мандалай
03.07.18
✎
12:00
|
(6)Я так понимаю данные берутся из ТЧ, откуда там NULL?
|
|||
9
Мандалай
03.07.18
✎
12:00
|
(0)То что тебе написали прям в сказуемое вставляй
|
|||
10
Мандалай
03.07.18
✎
12:01
|
100 * 5 + ПроизводствоПечатьТабличнаяЧасть1.Площадь должна вернуть 500 если ПроизводствоПечатьТабличнаяЧасть1.Площадь = 0. Тут проверка не нужна.
|
|||
11
SadrArt
03.07.18
✎
12:05
|
ПроизводствоПечатьТабличнаяЧасть1.ПлощадьМатериала / ВЫБОР КОГДА ПроизводствоПечатьТабличнаяЧасть1.Площадь = 0 ТОГДА 1 ИНАЧЕ ПроизводствоПечатьТабличнаяЧасть1.Площадь КОНЕЦ КАК КИМ
|
|||
12
SadrArt
03.07.18
✎
12:06
|
ПроизводствоПечатьТабличнаяЧасть1.ПлощадьМатериала / ВЫБОР КОГДА ПроизводствоПечатьТабличнаяЧасть1.Площадь = 0 ТОГДА 1 ИНАЧЕ ПроизводствоПечатьТабличнаяЧасть1.Площадь КОНЕЦ КАК КИМ
|
|||
13
prilforreal
03.07.18
✎
12:08
|
(8) Да, конечно из ТЧ, (10) ПроизводствоПечатьТабличнаяЧасть1.Площадь / 100 * 5 + ПроизводствоПечатьТабличнаяЧасть1.Площадь КАК ПорогПерерасхода
Это расчет перерасхода, в вывод отчета попадают только те строчки, в которых материала израсходовано => 105% |
|||
14
SadrArt
03.07.18
✎
12:08
|
(9) "Сказуемое" - вроде из другой пьесы, здесь "Знаменатель"
|
|||
15
prilforreal
03.07.18
✎
12:15
|
(12) (9) Спасибо, думал не обязательно в знаменатель вставлять)
|
|||
16
Мандалай
03.07.18
✎
12:16
|
(14)Ну да, эт я алгебру с русязом перепутал :)
|
|||
17
Малыш Джон
03.07.18
✎
12:16
|
(12) я так понимаю, если площадь=0, то там не площадь материала должна быть.
(15)КИМ - это ведь коэф. используемого места? тогда: ВЫБОР КОГДА ПроизводствоПечатьТабличнаяЧасть1.Площадь = 0 ТОГДА "Хер вам, а не КИМ" ИНАЧЕ ПроизводствоПечатьТабличнаяЧасть1.ПлощадьМатериала / ПроизводствоПечатьТабличнаяЧасть1.Площадь КОНЕЦ Как КИМ |
|||
18
VladZ
03.07.18
✎
12:22
|
(0) "в запросе подменяю ноль на небольшое число". - круто, чо. Ты своим "+ что-то там" намеренно вносишь искажения в данные. Зачем????
Используй "Выбор когда" и будет тебе Щастье! |
|||
19
prilforreal
03.07.18
✎
12:29
|
(17) Только при таком запросе "Хер вам а не ким" будет писаться в поле площадь, на не в поле КИМ
|
|||
20
Малыш Джон
03.07.18
✎
12:40
|
(19) в площадь будет писаться площадь, а то, что в (17) - будет писаться в поле КИМ.
|
|||
21
Малыш Джон
03.07.18
✎
12:40
|
Это разъяснение, для тех, кто пропустил слова "Как КИМ"
|
|||
22
Малыш Джон
03.07.18
✎
12:41
|
(19) у тебя деление на ноль происходит в коэффициенте, а не в площади
зачем площадь-то трогать? |
|||
23
prilforreal
03.07.18
✎
12:47
|
(22) Спасибо, понял теперь
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |