Skip to content

Commit

Permalink
в процессе
Browse files Browse the repository at this point in the history
  • Loading branch information
Muraveiko committed Jun 27, 2017
1 parent 05a2af6 commit 80e4889
Show file tree
Hide file tree
Showing 2 changed files with 158 additions and 1 deletion.
127 changes: 127 additions & 0 deletions example/server.html
@@ -0,0 +1,127 @@
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Основные команды</title>

<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="../docs/styles/sunlight.default.css">
<link type="text/css" rel="stylesheet" href="../docs/styles/site.Cerulean.css">

<script src="../src/kkmserver.js"></script>
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top ">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand" href="index.html">Примеры KkmServer API</a>
<button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#topNavigation">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>

</div>
</div>


<div class="container">
<div class="col-md-12">
<div id="main">
<h1>Взаимодействие с сервером</h1>


<div class="row">
<div class="col-md-6">
<p>
<button onclick="Kkm.doOpenShift()" >Открытие смены</button> <i>Kkm.doOpenShift()</i>
</p>
</div>
<div class="col offset-md-1 col-md-5">
<h4>Статус:</h4>
<p id="Status"></p>
<h4>Ошибка:</h4>
<p id="Error"></p>
<h4>Запрос к АПИ:</h4>
<p id="Request" style="white-space:pre;"></p>

<h4>Ответ сервера:</h4>
<p id="Responce" style="white-space:pre;"></p>

</div>


</div>

<p><a href="printslip.html">печать произвольного документа</a></p>
</div>
</div>
</div>
<footer>


<span class="copyright">
&copy; 2017 Oleg Muraveyko
</span>

</footer>

<script>
/**
* Функция вызываемая после обработки команды - обработка возвращаемых данных
* @param {KkmResponse} Rezult
*/
function ExecuteSuccess(Rezult) {
document.getElementById('Error').textContent = '';
document.getElementById('Responce').textContent = '';
document.getElementById('Request').textContent = '';
document.getElementById('Status').textContent = '';

var Responce = "";
if (Rezult.Status === 0) {
document.getElementById('Status').textContent = "Ok";
} else if (Rezult.Status === 1) {
document.getElementById('Status').textContent = "Выполняется";
} else if (Rezult.Status === 2) {
document.getElementById('Status').textContent = "Ошибка";
} else if (Rezult.Status === 3) {
document.getElementById('Status').textContent = "Данные не найдены!";
}


// Текст ошибки
if (Rezult.Error !== undefined && Rezult.Error !== "") {
document.getElementById('Error').textContent = Rezult.Error;
}

if (Rezult !== undefined) {
Responce = JSON.stringify(Rezult, null, 4);
}

document.getElementById('Responce').textContent = Responce;
document.getElementById('Request').textContent = JSON.stringify(Kkm.lastCommand, null, 4);

}

/**
* Получаем информацию о подключенных устройствах
* @param {KkmResponse} Rezult
* @constructor
*/
function ExecuteGetList(Rezult){
Rezult.ListUnit.forEach(function (unit) {
alert(unit.NameOrganization);
});
}

// Инитим
Kkm = new KkmServer('Admin', '').hookAjaxSuccess(ExecuteSuccess);
// навесить персональный обработчик можно через KkmServer.execute()
Kkm.execute(Kkm.CommandList(),ExecuteGetList);

</script>
</body>
</html>
32 changes: 31 additions & 1 deletion src/kkmserver.js
Expand Up @@ -180,6 +180,35 @@ function KkmCommandList() {
this.FN_IsFiscal = null;
}

/**
* Информация об одном устройстве в списке подключенных
* @class
*
* @property {number} NumDevice
* @property {string} IdDevice
* @property {boolean} OnOff
* @property {boolean} Active
* @property {string} TypeDevice
* @property {string} IdTypeDevice
* @property {string} IP
* @property {string} NameDevice
* @property {string} UnitName
* @property {string} KktNumber - Заводской номер кассового аппарата
* @property {string} INN - ИНН организации
* @property {string} NameOrganization - Наименование организации
* @property {number} TaxVariant
* @property {string} AddDate
* @property {string} OFD_Error
* @property {number} OFD_NumErrorDoc
* @property {string} OFD_DateErrorDoc
* @property {string} FN_DateEnd
* @property {boolean} FN_MemOverflowl
* @property {boolean} FN_IsFiscal
* @property {boolean} PaperOver
*/
function KkmUnit(){

}

/**
* Ответ API
Expand Down Expand Up @@ -230,6 +259,7 @@ function KkmCommandList() {
* @property {string} Info.LessType3 - Название 3 типа безналичных расчетов
* @property {string} Info.LicenseExpirationDate
* @property {KkmResponse} Rezult - ответ на запрос о выполнении команды
* @property {KkmUnit[]} ListUnit Список подключенных устройств
*/
function KkmResponse(Command, IdCommand, Status, Error) {
/**
Expand Down Expand Up @@ -531,7 +561,7 @@ function KkmServer(user, password, urlServer) {
};

/**
* Для исполнения команды будет использована ккт с этим регистрационным номером
* Для исполнения команды будет использована ккт с этим заводским номером
* @param {string} kktNumber
* @returns {KkmServer}
*/
Expand Down

0 comments on commit 80e4889

Please sign in to comment.