Инструменты пользователя

Инструменты сайта


receipts

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
receipts [2020/07/27 13:20]
bobr [QR-коды и специальные переменные и макросы]
receipts [2020/07/27 15:50] (текущий)
bobr [Поддерживаемые переменные и макросы]
Строка 26: Строка 26:
 ==== Поддерживаемые переменные и макросы ==== ==== Поддерживаемые переменные и макросы ====
 ----  ---- 
-\\  
 **{CURDATE}** - текущая дата \\ **{CURDATE}** - текущая дата \\
 +**{CURTIME}** - текущее время \\
 +**{CURDATENODELIMS}** - текущая дата без разделителей \\
 +**{CURDATETIMENODELIMS}** - текущее время без разделителей \\
 +**{INVOICE_NUM}** - номер квитанции. Генерируется как следующий ID в таблице //'​​invoices'//,​​ если квитанция в процессе генерации сохраняется в БД. \\ Или просто как {CURDATENODELIMS} + {CURDATETIMENODELIMS} + '​​-'​​ + "​​**текущий индекс массива** выбранных для печати абонентов"​​. \\ Или просто как {CURDATENODELIMS} + {CURDATETIMENODELIMS},​​ если в **heading**-секции указан макрос {INV_NUM_CURDATETIME}. \\
 +**{MONTH_COUNT}** - количество месяцев указанных для оплаты \\
 **{PAYFORPERIODSTR}** - оплата за период(месяцы),​ например:​ март 2019, апрель 2019 \\ **{PAYFORPERIODSTR}** - оплата за период(месяцы),​ например:​ март 2019, апрель 2019 \\
 **{PAYTILLMONTHYEAR}** - будет заменено на текущий год + следующий месяц(согласно формату даты, указанному в шаблоне) \\ **{PAYTILLMONTHYEAR}** - будет заменено на текущий год + следующий месяц(согласно формату даты, указанному в шаблоне) \\
Строка 33: Строка 37:
 **{SERVICENAME}** - наименование оплачиваемой услуги \\ **{SERVICENAME}** - наименование оплачиваемой услуги \\
 **{CONTRACT}** - номер договора пользователя \\ **{CONTRACT}** - номер договора пользователя \\
 +**{CONTRACTDATE}** - дата договора пользователя \\
 **{REALNAME}** - ФИО пользователя \\ **{REALNAME}** - ФИО пользователя \\
 **{CITY}** - город проживания пользователя \\ **{CITY}** - город проживания пользователя \\
Строка 38: Строка 43:
 **{BUILD}** - дом \\ **{BUILD}** - дом \\
 **{APT}** - квартира \\ **{APT}** - квартира \\
 +**{EXTADDR_POSTALCODE}** - почтовый индекс из дополнительных полей адреса. Требует включенной alter.ini опции ADDRESS_EXTENDED_ENABLED. \\
 +**{EXTADDR_TOWNDISTR}** - район/​​ПГТ/​​округ/​​етс из дополнительных полей адреса. Требует включенной alter.ini опции ADDRESS_EXTENDED_ENABLED. \\
 +**{EXTADDR_ADDREXT}** - дополнительная инфо по адресу из дополнительных полей адреса. Требует включенной alter.ini опции ADDRESS_EXTENDED_ENABLED. \\
 **{PHONE}** - телефон пользователя \\ **{PHONE}** - телефон пользователя \\
 **{MOBILE}** - мобильный пользователя \\ **{MOBILE}** - мобильный пользователя \\
Строка 47: Строка 55:
 **{SUMMCOINS}** - сумма к оплате выраженная в копейках \\ **{SUMMCOINS}** - сумма к оплате выраженная в копейках \\
 **{SUMMDECIMALS}** - сумма к оплате с двумя знаками после запятой \\ **{SUMMDECIMALS}** - сумма к оплате с двумя знаками после запятой \\
 +\\
  
 ==== QR-коды и специальные переменные и макросы ==== ==== QR-коды и специальные переменные и макросы ====
