Оповещения об изменении в плагине cashcheck в версии 5.2, а также в 5.1 c билда 80 от 20.07.2010. Изменения не критические, но теоретически могут затронуть некоторые функции, если вы ими пользуетесь. Свёл в одну тему все возможные вопросы. Сервера печати не касается, только плагина.
Изменение в настройке регистратора в конфиге плагина.port и address сведены в одну строку connector. Заделка для будущих задуманных изменений. Старое будет работать, но с варнингом. Лучше сразу подправить.
было:
Код:
fr.1.address=192.168.184.28
fr.1.port=9876
fr.1.title=первый регистратор
стало:
Код:
fr.1.connector=192.168.184.28:9876
fr.1.title=первый регистратор
Привязки отдела к типу платежа теперь нет в конфигеСамое важное изменение, если вы пользуетесь возможностью разделения по отделам в ККМ. Теперь отделы задаются только в скрипте формирования позиции. От этого два следствия:
В событии (event) AddPaymentCheckEvent которое приходит в скрипт метод getPaymentDep() теперь помечен как deprecated и всегда отдаёт 0, как будто вы не пользуетесь отделами:
Код:
/**
* Отдел, которому сопоставлен этот платеж (согласно конфигу).
*
* @return номер отдела
* @deprecated привязка в конфиге больше не используется, отдел согласно платежу/регистратору вычисляется и заполняется теперь в скрипте формирования вида чека, так универсальнее. ВНИМАНИЕ: здесь всегда возвращается 0 ("без отдела") теперь!
*/
@Deprecated
public int getPaymentDep()
{
return 0;
}
Если вы до сих пор пользовались устаревшим методом (не ставили его в скрипте вручную, а брали из event, куда оно попадало сложным образом из конфига для каждого платежа): тем, что можно задавать отдел на тип платежа в конфиге и писали в скрипте просто:
Код:
check.addPayment( payment.getSumma(), payment.getContractTitle(), event.getPaymentDep() );
то теперь в платёж всегда будет отдаваться ноль третим параметром. Надо делать разделение по отделам согласно типам платежа (а также другим условиям, для чего и было насильно это перенесено в скрипт) только внутри скрипта. Примерно так:
Код:
int paymentDep = 0;
switch( payment.getPaymentTypeID() )
{
case 1:
paymentDep = 1;
break;
case 2:
paymentDep = 2;
break;
// .... итд
}
check.addPayment( payment.getSumma(), payment.getContractTitle(), paymentDep );
Следовательно, здесь подправить все цифры установления отдела от типа платежа пришедшего, то, что задавалось раньше в конфиге в виде
Цитата:
# маппинг типов платежей
# pt.<id типа платежа>.fr=<список регистраторов, на которых разрешена печать платежа>
# pt.<id типа платежа>.dep=<отдел к которому привязан платёж, или 0 если вы равнодушны>
pt.1.fr=1
pt.1.dep=1
pt.25.fr=2
pt.25.dep=2
pt.37.fr=1,2
pt.37.dep=3
Изменение методов с датой в ru.bitel.bgbilling.plugins.cashcheck.server.bean.Payment с типа Calendar на тип java.util.Date.Теперь методы такие:
Код:
public void setDate( Date date );
public Date getDate();
public Date getQueueDate();
public void setQueueDate( Date queueDate );
Методы c очень малой вероятностью могут использоваться в скриптах. Потребуется их изменение.