Создание счетов (BGBS)

Разработка скриптов BGBS. Работа напрямую с БД. Структура системы и БД. Разработка экшенов. Доработка шаблонов. Вопросы переноса данных из других систем. Вопросы интеграции биллинга с внешними системами.

Создание счетов (BGBS)

Сообщение lda » 04 июн 2009, 12:29

Ув. разработчики, прошу помочь создать счет на 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
lda
Клиент
 
Сообщения: 664
Зарегистрирован: 20 мар 2008, 20:20
Откуда: Россия, Иваново

Re: Создание счетов (BGBS)

Сообщение stark » 04 июн 2009, 14:02

$this->bbcode_second_pass_quote('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 );
stark
Разработчик
 
Сообщения: 8343
Зарегистрирован: 08 ноя 2007, 01:05
Откуда: Уфа

Сообщение lda » 04 июн 2009, 14:16

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

Код:
$this->bbcode_second_pass_code('', '
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 );
')

Ошибка:
$this->bbcode_second_pass_code('', '
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)

')
lda
Клиент
 
Сообщения: 664
Зарегистрирован: 20 мар 2008, 20:20
Откуда: Россия, Иваново

Сообщение stark » 04 июн 2009, 14:34

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

List - это интерфейс, его нельзя создать
stark
Разработчик
 
Сообщения: 8343
Зарегистрирован: 08 ноя 2007, 01:05
Откуда: Уфа

Сообщение Администратор » 04 июн 2009, 14:48

$this->bbcode_second_pass_code('', 'list = new java.util.ArrayList(); ')
List - это интерфейс только, ArrayList - конкретная реализация.
Администратор
Разработчик
 
Сообщения: 5644
Зарегистрирован: 27 ноя 2006, 20:36

Сообщение lda » 04 июн 2009, 15:23

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

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

Код:
$this->bbcode_second_pass_code('', '
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);
')

Ошибка:
$this->bbcode_second_pass_code('', '
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)
')
lda
Клиент
 
Сообщения: 664
Зарегистрирован: 20 мар 2008, 20:20
Откуда: Россия, Иваново

Сообщение Amir » 04 июн 2009, 19:10

А если
$this->bbcode_second_pass_code('', '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());')
Аватара пользователя
Amir
Разработчик
 
Сообщения: 5940
Зарегистрирован: 19 дек 2006, 21:04

Сообщение lda » 04 июн 2009, 19:35

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

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

Теперь код выглядит так:
$this->bbcode_second_pass_code('', '
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());

')
lda
Клиент
 
Сообщения: 664
Зарегистрирован: 20 мар 2008, 20:20
Откуда: Россия, Иваново


Вернуться в API, скрипты, BGBS, программирование, структура системы

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

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

cron