BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 26 окт 2021, 17:39

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 46 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Штрих ONLINE
СообщениеДобавлено: 18 мар 2019, 12:35 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6051
Карма: 244
именно для мыла есть отдельный метод специально обученный:

ru.bitel.bgbilling.plugins.cashcheck.server.CashCheckUtils

/**
* Возвращает значение email по cid и pid
* Поддерживает и mail-параметр (если несколько мыл, то вернётся первое) и текстовый параметр.
*/
public static String getEmailParam(Connection con, int cid, int pid)
throws BGException
{

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Штрих ONLINE
СообщениеДобавлено: 18 мар 2019, 12:35 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6051
Карма: 244
учтите что endCreate не вызывается для auto- и delay- платежей

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Штрих ONLINE
СообщениеДобавлено: 18 мар 2019, 16:57 
Не в сети

Зарегистрирован: 11 мар 2015, 11:06
Сообщения: 194
Карма: 0
dimOn писал(а):
учтите что endCreate не вызывается для auto- и delay- платежей


Получилось вытащить email вот так:
String mail = "" + contractService.contractParameterGet(cid, 33);
Работает в endCreate()
Куда его нужно вставить для автоплатежей ? В addPaymentAuto() ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Штрих ONLINE
СообщениеДобавлено: 18 мар 2019, 16:57 
Не в сети

Зарегистрирован: 11 мар 2015, 11:06
Сообщения: 194
Карма: 0
Phricker писал(а):
Код:
ServerContext serverContext = ServerContext.get();
        ContractService contractService = serverContext.getService(ContractService.class, 0);
        contractService.contractParameterGet(contractId, paramId);

Либо через тот же ContractParameterManager как в методе addPayment


Спасибо. Это помогло. Только еще пара импортов понадобилась :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Штрих ONLINE
СообщениеДобавлено: 18 мар 2019, 17:09 
Не в сети

Зарегистрирован: 11 мар 2015, 11:06
Сообщения: 194
Карма: 0
dimOn писал(а):
именно для мыла есть отдельный метод специально обученный:

ru.bitel.bgbilling.plugins.cashcheck.server.CashCheckUtils

/**
* Возвращает значение email по cid и pid
* Поддерживает и mail-параметр (если несколько мыл, то вернётся первое) и текстовый параметр.
*/
public static String getEmailParam(Connection con, int cid, int pid)
throws BGException
{


Ваш специальный метод как я понял делает тоже самое ?
Если параметр пустой он возвратит пустую строку ?
check.setCustomerEmail(mail) если mail пустой валит связь с кассой наглухо.
Нужна проверка перед вызовом...
В чем его профит ? И откуда брать con внутри endCreate() ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Штрих ONLINE
СообщениеДобавлено: 18 мар 2019, 18:02 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6051
Карма: 244
если пустой то возвратит null
его профит описан в явадоке метода: он работает для параметров разных типов и обрабатывает случай когда в mail-параметре несколько е-мейлов, что вернёт в этом случае contractParameterGet я не помню , скорее всего ничего хорошего для отправки в сервер печати.

не знаю что значит валит связь наглухо, наверное ошибка какая-то происходит

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Штрих ONLINE
СообщениеДобавлено: 18 мар 2019, 18:04 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6051
Карма: 244
да, для автоплатежей вызывается только addPaymentAuto, всё нужно делать там, т.к. разбивать на два метода бессмысленно - в одном чеке не может быть нескольких платежей биллинга для автоплатежей, потому в отличие от addPayment метод addPaymentAuto не может вызваться многократно для одного чека.

> И откуда брать con внутри endCreate() ?

сохранить предварительно в ините , в точности как и в addPayment

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Штрих ONLINE
СообщениеДобавлено: 18 мар 2019, 18:04 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5837
Карма: 472
Код:
check.setCustomerEmail(Utils.maskNull(mail))

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Штрих ONLINE
СообщениеДобавлено: 18 мар 2019, 20:08 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6051
Карма: 244
тока вот пустое оно не заполнит)

check.setCustomerEmail(mail != null ? mail : DEFAULT_EMAIL)

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Штрих ONLINE
СообщениеДобавлено: 19 мар 2019, 10:52 
Не в сети

Зарегистрирован: 11 мар 2015, 11:06
Сообщения: 194
Карма: 0
dimOn писал(а):
если пустой то возвратит null
его профит описан в явадоке метода: он работает для параметров разных типов и обрабатывает случай когда в mail-параметре несколько е-мейлов, что вернёт в этом случае contractParameterGet я не помню , скорее всего ничего хорошего для отправки в сервер печати.

не знаю что значит валит связь наглухо, наверное ошибка какая-то происходит


все верно, ошибка режима работы ФД или что-то в этом роде, дословно не записал...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Штрих ONLINE
СообщениеДобавлено: 19 мар 2019, 10:59 
Не в сети
Аватара пользователя

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

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Штрих ONLINE
СообщениеДобавлено: 19 мар 2019, 11:16 
Не в сети

Зарегистрирован: 11 мар 2015, 11:06
Сообщения: 194
Карма: 0
dimOn писал(а):
ну в смысле ККТ просто ругается и не печатает конкретный чек однократно. должно быть так. если от этого всё ломается - это косяк какой-то и такого быть не должно, надо логи разбирать


ККТ к счастью не ломается, с ней после этого можно дальше работать из 1С например, ломается кэшчексервер,
до перезапуска он не видит кассу.
если бы знал что это будет интересно, то сохранил бы логи, если опять вывалится (надеюсь что никогда :) ) - отпишусь


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Штрих ONLINE
СообщениеДобавлено: 19 мар 2019, 11:20 
Не в сети

