<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="uk">
	<id>https:///index.php?action=history&amp;feed=atom&amp;title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%8D%D0%BA%D1%81%D0%BF%D0%BE%D1%80%D1%82%D0%B0_%D0%BF%D0%BB%D0%B0%D1%82%D0%B5%D0%B6%D0%B5%D0%B9</id>
	<title>Шаблоны для экспорта платежей - Історія редагувань</title>
	<link rel="self" type="application/atom+xml" href="https:///index.php?action=history&amp;feed=atom&amp;title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%8D%D0%BA%D1%81%D0%BF%D0%BE%D1%80%D1%82%D0%B0_%D0%BF%D0%BB%D0%B0%D1%82%D0%B5%D0%B6%D0%B5%D0%B9"/>
	<link rel="alternate" type="text/html" href=""/>
	<updated>2026-05-05T13:39:04Z</updated>
	<subtitle>Історія редагувань цієї сторінки в вікі</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id></id>
		<title>Sv в 14:44, 2 грудня 2019</title>
		<link rel="alternate" type="text/html" href=""/>
		<updated>2019-12-02T14:44:55Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Нова сторінка&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Если вы хотите экспортировать платежи в определенном формате, например csv, вы можете создать один или несколько шаблонов. На титульной странице админки зайдите  в раздел «Документы» и создайте папку с любым именем, например, «Шаблоны экспорта». В этой папке создайте файл, например, с именем «pays.csv». В этот файл вставьте следующий текст:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{% for i in pays %}{% one_line %}&lt;br /&gt;
{{ i.time }},{{ i.mid }},{{ i.cash }},{{ i.category }}&lt;br /&gt;
{% one_line_end %}&lt;br /&gt;
{% endfor %} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Нажмите на кнопку «Сохранить», после чего зайдите в раздел «Платежи» и нажмите на кнопку «Экспортировать». В появившемся окне выберите файл с именем pays.csv. В результате, вы получите примерно такой вывод:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 1455023272,15,200.00,1 &lt;br /&gt;
 1450882737,15,0.00,400 &lt;br /&gt;
 1450882493,15,0.00,400 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Здесь вы получили информацию о трех платежах. В первой колонке время создания платежа в виде timestamp, во 2й - id пользователя, в 3й - сумма, в 4й - категория.  Данные, которые вы выводите, находятся внутри двойных фигурных скобок. Вам доступны следующие поля:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
id                  : id записи в таблице платежей&lt;br /&gt;
mid                 : id учетной записи клиента&lt;br /&gt;
cash                : сумма платежа, если меньше нуля - списание, больше 0 - пополнение счета&lt;br /&gt;
time                : время создания платежа в виде timestamp&lt;br /&gt;
creator             : кто создал платеж (admin - администратор, user - пользователь, kernel - система, other - иное)&lt;br /&gt;
creator_id          : id создателя (администратора или пользователя)&lt;br /&gt;
creator_ip          : ip создателя в виде целого числа&lt;br /&gt;
creator_ipa         : ip создателя&lt;br /&gt;
reason              : дополнительные закодированные данные платежа&lt;br /&gt;
comment             : комментарий к платежу&lt;br /&gt;
category            : категория платежа&lt;br /&gt;
user.name           : логин&lt;br /&gt;
user.fio            : ФИО&lt;br /&gt;
user.grp            : номер группы клиента&lt;br /&gt;
user.grp_name       : имя группы&lt;br /&gt;
user.state          : on - доступ открыт, off - закрыт&lt;br /&gt;
user.state_off      : установлен если state равен off&lt;br /&gt;
user.contract       : договор&lt;br /&gt;
user.contract_date  : дата договора (timestamp)&lt;br /&gt;
user.balance        : баланс&lt;br /&gt;
user.limit_balance  : граница отключения&lt;br /&gt;
user.block_if_limit : отключать ли запись при достижении границы отключения&lt;br /&gt;
user.cstate         : техническое состояние (настроить/ремонт/вирусы...) в виде числа&lt;br /&gt;
user.commen         : комментарий&lt;br /&gt;
user.lstate         : нужна авторизация/всегда онлайн&lt;br /&gt;
user.discount       : скидка&lt;br /&gt;
user.dopdata        : дополнительные данные&lt;br /&gt;
user.services       : подключенные услуги&lt;br /&gt;
user.ips            : ip адреса&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если вы экспортируете в формат csv, учтите особенности этого формата: если в поле будет символ разделитель, то поле необходимо взять в кавычки. Кроме этого, если в поле присутствует кавычка - ее необходимо удвоить. Для этого необходимо использовать фильтр с именем csv:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{% for i in pays %}{% one_line %}&lt;br /&gt;
{{i.time}},{{ i.cash }},{{ i.comment|csv }}&lt;br /&gt;
{% one_line_end %}&lt;br /&gt;
{% endfor %}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В выборке можно указывать условия, например, экспортируем платежи пользователей в группе «Пользователь»&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{% for i in pays %}{% one_line %}&lt;br /&gt;
{% if i.user.grp_name == &amp;quot;Пользователь&amp;quot; %}&lt;br /&gt;
{{ i.time }},{{ i.cash }},{{ i.user.login|csv }},{{ i.user.grp_name|csv }}&lt;br /&gt;
{% endif %}&lt;br /&gt;
{% one_line_end %}&lt;br /&gt;
{% endfor %}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тег {% one_line %} нужен для того, чтобы вся информации внутри него на выходе была в одну строку.&lt;br /&gt;
&lt;br /&gt;
Дополнительные поля клиента хранятся в user.dopdata. Чтобы получить их значения, необходимо обратиться по имени поля в базе данных (смотри настройки дополнительного поля) и добавить get(): user.dopdata.имя_поля.get(). Например:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{% for i in pays %}{% one_line %}&lt;br /&gt;
{% if i.category == 1 %}&lt;br /&gt;
{{ i.time }},{{ i.cash }},{{ i.user.dopdata._adr_street.get()|csv }},{{ i.user.grp_name|csv }}&lt;br /&gt;
{% endif %}&lt;br /&gt;
{% one_line_end %}&lt;br /&gt;
{% endfor %}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
У абонента может быть подключено несколько услуг. Но обычно одна. Выведем первую из списка:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{ i.user.services.0.title|csv }}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sv</name></author>
	</entry>
</feed>