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

Создание счетов (BGBS)
http://forum.bitel.ru/viewtopic.php?f=19&t=2391
Страница 1 из 1

Автор:  lda [ 04 июн 2009, 12:29 ]
Заголовок сообщения:  Создание счетов (BGBS)

Ув. разработчики, прошу помочь создать счет на BGBS.

Пытаюсь создать счет используя класс bitel.billing.server.bill.bean.BillManager и метод addBillDoc(BillDoc doc, java.util.List<PositionValue> posList, java.util.List<BillDoc> subList).

Никак не могу создать переменные java.util.List<PositionValue> posList и java.util.List<BillDoc> subList.

Создать position_value = new PositionValue();
А как создать список java.util.List объектов PositionValue?

Вер. 4.5

Автор:  stark [ 04 июн 2009, 14:02 ]
Заголовок сообщения:  Re: Создание счетов (BGBS)

lda писал(а):
Ув. разработчики, прошу помочь создать счет на BGBS.

Пытаюсь создать счет используя класс bitel.billing.server.bill.bean.BillManager и метод addBillDoc(BillDoc doc, java.util.List<PositionValue> posList, java.util.List<BillDoc> subList).

Никак не могу создать переменные java.util.List<PositionValue> posList и java.util.List<BillDoc> subList.

Создать position_value = new PositionValue();
А как создать список java.util.List объектов PositionValue?

Вер. 4.5


не испольузуйте генериков , они не поодерживаюится

position_value = new PositionValue();
list = new java.util.List();
list.add( position_value );

Автор:  lda [ 04 июн 2009, 14:16 ]
Заголовок сообщения: 

Что то не получается.

Код:
Код:
import java.util.List;
import bitel.billing.server.bill.bean.*;

if (event.getActionId() != 27)
{
   print("skipped");
   return;
}

position_value = new PositionValue();
list = new java.util.List();
list.add( position_value );


Ошибка:
Код:
ERROR  04.06.2009 12:14:25  Eval error: Sourced file: inline evaluation of: ``import java.util.List;  import bitel.billing.server.bill.bean.*;    if (event.ge
 . . . '' : Constructor error: Can't create instance of an interface: interface java.util.List
Sourced file: inline evaluation of: ``import java.util.List;  import bitel.billing.server.bill.bean.*;    if (event.ge . . . '' : Constructor error: Can't cre
ate instance of an interface: interface java.util.List : at Line: 11 : in file: inline evaluation of: ``import java.util.List;  import bitel.billing.server.bi
ll.bean.*;    if (event.ge . . . '' : new java .util .List ( )

        at bsh.BSHAllocationExpression.constructObject(Unknown Source)
        at bsh.BSHAllocationExpression.objectAllocation(Unknown Source)
        at bsh.BSHAllocationExpression.eval(Unknown Source)
        at bsh.BSHPrimaryExpression.eval(Unknown Source)
        at bsh.BSHPrimaryExpression.eval(Unknown Source)
        at bsh.BSHAssignment.eval(Unknown Source)
        at bsh.Interpreter.eval(Unknown Source)
        at bsh.Interpreter.eval(Unknown Source)
        at bsh.Interpreter.eval(Unknown Source)
        at bitel.billing.server.script.bean.ScriptMachine.runScript(ScriptMachine.java:158)
        at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:248)
        at bitel.billing.server.contract.action.ActionAdditionalAction.doAction(ActionAdditionalAction.java:42)
        at bitel.billing.server.Executer.doModule(Executer.java:693)
        at bitel.billing.server.Executer.doPost(Executer.java:177)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at bitel.billing.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:37)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Unknown Source)


Автор:  stark [ 04 июн 2009, 14:34 ]
Заголовок сообщения: 

я опечатался :)
new java.util.ArrayList();

List - это интерфейс, его нельзя создать

Автор:  Администратор [ 04 июн 2009, 14:48 ]
Заголовок сообщения: 

Код:
list = new java.util.ArrayList();

List - это интерфейс только, ArrayList - конкретная реализация.

Автор:  lda [ 04 июн 2009, 15:23 ]
Заголовок сообщения: 

Со списком разобрался, спасибо.

Создать счет не получается, запутался...
Куда копать не знаю. Подскажите пожалуйста.

Код:
Код:
import java.sql.*;
import java.util.*;
import java.math.*;

import bitel.billing.server.contract.bean.*;
import bitel.billing.server.bill.bean.*;
import bitel.billing.server.util.*;

if (event.getActionId() != 27)
{
   print("skipped");
   return;
}


cid = event.getContractID();

bill_doc = new BillDoc();
bill_doc.setCid(cid);
bill_doc.setContractTitle("test");
bill_doc.setCreateDate(new GregorianCalendar());
bill_doc.setMm(4);
bill_doc.setSumm(new BigDecimal("100"));
bill_doc.setTypeId(8);
bill_doc.setTypeTitle("test");
bill_doc.setUid(0);
bill_doc.setYy(2009);

position = new Position();
position.setId(14);
position.setName("test");
position.setQuantity("1");
position.setSumm("100");
position.setTitle("test");
position.setUnit("шт.");

position_value = new PositionValue();
position_value.setCid(cid);
position_value.setName("test");
position_value.setPosition(position);
position_value.setPositionId(1);
position_value.setQuantity(1);
position_value.setSumma(new BigDecimal("100"));
position_value.setUnit("шт.");

position_value_list = new java.util.ArrayList();
position_value_list.add(position_value);
bill_doc_list = new java.util.ArrayList();
bill_doc_list.add(bill_doc);
bill_manager = new BillManager(setup,con,8,new SetupData(con,8));
bill_manager.addBillDoc(bill_doc,position_value_list,bill_doc_list);


Ошибка:
Код:
ERROR  04.06.2009 13:14:31  Eval error: Sourced file: inline evaluation of: ``import java.sql.*;  import java.util.*;  import java.math.*;    import bitel.bil
 . . . '' : Method Invocation bill_manager.addBillDoc
Sourced file: inline evaluation of: ``import java.sql.*;  import java.util.*;  import java.math.*;    import bitel.bil . . . '' : Method Invocation bill_manag
er.addBillDoc : at Line: 51 : in file: inline evaluation of: ``import java.sql.*;  import java.util.*;  import java.math.*;    import bitel.bil . . . '' : bil
l_manager .addBillDoc ( bill_doc , position_value_list , bill_doc_list )

Target exception: java.lang.ClassCastException: bitel.billing.server.bill.bean.BillDoc cannot be cast to bitel.billing.server.bill.bean.Bill

        at bsh.BSHMethodInvocation.eval(Unknown Source)
        at bsh.BSHPrimaryExpression.eval(Unknown Source)
        at bsh.BSHPrimaryExpression.eval(Unknown Source)
        at bsh.Interpreter.eval(Unknown Source)
        at bsh.Interpreter.eval(Unknown Source)
        at bsh.Interpreter.eval(Unknown Source)
        at bitel.billing.server.script.bean.ScriptMachine.runScript(ScriptMachine.java:158)
        at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:248)
        at bitel.billing.server.contract.action.ActionAdditionalAction.doAction(ActionAdditionalAction.java:42)
        at bitel.billing.server.Executer.doModule(Executer.java:693)
        at bitel.billing.server.Executer.doPost(Executer.java:177)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at bitel.billing.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:37)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Unknown Source)

Автор:  Amir [ 04 июн 2009, 19:10 ]
Заголовок сообщения: 

А если
Код:
bill_doc = new Bill();
...
position_value.setQuantity(1);
position_value.setSumma(new BigDecimal("100"));
position_value.setUnit("шт.");

position_value_list = new java.util.ArrayList();
position_value_list.add(position_value);

bill_manager = new BillManager(setup,con,8,new SetupData(con,8));
bill_manager.addBillDoc(bill_doc,position_value_list,Collections.emptyList());

Автор:  lda [ 04 июн 2009, 19:35 ]
Заголовок сообщения: 

Спасибо, все получилось.

Видимо я опять первопроходец... :)

Теперь код выглядит так:
Код:
import java.sql.*;
import java.util.*;
import java.math.*;

import bitel.billing.server.contract.bean.*;
import bitel.billing.server.bill.bean.*;
import bitel.billing.server.util.*;

if (event.getActionId() != 27)
{
   print("skipped");
   return;
}


cid = event.getContractID();

//bill_doc = new BillDoc();
bill_doc = new Bill();
bill_doc.setCid(cid);
bill_doc.setContractTitle("test");
bill_doc.setCreateDate(new GregorianCalendar());
bill_doc.setMm(4);
bill_doc.setSumm(new BigDecimal("100"));
bill_doc.setTypeId(8);
bill_doc.setTypeTitle("test");
bill_doc.setUid(0);
bill_doc.setYy(2009);
bill_doc.setAccountId(1);

position = new Position();
position.setId(14);
position.setName("test");
position.setQuantity("1");
position.setSumm("100");
position.setTitle("test");
position.setUnit("шт.");

position_value = new PositionValue();
position_value.setCid(cid);
position_value.setName("test");
position_value.setPosition(position);
position_value.setPositionId(1);
position_value.setQuantity(1);
position_value.setSumma(new BigDecimal("100"));
position_value.setUnit("шт.");

position_value_list = new java.util.ArrayList();
position_value_list.add(position_value);
//bill_doc_list = new java.util.ArrayList();
//bill_doc_list.add(bill_doc);
bill_manager = new BillManager(setup,con,8,new SetupData(con,8));
//bill_manager.addBillDoc(bill_doc,position_value_list,bill_doc_list);
bill_manager.addBillDoc(bill_doc,position_value_list,Collections.emptyList());


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