Строка 54: Строка 63:
 Для корректной генерации и расположения QR-кодов используются следующие макросы:​ Для корректной генерации и расположения QR-кодов используются следующие макросы:​
  
-**{QR_CODES_CNT}** - количество QR-кодов,​ по сути равное количеству абонентов(генерируемых документов). Используется JS-скриптом для обхода элементов DOM с соответствующими индексами. Располагать в **head**-секции.+**{QR_CODES_CNT}** - количество QR-кодов,​ по сути равное количеству абонентов(генерируемых документов). Используется JS-скриптом для обхода элементов DOM с соответствующими индексами. Располагать в **heading**-секции.
  
 **{QR_CODE_CONTENT}** - данные,​ которые нужно "​упаковать"​ в QR-код. Располагать в **body**-секции. **{QR_CODE_CONTENT}** - данные,​ которые нужно "​упаковать"​ в QR-код. Располагать в **body**-секции.
Строка 60: Строка 69:
 **{QR_INDEX}** - индекс или порядковый номер QR-кода,​ по которому JS-скрипт будет находить элемент DOM, который будет содержать сам QR-код или же содержит данные,​ которые нужно "​упаковать"​ в QR-код. Располагать в **body**-секции. **{QR_INDEX}** - индекс или порядковый номер QR-кода,​ по которому JS-скрипт будет находить элемент DOM, который будет содержать сам QR-код или же содержит данные,​ которые нужно "​упаковать"​ в QR-код. Располагать в **body**-секции.
  
-**{QR_EMBED}** - наличие этого макроса указывает,​ что генерация QR-кодов должна производится на стороне сервера и готовый QR-код встраивается в документ в виде закодированного в Base64 изображения. Также **необходимо** не забыть добавить в секцию **head** скрытый инпут вида:+**{QR_EMBED}** - наличие этого макроса указывает,​ что генерация QR-кодов должна производится на стороне сервера и готовый QR-код встраивается в документ в виде закодированного в Base64 изображения. Также **необходимо** не забыть добавить в секцию **heading** скрытый инпут вида:
 <code html> <code html>
 <input id="​qr_embedded"​ type="​hidden"​ value="​0"​ /> <input id="​qr_embedded"​ type="​hidden"​ value="​0"​ />
 </​code>​ </​code>​
-со значением //"​value"​=1//​. Располагать в **head**-секции.\\ Важно отметить,​ что, поскольку,​ делается это средствами гуглоАПИ http://​chart.apis.google.com/​chart - такая генерация занимает довольно много времени и не рекомендована для большого количества документов(хотя на тестах до 100 штук - вполне себе приемлемо - пара минут ожидания...).+со значением //"​value"​=1//​. Располагать в **heading**-секции.\\ Важно отметить,​ что, поскольку,​ делается это средствами гуглоАПИ http://​chart.apis.google.com/​chart - такая генерация занимает довольно много времени и не рекомендована для большого количества документов(хотя на тестах до 100 штук - вполне себе приемлемо - пара минут ожидания...).
  
 Вкратце,​ логика процесса генерации QR-кода следующая: ​ Вкратце,​ логика процесса генерации QR-кода следующая: ​
Строка 89: Строка 98:
 <​code>​ <​code>​
     {MONTHYEAR_FORMAT_START}m-Y{MONTHYEAR_FORMAT_END}     {MONTHYEAR_FORMAT_START}m-Y{MONTHYEAR_FORMAT_END}
 +</​code>​
 +  * Номера квитанций будут генерироваться по принципу {CURDATENODELIMS} + {CURDATETIMENODELIMS},​ если вы добавите указанный ниже макрос:​
 +<​code>​
 +{INV_NUM_CURDATETIME}
 </​code>​ </​code>​
receipts.1595845212.txt.gz · Последние изменения: 2020/07/27 13:20 — bobr