Макромова
НЕ - логічне заперечення (НЕ вираз істинний тоді і тільки тоді, коли вираз - неправдивий);
И - логічне “і” (вираз1 И вираз2 істинний тоді і тільки тоді, коли і вираз1, і вираз2 істинні);
ИЛИ - логічне “або” (вираз1 ИЛИ вираз2 істинний тоді і тільки тоді, коли або вираз1, або вираз2, або обидва вирази істинні).
Зауваження.
1. При обрахуванні умови спочатку вираховуються числові вирази, які використовуються в умові. Потім (якщо інший порядок не заданий за допомогою дужок) приміняються оператори порівняння, потім приміняється логічне заперечення (оператор НЕ), потім - оператори “И”, і останніми - оператори “ИЛИ”. Якщо Ви не впевнені в порядку обрахунку, використовуйте круглі дужки.2. Умовні оператори можуть бути вкладеними: і в умові, і в виразі1, і в виразі2 можуть використовуватись умовні оператори.
Приклади:
?(CKK46>0\CKK46\0) - якщо СКК46 (кредитове сальдо по рахунку 46 на кінець періоду, див. нижче) більше нуля, то результат обрахунку умовного оператора рівний значенню СКК46, інакше - нулю.
?(X<0\0\X*0.12) - якщо Х (значення попередньго виразу в даній формулі, див. нижче) менше нуля, то результат обрахунку умовного оператора рівний нулю, інакше - Х, помноженому на 0.12.
Д1.5. Рядкові вирази
Другим видом виразів є рядкові вирази - їх значенням є не число, а рядок символів. Такі вирази можуть бути:
рядком символів в лапках (наприклад, “Козлодоєв”);
макроіменем, яке має символьне значення (наприклад, найменування субконто, посилання на дату докумету або типової операції і т. д.);
виразом, який починається з рядка символів в лапках, який включає макроімена, рядки символів в лапках, виклики рядкових функцій, оператори “+” і “$”, круглі дужки.
Значення рядкового виразу може бути за допомогою оператора присвоєння занесене в показник, константу найменування або параметр субконто.
В рядкових виразах:
числові макроімена автоматично перетворюються в рядки символів;
оператор “+” означає зчеплення рядків символів. Наприклад: !П44=”Дебет 70: “ + СКД70 + “ Кредит 70: “ + СКК70 - тут зчеплюються чотири рядки символів;
оператор “$” використовується для перевірки входження одного рядка в інший. Наприклад, ?(“”+П01 $ П_Відповідь\ 1\ 2) - значення виразу рівне 1, якщо значення показника П_Відповідь входить в рядок, який являється значенням показника П01, в протилежному випадку він рівний 2);
щоб вказати, що вираз є рядком, інколи потрібно починати його з пустого рядка символів “” (тобто писати “”+щось ще). Так, в приведеному вище прикладі не можна було написати П01 $ П_Відповідь, так як програма видала би повідомлення про помилку, порахувавши П01 не рядковим, а числовим виразом. Правильний вираз - “”+П01 $ П_Відповідь.
Рядкові вирази можна порівнювати в умовному операторі, при цьому результат порівняння визначається алфавітним (лексикографічним) порядком. Наприклад, “Депо” < “Дерево”, так як у цих рядків перші два символи однакові, а третій “більший” (має більший код в таблиці кодування) у другого рядка символів.