Зарегистрирован: 11 мар 2015, 11:06
Сообщения: 194
Карма: 0
dimOn писал(а):
тока вот пустое оно не заполнит)

check.setCustomerEmail(mail != null ? mail : DEFAULT_EMAIL)


сделал немного по другому - если mail значение не удовлетворяет условию, то check.setCustomerEmail просто не вызывается.
contractParameterGet может возвратить и "" (длина 0) и null (длина 4), но это совсем не проблема.
несколько адресов тоже не проблема.
сейчас работает нормально, будем наблюдать что будет дальше.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Штрих ONLINE
СообщениеДобавлено: 19 мар 2019, 11:48 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6051
Карма: 244
если у вас задан электронный чек (без печати на бумагу как вариант) и не задано setCustomerEmail - будет ошибка. но тут речь про атол только
несколько адресов тоже не сработают совершенно точно на ККТ, не очень понятно как так не проблема, вам в любом случае надо руками разбирать тогда этот вариант

> до перезапуска он не видит кассу

это очень странная ошибка должна быть, было бы неплохо логи посмотреть.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Штрих ONLINE
СообщениеДобавлено: 19 мар 2019, 12:08 
Не в сети

Зарегистрирован: 18 мар 2019, 16:58
Сообщения: 1
Карма: 0
"если у вас задан электронный чек (без печати на бумагу как вариант) и не задано setCustomerEmail - будет ошибка. но тут речь про атол только"

а подскажите модели Атол, у которых имеется возможность отключения вывода чека на бумагу (отправлять только электронный чек)?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Штрих ONLINE
СообщениеДобавлено: 19 мар 2019, 16:40 
Не в сети

Зарегистрирован: 11 мар 2015, 11:06
Сообщения: 194
Карма: 0
dimOn писал(а):
несколько адресов тоже не сработают совершенно точно на ККТ, не очень понятно как так не проблема, вам в любом случае надо руками разбирать тогда этот вариант

это очень странная ошибка должна быть, было бы неплохо логи посмотреть.


я и разбираю их руками а не проблема потому что разбирать не сложно)
если опять ошибка вывалится - обязательно скину вам лог...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 46 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 5 часов [ Летнее время ]


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.059s | 50 Queries | GZIP : On ]