Большое обновление kkmserver/unitserver/kkmfactory

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

Большое обновление kkmserver/unitserver/kkmfactory

Сообщение Audim » 14 авг 2017, 22:01

Большое обновление kkmserver/unitserver/kkmfactory:
Добавленна поддержка ФФД 1.05.

Для использования ФФД 1.05 необходимо:
- Согласовать с вашим ОФД переход на ФФД 1.05 (не все ОФД пока поддерживают ФФД 1.05)
- ККТ Штрих-М обновить прошивку до версии не ниже 12.07.2017
- ККТ Атол - официальных прошивок пока нет, когда появятся - не ниже 4393
- Изменить в вашей учетной системе вызовы kkmserver/unitserver/kkmfactory до нового API 1.05.
- Сделать перерегистрацию ККТ (кроме стар-русов) с командой "Смена настроек ККТ", в данных выбрать формат ФФД 1.05

Изменения в новом API 1.05 по сравнению с API 1.0:

1. команда "RegisterCheck" - чек прихода-расхода-возврата:
- добавлено обязательное поле "CashierVATIN" - ИНН продавца
- добавлено не обязательное поле "SenderEmail" - Aдрес электронной почты отправителя чека
- убран массив "CheckProps" - теги из этого разделе перемещены в поле "AgentData" фискальной строки
- убраны поля "CashLessType1", "CashLessType2", "CashLessType3"
- Добавлены поле "ElectronicPayment" - Сумма электронной оплаты
- Добавлены поле "AdvancePayment" - Сумма из предоплаты (зачетом аванса)
- Добавлены поле "Credit" - Сумма постоплатой(в кредит)
- Добавлены поле "CashProvision" - Сумма оплаты встречным предоставлением (сертификаты, тара, др. мат. ценности)

- в фискальной строке добавлены поля:
- "SignMethodCalculation" - Признак способа расчета, обязательно!
- "SignCalculationObject" - Признак предмета расчета, обязательно!
- "MeasurementUnit" - Единица измерения предмета расчета
- "NomenclatureCode" - Код товарной номенклатуры (Новый классификатор товаров и услуг. Пока не утвержден налоговой.)
- "AgentSign" - Признак агента
- "AgentData" - Данные агента (если указан AgentSign)
- "PurveyorData" - Признак поставщика (если указан AgentSign)
В возвращаемых данных:
- в поле "URL" будет возвращаться ссылка на чек в ОФД (для тех ОФД для которых можно сформировать такую ссылку)
- в поле "QRCode" будет возвращаться данные, которые закодированы в QR коде на чеке (ранее это возвращалось в поле "URL")


3. команда "RegisterCheck" - чек коррекции:
- добавлено обязательное поле "CorrectionBaseName" - Наименование основания для коррекции
- добавлено обязательное поле "CorrectionBaseDate" - Дата документа основания для коррекции
- добавлено обязательное поле "CorrectionBaseNumber" - Номер документа основания для коррекции

- добавлено поле "Amount" - Сумма расчета
- добавлено поле "Cash" - Сумма коррекции Наличной оплаты
- добавлено поле "ElectronicPayment" - Сумма коррекции электронной оплаты
- добавлено поле "AdvancePayment" - Сумма коррекции предоплаты (зачетом аванса)
- добавлено поле "Credit" - Сумма коррекции постоплатой(в кредит)
- добавлено поле "CashProvision" - Сумма коррекции встречным предоставлением
- добавлено поле "SumTaxNone" - Сумма коррекции НДС чека по ставке Без НДС
- добавлено поле "SumTax18" - Сумма коррекции НДС чека по ставке 18%
- добавлено поле "SumTax10" - Сумма коррекции НДС чека по ставке 10%
- добавлено поле "SumTax0" - Сумма коррекции НДС чека по ставке 0%
- добавлено поле "SumTax118" - Сумма коррекции НДС чека по ставке 18/118%
- добавлено поле "SumTax110" - Сумма коррекции НДС чека по ставке 10/110%

