Инструменти за потребители

Инструменти за сайта


kak_da:izprastane_email_kam_dlaznici

Разлики

Тук са показани разликите между избраната и текущата версия на страницата.

Препратка към сравнението на версиите

Следваща версия
Предходна версия
kak_da:izprastane_email_kam_dlaznici [2023/04/26 07:48] – създадена t.lalovakak_da:izprastane_email_kam_dlaznici [2023/12/14 12:29] (текуща) s.kirilov
Ред 1: Ред 1:
-====== Как да изпратим имейл към длъжници ======+====== Настройка на шаблон за изпращане на имейли към длъжници ======
  
 +Възможностите за управление на шаблона са следните:
 +
 +**Описание на повтарящ се пасаж от текст**, в който да се заменят стойности спрямо стойностите от данните на справката.
 +
 +Текста се огражда в тагове/ключови думи  <code>{{$$BEGIN_REPEAT$$}} и {{$$END_REPEAT$$}} </code>
 +
 +Пример:
 +<code>{{$$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$$}} </code>
 +
 +В двойни скоби са описани имена на колони от справката. Те ще се заместят с техните стойности. Тук не е строго определено да е в каквито и да е тагове от HTML формата. \\
 +Може да е само:
 +<code>{{$$BEGIN_REPEAT$$}} 
 +   {{OFFICIAL_DOC_NUMBER}}
 +   {{DEBTOR_LOCATION_NAME}}
 +   {{NORM_AMOUNT}} {{CURRENCY_NAME}}
 +{{$$END_REPEAT$$}} </code>
 +
 +Към момента, с опциите на скрипта за изпращане на имейли дублирането е на ниво контрагент или на ниво контрагент и обект. \\
 +Библиотеката може да се имплементира в друг източник, който да дублира по различен начин. 
 +
 +**Описание на ред за тотал**: \\
 +Това става чрез ограждането на текст с тагове <code>{{$$BEGIN_TOTAL_ROW$$}} и {{$$END_TOTAL_ROW$$}} </code>, като тук има възможност да се опишат/дефинират безброй редове за тотал. \\ 
 +Пример - един тотал със сума и един тотал с брой. 
 +
 +Позволено е да се дефинират различни агрегати за тотал. Възможните агрегати са: **sum, avg, count, min, max**. \\
 +Те се дефинират по следния начин, в таг/ключова дума **TOTAL_VALUE**. 
 +
 +Той изглежда така:
 +<code>{{$$TOTAL_VALUE?SUM&NORM_AMOUNT&CURRENCY_REF;DEBTOR_LOCATION_REF$$}} </code>
 +
 +Ключовата думата  е последвана задължително от знака **'?'**, което означава начало на описанието на агрегата/начина на пресмятане. \\
 +След знаkа '?' следва името на агрегата. Позволените агрегати са **sum, avg, count, min, max**. \\
 +След описанието на агрегата следва знак **'&'**, което означава следващ параметър на описанието на тотала. Той е името на колоната, по която се прави агрегат, в случая NORM_AMOUNT. 
 +До тук е дефинирано sum(NORM_AMOUNT). \\
 +Последната част на описанието е по кои колони да се групира/разцепи на различни редове. \\
 +В примера това са CURRENCY_REF; DEBTOR_LOCATION_REF - тук може да се изброяват множество колони, като те се разделят със знака **';'**.
 +
 +Тази дефиниция на тотал означава, че ще има толкова редове за тотал, колкото различни стойности има в колоните  CURRENCY_REF и DEBTOR_LOCATION_REF.
 +
 +**Описанието на повече от един ред за тотал** става по следния начин: \\
 +Текстът се загражда в тагове <code>{{$$BEGIN_TOTAL_ROW1$$}} ... {{$$END_TOTAL_ROW1$$}} </code>
 +
 +следващ ред за тотал <code>{{$$BEGIN_TOTAL_ROW2$$}} ...  {{$$END_TOTAL_ROW2$$}} </code>
 +
 +... и следващ <code>{{$$BEGIN_TOTAL_ROW3$$}} ... {{$$END_TOTAL_ROW3$$}} </code>
 +
 +Няма ограничение колко реда за тотал може да се опишат. Във всеки от тях може да се опише различен агрегат.
 +
 +Пример: 
 +<code>{{$$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$$}} </code>
 +
 +Може също да се добавят тотали, които да са невидими в изпратения имейл. В тези тотали може да се посочат агрегати и полета, по които искаме на направим специфични проверки след това.
 +
 +Пример: 
 +<code> <!-- {{$$BEGIN_TOTAL_ROW1$$}} {{$$TOTAL_VALUE?SUM&BASE_CURRENCY_NORM_AMOUNT&BASE_CURRENCY_REF$$}} {{BASE_CURRENCY_NAME}} {{$$END_TOTAL_ROW1$$}} --> </code>
 +Командата се пише стандартно, както е описаното по горе, като единствената разлика е, че започва в "<!--" и завърша с "-->". По този начин този текст няма да бъде видим в изпратеният имейл.
 +Примера показва как да направим сума на всички дългове превалутирани към базова валута от конфигурацията и по този начин може да проверим общата сума дали е положителна или отрицателна.
 +
 +Пример за опростен вариант на шаблона: 
 +
 +<code><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></code>
 +Което би изглеждало така: \\
 +{{:kak_da:tekst_email_kam_dlaznici.png|}}
 +
 +
 +**Използване на параметри от входната справка** \\
 +За да се заместят стойности на параметри идващи от входната справка трябва да се зададе ключова дума:
 +<code>
 +{{PARAM_<има на параметър от входната справка>}} 
 +</code>
 +Например, ако името на параметъра е FROM_DATE, се задава: 
 +<code>
 + {{PARAM_FROM_DATE}}
 +</code>
kak_da/izprastane_email_kam_dlaznici.1682495294.txt.gz · Последна промяна: 2023/04/26 07:48 от t.lalova