Можно ли доработать печать чека ККМ для онлайн касс в Рознице?

1. TODD22 18 10.05.17 12:51 Сейчас в теме
Здравствуйте.

Можно ли доработать печать чека ККМ для работы с онлайн кассами? Выводить в чек свою дополнительную информацию.
Со старыми кассами проблем не было. В онлайн кассах там же какой то xml файл отправляется в сам аппарат.
Может пример есть... ?
+
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. spacecraft 10.05.17 12:58 Сейчас в теме
(1) в документации подробно расписано: ссылка
Donpager; +1
3. TODD22 18 24.05.17 12:15 Сейчас в теме
Посмотрел в документации и сформировал вот такой xml.

<?xml version="1.0" encoding="UTF-8"?>
<CheckPackage>
<Parameters PaymentType="1" TaxVariant="3" SenderEmail="" CustomerEmail="" CustomerPhone=""/>
<Positions>
<FiscalString Name="Пакет "майка" Strike 1/50" Quantity="1" Price="5" Amount="5" Tax="0"/>
</Positions>
<Payments Cash="5" CashLessType1="0" CashLessType2="0" CashLessType3="0"/>
<Document>
<Positions TextString="Карта: 0000000000001"/>
</Document>

</CheckPackage>


Не понимаю в чём ошибка.
сделал добавление вот таким кодом:
ЗаписьXML.ЗаписатьНачалоЭлемента("Document");	
	ЗаписьXML.ЗаписатьНачалоЭлемента("Positions");
	
	ЗаписьXML.ЗаписатьАтрибут("TextString" , XMLСтрока("Карта: 0000000000001"));
	
	ЗаписьXML.ЗаписатьКонецЭлемента();
	ЗаписьXML.ЗаписатьКонецЭлемента();

Получил результат:

<Document>
<Positions TextString="Карта: 0000000000001"/>
</Document>

Но судя по инструкции должно быть:
<?xml version="1.0" encoding="UTF-8"?>
<Document>
<Positions>
<TextString Text="Участие в дисконтной системе"/>
<TextString Text="Дисконтная карта: 00002345"/>
<Barcode BarcodeType="EAN13" Barcode="2000021262157"/>
</Positions>
</Document>

Как сделать тег <Positions> правильно?
И как должен выглядеть результирующий файл xml что бы моя строка вывелась на печать?
+
4. TODD22 18 24.05.17 13:06 Сейчас в теме
С формированием разобрался
ЗаписьXML.ЗаписатьНачалоЭлемента("Document");
ЗаписьXML.ЗаписатьНачалоЭлемента("Positions");
ЗаписьXML.ЗаписатьНачалоЭлемента("TextString");
ЗаписьXML.ЗаписатьАтрибут("Text" , XMLСтрока("Карта: 0000000000001"));
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.ЗаписатьКонецЭлемента();

Но в чек не выводится моя строка....
+
5. kolya_tlt 86 24.05.17 13:13 Сейчас в теме
(4) кажется нет такой возможности. либо вы строки фискальные делаете, либо текстовые. рассмотрите вариант со 2м информационным чеком
+
6. TODD22 18 24.05.17 14:02 Сейчас в теме
(5)Да вот где бы работающий пример посмотреть? А то отлаживать очень сложно. На отладке постоянно драйвер ккм виснет..... :(
+
7. spacecraft 30.05.17 11:26 Сейчас в теме
(6) там же есть готовый пример:
Пример текстового XML:

<?xml version="1.0" encoding="UTF-8"?>
<CheckPackage>
	<Parameters PaymentType="1" SenderEmail="info@1c.ru" CustomerEmail="alex2000@mail.ru" CustomerPhone="" AgentCompensation="" AgentPhone=""/>
	<Positions>
		<FiscalString Name="Макароны" Quantity="1" Price="16.75" Amount="16.75" Tax="10"/>
		<FiscalString Name="Томатный сок" Quantity="1" Price="200" Amount="200" Tax="18"/>
		<FiscalString Name="Алкоголь Шампрео 0.7" Quantity="1" Price="455" Amount="455" Tax="18"/>
		<TextString Text="Дисконтная карта: 00002345"/>
		<Barcode BarcodeType="EAN13" Barcode="2000021262157"/>
	</Positions>
	<Payments Cash="471.75" CashLessType1="0" CashLessType2="0" CashLessType3="200"/>
</CheckPackage>
Показать

Не надо смешивать код фискального чека и текстового документа. Это совсем разные действия.
+
8. isaenkovspb 1 14.12.18 10:38 Сейчас в теме
(7) А как это передать по средством самой 1С. В частности дисконтную карту и шк
+
9. spacecraft 14.12.18 11:29 Сейчас в теме
(8) в (2) приведена ссылка на документацию.
В общем смысл такой:
Формируется xml нужной структуры и передается в процедуру печати фискального чека.
+
10. isaenkovspb 1 17.12.18 10:20 Сейчас в теме
(9) я может немного подтупливаю, а можно какой либо пример кода 1С. Ну в ступоре я
+
11. spacecraft 17.12.18 10:42 Сейчас в теме
(10) пример кода будет довольно большой.
Для варианта, посмотреть БПО (библиотека подключаемого оборудования) или любую типовую в которой она используется (Розница2, УТ11). Только последние.
Там смотрите:
ПодключаемоеОборудованиеУниверсальныйДрайверКлиент.ФискализацияЧека
Внутри происходит вызов заполнения пакета в формате xml:
ДанныеЧека = МенеджерОборудованияВызовСервера.ПолучитьXMLПакетДляФискализацияЧека(ОбщиеПараметры, ШаблонЧека, СуммаЧека, ШиринаСтроки, НовыйФормат);
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот