Реферат: Макромова
Зауваження.
1. Присвоєння значень константам використовується для збереження даних, для їх використання в інших документах або звітах.
2. Щоб не заплутатись в константах, заповнюйте для кожної константи в їх списку поле опису (режим “Константи” групи “Операції” головного меню).
Ціни, найменування і параметри субконто можуть включатися в звіти за допомогою слідуючих макроімен:
СНn:m - найменування субконто виду n з номером m;
СЦn:m - ціна субконто виду n з номером m;
СНn:m.k - значення параметра з номером k субконто виду n з номером m.
Тут m - повной номер субконто, він перераховує через двокрапку номери кожного рівня субконто. Наприклад, 1:2:3 - субконто виду 1 з повним номером 2:3.
Приклади.
СН1:2:3.5 - значення п’ятого параметру субконто виду 1, з повним номером 2:3;
СЦ6:2 - ціна субконто виду 6 з номером 2.
Ви можете також задавати значення цін, найменувань й параметрів субконто за допомогою команди присвоєння, аналогічно тому, як це виконуєтьсядля показників і констант. В лівій частині команди вказується макроім’я параметра, ціни або найменування субконто, а в правій, після символу “=”, вираз.
Наприклад:
!СЦ6:2=П_Сума - встановити значення ціни субконто виду 6 з номером 2, рівне значенню показника П_Сума.
Зауваження.
1. Приведений приклад може здатися вельми штучним. Дійсно, частіше всього посилання на характеристики субконто в макромові використовуються в циклах. Так, забігаючи наперед, приведемо приклад, в якому першому параметру всіх субконто виду 3 присвоюється нульве значення:
!ВЫБРАТЬ СУБКОНТО ВИД 3 ВСЕ
!СН&. 1=0
!СЛЕДУЮЩИЙ СУБКОНТО
Тут символ “&” означає текуче субконто.
2. В типових операціях (див. розд. 5) можна використовувати макроімена для посилань на субконто, яке використовується в дебеті або кредиті проводки типової операції. Наприклад, СЦ1Д - ціна субконто, яке використовується в дебеті першої проводки типової операції.
Д1.4. Числові вирази
В командах присвоєння значень показникам, константам і характеристикам субконто справа від знаку присвоєння (“=”) повинен стояти вираз. Вираз може бути числовим (його результат - число), або рядковим - його результат - рядок символів.
Числові вирази складаються з слідуючих елементів:
Чисел (при цьому в чисел здробовою частиною ціла і дробова частина повинні розділятися крапкою, а не комою, наприклад, “1.5”, а не “1,5”);
Знаків арифметичних операцій (“+” - додавання, “-“ - віднімання, “*” - множення і “/” - ділення);
Круглих дужок “(“ і “)”, які визначають порядок обрахунку виразу;
Макроімен, які мають числові значення (які використовуються для посилань на суми попередніх проводок, суму операції, результат обрахунку попереднього виразу в формулі, залишки і обороти по рахунках бухгалтерського обліку і т. д.);
Викликів функцій, які мають числові значення (Ц, ОКР, ?).
Зауваження.
1. Довжина кожного виразу в формулі не може перевищувати 150 символів.
2. В відповідності з загальноприйнятою практикою при обрахунку виразів множення і ділення виконуються раніше, ніж додавання і віднімання, якщо інший порядок не встановлено дужками.
Функції. Для перетворення значень чисел і числових виразів можна використовувати функції:
Ц(вираз) - перетворює вираз в ціле число, відкидаючи від нього дробову частину (наприклад, Ц(1.8) рівне 1, Ц(-1.9) рівне -1).
ОКР(вираз ) - заокруглення виразу до n знаків в дробовій частині (наприклад, ОКР(1.7 ) рівне 2).
Зауваження.
ОКР(1.5 ) рівне 2, ОКР(2.5 ) рівне 3, ОКР(1.051) рівне 1.1 і т. д. - в подібних “сумнівних” випадках округлення виконується до більшого по абсолютній величині числа.
Умовний оператор. Різновидом функції є умовний оператор, який дозволяє в залежності від виконання або невиконання деякої умови вибрати один з двох варіантів розрахунку. Формат умовного оператора:
?(умовавираз1вираз2)
Якщо умова істинна, результатом обрахунку умовного оператора є значення виразу1, якщо ні - значення виразу2.
Умова може конструюватися з арифметичних виразів за допомогою операторів порівняння:
< - меньше;
> - більше;
<= - меньше або рівне;
>= - більше або рівне;
= - рівне;
<> - нерівне.
Результати порівняння можуть комбінуватися за допомогою логічних операцій:
НЕ - логічне заперечення (НЕ вираз істинний тоді і тільки тоді, коли вираз - неправдивий);
И - логічне “і” (вираз1 И вираз2 істинний тоді і тільки тоді, коли і вираз1, і вираз2 істинні);
ИЛИ - логічне “або” (вираз1 ИЛИ вираз2 істинний тоді і тільки тоді, коли або вираз1, або вираз2, або обидва вирази істинні).
Зауваження.
1. При обрахуванні умови спочатку вираховуються числові вирази, які використовуються в умові. Потім (якщо інший порядок не заданий за допомогою дужок) приміняються оператори порівняння, потім приміняється логічне заперечення (оператор НЕ), потім - оператори “И”, і останніми - оператори “ИЛИ”. Якщо Ви не впевнені в порядку обрахунку, використовуйте круглі дужки.
2. Умовні оператори можуть бути вкладеними: і в умові, і в виразі1, і в виразі2 можуть використовуватись умовні оператори.
Приклади:
?(CKK46>0CKK46 ) - якщо СКК46 (кредитове сальдо по рахунку 46 на кінець періоду, див. нижче) більше нуля, то результат обрахунку умовного оператора рівний значенню СКК46, інакше - нулю.
?(X<0 X*0.12) - якщо Х (значення попередньго виразу в даній формулі, див. нижче) менше нуля, то результат обрахунку умовного оператора рівний нулю, інакше - Х, помноженому на 0.12.
Д1.5. Рядкові вирази
Другим видом виразів є рядкові вирази - їх значенням є не число, а рядок символів. Такі вирази можуть бути:
рядком символів в лапках (наприклад, “Козлодоєв”);
макроіменем, яке має символьне значення (наприклад, найменування субконто, посилання на дату докумету або типової операції і т. д.);
виразом, який починається з рядка символів в лапках, який включає макроімена, рядки символів в лапках, виклики рядкових функцій, оператори “+” і “$”, круглі дужки.
Значення рядкового виразу може бути за допомогою оператора присвоєння занесене в показник, константу найменування або параметр субконто.
В рядкових виразах:
числові макроімена автоматично перетворюються в рядки символів;
оператор “+” означає зчеплення рядків символів. Наприклад: !П44=”Дебет 70: “ + СКД70 + “ Кредит 70: “ + СКК70 - тут зчеплюються чотири рядки символів;
оператор “$” використовується для перевірки входження одного рядка в інший. Наприклад, ?(“”+П01 $ П_Відповідь 1 2) - значення виразу рівне 1, якщо значення показника П_Відповідь входить в рядок, який являється значенням показника П01, в протилежному випадку він рівний 2);
щоб вказати, що вираз є рядком, інколи потрібно починати його з пустого рядка символів “” (тобто писати “”+щось ще). Так, в приведеному вище прикладі не можна було написати П01 $ П_Відповідь, так як програма видала би повідомлення про помилку, порахувавши П01 не рядковим, а числовим виразом. Правильний вираз - “”+П01 $ П_Відповідь.
Рядкові вирази можна порівнювати в умовному операторі, при цьому результат порівняння визначається алфавітним (лексикографічним) порядком. Наприклад, “Депо” < “Дерево”, так як у цих рядків перші два символи однакові, а третій “більший” (має більший код в таблиці кодування) у другого рядка символів.
Рядкові функції. Для перетворення рядкових виразів можна використовувати слідуючі рядкові функції:
СОКРЛ(рядковий_вираз) - забирає пробіли в рядку символів зліва;
СОКРП(рядковий_вираз) - забирає пробіли в рядку символів справа;
ВЫД(рядковий_виразx ) - виділяє n символів рядка починаючи з символа з номером x.
Приклад:
П01= “Код “+СОКРЛ(СОКРП(“”+П_Номер)) - показнику П01 присвоюється значення, яке одержалося шляхом зчеплення рядка “Код “ і значення показника П_Номер, з відкинутими з обох сторін пробілами. Зауважимо, що тут також не можна було написати СОКРЛ(СОКРП(П_Номер)) - програма видала б повідомлення про помилку, порахувавши, що аргументом функції СОКРП є числовий вираз.
Д1.6. Задання формату виводу значень макроімен
Вирівнювання. При підстановці в документ, що формується, значень макроімен дотримуються слідуючих правил вирівнювання:
значення констант “притискається” до лівого краю відведеного для них дужками “[“ і “]” поля;
числові значення показників або інших макроімен (крім констант) “притискаються” до правого краю відведеного для них поля;
символьні значення показників та інших макроімен (крім констант) “притискаються” до лівого краю відведеного для них поля.
Зауваження.
Якщо деяка константа має числове значення, і Ви бажаєте, щоб воно було притиснуте до правого краю поля, присвойте значення константи показнику і вкажіть між квадратними дужками (“[“ і “]”) цей показник.
Задання формату виводу чисел. “1С:Бухгалтерія - Проф.” дозволяє виводити числові значення в одиницях і в тисячах, а також задавати кількість знаків в дробовій частині. Для задання формату виводу значень числових макроімен використовуються слідуючі команди:
!Т - виводити наступні показники в тисячах;
!Е - виводити наступні показники в одиницях (наприклад, рублях);