4. Команда "ZReport" заменена на "CloseShift" (налоговая на меня с эти наехала блин)

5. В командах "OpenShift", "CloseShift", "DepositingCash", "PaymentCash"
- необходимо обязательно указывать кассира и его ИНН, поля "CashierName" и "CashierVATIN"

6. В регистрации ККТ
- добавлены поля "CashierName" и "CashierVATIN"
- добавлено поле "PlaceSettle" - место установки ККТ
- добавлено поле "SenderEmail" - - Aдрес электронной почты отправителя чека
- добавлено поле "PrinterAutomatic" - признак установки в автомате
- добавлено поле "AutomaticNumber" - номер автомата
- добавлено поле "SaleExcisableGoods"- признак Продажа подакцизного товара
- добавлено поле "SignOfGambling" - признак проведения азартных игр
- добавлено поле "SignOfLottery" - признак проведения лотереи
- добавлено поле "SignOfAgent" - признаки агета

7. В API расширения браузеров:
- данные для чека надо получать: "KkmServer.GetDataCheck()" (ранее было KkmServer.GetDataCheck_1_0() )
- поменялись некоторые параметры функция (смотрите примеры)

В версиях серверов 2.1.ХХ.ХХ работать будут сразу два API: и 1.0 и 1.05 одновременно.
- При работе по API 1.0 Вы сможете работать только с ККТ поддерживающие только ФФД 1.0
- При работе по API 1.05 Вы сможете работать с ККТ ФФД 1.0 и ФФД 1.05.
- При работе по API 1.05 и ККТ 1.0 все новые (лишние для ФФД 1.0) будут просто отбрасывается.

