asyan.org
добавить свой файл
1 2 3 4
Реферат скачан с сайта allreferat.wow.ua


Макромова

Макромова


Додаток 1. Макромова

В цьому додатку дається опис макромови, яка використовується в формах звітів довільної форми, в документах і розрахунках, в первинних документах типових операцій “1С:Бухгалтерії - Проф.”.

Д1.1. Форми документів і звітів

При використанні типових операцій, документів, розрахунків і звітів довільної форми в окремому файлі задається форма (шаблон) документа (звіту, розрахунку). Ця форма являється текстовим файлом, в якому квадратними дужками (“[“ і “]”) відмічені поля для підстановки значень макроімен. Між дужками вказується макроім’я, яке визначає дані, що поміщаються в це поле форми.

В формі документу можуть бути присутні також команди для розрахунку показників, задання періоду розрахунку підсумків по рахунках, вказання формату виводу значень показників, циклічної обробки і т. д., а також коментарі.

При формуванні звіту, первинного документу типової операції, документу або розрахунку “1С:Бухгалтерії - Проф.” зчитує форму документа (звіту, розрахунку), виконує команди макромови, створює у відповідності з цими командами вихідний документ (звіт, розрахунок) і поміщає його в тимчасовий файл OUT.TXT. Зформований вихідний документ, як правило, видається на екран для перегляду, а після перегляду видається запит про його роздрук.

Зауваження.

При формуванні документів і розрахунків (див. розд. 6) можуть створюватись 2 вихідних документи, вони розміщуються у файли OUT.TXT і OUTPROV.TXT.

Д1.2. Формат форм документів (звітів)

Форма (шаблон) документу (звіт, розрахунок) представляє собою текстовий файл, в якому квадратними дужками (“[“ і “]”) відмічені поля для підстановки значень макроімен. Між дужками вказується макроім’я, яке визначає дані, що поміщаються в це поле форми. За допомогою команд установки формату (!Е, !Т, !РАЗДЕЛЯТЬ, !НЕРАЗДЕЛЯТЬ) Ви можете управляти форматом представлення даних, які поміщаються в поле.

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

Коментарі. В формі документу можна використовувати також рядки коментарів, вони починаються з зірочки (“*”) в першій колонці. Коментарі служать тільки для запису зауважень в текст форми, в документ, що формується, вони не поміщаються. Коментарі можна також задавати з допомогою команди “! *” - весь текст від цієї команди до кінця рядки являється коментарем.

Таким чином в формі документу можуть міститися рядки 3 видів:

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

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

звичайні стрічки (це або пусті стрічки, або стрічки, які не починаються з “*”, і в яких перший відмінний від пробіла символ - не “!”).

Формування вихідного документу виконується наступним чином. Програма читає по рядках текст форми документу. Рядки які починаються з “*”, пропускаються. Для інших рядків програма виконує наступне:

Якщо в рядку є в наявності команди (вони слідують за символом “!”), то спочатку виконуються ці команди.

Якщо в рядку є команди і перед першою командою немає символів, крім пробілів, то обробка рядка закінчується. В протилежному випадку частина рядка від його початку до першого символу “!” або до кінця рядка включається в документ, що формується. При цьому, якщо в цій частині рядка є квадратні дужки (“[” і “]”), то програма вираховує макроім’я, яке задане між дужками, і підставляє на це місце вирахуване значення.

Зауваження.

Те, що команди, які розміщені в кінці рядка, виконуються до здійснення підстановок значень макроімен на початку цього рядка, дозволяє використовувати в рядках форми показники (див. нижче), визначаючи формули для їх обчислення в кінці того ж рядка. Це в багатьох випадках значно підвищує наглядність форми.

Д1.3. Макроімена, показники, константи, вирази

Макроімена. Для посилань на залишки і обороти по рахунках, субрахунках і об’єктах аналітичного обліку (субконто), курси валют, характеристики субконто (ціни, найменування, параметри), в макромові використовуються макроімена. Макроімена складаються по простих і наочних правилах, які неважко запам’ятати. Наприклад, СНД76 - сальдо на початок періоду дебетове по рахунку 76, ВКУРСП - курс валюти, яка використовується в першій проводці типової операції на дату цієї проводки, ОБ20,70 - оборот за період в дебет рахунку 20 з кредиту рахунку 70 і т. д. В назвах макроімен можуть використовуватись тільки російські букви.

Для включення значення макроімені в документ, що формується, потрібно вказати це макроім’я між квадратними дужками (“[” і “]”). Наприклад, для включення в звіт або документ значення макроімені СНД76 в форму звіту або документу потрібно вставити поле:

[СНД76 ]

З допомогою команд встановлення формату (!Е, !Т, !РАЗДЕЛЯТЬ, !НЕРАЗДЕЛЯТЬ) Ви можете управляти форматом виводу значень макроімен. З допомогою команд встановлення періоду (!М, !МНГ, !МНК, !К, !КН, !Г і т. д.) Ви можете вказати за який період вираховуються залишки і обороти у відповідних макроімен.

Показники. В багатьох випадка в документ, що формується, потрібно вставити поле значення якого не співпадає ні з одним з передбачених макроімен, але може бути одержане з них по деякій формулі. Для таких полів в формах первинних документів і в звітах “1С:Бухгалтерії - Проф.” використовуються показники. Показники виконують ту ж функцію, що і змінні в стандартних мовах програмування: їм можна присвоювати значення і використовувати їх в наступних виразах.

Імена показників в “1С:Бухгалтерії - Проф.” складаються з букви “П”, за якою можуть слідувати від 1 до 20 символів - букв, цифр і знаків підкреслення. Для присвоювання показникові значення слід використовувати команду:

!Пім’я_показника = вираз

Тут вираз може бути:

