Признак предмета расчета

Печать кассовых и бумажных чеков по занесению платежа в биллинг.

Признак предмета расчета

Сообщение Cobra57 » 22 авг 2018, 14:43

Обновили прошивку, поменяли ФН у ККМ АТОЛ под ФД 1.05

Появилась новая фишка "Признак предмета расчета" и она печатается как "ТОВАР", а надо чтобы печатал "УСЛУГА"

Какой параметр в CashCheck за это отвечает?
В документации не нашел.

А поддержка ККМ утверждает что Признаки предмета расчета должны передаваться из кассового софта.
Cobra57
 
Сообщения: 29
Зарегистрирован: 10 апр 2013, 13:29

Re: Признак предмета расчета

Сообщение dimOn » 22 авг 2018, 15:23

устанавливается в дин.коде в шаблоне чека
в классе Check есть методы:

/** Признак способа расчёта, вообще это атрибут позиции чека, но здесь оно на весь чек задаётся */
public void setPayMethod(int payMethod)

/** Признак предмета расчёта, вообще это атрибут позиции чека, но здесь оно на весь чек задаётся */
public void setPayObject(int payObject)
dimOn
 
Сообщения: 5918
Зарегистрирован: 30 май 2008, 15:51

Re: Признак предмета расчета

Сообщение Cobra57 » 23 авг 2018, 13:52

Обновил Плагин в биллинге и Сервер CashCheck от 03.08.2018 19:49:21

Начал печатать за место ТОВАР - УСЛУГА, все норм.

public void setPayObject(int payObject) - меняет Предмет расчета.

public void setPayMethod(int payMethod) - не понял на что влияет, на чеке не отражается.

Появилась другая проблема, все чеки печатает со скидкой 100%

т.е. на всех чеках ИТОГ:0

Не пойму откуда ноги растут :\

клиентская версия: 7.0.189 / 14.03.2018 16:04:57
ru.bitel.bgbilling.plugins.cashcheck: вер. 7.0.137 / 09.08.2018 16:37:58
Cobra57
 
Сообщения: 29
Зарегистрирован: 10 апр 2013, 13:29

Re: Признак предмета расчета

Сообщение dimOn » 23 авг 2018, 13:55

в смысле "обновил плагин в билинге"? не отдельно от остальных компонентов и сервера, надеюсь?
dimOn
 
Сообщения: 5918
Зарегистрирован: 30 май 2008, 15:51

Re: Признак предмета расчета

Сообщение dimOn » 23 авг 2018, 13:58

> клиентская версия: 7.0.189 / 14.03.2018 16:04:57

вот это как так? первым делом надо обновиться нормально.

> public void setPayMethod(int payMethod) - не понял на что влияет, на чеке не отражается.

влияет на Признак способа расчёта, это обязательный атрибут, во всех описаниях рядом с предыдущим , появился в ФФД 1.05. как это должно проявляться - это я не знаю, в чеке может и никак
dimOn
 
Сообщения: 5918
Зарегистрирован: 30 май 2008, 15:51

Re: Признак предмета расчета

Сообщение dimOn » 23 авг 2018, 14:00

> Появилась другая проблема, все чеки печатает со скидкой 100%
> т.е. на всех чеках ИТОГ:0

тут надо смотреть что уходит в сервер печати, и что вообще передаётся. итог нулевой может быть потому что отдаётся туда нулевая сумма чека/позиций только.
атол при этом считает что это скидка (если сумма переданная не равна суммам им вычисленной) и вычисляет её и рисует. скорее всего неправильно передаются суммы позиций. но этот счёт с марта вроде ничего не менялось там, вы что-то в дин.коде сделали
dimOn
 
Сообщения: 5918
Зарегистрирован: 30 май 2008, 15:51

Re: Признак предмета расчета

Сообщение Cobra57 » 23 авг 2018, 14:08

Пишет, получено 100 и Сдача 100
Итог: 0

