BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 17 май 2024, 00:38

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




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
СообщениеДобавлено: 23 дек 2011, 00:41 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Собственно вот такое задание выдала бухгалтерия. Чтобы рассчеты с кассирами велись день в день.
В самом биллинге есть запрет на занесение предыдущим числом, и закрытый период.
Первое не то, второе не подходит т.к. могут тариф поменять или т.п.. Закрытый период закрывается последним числом предыдущего месяца.
Собственно возникает проблема написания скрипта который будет выдавать ошибку при заведении платежа не сегодняшним числом.

Родился вот такой скрипт на событие "Приход платежа"
Код:
import bitel.billing.server.script.event.*;
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.util.*;

Calendar calendar = new GregorianCalendar();
dateNow = TimeUtils.convertCalendarToDate(calendar);

payment = event.getPayment();
cid = payment.getContractID();
payDate = payment.getPaymentDate();
 
if( TimeUtils.dateBefore(payDate, dateNow)){
   print( "Запрещено заносить платежи предыдущим числом" );
}


Теперь необходимо выдать еррор в клиент.
Если писать
Код:
if( TimeUtils.dateBefore(payDate, dateNow)){
   event.setError( "Запрещено заносить платежи предыдущим числом" );
}

то получаем ошибку
Код:
Method setError( java.lang.String ) not found in class'bitel.billing.server.script.bean.event.PaymentEvent'


Да и в любом случае это не то, т.к. я так понимаю, что событие "Приход платежа" обрабатывается уже ПОСЛЕ прихода платежа.


Если добавить в конфиг биллинга
Код:
action.event_contract_UpdateContractPayment=before

и скрипт поставить на событие "Перед действием"
То получается ошибка
Код:
Method getPayment() not found in class'bitel.billing.server.script.bean.event.ActionBeforeEvent'


Засада с двух сторон :|
Прошу помощи знатоков :roll:

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 дек 2011, 04:20 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
А чем стандартное средства запрета не устроило?

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 дек 2011, 07:10 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Цитата:
Прошу помощи знатоков

Отвечает Александр Друзь.
Изображение

payDate = TimeUtils.convertStringToDate(event.getRequest().getParameter("date"))


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 дек 2011, 09:56 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
2 Skyb
А есть такие, которые проверяют дату заведения платежа? Есть будущим числом - но это не то.
2 Cromeshnic
Спасибо, сейчас до работы доберусь - проверю

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 дек 2011, 11:11 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Пардон мой косяк в написании сообщения. Skyb указал.
Я имел в виду, что в самом биллинге есть функционал запрета занесения БУДУЩИМ числом.
Но не предыдущим.
В общем благодаря Кромешнику родилось вот такое вот
Код:
import bitel.billing.server.script.event.*;
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.util.*;

Calendar calendar = new GregorianCalendar();
dateNow = TimeUtils.convertCalendarToDate(calendar);

cid = event.getContractId();
payDate = TimeUtils.convertStringToDate(event.getRequest().getParameter("date"));
 
if( TimeUtils.dateBefore(payDate, dateNow)){
   event.setError( "Запрещены приходы с датой ранее текущей", false );
}

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

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


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

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


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

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