Добавилась поддержка ККТ PayOnline-01-ФА (http://paykiosk.ru/netpay)
Для Штрих-М поле "NotPrint" можно использовать во всех командах

ВНИМАНИЕ!
Теоритически переход на ФФД 1.05 можно отложить еще на год.
Но есть маленькая засада: пока и производители ККТ и ОФД дают откатываться назад с 1.05 на 1.0.
Но через некоторое время откат назад запретят.
Из этой маленькой засады вырастает большая: Сейчас как правило ККТ отдают клиенту уже зарегистрированными.
И может так получится что клиенту дадут ККТ 1.05 а Ваша система может работать только по 1.0.
И тогда если откатить ККТ на 1.0 у клиента не получится он вообще не сможет работать с ККТ.
Поэтому особо на затягивайте с переходом на API 1.05 - уже через месяц начнется переход на 1.05

Для отладки можете использовать эмулятор ККТ.
Я в нем реализовал регистрацию и работу по разным версиям ФФД.

Примеры нового API
- на сайте описания: https://kkmserver.ru/KkmServer#Primer, https://kkmserver.ru/AddIn#Primer
- на сайте автономная страничка примеров: https://kkmserver.ru/KkmServer/SamplesAjax.html, https://kkmserver.ru/AddIn/SamplesAddIn.html
- в каталоге установки файлы: html\unittest.js и html\Samples.html

epiniguin
Сообщения: 66
Зарегистрирован: 28 мар 2017, 18:36

Re: Большое обновление kkmserver/unitserver/kkmfactory

Сообщение epiniguin » 25 авг 2017, 00:14

- убраны поля "CashLessType1", "CashLessType2", "CashLessType3"
- Добавлены поле "ElectronicPayment" - Сумма электронной оплаты
- Добавлены поле "AdvancePayment" - Сумма из предоплаты (зачетом аванса)
- Добавлены поле "Credit" - Сумма постоплатой(в кредит)
- Добавлены поле "CashProvision" - Сумма оплаты встречным предоставлением (сертификаты, тара, др. мат. ценности)
1. Каким номерам видов оплаты(в Атоле их 1-9) соответствуют эти 4 вида оплат?
2. Получается, что нельзя использовать больше 4 видов оплат, хотя ККМ это поддерживает?
3. В настройках ККТ остались поля " Тип безнал. оплаты 1/2/3". Какую функцию они сейчас выполняют? Кстати на Атол 30Ф они раньше не влияли - название всё равно бралось из настроек самой ККМ.
добавлено обязательное поле "CashierVATIN" - ИНН продавца
На эмуляторе пробовал закрыть смену с API 1.0.
Получаю ошибку "100 : ККТ: Не задан кассир ".
Это потому что я не передаю ИНН?
4. Команда "ZReport" заменена на "CloseShift" (налоговая на меня с эти наехала блин)
Будет ли работать ZREPORT или при обновлении ККМ-сервера надо сразу внести изменения в свою программу?

andrew
Сообщения: 109
Зарегистрирован: 05 июн 2017, 11:41

Re: Большое обновление kkmserver/unitserver/kkmfactory

Сообщение andrew » 25 авг 2017, 03:02

Оставьте пожалуйста для скачивания последнюю версию под 1.0.
У нас например все кассовые аппараты куплены и все они с прошивкой под 1.0. Так что если принудительно не заставят, думаю мы до следующего года переходить на 1.05 не будем.
И думаю, не мы одни такие.

epiniguin
Сообщения: 66
Зарегистрирован: 28 мар 2017, 18:36

Re: Большое обновление kkmserver/unitserver/kkmfactory

Сообщение epiniguin » 25 авг 2017, 13:01

andrew писал(а):Оставьте пожалуйста для скачивания последнюю версию под 1.0.
У нас например все кассовые аппараты куплены и все они с прошивкой под 1.0. Так что если принудительно не заставят, думаю мы до следующего года переходить на 1.05 не будем.
И думаю, не мы одни такие.
У меня 23 кассы с 1.0. Обновил сервер и всё работает без проблем.

andrew
Сообщения: 109
Зарегистрирован: 05 июн 2017, 11:41

Re: Большое обновление kkmserver/unitserver/kkmfactory

Сообщение andrew » 25 авг 2017, 13:40

epiniguin писал(а): У меня 23 кассы с 1.0. Обновил сервер и всё работает без проблем.
Тогда вопросов нет. Я боялся, что что-то менять придется.

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

Re: Большое обновление kkmserver/unitserver/kkmfactory

Сообщение Audim » 25 авг 2017, 13:46

Оставьте пожалуйста для скачивания последнюю версию под 1.0.
У нас например все кассовые аппараты куплены и все они с прошивкой под 1.0. Так что если принудительно не заставят, думаю мы до следующего года переходить на 1.05 не будем.

Так новые версии сервера поддерживают работу как с ККТ 1.0 так и со старым API (который был заточен под ФФД 1.0) в полном объеме.

1. Каким номерам видов оплаты(в Атоле их 1-9) соответствуют эти 4 вида оплат?
Зависит от прошивки и модели, но как правило: 2, 3, 4, 5

2. Получается, что нельзя использовать больше 4 видов оплат, хотя ККМ это поддерживает?
Пока нельзя - в настройках ККТ атола нельзя пока задать вид оплаты (они пока фиксированы). Обещали. Как появится - сделаю больше.

3. В настройках ККТ остались поля " Тип безнал. оплаты 1/2/3". Какую функцию они сейчас выполняют?
Пока только для ФФД 1.0. Но если подправят прошивки - то в будущем собираюсь вернуть "CashLessType1", "CashLessType2", "CashLessType3" - будут как ElectronicPayment с другой надписью в чеке

Кстати на Атол 30Ф они раньше не влияли - название всё равно бралось из настроек самой ККМ.
Ага, они как раз и влияли на эти самые настройки :)

На эмуляторе пробовал закрыть смену с API 1.0.
Получаю ошибку "100 : ККТ: Не задан кассир ".

Была такая ошибка, уже давно исправил - возьмите последнею версию

Будет ли работать ZREPORT или при обновлении ККМ-сервера надо сразу внести изменения в свою программу?
Да, будет конечно работать параллельно с CloseShift

