для посилань на суми попередніх проводок, суму операції, результат обрахунку попереднього виразу в формулі, залишки і обороти по рахунках бухгалтерського обліку і т. д.);
Викликів функцій, які мають числові значення (Ц, ОКР, ?).
Зауваження.
1. Довжина кожного виразу в формулі не може перевищувати 150 символів.
2. В відповідності з загальноприйнятою практикою при обрахунку виразів множення і ділення виконуються раніше, ніж додавання і віднімання, якщо інший порядок не встановлено дужками.
Функції. Для перетворення значень чисел і числових виразів можна використовувати функції:
Ц(вираз) - перетворює вираз в ціле число, відкидаючи від нього дробову частину (наприклад, Ц(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, і в виразі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 $ П_Відповідь.
Рядкові вирази можна порівнювати в умовному операторі, при цьому результат порівняння визначається алфавітним (лексикографічним) порядком. Наприклад, “Депо” < “Дерево”, так як у цих рядків перші два символи однакові, а третій “більший” (має більший код в таблиці кодування) у другого рядка символів.
Рядкові функції. Для перетворення рядкових виразів можна використовувати слідуючі рядкові функції:
СОКРЛ(рядковий_вираз) - забирає пробіли в рядку символів зліва;
СОКРП(рядковий_вираз) - забирає пробіли в рядку символів справа;
ВЫД(рядковий_вираз\x\n) - виділяє n символів рядка починаючи з символа з номером x.
Приклад:
П01= “Код “+СОКРЛ(СОКРП(“”+П_Номер)) - показнику П01 присвоюється значення, яке одержалося шляхом зчеплення рядка “Код “ і значення показника П_Номер, з відкинутими з обох сторін пробілами. Зауважимо, що тут також не можна було написати СОКРЛ(СОКРП(П_Номер)) - програма видала б повідомлення про помилку, порахувавши, що аргументом функції СОКРП є числовий вираз.
Д1.6. Задання формату виводу значень макроімен
Вирівнювання. При підстановці в документ, що формується, значень макроімен дотримуються слідуючих правил вирівнювання:
значення констант “притискається” до лівого краю відведеного для них дужками “[“ і “]” поля;
числові значення показників або інших макроімен (крім констант) “притискаються” до правого краю відведеного для них поля;
символьні значення показників та інших макроімен (крім констант) “притискаються” до лівого краю відведеного для них поля.
Зауваження.
Якщо деяка константа має числове значення, і Ви бажаєте, щоб воно було притиснуте до правого краю поля, присвойте значення константи показнику і вкажіть між квадратними дужками (“[“ і “]”) цей показник.
Задання формату виводу чисел. “1С:Бухгалтерія - Проф.” дозволяє виводити числові значення в одиницях і в тисячах, а також задавати кількість знаків в дробовій частині. Для задання