Skip to content

Шаблони друку

Починаючи з версії 3.0.5 вся інформація з "Рахівниці" в шаблони передаєтсья з допомогою функцій, оскільки значно гнучкіший у порівнянні з змінними, метод. Всі наявні в даній конкретній версії функції перелічені в редакторі шаблонів друку в розділі "Функції". Вся нижченаведена інформація про конкретні змінні та функції стосується версій 3.0.4 та старіших.

Доступні функції та змінні

у роботі з шаблонами, змінна - це будь-яка інформація що її віддає "Рахівниця" у шаблон, в той час як функція - це код що приймає один чи кілька параметрів, обробляє їх, і повертає результат. Тому, AbStartDate - це змінна, вона не потребує параметрів від користувача шаблону, тоді як DateForDocs - це функція що отримує числову дату поточного документу і перетворює її в текстову дату в родовому відмінку.

Всі програми "Рахівниці", що працюють з шаблонами, розпізнають нижченаведені змінні:

Назва змінної Тип Опис
AbStartDate date Початок робочого періоду
AbStopDate date Кінець робочого періоду
GetStartdate date Початок робочого періоду
GetStopdate date Кінець робочого періоду
GetDBUUID string UUID бази даних
GetDB8 string Останні 8 байт з UUID бази даних
GetStorage integer ІД поточного складу
GetCashdesk integer ІД поточного касового місця

Додатково програма розуміє наступні функції - MoneyToString - DateForDocs - GetInitials

Параметри та тип результатів кожної функції можна дізнатись якщо клацнути по ній в інтерфейсі FastReport у панелі DataTree (як правило у правій частині екрану) -> Functions -> Abacus.

Застарілі змінні та функції

Ці змінні і функції стануть недоступними в наступній мінорній версії (3.1 або 3.5, залежно від того, що буде наступним) тому краще їх прибрати із шаблонів і використовувати щось із списку вище. - MyStartDate - MyStopDate

Штрих-коди на документах

Для того щоб "Рахівниця" розпізнавала штрих-код документу саме як документ, цей код має бути у форматі CODE128 і перші 8 символів цього коду мають співпадати з 8 символами значення UUID що мусить бути індивідуальним у кожній базі даних. Ці 8 символів можна отримати з функції GetDB8. Наступних 2 символи - це внутрішній код типу документу після якого йде відповідний ID з бази даних.

До прикладу, штрих-код на картці авторизації має бути у форматі CODE128 з включеною галочкою "Розраховувати контрольну суму" і з наступним значенням у полі "Код": Format('%s%2d%d',[GetDB8,13,<frdMaster."ID">]).

Штрих-код на товарному чеку має бути таким: Format('%s%.2d%d',[GetDB8,3,<frdMaster."ID">]), на розхідній накладній таким Format('%s%.2d%d',[GetDB8,2,<frdMaster."ID">]) і так далі: змінюється лише цифра що позначає тип документу.

Основні документи мають наступні типи: 1 прихідна накладна 2 розхідна накладна 3 товарний чек 4 інвентаризація 5 штрих-кодова етикетка ' 6 замовлення у постачальника 7 зовнішній контрагент " 8 платіжний документ 9 рахунок-фактура 10 внутрішне переміщення 11 повернення товару від клієнта 12 повернення товару постачальнику 13 картка авторизації працівника 14 замовлення від клієнта 15 звіт по продажах "' 16 акт на списання 17 касовий звіт за день 18 прайс-лист 19 товарний кредит

' Вочевидь, сама ектикетка вже має свій EAN13, але вона все рівно мусить мати внутрішній тип документу для інших потреб. " Зараз на картках клієнтів може бути CODE128 і воно буде працювати точно так само як і EAN13. Але EAN13 з префіксом 999 почав використовуватись швидше :) До речі, на найперших картках клієнтів використовувався EAN8 з префіксом '07' але потім виявилось, що EAN8 використовується на купі товару і тому за основу було прийнято EAN13 з дев'ятками на початку. "' Так, звіти також мають свої внутрішні "типи документів" по тій же причині що і штрих-коди. І так, гіпотетично можна друкувати штрих-код, який буде відкривати відповідний звіт у комп'ютері.

Робота з ПРРО

Для спрощення роботи, каса передає в шаблони наступні функції/змінні:

Назва змінної Тип Опис
PRROFiscalNumber string Фіскальний номер ПРРО
PRROOrgName string Назва огранізації (підприємця) на котру зареєстровано ПРРО
PRROShiftID integer ІД поточної зміни
PRROShiftStatus integer Статус поточної зміни
PRROCurrentNumber string Фіскальний номер поточного чеку або порожній рядок для нефіскальних чеків
PRROCurrentDate date Дата фіскалізації поточного чеку або нульова дата для нефіскальних чеків
PRROCurrentTime time Час фіскалізації поточного чеку або нульовий час для нефіскальних чеків
PRROCurrentSumm float Фіскалізована сума поточного чеку або нуль для нефіскальних чеків
PRROCurrentCheckURL string УРЛ для перевірки поточного чеку на сайті податкової або прожній рядок для нефіскальних чеків

Щоб використати будь-яку змінну із списку вище, її треба взяти у квадратні дужки точно так само як будь-яке інше поле чи вбудовану змінну - [PRROFiscalNumber] вставить фіскальний номер ПРРО, a [PRROCurrentCheckURL] - УРЛ для перевірки фіскального чеку. Якщо змінна використовується як параметр або частина виразу - вона береться в кутові дужки чи взагалі пишеться без дужок по тих самих правилах що й інші функції, поля, чи змінні.

Починаючи з версії 3.0.5 ці ж функції доступні для фіскальних чеків в Складі у вікні "Товарні чеки".

Друк платіжок

Після внесення або видачі готівки і до перезапуску Каси в шаблонах друку стають доступними наступні змінні:

Назва змінної Тип Опис
LastPaymentID integer ІД платіжного документу
LastPaymentContragentID integer ІД зовнішнього контрагента
LastPaymentStorageID integer ІД складу
LastPaymentCashdeskID integer ІД каси
LastPaymentOperatorID integer ІД оператора
LastPaymentSumm float Сума платежу
LastPaymentReason string Призначення платежу
LastPaymentDate date Дата платіжного документу
LastPaymentType integer Тип платежу (поле PAY_TYPE в таблиці M_MONEY)
LastPaymentIncoming boolean True для вхідного платежу, False - для видачі готівки.

Починаючи з версії 3.0.5 ці функції також доступні у складі у вікні "Платіжні документи". Кожне наступне внесення чи видача готівки в касі перезаписує ці значення. До внесення платежу в касі, а також у інших вікнах складу та інших програмах всі змінні типу integer мають значення -1, date - поточна дата, float 0, string - порожній рядок.