не указан ИНН продавца

Mini web-сервер для печати чеков на фискальных регистраторах из мобильных приложений через HTTP запрос JSON.
Audim
Администратор
Сообщения: 2395
Зарегистрирован: 17 мар 2015, 18:36

Re: не указан ИНН продавца

Сообщение Audim » 13 ноя 2017, 16:16

Вот текст вашей команды из логов которые прислали:

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

{
	"Command": "RegisterCheck",
	"NumDevice": "1",
	"InnKkm": "",
	"KktNumber": "",
	"Timeout": "30",
	"IdCommand": "a445a203-00c5-9879-dab7-d64b31e8248a",
	"IsFiscalCheck": true,
	"typeCheck": 0,
	"CancelOpenedCheck": true,
	"NotPrint": false,
	"CashierName": "Developer S.A.",
	"ClientAddress": "",
	"TaxVariant": "2",
	"CheckProps": [],
	"AdditionalProps": [],
	"CheckStrings": [{
		"Register": {
			"Name": "Торт «Ванька кучерявый» 1кг",
			"Quantity": 1,
			"CashierVATIN": "7415046679",
			"Price": 350,
			"SignCalculationObject": "1",
			"signMethodCalculation": "4",
			"Amount": 350,
			"Department": "1",
			"Tax": "0",
			"EAN13": "1254789547853"
		}
	}],
	"Cash": 0,
	"CashLessType1": 350,
	"CashLessType2": 0,
	"CashLessType3": 0
}
Явно "CashierVATIN" не на месте!!!!

sergey
Сообщения: 17
Зарегистрирован: 03 ноя 2017, 12:40

Re: не указан ИНН продавца

Сообщение sergey » 14 ноя 2017, 11:06

Audim писал(а):Вот текст вашей команды из логов которые прислали:

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

{
	"Command": "RegisterCheck",
	"NumDevice": "1",
	"InnKkm": "",
	"KktNumber": "",
	"Timeout": "30",
	"IdCommand": "a445a203-00c5-9879-dab7-d64b31e8248a",
	"IsFiscalCheck": true,
	"typeCheck": 0,
	"CancelOpenedCheck": true,
	"NotPrint": false,
	"CashierName": "Developer S.A.",
	"ClientAddress": "",
	"TaxVariant": "2",
	"CheckProps": [],
	"AdditionalProps": [],
	"CheckStrings": [{
		"Register": {
			"Name": "Торт «Ванька кучерявый» 1кг",
			"Quantity": 1,
			"CashierVATIN": "7415046679",
			"Price": 350,
			"SignCalculationObject": "1",
			"signMethodCalculation": "4",
			"Amount": 350,
			"Department": "1",
			"Tax": "0",
			"EAN13": "1254789547853"
		}
	}],
	"Cash": 0,
	"CashLessType1": 350,
	"CashLessType2": 0,
	"CashLessType3": 0
}
Явно "CashierVATIN" не на месте!!!!
Хорошо, но в js он указывается сразу же после имени кассира, почему он попадает в секцию с описанием товара? Ведь имя кассира в логе команды находится там, где нужно.

Audim
Администратор
Сообщения: 2395
Зарегистрирован: 17 мар 2015, 18:36

Re: не указан ИНН продавца

Сообщение Audim » 14 ноя 2017, 13:37

Чтобы понять надо проверять Ваш код, которого у нас нет.

sergey
Сообщения: 17
Зарегистрирован: 03 ноя 2017, 12:40

Re: не указан ИНН продавца

Сообщение sergey » 14 ноя 2017, 14:51

Audim писал(а):Чтобы понять надо проверять Ваш код, которого у нас нет.
Наверное, с моей стороны это наглость, но выкладываю :D
Хотел приложить файлом, но ни txt, ни тем более js не разрешены, поэтому копирую прямо сюда:

if (print_check == 1) {
var paid = new Object();
paid = req.responseJS.new_paid;
var paid_goods = new Object();
paid_goods = req.responseJS.new_paid_goods;
var cashier_name = req.responseJS.cashier_name;
var check_settings = new Object();
check_settings = req.responseJS.check_settings;
var all_product_code = new Object();
all_product_code = req.responseJS.product_code;
console.log(check_settings);
var debug = (check_settings.debug[0] == 1) ? true : false;
var cancel_opened_check = (check_settings.cancel_opened_check[0] == 1) ? true : false;
var is_fiscal_check = (check_settings.is_fiscal_check[0] == 1) ? true : false;

var options = {
serverUrl: check_settings.server_url[0],
serverLogin: check_settings.server_login[0],
serverPassword: check_settings.server_password[0],
numDevice: check_settings.num_device[0],
kktNumber: check_settings.kkt_number[0],
kktInn: check_settings.kkt_inn[0],
timeout: check_settings.timeout[0],
isFiscalCheck: is_fiscal_check,
cancelOpenedCheck: cancel_opened_check,
clientAddress: '',
taxVariant: check_settings.tax_variant[0],
storeINN: check_settings.store_inn[0],
storeKPP: check_settings.store_kpp[0],
debug: debug,
cashierName: cashier_name,
cashierVATIN: "7415046679",
// Признак способа расчета. Определяется в зависимости от вида продажи и степени оплаты ТК
signMethodCalculation: req.responseJS.method_calculation,
storeAddress: check_settings.store_address[0],
storeTel: check_settings.store_tel[0],
storeEmail: check_settings.store_email[0]
};
console.log(options);
var crm = new CRM(options);
if (paid_goods) {
if (paid_goods.id.length > 0) {
var cash_value = 0;
var cashLessType1_value = 0;
for (i = 0; i < paid_goods.id.length; i++) {
var amount = paid_goods.price * Number(paid_goods.count);
var discount = (paid_goods.price / 100) * paid_goods.discount;
if (discount != 0) {
amount = (paid_goods.price - discount) * Number(paid_goods.count);
}
var product_code = '';
if (all_product_code) {
if (all_product_code.length > 0) {
if (product_code != 0) {
product_code = ' (' + all_product_code + ')';
}
}
}
if (paid_goods.payment == 0) {
cash_value += amount;
} else {
cashLessType1_value += amount;
}
crm.addGood({
Register: {
Name: paid_goods.name[i] + product_code,
// Количество товара
Quantity: Number(paid_goods.count[i]),
CashierVATIN: "7415046679",
// Цена за шт. без скидки
Price: Number(paid_goods.price[i]),
// Признак предмета расчета. Он всегда "Товар", т.е. == 1
SignCalculationObject: req.responseJS.calculation_object,
// Конечная сумма строки с учетом всех скидок/наценок;
// Признак способа расчета. Определяется в зависимости от вида продажи и степени оплаты ТК
signMethodCalculation: req.responseJS.method_calculation,
Amount: Number(amount),
// Отдел, по которому ведется продажа
Department: check_settings.department[0],
// НДС в процентах или ТЕГ НДС: 0 (НДС 0%), 10 (НДС 10%), 18 (НДС 18%), -1 (НДС не облагается)
Tax: check_settings.tax[0],
//Штрих-код EAN13 для передачи в ОФД (не печатется)
EAN13: "654467897654"
}
/*BarCode: {
// Тип штрих-кода: "EAN13", "CODE39", "CODE128", "QR", "PDF417".
BarcodeType: "EAN13",
// Значение штрих-кода
Barcode: "1343665434567"
}*/
});
}
crm.cash = cash_value;
crm.cashLessType1 = cashLessType1_value;
crm.registerCheck();
}
}
$('#sales_payment').removeAttr('disabled');
}

Параметр CashierVATIN прописан в двух блоках сразу для тестирования, оставлял и в одном из двух, все равно сервер его не видит. Буду ОЧЕНЬ благодарен, если поможете!

Audim
Администратор
Сообщения: 2395
Зарегистрирован: 17 мар 2015, 18:36

Re: не указан ИНН продавца

Сообщение Audim » 14 ноя 2017, 16:55

Да зачем CashierVATIN в Register ? Для каких целей отладки Вы это туда вставляете?
Зачем signMethodCalculation на первом уровне?

Куда девается CashierVATIN не понятно.Проходите отладчиком все строки до момента отдачи запрос и смотрите в какой момент уничтожается CashierVATIN

Ответить