epiniguin
Сообщения: 66
Зарегистрирован: 28 мар 2017, 18:36

Re: Большое обновление kkmserver/unitserver/kkmfactory

Сообщение epiniguin » 25 авг 2017, 15:52

Пока нельзя - в настройках ККТ атола нельзя пока задать вид оплаты (они пока фиксированы). Обещали. Как появится - сделаю больше.
Я на прошивке 3689 через таблицу 12 поменял типы оплат для видов 2 и 3 - был тип электронно, поставил кредит для 2 и иное для 3. Для 1(карта) оставил "электронно". А тексты и раньше давало менять.
И теперь всё отлично попадает раздельно в ОФД, хотя касса и работает по 1.0.
Кстати на Атол 30Ф они раньше не влияли - название всё равно бралось из настроек самой ККМ.
Ага, они как раз и влияли на эти самые настройки :)
У меня не влияет - можно что угодно написать в ККМ-сервере, но в кассе остаётся то, что задано в самой кассе.
Была такая ошибка, уже давно исправил - возьмите последнею версию
У меня фактори 2.1.10.14 - скачал вчера. Видимо для фактори не выложено более новое обновление.

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

Re: Большое обновление kkmserver/unitserver/kkmfactory

Сообщение Audim » 25 авг 2017, 18:23

Я на прошивке 3689 через таблицу 12 поменял типы оплат для видов 2 и 3 - был тип электронно, поставил кредит для 2 и иное для 3. Для 1(карта) оставил "электронно". А тексты и раньше давало менять.
И теперь всё отлично попадает раздельно в ОФД, хотя касса и работает по 1.0.

Пока официальной прошивки с такой возможностью нет. Вообще под 1.05 у Атола пока прошивки официальной нет.

У меня не влияет - можно что угодно написать в ККМ-сервере, но в кассе остаётся то, что задано в самой кассе.
Или Касса не ФН или какая-то другая прога переписывала настройки

Была такая ошибка, уже давно исправил - возьмите последнею версию
У меня фактори 2.1.10.14 - скачал вчера. Видимо для фактори не выложено более новое обновление.

Проверил - все работает. Точно эмулятор зарегин как 1.0?

epiniguin
Сообщения: 66
Зарегистрирован: 28 мар 2017, 18:36

Re: Большое обновление kkmserver/unitserver/kkmfactory

Сообщение epiniguin » 25 авг 2017, 23:13

Audim писал(а): У меня не влияет - можно что угодно написать в ККМ-сервере, но в кассе остаётся то, что задано в самой кассе.
Или Касса не ФН или какая-то другая прога переписывала настройки
Я понял, в чём проблема. ККМ-сервер в настройках ККТ не выдаёт названия типов оплат, которые записаны в кассе, а выдаёт то, что записано в его базе.
Т.е. если в сервере сменить название и сохранить, то эти настройки запишутся в кассу. Но если потом сменить их через драйвер ККМ и зайти снова в смену настроек ККТ в ККМ-сервере, то там останутся прежние названия. Думаю, что было бы правильно, если бы ККМ-сервер показывал актуальные названия типов оплат.
Audim писал(а): Была такая ошибка, уже давно исправил - возьмите последнею версию
У меня фактори 2.1.10.14 - скачал вчера. Видимо для фактори не выложено более новое обновление.

Проверил - все работает. Точно эмулятор зарегин как 1.0?
Эмулятор перешёл ещё из старой версии до обновления. Соответственно - 1.0.
Попробовал сменить на 1.05 - теперь стало выдавать ошибку про кассира и при открытии смены. Сменил обратно на 1.0 - ошибка только при закрытии.
И ещё заметил - ошибку "не задан кассир" сервер выдаёт, но при этом смена открывается/закрывается :-)

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

Re: Большое обновление kkmserver/unitserver/kkmfactory

Сообщение Audim » 26 авг 2017, 02:46

Так ошибку по кассира и должно выдавать.
А вот про ИНН кассира только при 1.05.
???

Ответить