6.6. Формулы вычисления сумм проводок

В “1С:Бухгалтерии” суммы проводок типовых операций могут вычисляться по произвольным формулам.

Формат формул. Формула может состоять из одного либо нескольких выражений или команд, разделенных между собой точкой с запятой “;”. Выражения в формуле рассчитываются (а команды выполняются) поочередно, т.е. слева направо. Каждое последующее выражение в формуле может использовать результат расчета предыдущего. В сумму проводки заносится результат вычисления последнего выражения в формуле.

Выражения составляются из следующих элементов:

В формулах сумм проводок используются только команды установки периода расчета остатков и оборотов по счетам (см. ниже). В отличие от отчетов произвольной формы, документов и расчетов и т.д., в формулах сумм проводок команды не должны начинаться с восклицательного знака “!”.

Замечание. соответствии с общепринятой практикой при вычислении выражений умножение и деление выполняются раньше, чем сложение и вычитание, если иной порядок не установлен скобками.

Функции. Для преобразования значений чисел и выражений можно использовать функции:

Ц(выражение) - преобразует выражение в целое число, отбрасывая от него дробную часть (например, Ц(1.8) равно 1, Ц(-1.9) равно -1).

ОКР(выражение\n) - округление выражения до n знаков в дробной части (например, ОКР(1.7\0) равно 2).

Замечание. ОКР(1.5\0) равно 2, ОКР(2.5\0) равно 3, ОКР(1.05\1) равно 1.1 и т.д. — в подобных “сомнительных” случаях округление выполняется до большего по абсолютной величине числа.

Условный оператор. Разновидностью функции является условный оператор, позволяющий в зависимости от выполнения й-ли невыполнения некоторого условия выбрать один из двух вариантов расчета. Формат условного оператора:

?(условие\выражение1\выражение2}

Если условие истинно, результатом вычисления условного оператора является значение выражения1, если ложно — выражения2.

Условие может конструироваться из арифметических выражений с помощью операторов сравнения:

< — меньше;

> — больше;

<= — меньше или равно;

>= — больше или равно;

= — равно;

<> — не равно.

Результаты сравнения могут комбинироваться с помощью логических операций:

НЕ — логическое отрицание (НЕ выражение истинно тогда и только тогда, когда выражение ложно);

И — логическое “и” (выражение1 И выражение2 истинно тогда и только тогда, когда и выражение1, и выражение2 истинны);

ИЛИ — логическое “или” (выражение1 ИЛИ выражение2 истинно тогда и только тогда, когда или выражение1, или вы-ражение2, или оба эти выражения истинны).

Замечания. 1. При наличии в формуле логических операций рекомендуется заключать обрабатываемые этими операциями арифметические выражения в круглые скобки, чтобы задать правильный порядок вычисления.

2. Условные операторы могут быть вложенными: и в условии, и в выражении1, и в выражении1 могут использоваться условные операторы.

Примеры:

?(СКК46>0\СКК46\0) — если СКК46 (кредитовое сальдо по счету 46 на конец периода, см. ниже) больше нуля, то результат вычисления условного оператора равен значению СКК46, иначе — нулю;

?(Х<0\0\Х*0.12) — если Х (значение предыдущего выражения в данной формуле, см. ниже) меньше нуля, то результат вычисления условного оператора равен нулю, иначе — X, умноженному на 0.12.

Используются технологии uCoz