Подскажите с примером на PHP
Подскажите с примером на PHP
Не могу разобраться с чего начать. Имеется самописная система на PHP, сервер стоит локальный. Данные чеков хранятся в БД MySQL. Ваша тестовая страница, запущенная на нашем сервере работает - печатает чеки. Товар вручную вбитый в скрипт выводится на чек. Как нам соединить php с вашим сервером.
Запрос на php к нашей БД такой:
$str = mysql_query(SELECT * FROM kassa WHERE num_zak=123);
while($tabl = mysql_fetch_array($str)) {
//Вывод проданных товаров в заказе
}
Запрос на php к нашей БД такой:
$str = mysql_query(SELECT * FROM kassa WHERE num_zak=123);
while($tabl = mysql_fetch_array($str)) {
//Вывод проданных товаров в заказе
}
Re: Подскажите с примером на PHP
Как я понял команду на регистрацию чека хотите отправить из PHP (а не со страницы в браузере через JS) ?
Тогда надо спрашивать PHP-шников - как сделать HTTP POST запрос....
Я сам не знаю PHP.
Тогда надо спрашивать PHP-шников - как сделать HTTP POST запрос....
Я сам не знаю PHP.
Re: Подскажите с примером на PHP
Да правильно поняли, но в принципе можно и через JS. Но я так понимаю, что средствами JS не возможно прямое обращение к БД.
Re: Подскажите с примером на PHP
Сам разобрался, как передать массив товаров из php в JS.
var mastov = <?php echo json_encode($mas_tov); ?>;
var mastov = <?php echo json_encode($mas_tov); ?>;
Re: Подскажите с примером на PHP
Ребята подскажите где ошибка, написал следующий код на JS, но ККТ молчит, чек не выдает.
// Печать чеков
function RegisterCheck(NumDevice, TypeCheck, IsBarCode) {
var StrReg = new Object();
var CheckStrings = [];
StrReg =
{ Register:
{
Name: "товар",
Quantity: 1,
Price: 0,01,
Amount: 0,01,
Department: 0,
Tax: -1,
EAN13: "9254789547853",
SignMethodCalculation: 4,
SignCalculationObject: 1,
},
};
CheckStrings.push(StrReg);
// Подготовка данных команды
var Data = {
Command: "RegisterCheck",
NumDevice: NumDevice,
InnKkm: "",
KktNumber: "00106702321083",
Timeout: 30,
IdCommand: guid(),
IsFiscalCheck: true,
TypeCheck: TypeCheck,
NotPrint: false,
NumberCopies: 0,
CashierName: "Федоров А.С.",
CashierVATIN: "950602110121",
ClientAddress: "client@server.ru",
SenderEmail: "mail@magazin.ru",
TaxVariant: "2",
AdditionalProps: [
{ Print: true, PrintInHeader: false, NameProp: "Дата транзакции", Prop: "10.11.2016 10:30" },
],
CheckStrings: CheckStrings,
Cash: 1,
ElectronicPayment: 0.00,
AdvancePayment: 0,
Credit: 0,
CashProvision: 0,
};
ExecuteCommand(Data);
}
// Печать чеков
function RegisterCheck(NumDevice, TypeCheck, IsBarCode) {
var StrReg = new Object();
var CheckStrings = [];
StrReg =
{ Register:
{
Name: "товар",
Quantity: 1,
Price: 0,01,
Amount: 0,01,
Department: 0,
Tax: -1,
EAN13: "9254789547853",
SignMethodCalculation: 4,
SignCalculationObject: 1,
},
};
CheckStrings.push(StrReg);
// Подготовка данных команды
var Data = {
Command: "RegisterCheck",
NumDevice: NumDevice,
InnKkm: "",
KktNumber: "00106702321083",
Timeout: 30,
IdCommand: guid(),
IsFiscalCheck: true,
TypeCheck: TypeCheck,
NotPrint: false,
NumberCopies: 0,
CashierName: "Федоров А.С.",
CashierVATIN: "950602110121",
ClientAddress: "client@server.ru",
SenderEmail: "mail@magazin.ru",
TaxVariant: "2",
AdditionalProps: [
{ Print: true, PrintInHeader: false, NameProp: "Дата транзакции", Prop: "10.11.2016 10:30" },
],
CheckStrings: CheckStrings,
Cash: 1,
ElectronicPayment: 0.00,
AdvancePayment: 0,
Credit: 0,
CashProvision: 0,
};
ExecuteCommand(Data);
}
Re: Подскажите с примером на PHP
На страничке настроек сервера зайдите в меню "Логи команд", найдите там строку с ошибкой по этому чеку, и все со странички лога пришлите сюда текстом...
Re: Подскажите с примером на PHP
На код выше , который я написал, нет логов. Если делать на базе вашего примера и задавать явно CheckStrings, то логи нормальные.
Re: Подскажите с примером на PHP
Сам полностью разобрался. Вот пример кода запроса из php на ККМ сервер:
<?php
$n=0;
// Какой нибудь цикл
$pos=0;
$mas_tov [$n][$pos] = $name; $pos++;
$mas_tov [$n][$pos] = 10; $pos++;
$mas_tov [$n][$pos] = 2; $pos++;
$mas_tov [$n][$pos] =2670009694050;
$n++;
?>
JS
// Переводим через JSON массив данных
var mastov = <?php echo json_encode($mas_tov); ?>;
var StrReg=new Object();
var CheckStrings = [];
var i = 0;
for (i=0;i<mastov.length;i++) {
StrReg =
{ Register:
{
Name: mastov[0],
Quantity: mastov[2],
Price: mastov[1],
Amount: mastov[1]*mastov[2],
Department: 0,
Tax: -1,
EAN13: mastov[3],
SignMethodCalculation: 4,
SignCalculationObject: 1,
},
};
CheckStrings.push(StrReg);
}
.....
////////////////////////////////////////////////
Далее присваиваем значение
var Data = {
.....
CheckStrings: CheckStrings,
.....
<?php
$n=0;
// Какой нибудь цикл
$pos=0;
$mas_tov [$n][$pos] = $name; $pos++;
$mas_tov [$n][$pos] = 10; $pos++;
$mas_tov [$n][$pos] = 2; $pos++;
$mas_tov [$n][$pos] =2670009694050;
$n++;
?>
JS
// Переводим через JSON массив данных
var mastov = <?php echo json_encode($mas_tov); ?>;
var StrReg=new Object();
var CheckStrings = [];
var i = 0;
for (i=0;i<mastov.length;i++) {
StrReg =
{ Register:
{
Name: mastov[0],
Quantity: mastov[2],
Price: mastov[1],
Amount: mastov[1]*mastov[2],
Department: 0,
Tax: -1,
EAN13: mastov[3],
SignMethodCalculation: 4,
SignCalculationObject: 1,
},
};
CheckStrings.push(StrReg);
}
.....
////////////////////////////////////////////////
Далее присваиваем значение
var Data = {
.....
CheckStrings: CheckStrings,
.....