Възможностите за управление на шаблона са следните:
Описание на повтарящ се пасаж от текст, в който да се заменят стойности спрямо стойностите от данните на справката.
Текста се огражда в тагове/ключови думи
{{$$BEGIN_REPEAT$$}} и {{$$END_REPEAT$$}}
Пример:
{{$$BEGIN_REPEAT$$}} <tr> <td>{{ID}}</td> <td>{{OFFICIAL_DOC_NUMBER}}</td> <td>{{OFFICIAL_DOC_DATE}}</td> <td>{{DOC_TYPE}}</td> <td>{{DEBTOR_LOCATION_NAME}}</td> <td>{{NORM_AMOUNT}}</td> <td>{{CURRENCY_NAME}}</td> <td>{{PAYMENT_DEADLINE}}</td> </tr> {{$$END_REPEAT$$}}
В двойни скоби са описани имена на колони от справката. Те ще се заместят с техните стойности. Тук не е строго определено да е в каквито и да е тагове от HTML формата.
Може да е само:
{{$$BEGIN_REPEAT$$}} {{OFFICIAL_DOC_NUMBER}} {{DEBTOR_LOCATION_NAME}} {{NORM_AMOUNT}} {{CURRENCY_NAME}} {{$$END_REPEAT$$}}
Към момента, с опциите на скрипта за изпращане на имейли дублирането е на ниво контрагент или на ниво контрагент и обект.
Библиотеката може да се имплементира в друг източник, който да дублира по различен начин.
Описание на ред за тотал:
Това става чрез ограждането на текст с тагове
{{$$BEGIN_TOTAL_ROW$$}} и {{$$END_TOTAL_ROW$$}}
, като тук има възможност да се опишат/дефинират безброй редове за тотал.
Пример - един тотал със сума и един тотал с брой.
Позволено е да се дефинират различни агрегати за тотал. Възможните агрегати са: sum, avg, count, min, max.
Те се дефинират по следния начин, в таг/ключова дума TOTAL_VALUE.
Той изглежда така:
{{$$TOTAL_VALUE?SUM&NORM_AMOUNT&CURRENCY_REF;DEBTOR_LOCATION_REF$$}}
Ключовата думата е последвана задължително от знака '?', което означава начало на описанието на агрегата/начина на пресмятане.
След знаkа '?' следва името на агрегата. Позволените агрегати са sum, avg, count, min, max.
След описанието на агрегата следва знак '&', което означава следващ параметър на описанието на тотала. Той е името на колоната, по която се прави агрегат, в случая NORM_AMOUNT.
До тук е дефинирано sum(NORM_AMOUNT).
Последната част на описанието е по кои колони да се групира/разцепи на различни редове.
В примера това са CURRENCY_REF; DEBTOR_LOCATION_REF - тук може да се изброяват множество колони, като те се разделят със знака ';'.
Тази дефиниция на тотал означава, че ще има толкова редове за тотал, колкото различни стойности има в колоните CURRENCY_REF и DEBTOR_LOCATION_REF.
Описанието на повече от един ред за тотал става по следния начин:
Текстът се загражда в тагове
{{$$BEGIN_TOTAL_ROW1$$}} ... {{$$END_TOTAL_ROW1$$}}
следващ ред за тотал
{{$$BEGIN_TOTAL_ROW2$$}} ... {{$$END_TOTAL_ROW2$$}}
… и следващ
{{$$BEGIN_TOTAL_ROW3$$}} ... {{$$END_TOTAL_ROW3$$}}
Няма ограничение колко реда за тотал може да се опишат. Във всеки от тях може да се опише различен агрегат.
Пример:
{{$$BEGIN_TOTAL_ROW1$$}} // сума на дълга по валути и различни обекти {{$$TOTAL_VALUE?SUM&NORM_AMOUNT&CURRENCY_REF;DEBTOR_LOCATION_REF$$}} {{CURRENCY_NAME}} {{$$END_TOTAL_ROW1$$}} {{$$BEGIN_TOTAL_ROW2$$}} // брой документи в различни валути по обекти {{$$TOTAL_VALUE?COUNT&ID&CURRENCY_REF;DEBTOR_LOCATION_REF$$}} {{CURRENCY_NAME}} {{$$END_TOTAL_ROW2$$}} {{$$BEGIN_TOTAL_ROW3$$}} // средна стойност на дълга само по валути {{$$TOTAL_VALUE?AVG&NORM_AMOUNT&CURRENCY_REF$$}} {{CURRENCY_NAME}} {{$$END_TOTAL_ROW3$$}}
Може също да се добавят тотали, които да са невидими в изпратения имейл. В тези тотали може да се посочат агрегати и полета, по които искаме на направим специфични проверки след това.
Пример:
<!-- {{$$BEGIN_TOTAL_ROW1$$}} {{$$TOTAL_VALUE?SUM&BASE_CURRENCY_NORM_AMOUNT&BASE_CURRENCY_REF$$}} {{BASE_CURRENCY_NAME}} {{$$END_TOTAL_ROW1$$}} -->
Командата се пише стандартно, както е описаното по горе, като единствената разлика е, че започва в „<!–“ и завърша с „–>“. По този начин този текст няма да бъде видим в изпратеният имейл. Примера показва как да направим сума на всички дългове превалутирани към базова валута от конфигурацията и по този начин може да проверим общата сума дали е положителна или отрицателна.
Пример за опростен вариант на шаблона:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <html> <body> <p>Здравейте, "{{DEBTOR_NAME}}"<br> Напомняме Ви, че наближава крайната дата за плащане на дължимите суми в размер на </p> {{$$BEGIN_TOTAL_ROW$$}} {{$$TOTAL_VALUE?SUM&NORM_AMOUNT&CURRENCY_REF$$}} {{CURRENCY_NAME}} <br> {{$$END_TOTAL_ROW$$}} </body> </html>
Използване на параметри от входната справка
За да се заместят стойности на параметри идващи от входната справка трябва да се зададе ключова дума:
{{PARAM_<има на параметър от входната справка>}}
Например, ако името на параметъра е FROM_DATE, се задава:
{{PARAM_FROM_DATE}}