Публичное пространство

SetRetail10 ◾️ Редактирование чека продажи с помощью XML-разметки

Внимание!

Настоятельно рекомендуется производить редактирование только в редакторе чековых форм!

Логика редактирования

Все вносимые изменения в форме чека записываются в базу данных set → cash_print_form → check-sale → xml_representation

1. При клике по ссылке восстановить стандартные настройки загрузится форма чека из папки сервера в базу данных set → cash_print_form → check-sale → xml_representation

  • Windows: \SetRetail10\standalone\configuration\modules\cash\default-cash-documents\check-sale.xml
  • Linux: var\lib\jboss\standalone\configuration\modules\cash\default-cash-documents\check-sale.xml

После создания в редакторе чековых форм эталонной формы чека сохраните её в файл формы на сервере, для того, чтобы при клике восстановить стандартные настройке загружалась утверждённая форма.

Состав xml-формы чека

Родительские узлы

В родительских узлах определяются основные секции в которых содержатся элементы отображения данных из редактора чековых форм.

XML-свойствоСекция чека
<section id="logo">

Логотип

Отвечает только за вывод на печать логотипа, загруженного через утилиту фискального регистратора

<section id="header">Заголовок/шапка
<section id="position">Позиции
<section id="payment">Оплаты
<section id="discount">Скидки
<section id="tax">Налоги
<section id="total">Итоги
<section id="bonuses">Бонусные балансы

<section id="level">

SLS-2965 - Получение подробных данных проблемы… СТАТУС

CR-9451 - Получение подробных данных проблемы… СТАТУС

10.3.30.0

ТОЛЬКО SETLOYALTY

Уровневая программа лояльности
<section id="presentCard">Подарочная карта
<section id="slip">

Банковский слип внутри чека 

<section id="includedSlips">Слип лояльности в составе чека
<section id="fiscal">Фискальная часть
<section id="footer">Подвал

Описание родительских узлов

Для нефискальных принтеров типа Axiohm редактирование любой из секции приведёт к изменению данных на форме чека. Для фискальных принтеров Пирит 1Ф, Пирит 2Ф редактирование следующих секций не приведет к изменению формы чека, так как данные реквизиты настраиваются специальными программами для фискального принтера.

УзелСекция

Редактирование данных для фискального принтера

Пирит 1Ф, Пирит 2Ф

logo
Логотип

Нет

Служебная. Не подлежит редактирования также и на нефискальных режимах.

header
Заголовок (шапка чека)

Нет

Реквизиты печатаются на основе данных карточки магазина и юридического лица

position
ПозицииДа
payment
Типы оплатНет
discount
СкидкиДа
tax
НалогиНет
total
ИтогиНет
bonuses
Бонусные балансыДа
presentCardПодарочная картаДа

level

SLS-2965 - Получение подробных данных проблемы… СТАТУС

CR-9451 - Получение подробных данных проблемы… СТАТУС

10.3.30.0

ТОЛЬКО SETLOYALTY

Уровневая программа лояльностиДа
includedSlips
Слип лояльности в составе чекаНет
slipБанковский слип внутри чека 

Нет

Только размер шрифта.

fiscal
Фискальная частьНет
footer
ПодвалНет
cut
Специальная секция, которая отправляет команду чековому принтеру сделать отрез бумаги

Нет

