Чек коррекции из 1С Меркурий 185Ф в режиме ФР - вместо безналичной оплаты вышла наличная

Модели:
Меркурий-114.1К, Меркурий 115Ф, Меркурий 119Ф, Меркурий 130ф, Меркурий MS-K
Ответить
Аватара пользователя
drooje
Сообщения: 2
Зарегистрирован: 18 дек 2020, 18:52

Чек коррекции из 1С Меркурий 185Ф в режиме ФР - вместо безналичной оплаты вышла наличная

Сообщение drooje »

Добрый день!
Сформировали из 1С чек коррекции на Меркурий 185Ф. Но неправильно на чеке вышел вид оплаты. В 1С указали безнал, а на чеке вышел нал. Скан чека прикладываю. Логи тоже приложил. Мне нужно понять, в 1С дело или нет.

Версия компоненты в 1С: 2.0.0.41/2.0 (Версия требований к разработке драйверов 3.3)
Конфигурация 1С: Управление ритуальными услугами, редакция 1.6 (1.6.25.236)
Меркурий-185Ф, версия ПО 25.12.2020, в режиме ФР

Из логов выцепил команды, которые отправились в ККТ.
1.

Код: Выделить всё

{
	"sessionKey": "115054-3554214461",
	"command": "OpenCheck",
	"checkType": 4,
	"taxSystem": 5,
	"correctionInfo": {
		"correctionType": 0,
		"causeName": "Приказ №1 от 27.12.2021г",
		"causeDocDate": "2021-03-23T00:00:00",
		"causeDocNum": "0"
	},
	"cashierInfo": {
		"cashierName": "Бородина Елена Валерьевна",
		"cashierINN": "232901071742"
	},
	"printDoc": true,
	"address": "160022 Вологодская обл. Вологодский р-н. д.Родионцево д. 66",
	"location": "Основной склад "
}
2.

Код: Выделить всё

{
	"sessionKey": "115054-3554214461",
	"command": "AddGoods",
	"nomenclatureCode": "",
	"productID": 0,
	"productName": "",
	"qty": 10000,
	"section": 0,
	"taxCode": 6,
	"price": 10030000,
	"sum": 10030000,
	"paymentFormCode": 4,
	"productTypeCode": 1,
	"exciseAmount": 0
}
3.

Код: Выделить всё

{
	"sessionKey": "115054-3554214461",
	"command": "CloseCheck",
	"payment": {
		"cash": 0
	}
}
Последний раз редактировалось drooje 27 дек 2021, 17:20, всего редактировалось 1 раз.

Теги:
Аватара пользователя
drooje
Сообщения: 2
Зарегистрирован: 18 дек 2020, 18:52

Re: Чек коррекции из 1С Меркурий 185Ф в режиме ФР - вместо безналичной оплаты вышла наличная

Сообщение drooje »

Дополню. В 1С отладчиком пробежался до момента печати (сейчас пробивал возврат прихода по наличке). 1С формируют такую xml на вход драйверу ККТ:

Код: Выделить всё

<?xml version="1.0" encoding="UTF-8"?>
<CheckPackage>
	<Parameters CashierName="Бородина Елена Валерьевна" CashierINN="232901071742" OperationType="2" TaxationSystem="5" SaleAddress="160022 Вологодская обл. Вологодский р-н. д.Родионцево д. 66" SaleLocation="Основной склад " CustomerEmail="" CustomerPhone="">
		<CorrectionData Type="0" Date="2021-03-23T00:00:00" Number="0" Description="Неприменение ККТ"/>
		<AgentData/>
		<VendorData/>
	</Parameters>
	<Positions>
		<FiscalString Name="" Quantity="1" PriceWithDiscount="100300" AmountWithDiscount="100300" DiscountAmount="0" Department="0" VATRate="none" VATAmount="0" PaymentMethod="4" CalculationSubject="1" MeasurementUnit="" ExciseAmount="0">
			<AgentData/>
			<VendorData/>
		</FiscalString>
	</Positions>
	<Payments Cash="100300" ElectronicPayment="0" PrePayment="0" PostPayment="0" Barter="0"/>
</CheckPackage>
Тож же возврат прихода, но уже с оплатой по безналу:

Код: Выделить всё

<?xml version="1.0" encoding="UTF-8"?>
<CheckPackage>
	<Parameters CashierName="Бородина Елена Валерьевна" CashierINN="232901071742" OperationType="2" TaxationSystem="5" SaleAddress="160022 Вологодская обл. Вологодский р-н. д.Родионцево д. 66" SaleLocation="Основной склад " CustomerEmail="" CustomerPhone="">
		<CorrectionData Type="0" Date="2021-03-23T00:00:00" Number="0" Description="Неприменение ККТ"/>
		<AgentData/>
		<VendorData/>
	</Parameters>
	<Positions>
		<FiscalString Name="" Quantity="1" PriceWithDiscount="100300" AmountWithDiscount="100300" DiscountAmount="0" Department="0" VATRate="none" VATAmount="0" PaymentMethod="4" CalculationSubject="1" MeasurementUnit="" ExciseAmount="0">
			<AgentData/>
			<VendorData/>
		</FiscalString>
	</Positions>
	<Payments Cash="0" ElectronicPayment="100300" PrePayment="0" PostPayment="0" Barter="0"/>
</CheckPackage>
Я так понимаю, 1С на вход подаёт верные данные. Но на выходе в ККТ в случае оплаты наличными выходит так:

Код: Выделить всё

[16:59:22.718] Client::on_msg_read() get msg from client str-buffer -  {"sessionKey":"165241-3572321540","command":"CloseCheck","payment":{"cash":10030000}} 
А если безнал, то так:

Код: Выделить всё

{"sessionKey":"115054-3554214461","command":"CloseCheck","payment":{"cash":0}} 
Из описания API, понял, что если оплата "payment" в JSON передана в кол-ве 0, то считается по-умолчанию, что вид оплаты наличными.
Пример из документашки по API:

Код: Выделить всё

{
”sessionKey”: ”CAC1A797-6A48-474A-A08E-72A8CD3AEFE2”,
”command”: ”CloseCheck”,
”sendCheckTo”: ”buyer@somedomen.ru”,
”addInfo”: ”Текст с доп. информацией”,
”payment”: {
”cash”: 5000,
”ecash”: 300,
”prepayment”: 0,
”credit”: 0,
”consideration”: 0
}
}
Выходит у меня при оплате безналом не заполнилось поле "ecash", и касса считает что это оплата наличными.
Ответить