Функции службы отчетов SunSystems
В качестве выражений можно использовать ряд встроенных функций SunSystems Reporting Services:
- Balance;
Возвращает агрегатное значение выражения для всех строк, которое равно или меньше значения, указанного в параметре Sequence:
BALANCE(Expression, Sequence, Calculation Type, Scope)
- OpeningBalance
Возвращает агрегатное значение выражения для всех строк, которые меньше значения, указанного в параметре «Последовательность». Как правило, последовательность задается в виде параметра периода. Данная функция имеет следующий синтаксис:
OPENINGBALANCE(Expression, Sequence, Calculation Type, Scope)
- SSLanguageToLocale
Преобразует код на языке SunsSystems5 на язык пользователя. Данная функция имеет следующий синтаксис:
SSLANGUAGETOLOCALE(Expression)
Пример
SSLANGUAGETOLOCALE("2") = en-GB
- SSRound
Наиболее распространенный метод округления, при котором значения округляются до ближайшего большего или меньшего в соответствии с нужным количеством разрядов до или после десятичной запятой.
Примечание. Данный метод не эквивалентен методу округления Visual Basic, который округляет 5 до ближайшего четного числа.Например,
ROUND(0,025) = 0,02
, в то время какSSROUND(0,025) = 0,03
Данная функция имеет следующий синтаксис:
SSROUND(numeric_expression, digit, reverse_negatives)
где
- числовое_выражение — любое числовое выражение;
- цифра означает количество разрядов, до которых нужно округлить число, полученное из числового выражения.
Указание количества разрядов
- Если цифра больше нуля (0), то число округляется то указанного десятичного разряда.
- Если цифра равна 0, то число округляется до ближайшего целого.
- Если цифра меньше 0, то число округляется до разряда слева от десятичной запятой.
Можно также использовать для цифры значение c, которое применяет в поле настройки разрядов для сумм в валюте.
Для получения дополнительной информации, в том числе примеров, см. раздел Количество разрядов в теме «Округление числовых полей».
-
инвертировать_отрицательные — это логическое выражение. Оно относится исключительно к округлению отрицательных чисел. Если значение параметра ЛОЖЬ, то округление вверх осуществляется от нуля, а округление вниз — к нулю. Если значение ИСТИНА, то округление вверх происходит к нулю, а округление вниз — от нуля.
Пример
SSROUND(2767.345, 2, FALSE) = 2767.35 SSROUND(2767.345, -2, FALSE) = 2800.00
Выражения отрицательного округления SSRound SSRoundUp SSRoundDown (2767,345, –2; ЛОЖЬ) 2767,35 2767,35 2767,34 (–2767,345; –2; ЛОЖЬ) –2767,35 –2767,35 –2767,34 (2767,344; –2; ЛОЖЬ) 2767,34 2767,35 2767,34 (2767,344; –2; ЛОЖЬ) –2767,34 –2767,35 –2767,34 (2767,345; –2; ИСТИНА) 2767,35 2767,35 2767,34 (2767,345; –2; ИСТИНА) –2767,35 –2767,35 –2767,34 (2767,344; –2; ИСТИНА) 2767,34 2767,35 2767,34 (2767,344; –2; ИСТИНА) –2767,34 –2767,34 –2767,35
- SSRoundUp
Числа округляются вверх от нуля, если значение «reverse_negatives» — ЛОЖЬ, и до большего — если «reverse_negatives» имеет значение ИСТИНА. Данная функция имеет следующий синтаксис:
SSROUNDUP(numeric_expression, digit, reverse_negatives)
Пример
SSROUNDUP(2767.344, 2, FALSE) = 2767.35
- SSRoundDown
Числа округляются вниз от нуля, если значение «reverse_negatives» — ЛОЖЬ, и до меньшего — если «reverse_negatives» имеет значение ИСТИНА. Данная функция имеет следующий синтаксис:
SSROUNDUP(numeric_expression, digit, reverse_negatives)
Пример
SSROUNDUP(2767.345, 2, FALSE) = 2767.34
- SSMRound
Значения округляются вверх или вниз до ближайшего кратного указанной единице. Данная функция имеет следующий синтаксис:
SSMROUND(numeric_expression, multiple_unit, reverse_negatives)
где
- числовое_выражение — любое числовое выражение;
- кратная_единица — обязательно положительное число.
- инвертировать_отрицательные — это логическое выражение. Если это ЛОЖЬ, то любое округление вверх или вниз производится от нуля или к нулю. Если это ИСТИНА, то округление вверх дает большее число, а округление вниз — меньшее.
Пример
SSMROUND(2767.345, 2, FALSE) = 2768 SSROUND(10, 3, FALSE) = 9
- SSMRoundUp
Значения округляются вверх до ближайшего кратного указанной единице.
- SSMRoundDown
Значения округляются вниз до ближайшего кратного указанной единице.