Имя: Пароль:
1C
1С v8
Отрицательное число как 0 в запросе
0 NikP123
 
09.09.19
08:36
Есть ли в языке запросов что-то типа ВЫРАЗИТЬ( КАК ЧИСЛО), чтобы ограничиться только положительными числами. Чтобы число, которое меньше нуля становилось просто нулем?
Без этого мне остается использовать только ВЫБОР КОГДА, которое в моем случае будет иметь много вложений и будет очень плохо читабельным
1 Aleksey
 
09.09.19
08:45
почему много?
выбор когда ТвоеЧисло<0 тогда 0 иначе ТвоеЧисло Конец
2 NikP123
 
09.09.19
08:53
(1) это у вас в одну строку, но после захода в конструктор, все это будет с переносами, причем у меня формула, где много промежуточных результатов должны быть только положительными либо нулями.
3 NikP123
 
09.09.19
08:54
это сильно нечитабельно)
4 Василий Алибабаевич
 
09.09.19
08:55
(0) МАКСИМУМ(0, ТвоеЧисло)
5 NikP123
 
09.09.19
08:59
(4) такого вроде нет в запросах. МАКСИМУМ только для агрегирования при группировании
6 Василий Алибабаевич
 
09.09.19
09:01
(5) Ну... то есть тебе не проблему решить нужно, а потрындеть? Успехов.
7 NikP123
 
09.09.19
09:01
(6) потрындеть даром не нужно
8 Василий Алибабаевич
 
09.09.19
09:05
(7) В консоли запросов набери
Выбрать МАКСИМУМ(-3, 0) КАК Тест
и выполни. Все го то делов.
9 NikP123
 
09.09.19
09:11
(8) ошибка
10 NikP123
 
09.09.19
09:11
оно принимает только один параметр, вместо запятой ожидается выражение ")"
11 Василий Алибабаевич
 
09.09.19
09:18
(10) Таки да. Тогда делай через ВЫБОР.
12 НЕА123
 
09.09.19
09:25
как вариант для целых попробовать

РАЗНОСТЬДАТ(ДАТАВРЕМЯ(1,1,1),
ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1,1,1),СЕКУНДА,КакоеТоЧисло),
СЕКУНДА)
13 NikP123
 
09.09.19
09:30
(12) ох, кошмар). Я покажусь нытиком, но это тоже нечитабельно... другой программист, который будет это разбирать пока поймет истинную задумку, реализованную через это, успеет на пенсию выйти несколько раз
14 sqr4
 
09.09.19
09:32
вопрос, зачем это делать в запросе?
15 NikP123
 
09.09.19
09:34
(14) может быть вы правы
Программист всегда исправляет последнюю ошибку.