Служебная. Не подлежит редактирования также и на нефискальных режимах.

 Пример XML-формы чека
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<document xmlns="http://crystals.ru/pos/fiscalprinter/templates/parser">
    <section id="logo"/>
    <section id="header">
        <line font="normal">
            <element precision="0" value="ShopName" clip="true" width="36" filler="space" align="center"/>
        </line>
        <line font="normal">
            <element precision="0" value="ShopAddress" clip="true" width="36" filler="space" align="center"/>
        </line>
        <line font="normal">
            <text value="-----------------------------------------" clip="true" width="36" filler="space" align="left"/>
        </line>
        <line font="normal">
            <text value="Смена:" width="6" filler="space" align="left"/>
            <element precision="0" value="numshift" width="6" filler="space" align="left"/>
            <text value="ЭКЛЗ:" clip="true" width="5" filler="space" align="right"/>
            <element precision="0" value="eklz" width="12" filler="space" align="right"/>
        </line>
        <line font="normal">
            <text value="Номер кассы:" width="12" filler="space" align="left"/>
            <element precision="0" value="cashnum" width="6" filler="space" align="left"/>
            <text value="ИНН:" clip="true" width="4" filler="space" align="right"/>
            <element precision="0" value="inn" width="12" filler="space" align="right"/>
        </line>
        <line font="normal">
            <text value="Кассир:" width="7" filler="space" align="left"/>
            <element precision="0" value="cashier" clip="true" width="6" filler="space" align="left"/>
        </line>
        <line font="normal">
            <text value="----------------------------------------" clip="true" width="36" filler="space" align="left"/>
        </line>
        <line font="normal">
            <text value="ЧЕК ПРОДАЖИ" clip="true" width="12" filler="space" align="left"/>
            <element precision="0" value="numberfield" width="4" filler="space" align="left"/>
            <element precision="0" value="datecreate" width="11" filler="space" align="right"/>
            <element precision="0" value="timecreate" width="7" filler="space" align="right"/>
        </line>
        <line font="normal">
            <text value="----------------------------------------" clip="true" width="36" filler="space" align="left"/>
        </line>
    </section>
    <section id="position">
        <list>
            <line font="small">
                <element precision="0" value="name" clip="true" width="30" filler="space" align="left"/>
                <element precision="2" value="endPricePerUnit" width="7" prefix="space" filler="space" align="right"/>
                <element precision="3" value="qnty" width="7" prefix="star" filler="space" align="right"/>
                <element precision="2" value="endPositionPrice" width="11" prefix="equalsign" filler="space" align="right"/>
            </line>
            <header>
                <line font="normal">
                    <text value="---------------------------------------------------------------------------------------------------------------------" clip="true" width="0" filler="space" align="left"/>
                </line>
            </header>
            <footer>
                <line font="normal">
                    <text value="---------------------------------------------------------------------------------------------------------------------" clip="true" width="0" filler="space" align="left"/>
                </line>
            </footer>
        </list>
    </section>
    <section id="payment">
        <list>
            <line font="normal">
                <element precision="0" value="payment_type" clip="true" width="25" filler="space" align="left"/>
                <element precision="2" value="sumpay" width="10" prefix="equalsign" filler="space" align="right"/>
            </line>
            <header>
                <line font="normal">
                    <text value="---------------------------------------------------------------------------------------------------------------------" clip="true" width="0" filler="space" align="left"/>
                </line>
            </header>
            <footer>
            </footer>
        </list>
    </section>
    <section id="discount">
        <line font="normal">
            <text value="---------------------------------------------------------------------------------------------------------------------" clip="true" width="0" filler="space" align="left"/>
        </line>
        <line font="doubleheight">
            <condition name="Есть скидка">
                <operand key="more">
                    <varLogical>
                        <element value="discountValueTotal" width="0" align="left"/>
                    </varLogical>
                    <varLogical>
                        <numeral value="0"/>
                    </varLogical>
                </operand>
            </condition>
            <text value="ВАША СКИДКА СОСТАВИЛА, руб " width="32" filler="space" align="left"/>
            <element precision="2" value="discountValueTotal" clip="true" width="0" prefix="equalsign" filler="space" align="right"/>
        </line>
        <line font="normal">
            <text value="   " clip="true" width="0" filler="space" align="left"/>
        </line>
        <line font="normal">
            <text value="СПАСИБО ЗА ПОКУПКУ!" clip="true" width="0" filler="space" align="center"/>
        </line>
        <line font="normal">
            <text value="   " clip="true" width="0" filler="space" align="left"/>
        </line>
        <line multyple="true" font="normal">
            <condition name="дк">
                <operand key="equal">
                    <varLogical>
                        <element value="isDiscCard" width="0" align="left"/>
                    </varLogical>
                    <varLogical>
                        <boolean value="true"/>
                    </varLogical>
                </operand>
            </condition>
            <text value="Цены указаны с учетом скидки по карте постоянного покупателя " multyple="true" clip="true" width="10" filler="space" align="center"/>
        </line>
        <line font="normal">
            <condition name="дк">
                <operand key="equal">
                    <varLogical>
                        <element value="isDiscCard" width="0" align="left"/>
                    </varLogical>
                    <varLogical>
                        <boolean value="true"/>
                    </varLogical>
                </operand>
            </condition>
            <element precision="0" value="disccardnumber" clip="true" width="0" filler="space" align="center"/>
        </line>
        <line font="normal">
            <text value="    " clip="true" width="0" filler="space" align="left"/>
        </line>
    </section>
    <section id="tax"/>
    <section id="total">
        <line font="normal">
            <text value="----------------------------------------" clip="true" width="36" filler="space" align="left"/>
        </line>
        <line font="normal">
            <text value="Итого без скидки" width="25" filler="space" align="left"/>
            <element precision="2" value="Totalsum" clip="true" width="0" prefix="space" filler="space" align="left"/>
        </line>
        <line font="normal">
            <text value="Скидка" width="10" filler="space" align="left"/>
            <element precision="2" value="discountValueTotal" clip="true" width="0" prefix="space" filler="space" align="left"/>
        </line>
        <line font="normal">
            <text value="Итого к оплате" width="15" filler="space" align="left"/>
            <element precision="2" value="checksum" clip="true" width="0" prefix="space" filler="space" align="left"/>
        </line>
        <line font="normal">
            <text value="СДАЧА" clip="true" width="25" filler="space" align="left"/>
            <element precision="2" value="changecash" width="10" prefix="equalsign" filler="space" align="right"/>
        </line>
    </section>
    <section id="bonuses">
        <list>
			<line font="normal">
            			<condition name="Были операции по бонусам">
					<operand key="equal">
						<varLogical>
							<element align="left" value="hasBonusOperations" width="0"/>
						</varLogical>
						<varLogical>
							<boolean value="true"/>
						</varLogical>
					</operand>
            			</condition>
				&l