алгебраїчною формулою, яка містить числа, знаки операцій, дужки, виклики функцій і макроімена (див. п.5.6);

символьним рядком, який заключений в лапки або символьним виразом, складеним з таких рядків, макроімен, строкових операцій (“+” і “$”) і строкових функцій (ВЫД, СОКРЛ, СОКРП). Вираз повинен починатися з рядка в лапках (при необхідності можна використовувати пустий рядок - “”). Детальніше про символьні вирази говориться нижче.

Після того, як показнику присвоєно значення, його можна використовувати в слідуючих формулах і в полях (між знаками “[” і “]”), розміщених в тому ж рядку або в тексті форми.

Приклади:

!П105=СНД76*0.12 - ця команда присвоює показнику П105 значення СНД76 (дебетове сальдо на початок періоду по рахунку 76), помножене на 0.12;

[П_105 ] - в це поле поміщається значення показника з іменем П_105.

!П_НДС=П_Сума/1.23*0.2 - ця команда присвоює показнику П_НДС значення показника П_Сума, розділене на 1.23 і помножене на 0.20;

[П_НДС ] - в це поле поміщається значення показника з іменем П_НДС.

!П_Назва=”Фірма”+П010 - ця команда присвоює показнику П_Назва в якості значення рядок “Фірма”, зчеплений з значенням показника П010 (детальніше див. нижче);

[П_Назва ] - в це поле поміщається значення показника з іменем П_Назва.

Зауваження.

1. Одноіменні показники в різних формах документів і звітах ніяк не зв’язані між собою.

2. При присвоєнні показнику значення одночасно запам’ятовується, в якому форматі потрібно виводити це значення (в одиницях або тисячах, і з яким числом знаків в дробовій частині). Формат виводу можна змінити командами !Т, !Е, !Тn, !En (див. нижче).

3. Не рекомендується використовувати імена показників, які закінчуються буквами “П” або “Ш”. Справа в тому, що при вводі значень показника в поле документа (тобто при вказанні імені показника між дужками “[“ і “]”) програма сприймає букви “П” або “Ш” в кінці імені як вимогу вивести макроім’я прописом або в штуках. Наприклад, зустрівши в документі поле [Палаш ], програма спробує вивести в нього значення показника Пала в штуках.

Константи. Для посилань на константи (див. п. 3.7) використовуються макроімена:

Кn - константа з номером n (n - число від 1 до 99999).

Значення констант можна використовувати в формах документів і в звітах також, як значення показників, але значення показників після закінчення формування документа “пропадають”, а констант - зберігаються. Для задання значення константи можна використовувати команду:

!Кномер_константи = вираз

Значення констант Ви можете задавати також і в режимі “Константи” групи “Операції” головного меню програми.

Приклади.

!П105=К101*0.12 - ця команда присвоює показнику П105 значення константи з номером 101, помножене на 0.12;

[К222 ] - в це поле поміщається значення константи з номером 222;

!К10=П_Сума/1.23*0.2 - ця команда присвоює константі з номером 10 значення показника П_Сума, розділене на 1.23 і помножене на 0.20;

Зауваження.

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.05) рівне 1.1 і т. д. - в подібних “сумнівних” випадках округлення виконується до більшого по абсолютній величині числа.

Умовний оператор. Різновидом функції є умовний оператор, який дозволяє в залежності від виконання або невиконання деякої умови вибрати один з двох варіантів розрахунку. Формат умовного оператора:

?(умоваираз1ираз2)

Якщо умова істинна, результатом обрахунку умовного оператора є значення виразу1, якщо ні - значення виразу2.

Умова може конструюватися з арифметичних виразів за допомогою операторів порівняння:

< - меньше;

> - більше;

<= - меньше або рівне;

>= - більше або рівне;

= - рівне;

<> - нерівне.

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

НЕ - логічне заперечення (НЕ вираз істинний тоді і тільки тоді, коли вираз - неправдивий);

И - логічне “і” (вираз1 И вираз2 істинний тоді і тільки тоді, коли і вираз1, і вираз2 істинні);

ИЛИ - логічне “або” (вираз1 ИЛИ вираз2 істинний тоді і тільки тоді, коли або вираз1, або вираз2, або обидва вирази істинні).

Зауваження.

1. При обрахуванні умови спочатку вираховуються числові вирази, які використовуються в умові. Потім (якщо інший порядок не заданий за допомогою дужок) приміняються оператори порівняння, потім приміняється логічне заперечення (оператор НЕ), потім - оператори “И”, і останніми - оператори “ИЛИ”. Якщо Ви не впевнені в порядку обрахунку, використовуйте круглі дужки.

2. Умовні оператори можуть бути вкладеними: і в умові, і в виразі1, і в виразі2 можуть використовуватись умовні оператори.

Приклади:

?(CKK46>0) - якщо СКК46 (кредитове сальдо по рахунку 46 на кінець періоду, див. нижче) більше нуля, то результат обрахунку умовного оператора рівний значенню СКК46, інакше - нулю.

?(X<0*0.12) - якщо Х (значення попередньго виразу в даній формулі, див. нижче) менше нуля, то результат обрахунку умовного оператора рівний нулю, інакше - Х, помноженому на 0.12.

Д1.5. Рядкові вирази

Другим видом виразів є рядкові вирази - їх значенням є не число, а рядок символів. Такі вирази можуть бути:

рядком символів в лапках (наприклад, “Козлодоєв”);

макроіменем, яке має символьне значення (наприклад, найменування субконто, посилання на дату докумету або типової операції і т. д.);

виразом, який починається з рядка символів в лапках, який включає макроімена, рядки символів в лапках, виклики рядкових функцій, оператори “+” і “$”, круглі дужки.



следующая страница >>