forum.bitel.ru
http://forum.bitel.ru/

Автоматическое заполнение поля ФИО
http://forum.bitel.ru/viewtopic.php?f=19&t=5750
Страница 1 из 1

Автор:  borin [ 31 июл 2011, 22:26 ]
Заголовок сообщения:  Автоматическое заполнение поля ФИО

В договоре существуют поля фамилия, имя и отчество.
Необходимо по событию изменение параметра договора заполнить поле ФИО.
Может кто уже использует, поделитесь скриптом.

Автор:  Феанор [ 01 авг 2011, 07:59 ]
Заголовок сообщения:  Re: Автоматическое заполнение поля ФИО

int cid=event.getContractId();
int pid=event.getParamId();

cpm=new ContractParameterManager(con);

if(pid==номер_параметра_фамилии || pid==номер_параметра_имя || pid==номер_параметра_отчество)
{
fio=cpm.getStringParam(cid,номер_параметра_фамилии)+" "+cpm.getStringParam(cid,номер_параметра_имя)+" " cpm.getStringParam(cid,номер_параметра_отчество);
cpm.setStringParam(cid,номер_параметра_фио,0);
}

Вот как то так, можно еще проверять заполнены ли фамилия имя и отчество и заполнять фио только если все три не пустые, но это уж вы сами как нибудь - cpm.getStringParam и length() в помощь =)

Автор:  borin [ 01 авг 2011, 23:07 ]
Заголовок сообщения:  Re: Автоматическое заполнение поля ФИО

Говорит не знает класс ContractParameterManager :(

Код:
Contract user
GENERATE_TIME: 01.08.11 23:02:15
EXECUTION_STOP_TIME: 01.08.11 23:02:16
PROCESS_TIME: 12

OUT:


EXCEPTIONS:
Sourced file: Function [id:1; title:ФИО] : Unknown class: ContractParameterManager : at Line: 4 : in file: Function [id:1; title:ФИО] : new ContractParameterManager ( con )

java.util.concurrent.ExecutionException: Sourced file: Function [id:1; title:ФИО] : Unknown class: ContractParameterManager : at Line: 4 : in file: Function [id:1; title:ФИО] : new ContractParameterManager ( con )

       at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:232)
       at java.util.concurrent.FutureTask.get(FutureTask.java:91)
       at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.runScriptImpl(ScriptMachine.java:371)
       at bitel.billing.server.script.bean.ScriptMachine.runScript(ScriptMachine.java:129)
       at bitel.billing.server.script.bean.event.EventProcessor.processContractEvent(EventProcessor.java:313)
       at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:231)
       at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:199)
       at bitel.billing.server.script.bean.event.EventProcessor.run(EventProcessor.java:148)
Caused by: Sourced file: Function [id:1; title:ФИО] : Unknown class: ContractParameterManager : at Line: 4 : in file: Function [id:1; title:ФИО] : new ContractParameterManager ( con )

       at bsh.BSHAllocationExpression.objectAllocation(BSHAllocationExpression.java:98)
       at bsh.BSHAllocationExpression.eval(BSHAllocationExpression.java:62)
       at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:102)
       at bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:47)
       at bsh.BSHAssignment.eval(BSHAssignment.java:77)
       at bsh.Interpreter.eval(Interpreter.java:653)
       at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.eval(ScriptInstance.java:352)
       at bitel.billing.server.script.bean.ScriptMachine$SimpleScriptRunner.runScript(ScriptMachine.java:70)
       at bitel.billing.server.script.bean.ScriptMachine.runScriptImpl(ScriptMachine.java:190)
       at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.access$0(ScriptMachine.java:1)
       at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:361)
       at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:1)
       at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
       at java.util.concurrent.FutureTask.run(FutureTask.java:138)
       at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
       at java.lang.Thread.run(Thread.java:662)

Автор:  borin [ 01 авг 2011, 23:39 ]
Заголовок сообщения:  Re: Автоматическое заполнение поля ФИО

Чуток поправил и заработало. Спасибо :D

Код:
import bitel.billing.server.contract.bean.*;

int cid=event.getContractId();
int pid=event.getParamId();
int uid=event.getUserId();

ContractParameterManager cmp = new ContractParameterManager(con);

if(pid==2 || pid==12 || pid==13)
{
   fio=cmp.getStringParam(cid,2)+" "+cmp.getStringParam(cid,12)+" "+cmp.getStringParam(cid,13);
   cmp.setStringParam(cid,21,fio,uid);
}

Автор:  Феанор [ 02 авг 2011, 08:15 ]
Заголовок сообщения:  Re: Автоматическое заполнение поля ФИО

borin писал(а):
Чуток поправил и заработало. Спасибо :D

Ну вот и хорошо, импорт я не писал, забыл как-то =)

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/