А еще наш ККМ не желает работать по протоколу 3.0 работает на 2.4 - в этом нет косяка?
$this->bbcode_second_pass_quote('', '
')в смысле "обновил плагин в билинге"? не отдельно от остальных компонентов и сервера, надеюсь?

Обновление полностью, в пределах существущей версии 7.0.

Информация о версии:

Клиент: вер. 7.0.953 / 23.04.2018 21:13:00
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_51
ВНИМАНИЕ: версия на сервере: 7.0.968 / 02.08.2018 16:24:28
Сервер: вер. 7.0.1404 / 07.08.2018 19:50:33
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_102

bill: вер. 7.0.143 / 10.07.2018 15:42:56
ВНИМАНИЕ: клиентская версия: 7.0.137 / 13.04.2018 02:02:36
card: вер. 7.0.51 / 07.06.2018 16:41:02
ВНИМАНИЕ: клиентская версия: 7.0.48 / 14.03.2018 16:03:03
dba: вер. 7.0.170 / 14.03.2018 16:03:34
dialup: вер. 7.0.326 / 08.06.2018 14:17:17
ВНИМАНИЕ: клиентская версия: 7.0.325 / 14.03.2018 16:02:12
email: вер. 7.0.185 / 14.03.2018 16:03:39
inet: вер. 7.0.928 / 07.08.2018 19:50:48
ВНИМАНИЕ: клиентская версия: 7.0.864 / 23.04.2018 21:05:57
ipn: вер. 7.0.290 / 07.08.2018 19:50:43
ВНИМАНИЕ: клиентская версия: 7.0.277 / 21.03.2018 15:22:20
mps: вер. 7.0.230 / 19.06.2018 20:44:57
ВНИМАНИЕ: клиентская версия: 7.0.226 / 14.03.2018 16:04:03
npay: вер. 7.0.217 / 02.08.2018 16:27:54
ВНИМАНИЕ: клиентская версия: 7.0.215 / 18.04.2018 17:01:51
phone: вер. 7.0.315 / 31.07.2018 18:08:40
ВНИМАНИЕ: клиентская версия: 7.0.304 / 13.04.2018 02:02:49
reports: вер. 7.0.246 / 02.08.2018 16:27:55
ВНИМАНИЕ: клиентская версия: 7.0.241 / 11.04.2018 21:18:23
robokassa: вер. 7.0.34 / 21.03.2018 15:22:57
rscm: вер. 7.0.190 / 31.05.2018 15:53:23
ВНИМАНИЕ: клиентская версия: 7.0.189 / 14.03.2018 16:04:57
ru.bitel.bgbilling.plugins.cashcheck: вер. 7.0.137 / 09.08.2018 16:37:58
ВНИМАНИЕ: клиентская версия: 7.0.123 / 28.03.2018 15:41:03
ru.bitel.bgbilling.plugins.cladr: вер. 7.0.126 / 14.03.2018 16:03:33
ru.bitel.bgbilling.plugins.crm: вер. 7.0.205 / 30.07.2018 09:49:11
ВНИМАНИЕ: клиентская версия: 7.0.201 / 14.03.2018 16:03:34
ru.bitel.bgbilling.plugins.dispatch: вер. 7.0.102 / 09.08.2018 16:38:00
ВНИМАНИЕ: клиентская версия: 7.0.98 / 14.03.2018 16:03:35
ru.bitel.bgbilling.plugins.documents: вер. 7.0.187 / 30.07.2018 09:49:12
ВНИМАНИЕ: клиентская версия: 7.0.184 / 13.04.2018 00:29:17
ru.bitel.bgbilling.plugins.helpdesk: вер. 7.0.203 / 09.08.2018 16:38:01
ВНИМАНИЕ: клиентская версия: 7.0.200 / 14.03.2018 16:03:45
rurupay: вер. 7.0.42 / 14.03.2018 16:05:00
voiceip: вер. 7.0.210 / 08.06.2018 14:17:18
ВНИМАНИЕ: клиентская версия: 7.0.208 / 14.03.2018 16:02:19

Окружение:

Клиент:
os: Windows 7 amd64, 6.1
java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_51
jre home: C:\Program Files\Java\jre1.8.0_51
memory (use/total/max): 139M/217M/228M
default tz: 23.08.2018 11:27 MSK +0300 (Europe/Moscow)
user tz: 23.08.2018 11:27 MSK +0300 (Europe/Moscow)
locale: ru_RU
Сервер:
os: Linux amd64, 3.2.0-4-amd64
java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_102
jre home: /opt/java/jdk1.8.0_102/jre
default tz: 23.08.2018 11:28 MSK +0300 (Europe/Moscow)
memory (use/total/max): 608M/1373M/7282M
db time: master: 23.08.2018 11:28 MSK
db charset: connection: cp1251(cp1251_general_ci), database: cp1251(cp1251_general_ci)
locale: ru_RU
uptime: Started: 22.08.2018 15:19:45 Uptime: 0 d 20:08:20

Третьи стороны:

Fugue Icons. Copyright © 2011 Yusuke Kamiyamane. All rights reserved.
http://p.yusukekamiyamane.com/
Silk icon set. Copyright © Mark James. All rights reserved.
http://www.famfamfam.com/lab/icons/silk/
Вложения
viber image.jpg
Cobra57
 
Сообщения: 29
Зарегистрирован: 10 апр 2013, 13:29

Re: Признак предмета расчета

Сообщение dimOn » 23 авг 2018, 16:55

значит клиента обновите, галочкой при загрузке или принудительное

чек как печатаете? галкой при приходе или это автопечать?

> А еще наш ККМ не желает работать по протоколу 3.0 работает на 2.4 - в этом нет косяка?

так и должно быть пока

> Пишет, получено 100 и Сдача 100
> Итог: 0

ну вы тупо цену позиции передаёте из дин.кода нулевую, а сумму от клиента нормальную - 100 из клиента уходит
вы сломали просто дин.код похоже
dimOn
 
Сообщения: 5918
Зарегистрирован: 30 май 2008, 15:51

Re: Признак предмета расчета

Сообщение Cobra57 » 23 авг 2018, 18:53

>значит клиента обновите, галочкой при загрузке или принудительное

Это на моей машине старая версия была, у кассира обновленная

>чек как печатаете? галкой при приходе или это автопечать?

Галочкой...

> Пишет, получено 100 и Сдача 100
> Итог: 0

>ну вы тупо цену позиции передаёте из дин.кода нулевую, а сумму от клиента нормальную - 100 из клиента уходит
>вы сломали просто дин.код похоже

Есть разница между суммой в дин.коде и сумме от клиента?
Я думал сумма передается а ККМ только из динамического кода методом check.addPayment()

Вот динамический код, уже раз 10 его просмотрел, не могу косяк найти :\
$this->bbcode_second_pass_code('', '
package ru.bitel.bgbilling.cashcheck;

import java.sql.Connection;
import java.util.Set;

import ru.bitel.bgbilling.common.BGException;
import ru.bitel.bgbilling.plugins.cashcheck.common.Payment;
import ru.bitel.bgbilling.plugins.cashcheck.common.Printer;
import ru.bitel.bgbilling.kernel.module.common.bean.User;
import ru.bitel.bgbilling.kernel.module.server.bean.UserManager;
import ru.bitel.bgbilling.plugins.cashcheck.server.CheckMaker;
import ru.bitel.bgbilling.plugins.cashcheck.server.bean.Check;
import ru.bitel.bgbilling.server.util.Setup;

/**
* Какой-то простой формат чека для типичного ККМ.
* @author dimon
*/
public class MyCheck
extends CheckMaker
{
@Override
public void init( Setup setup, Connection con, Connection conSlave )
throws BGException
{
}

@Override
public void addPayment( Payment payment, Check check, Printer printer )
throws BGException
{
if ( payment.getContractId() == 5790 ) { //Если это РЕКОМ
check.addPayment( payment.getSumma(), "Услуги связи", 0);
} else { //Все остальные
check.addPayment( payment.getSumma(), "Услуги связи по дог. N ".concat( payment.getContractTitle() ), 0);
}
check.addString( " " );
if ( payment.getPaymentTypeId() == 12 ) { //12 - Электронные платежи
check.setPaymentType(2);
} else {
check.setPaymentType(1);
}
}

@Override
public void endCreate( Set<Integer> cids, Check check, Printer printer )
throws BGException
{
check.addString( "************************************" );
check.addString( "* ---=== ReInfoKom.ru ===--- *" );
check.addString( "* Абон.отд.:233308 Тех.сл.:233300 *" );
check.addString( "************************************" );
check.addString( " " );
check.setTax(1);
check.setPayMethod(1); // Признак способа расчёта
check.setPayObject(4); // Признак предмета расчёта
}

@Override
public void addPaymentRefund( Payment payment, Check check, Printer printer )
throws BGException
{
check.addPayment( payment.getSumma(), payment.getContractTitle(), 0);
}

@Override
public void endCreateRefund( int cid, Check check, Printer printer )
throws BGException
{
check.setTax(1);
check.setPaymentType(4);
}
}')
Cobra57
 
Сообщения: 29
Зарегистрирован: 10 апр 2013, 13:29

Re: Признак предмета расчета

Сообщение Cobra57 » 23 авг 2018, 19:14

Вернул старую версию BGCashcheckServer

Сумму нормально печатает и передает в фискальник, но опять млин пишет ТОВАР.

Дин.код не менял...
Cobra57
 
Сообщения: 29
Зарегистрирован: 10 апр 2013, 13:29

Re: Признак предмета расчета

Сообщение dimOn » 23 авг 2018, 19:32

> Есть разница между суммой в дин.коде и сумме от клиента?
> Я думал сумма передается а ККМ только из динамического кода методом check.addPayment()
> Вот динамический код, уже раз 10 его просмотрел, не могу косяк найти :\

Дин.код выглядит правильно.

Сумма в дин.коде это просто сумма позиции. Когда они копятся в чеке - там внутри общая сумма считается по всему чеку.
(addPayment дин.класса может вызываться несколько раз теоретически, если две позиции биллинг печатать собрался и в каждом сделается check.addPayment, либо бывает что разбивают одну сумму на две позиции и делают два раза check.addPayment так что в сервер печати потом и так и так уходит несколько позиций)
Если из клиента передана сумма от клиента (в обычном случае передаётся) - то берётся она, если нет - то берётся посчитанная сумма.
Сумму от клиента требует железка, она её получает как видно нормально. Непонятно почему позиция нулевая.

Давайте тогда дальше пойдём: в логирование сервера печати TRACE ставьте, перезагружайте сервер печати, делайте ещё раз такой чек и логи сервера печати прикладывайте. Лучше в HD , топик бесплатный будет
dimOn
 
Сообщения: 5918
Зарегистрирован: 30 май 2008, 15:51

Re: Признак предмета расчета

Сообщение dimOn » 23 авг 2018, 19:36

более простой сначала тест:
оставьте новый сервер печати, но уберите из дин.кода
check.setPayMethod(1); // Признак способа расчёта
check.setPayObject(4); // Признак предмета расчёта
(будет опять писать товар дефолтно, но сумму проверить надо)

суть тут в чём: когда заданы эти параметры - позиция добавляется внутри сервера печати другой более новой командой ККТ, может она глючит
dimOn
 
Сообщения: 5918
Зарегистрирован: 30 май 2008, 15:51

Re: Признак предмета расчета

Сообщение dimOn » 23 авг 2018, 19:38

или вы именно это и проверили уже сначала обновив сервер печати а потом добавив уже?
т.е. надо сейчас отличить две причины: 1) глюк в новом сервере печати где-то ещё 2) глюк именно от использования setPayMethod и setPayObject (== неправильное использование новой команды ККТ или ошибка ККТ на эту команду)
dimOn
 
Сообщения: 5918
Зарегистрирован: 30 май 2008, 15:51

Re: Признак предмета расчета

Сообщение dimOn » 23 авг 2018, 19:44

ещё раз порылся, дело точно может быть только в новой команде, больше там ничего рядом не менялось с суммами
сегодня обновление будет, есть предположение что неправильно там
dimOn
 
Сообщения: 5918
Зарегистрирован: 30 май 2008, 15:51

Re: Признак предмета расчета

Сообщение dimOn » 23 авг 2018, 19:55

обновите сервер печати проверьте
dimOn
 
Сообщения: 5918
Зарегистрирован: 30 май 2008, 15:51

Re: Признак предмета расчета

Сообщение Cobra57 » 24 авг 2018, 12:10

Благодарю. Все заработало как надо :)
Cobra57
 
Сообщения: 29
Зарегистрирован: 10 апр 2013, 13:29

Re: Признак предмета расчета

Сообщение dimOn » 24 авг 2018, 12:17

ну значит хорошо
dimOn
 
Сообщения: 5918
Зарегистрирован: 30 май 2008, 15:51


Вернуться в Плагин CashCheck

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1