retailCRM Документация

Шаблоны печатных форм

Настройки печатной формы

Настройка печатной формы производится в два действия:

Основные настройки печатной формы

Основные настройки:

Примечание: также можно сохранить и сразу выйти из заказа с помощью кнопки «Сохранить и вернуться»

Создание шаблона печатной формы для одного заказа

Чтобы создать собственную форму печати, в Административном разделе, в разделе "Настройки" нажмите на кнопку "Добавить":

Отобразится окно "Новая печатная форма" с вкладками: "Основные настройки" и "Шаблон".

Во вкладке «Шаблон» Вы можете настроить шаблон печатной формы в формате twig-шаблонов.

Рассмотрим работу с шаблоном на примере счета-фактуры.

Код шаблона счета-фактуры

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<STYLE>
body
{
    font-family:"Arial", sans-serif;
    font-size: 10pt;
}

p
{
    line-height: 150%;
}
table.footer
{
    font-size: 10pt;
    margin-top: 15px;
    line-height: 150%;
}
table.order
{
    border-collapse: collapse;
}
table.order td
{
    font-size: 10pt;
    border: 1px solid #000000;
}

</STYLE>

    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title langs="ru">Счет</title>
    </head>
    <body bgcolor="white" lang="RU">


        <div class="Section1">

            <h1>Счет-фактура №{{ order.number }} от {{ order.createdAt|date("d.m.Y") }}</h1>
            <p>
                Продавец: {{ order.site.legalEntity }}<br>
                Адрес: {{ order.site.address }}<br>
                ИНН: {{ order.site.inn }}<br>
                Грузотправитель и его адрес: {{ order.site.legalEntity }} {{ order.site.address }}<br>
                Грузополучатель и его адрес: {{ order.customer.nickName }} {{ order.deliveryAddress }}<br>
                К платежно-расчетному документу №{{ order.number }} от {{ order.createdAt|date("d.m.Y") }}
                Покупатель: {{ order.customer.nickName }}<br>
                Адрес: {{ order.customer.address }}<br>
                Валюта: наименование, код {{ defaultCurrency }}<br>
            </p>

            <table border="0" cellspacing="0" cellpadding="2" width="100%" class="order">
                <TR>
                    <TD ROWSPAN=2 ALIGN="CENTER" VALIGN=MIDDLE>Наименование товара (описание выполненных работ, оказанных услуг), имущественного права</TD>
                    <TD COLSPAN=2 ALIGN="CENTER" VALIGN=MIDDLE>Единицы измерения</TD>
                    <TD ROWSPAN=2 ALIGN="CENTER" VALIGN=MIDDLE>Количество объем</TD>
                    <TD ROWSPAN=2 ALIGN="CENTER" VALIGN=MIDDLE>Цена (тариф) за единицу измерения</TD>
                    <TD ROWSPAN=2 ALIGN="CENTER" VALIGN=MIDDLE>Стоимость товаров (работ, услуг) имущественных прав, без налога — всего</TD>
                    <TD ROWSPAN=2 ALIGN="CENTER" VALIGN=MIDDLE>В том числе сумма акциза</TD>
                    <TD ROWSPAN=2 ALIGN="CENTER" VALIGN=MIDDLE>Налоговая ставка</TD>
                    <TD ROWSPAN=2 ALIGN="CENTER" VALIGN=MIDDLE>Сумма налога предъявляемая полкупателю</TD>
                    <TD ROWSPAN=2 ALIGN="CENTER" VALIGN=MIDDLE>Стоимость товаров (работ, услуг) имущественных прав с налогом — всего</TD>
                    <TD COLSPAN=2 ALIGN="CENTER" VALIGN=MIDDLE>Страна происхождения товара</TD>
                    <TD ROWSPAN=2 ALIGN="CENTER" VALIGN=MIDDLE>Номер таможенной декларации</TD>
                </TR>
                <TR>
                        <TD ALIGN="LEFT">Код</TD>
                        <TD ALIGN="LEFT">Условное обозначение (национальное)</TD>
                        <TD ALIGN="LEFT">Цифровой код</TD>
                        <TD ALIGN="LEFT">Краткое наименование</TD>
                        </TR>
                <tr>
                    <td>1</td>
                    <td>2</td>
                    <td>2а</td>
                    <td>3</td>
                    <td>4</td>
                    <td>5</td>
                    <td>6</td>
                    <td>7</td>
                    <td>8</td>
                    <td>9</td>
                    <td>10</td>
                    <td>10а</td>
                    <td>11</td>
                </tr>

                {% for op in order.availableOrderProducts %}
                    <tr valign="top">
                        <td >
                            {{ op }}
                        </td>
                        <td >
                            &nbsp;
                        </td>
                        <td >
                            &nbsp;
                        </td>
                        <td >
                            {{ op.quantity }}
                        </td>
                        <td >
                            {{ op.price }}
                        </td>
                        <td >
                            {{ op.summ }}
                        </td>
                        <td >
                            &nbsp;
                        </td>
                        <td >
                            &nbsp;
                        </td>
                        <td >
                            &nbsp;
                        </td>
                        <td >
                            {{ op.summ }}
                        </td>
                        <td >
                            &nbsp;
                        </td>
                        <td >
                            {{ op.offer.product.manufacturer }}
                        </td>
                        <td >
                            &nbsp;
                        </td>
                    </tr>
                {% endfor %}

                <tr valign="top">
                        <td colspan="5">
                            <h3>Всего к оплате:</h3>
                        </td>

                        <td >
                            {{ order.summ }}
                        </td>
                        <td colspan="2">
                            X
                        </td>
                        <td >
                            &nbsp;
                        </td>
                        <td >
                            {{ order.totalSumm }}
                        </td>
                        <td colspan="3">
                            &nbsp;
                        </td>
                    </tr>

            </table>
            <table border="0" cellspacing="0" cellpadding="0" width="100%" class="footer">
                <tr>
                    <td width="20%">
                        Руководитель организации:
                    </td>
                    <td width="80%">
                        _______________________ / ______________________________ /
                    </td>
                </tr>
                <tr>
                    <td width="20%">
                        Гл. бухгалтер:
                    </td>
                    <td width="80%">
                        _______________________ / ______________________________ /
                    </td>
                </tr>
            </table>
        </div>
    </body>
