Имя: Пароль:
1C
1С v8
максимум
,
0 Noxvil
 
03.10.13
16:08
Добрый день.

Есть запрос на скд, в котором есть 3 колонки. Нужно в четвертую колонку вытащить максимальную разницу между 1и2,2и3,1и3.
Как это правильнее реализовать в запросе, чтобы не делать гигантский "выбор когда 1-2 > 2-3 и 1-2 > 1и3 и ...."
1 Noxvil
 
03.10.13
16:15
Других вариантов нет?
2 Noxvil
 
03.10.13
16:26
На всякий случай скажу, что есть 4ая колонка, которая объединяет остальные 3 числовых. В голову пришла идея засунуть во временную таблицу и создать 3 подзапроса с разными выражениями, и потом взять максимум с получившейся колонке при группировке.

Не оптимально?
3 Fragster
 
модератор
03.10.13
16:27
Минимум(рекв1, рекв2, рекв3) - Максимум(Рекв1, рекв2,рекв3)
4 Noxvil
 
03.10.13
16:30
(3) Но функция минимум - не работает в запросе на несколько значений, а только на минимальное значение колонки... собственно как и максимум
5 Noxvil
 
03.10.13
16:31
Так же как и в выражении
6 Fragster
 
модератор
03.10.13
16:33
ну тогда:

Функции общих модулей
Выражение механизма компоновки данных может содержать вызовы функций глобальных общих модулей конфигурации. Никакого дополнительно синтаксиса для вызова таких функций не требуется.

Пример:

СокращенноеНаименование(Документы.Ссылка, Документы.Дата, Документы.Номер)

В данном примере будет осуществлен вызов функции "СокращенноеНаименование" из общего модуля конфигурации.

Отметим, что использование функций общих модулей разрешено только при указании соответствующего параметра процессора компоновки данных.

Кроме того, функции общих модулей не могут быть использованы в выражениях пользовательских полей.
7 Noxvil
 
03.10.13
16:34
Я тебя понял
8 Noxvil
 
03.10.13
16:36
Хотя, это всё равно неправильно, например, если у меня конфа закрытая...
9 neckto
 
03.10.13
17:05
(3)(4) Функции Мин() и Макс()
10 Genius
 
03.10.13
17:11
Через врем таблицы можно, формируешь несколько временных таблиц в одном запросе с пошаговой обработкой данных. Находишь разнице между парами, помещаешь в разные таблицы, потом их объединяешь в одны и в ней уже находишь мин/макс. С таблицами в одном запросе можно крутить сколько угодно.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший