Установил kkmserver, есть самописная программа учёта. Как их связать?
-
- Сообщения: 5
- Зарегистрирован: 05 июн 2019, 18:06
Установил kkmserver, есть самописная программа учёта. Как их связать?
Возникла потребность внедрить кассу в магазине. Программа учёта самописная. Программа писалась много лет по мере роста потребностей. Сейчас надо дописать работу с кассой. Автор - я.
Написано на Visual Basic.
В результате поисков установил kkmserver.
Из настроек сервера все вроде печатается (примеры), но хотелось бы немного изменить вывод на печать... но это детали.
Вопрос: что надо сделать в программе учёта чтобы можно было печатать чеки через kkmserver на кассу Атол 30Ф?
Помогите пожалуйста.
P. S. :
Касса пока без фискального регистратора, взята на "попробовать".
Я не программист - так нахватался по верхам.
Написано на Visual Basic.
В результате поисков установил kkmserver.
Из настроек сервера все вроде печатается (примеры), но хотелось бы немного изменить вывод на печать... но это детали.
Вопрос: что надо сделать в программе учёта чтобы можно было печатать чеки через kkmserver на кассу Атол 30Ф?
Помогите пожалуйста.
P. S. :
Касса пока без фискального регистратора, взята на "попробовать".
Я не программист - так нахватался по верхам.
Re: Установил kkmserver, есть самописная программа учёта. Как их связать?
Так это обычный HTTP.
Посылаете методы HTTP, а в теле запроса передаете JSON как указано в документации KKM-сервера.
Посылаете методы HTTP, а в теле запроса передаете JSON как указано в документации KKM-сервера.
Re: Установил kkmserver, есть самописная программа учёта. Как их связать?
Примеры на JavaScript использующие расширение для браузера: https://kkmserver.ru/AddIn#Primer
Пример странички на html использующее расширение для браузера: https://kkmserver.ru/AddIn/SamplesAddIn.html
Примеры на JavaScript: https://kkmserver.ru/KkmServer#Primer
Пример странички на html: https://kkmserver.ru/KkmServer/SamplesAjax.html
Пример странички на html использующее расширение для браузера: https://kkmserver.ru/AddIn/SamplesAddIn.html
Примеры на JavaScript: https://kkmserver.ru/KkmServer#Primer
Пример странички на html: https://kkmserver.ru/KkmServer/SamplesAjax.html
-
- Сообщения: 5
- Зарегистрирован: 05 июн 2019, 18:06
Re: Установил kkmserver, есть самописная программа учёта. Как их связать?
Да, я понимаю что я установил обычный HTTP сервер на который можно отправлять, наверное, POST запросы. А что в них передавать ?
Вот есть пример html (https://kkmserver.ru/KkmServer/SamplesAjax.html).
Я так понимаю, что для печати чека мне нужно передать в POST запросе на http://localhost:5893 текст функции RegisterCheck(NumDevice, TypeCheck, IsBarCode) с заполненными там где надо этими переменными NumDevice, TypeCheck, IsBarCode и прописанными моими данными кассира, названия ООО, ИНН (к стати не нашел где его вписать), заполненными данными товаров и т.д.
Правильно ?
Или в программе в соответствии с функцией RegisterCheck набрать переменную "Data" и отправить в POST просто "ExecuteCommand(Data)" ?
Расширение для браузера пока не хочу использовать, у меня тут и так получается целый огород вспомогательных костылей...
И, к стати, на сайте я нигде не нашел чего то типа инструкции для подобных моей ситуаций... хотя наверняка я не один с такой проблемой (какая то программа учета и kkmserver).
Вот есть пример html (https://kkmserver.ru/KkmServer/SamplesAjax.html).
Я так понимаю, что для печати чека мне нужно передать в POST запросе на http://localhost:5893 текст функции RegisterCheck(NumDevice, TypeCheck, IsBarCode) с заполненными там где надо этими переменными NumDevice, TypeCheck, IsBarCode и прописанными моими данными кассира, названия ООО, ИНН (к стати не нашел где его вписать), заполненными данными товаров и т.д.
Правильно ?
Или в программе в соответствии с функцией RegisterCheck набрать переменную "Data" и отправить в POST просто "ExecuteCommand(Data)" ?
Расширение для браузера пока не хочу использовать, у меня тут и так получается целый огород вспомогательных костылей...
И, к стати, на сайте я нигде не нашел чего то типа инструкции для подобных моей ситуаций... хотя наверняка я не один с такой проблемой (какая то программа учета и kkmserver).
Re: Установил kkmserver, есть самописная программа учёта. Как их связать?
>Я так понимаю, что для печати чека мне нужно передать в POST запросе на http://localhost:5893
Нет, смотрите в примере функцию ExecuteCommand, передавать на адрес "http://localhost:5893/Execute"
>Или в программе в соответствии с функцией RegisterCheck набрать переменную "Data" и отправить в POST просто "ExecuteCommand(Data)"
Data превращается в ExecuteCommand в текст JSON вызовом: JSon = $.toJSON(Data);
Так что в теле запроса передается текст JSON.
Объект Data - это просто способ в JavaScript собрать правильный JSON
>Расширение для браузера пока не хочу использовать, у меня тут и так получается целый огород вспомогательных костылей...
И очень зря - потом поимеете проблемы с кросс-доменными вызовами - клиентам будет тяжело свою сетку настраивать...
Нет, смотрите в примере функцию ExecuteCommand, передавать на адрес "http://localhost:5893/Execute"
>Или в программе в соответствии с функцией RegisterCheck набрать переменную "Data" и отправить в POST просто "ExecuteCommand(Data)"
Data превращается в ExecuteCommand в текст JSON вызовом: JSon = $.toJSON(Data);
Так что в теле запроса передается текст JSON.
Объект Data - это просто способ в JavaScript собрать правильный JSON
>Расширение для браузера пока не хочу использовать, у меня тут и так получается целый огород вспомогательных костылей...
И очень зря - потом поимеете проблемы с кросс-доменными вызовами - клиентам будет тяжело свою сетку настраивать...
-
- Сообщения: 5
- Зарегистрирован: 05 июн 2019, 18:06
Re: Установил kkmserver, есть самописная программа учёта. Как их связать?
У меня такая ситуация... мне удобно было бы выдавать в каком то виде (POST на сервер например) список товара, его цены, количество, сумму, скидки, ИНН и фамилию кассира... может быть еще что то (вдруг нужно) и получать чек из кассы.
Я не на столько программист, к великому сожалению, чтобы вот так с нуля разобраться в Java и JSON
Может быть есть какой то простой способ передать условно "человеческим языком" kkmserver'у то что он хочет ???
И по поводу расширения для браузера... может быть оно ближе по требованиям к исходным данным к моим возможностям ?
"Кросс-доменные вызовы" - для меня вообще темный лес... У меня один магазин, 4 компа и одна касса, товара правда дофига и из за этого пришлось корячить самопальную универсальную систему поиска которая доросла до необходимости печатать чеки. И мне хочется просто нажать в накладной кнопку и вылез чек, user frendly так сказать...
Я не на столько программист, к великому сожалению, чтобы вот так с нуля разобраться в Java и JSON
Может быть есть какой то простой способ передать условно "человеческим языком" kkmserver'у то что он хочет ???
И по поводу расширения для браузера... может быть оно ближе по требованиям к исходным данным к моим возможностям ?
"Кросс-доменные вызовы" - для меня вообще темный лес... У меня один магазин, 4 компа и одна касса, товара правда дофига и из за этого пришлось корячить самопальную универсальную систему поиска которая доросла до необходимости печатать чеки. И мне хочется просто нажать в накладной кнопку и вылез чек, user frendly так сказать...
Re: Установил kkmserver, есть самописная программа учёта. Как их связать?
Какой язык разарботки?
Какая среда выполнения? Браузер? или Свое приложение exe ?
Какая среда выполнения? Браузер? или Свое приложение exe ?
-
- Сообщения: 5
- Зарегистрирован: 05 июн 2019, 18:06
Re: Установил kkmserver, есть самописная программа учёта. Как их связать?
Программа написана на Visual basic 6.0. Это .exe, на каждом компьютере одинаковый, все данные лежат на Ms SQL сервере.
К этому exe'шнику могу дописать какую нибудь выдачу необходимых данных.
К этому exe'шнику могу дописать какую нибудь выдачу необходимых данных.
Re: Установил kkmserver, есть самописная программа учёта. Как их связать?
Вот текст команды регистрации чека:
Сделайте http вызов:
- URL http://localhost:5893/Execute
- Метод POST
- Пароль/Логи по умолчанию "User"/"", метод авторизации "Basic" (Если нет штатной реализации то заголовок "Authorization", значение = "Basic " + ФункцияКодированияBase64("User:")
- В тело запроса установите текст команды выше
Собственно все
Код: Выделить всё
{
Command: "RegisterCheck",
NumDevice: 1,
IsFiscalCheck: true,
TypeCheck: 0,
NotPrint: false, //true,
CashierName: "Kазакова Н.А.",
CashierVATIN: "430601071197",
ClientAddress: "sochi@papa.com",
SenderEmail: "sochi@mama.com",
TaxVariant: "",
CheckStrings: [
{
Register: {
Name: "Сапоги женские DF-3099-1",
Quantity: 3,
Price: 100,
Amount: 100.00,
Tax: 20,
SignMethodCalculation: 4,
SignCalculationObject: 1,
}
}
],
Cash: 100,
ElectronicPayment: 0.00,
AdvancePayment: 0,
Credit: 0,
CashProvision: 0,
}
- URL http://localhost:5893/Execute
- Метод POST
- Пароль/Логи по умолчанию "User"/"", метод авторизации "Basic" (Если нет штатной реализации то заголовок "Authorization", значение = "Basic " + ФункцияКодированияBase64("User:")
- В тело запроса установите текст команды выше
Собственно все
-
- Сообщения: 5
- Зарегистрирован: 05 июн 2019, 18:06
Re: Установил kkmserver, есть самописная программа учёта. Как их связать?
СПАСИБО!!!
Практически все работает, только не могу понять следующее: в шаблоне не фискального чека прописал
там же уже было
В коде своей программы указал
В результате в чеке печатается слово "Организация:", дальше пусто.
слово "Адрес:", дальше пусто
ИНН организации вообще ни слова ни самого ИНН не печатается.
Почему ?
P.S. фискального регистратора у меня пока не установлено, может быть с этим связано ?
Практически все работает, только не могу понять следующее: в шаблоне не фискального чека прописал
Код: Выделить всё
0|Организация:<#0#>'NameOrganization'
0|Адрес:<#0#>'AddressSettle'
Код: Выделить всё
ИНН:'InnOrganization'
Код: Выделить всё
NameOrganization: "ООО Трали-Вали",
InnOrganization: "1234567890",
AddressSettle: "Снеговая, 1, стр 9",
слово "Адрес:", дальше пусто
ИНН организации вообще ни слова ни самого ИНН не печатается.
Почему ?
P.S. фискального регистратора у меня пока не установлено, может быть с этим связано ?