</html>

Пояснения к коду

Доступные переменные: в случае типа шаблона «Заказ», переменная order (заказ), либо в случае типа шаблона «Список заказов», переменная orders (массив заказов). Также доступна переменная defaultCurrency — текущая валюта.

Twig-код <h1>Счет-фактура №{{ order.number }} от {{ order.createdAt|date("d.m.Y") }}</h1> в результате генерирует следующий html: <h1>Счет-фактура No123654 от 22.11.2013</h1>.

order — сущность заказа у него есть поле number — это номер заказа, с помощью {{ }} выводим значение поля number на печать.

Также у заказа есть поле createdAt, указывающее на дату создания. Системе неизвестно, в каком виде должна быть распечатана дата, поэтому необходимо с помощью фильтра указать формат даты: order.createdAt|date("d.m.Y"). Здесь мы указали формат день.месяц.год.

Twig-код Продавец: {{ order.site.legalEntity }}<br> в результате формирует html Продавец: Интернет-магазин Кроссовки.рф<br>. У order есть поле site - которое является сущностью магазина. У магазина есть поле legalEntity, которое обозначает официальное название магазина.

Валюта: наименование, код {{ defaultCurrency }}<br> - в результате получится Валюта: наименование, код Российский рубль<br>. Текущая валюта отображается в Административном разделе, в разделе "Настройки".

<table border="0" cellspacing="0" cellpadding="2" width="100%" class="order">
{% for op in order.availableOrderProducts %}

    <tr valign="top">

        ...

        <td >
            {{ op.summ }}
        </td>

        ...

    </tr>
{% endfor %}
</table>

Выше показан стандартный способ построения таблицы, при котором в цикле выводится список строк, каждая из которых в данном случае является одной позицией товара в заказе.

<table border="0" cellspacing="0" cellpadding="2" width="100%" class="order">
    <tr valign="top">
        ...
        <td >
            123,0
        </td>
        ...
    </tr>
    <tr valign="top">
        ...
        <td >
            743,0
        </td>
        ...
    </tr>
    <tr valign="top">
        ...
        <td >
            8583,0
        </td>
        ...
    </tr>
    ...
</table>

{{ op.offer.product.manufacturer }} - из позиции заказа (op) достаем торговое предложение, которое было добавлено в заказ, потом получаем связный товар, к которому относится торговое предложение, и узнаем производителя товара.

В результате получим форму счета-фактуры следующего вида:

Пример вставки изображения в шаблон документа

Если в шаблон документа необходимо вставить изображение печати фирмы или логотипа, задайте путь к файлу изображения: url('data:image/jpg;base64,<тут_код_картинки>')

Чтобы сгенерировать код картинки, можно воспользоваться специальным сервисом Base64.

Например, чтобы закодировать файл с изображением, надо выбрать кнопку "файл", загрузить изображение. Нажмите кнопки "вернуть текст" и затем "отправить". Результат - код изображения.

На примере кода шаблона это строка кода с вставкой кода изображения будет выглядеть так:

Создание шаблона для списка заказов

Для того, чтобы создать шаблон печатной формы для списка заказов, необходимо при создании шаблона, в строке «Тип шаблона» выставить пункт «Список заказов».

Далее, все настройки идентичны настройкам обычной печатной формы для заказа.

Для того, чтобы распечатать шаблон печатной формы для группы заказов, необходимо перейти в раздел «Заказы» и отметить галочкой нужные Вам заказы. Далее, в выплывающем меню «Действия» выбрать пункт «Распечатать документы» и нажать на созданный Вами шаблон печатной формы.

Примечание: при распечатке создается файл в формате .PDF, который скачивается на Ваш компьютер.


Редакция от 11.10.2016 10:47