NCAPI解读Word文档格式.docx
《NCAPI解读Word文档格式.docx》由会员分享,可在线阅读,更多相关《NCAPI解读Word文档格式.docx(98页珍藏版)》请在冰点文库上搜索。
![NCAPI解读Word文档格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/6/ff32a8e1-6d28-4dc3-b3c7-7e76ca95fa2f/ff32a8e1-6d28-4dc3-b3c7-7e76ca95fa2f1.gif)
))
this.getBillCardPanel().execHeadEditFormulas();
}
elseif(event.getTableCode().equals("
st_xx_jyzy"
)&
&
event.getKey().equals("
code"
this.getBillCardPanel().setBodyValueAt(newUFBoolean('
N'
),event.getRow(),"
jyzt"
Y'
zyzt"
}
ALTER
//增加字段
ALTERTABLEtableaADDnewcolchar(20)
//更改字段名
ALTERTABLEtableaCHANGEnewcolnewrowchar(50)
//更改字段类型
ALTERTABLEtableaMODIFYnewrowchar(30)
//删除字段
ALTERTABLEtableaDROPnewrow
ArrayList
ArrayListlist=newArrayList();
…..
list.add();
SettleVO[]vos=newSettleVO[list.size()];
vos=list.toArray(vos);
//List与VO数组转换
✧B
BillCode
//得到单据号
BillcodeGeneraterbillNoGen=newBillcodeGenerater();
billno=billNoGen.getBillCode("
TI55"
"
0001"
null,null);
BillData
BillDatabd=getBillCardPanel().getBillData();
BillItem
BillItemitem=bd.getBodyItem(NodeInfo.NAME_TABLECODE1,"
ialloctype"
BillField
@Override//修改单据状态时需重写此方法
protectedIBillFieldcreateBillField()
returnBillField.getInstance();
Button
//自定义按钮
publicButtonVOgetFujian_btn()
ButtonVObtnVO=newButtonVO();
btnVO.setBtnNo(IprivateButton.Fujian_btn);
btnVO.setBtnName("
附件管理"
);
btnVO.setHintStr("
btnVO.setOperateStatus(newint[]{IBillOperate.OP_NOTEDIT});
//在非新增和非编辑状态下可用
returnbtnVO;
//在UI中设置按钮状态
getButtonManager().getButton(nc.ui.trade.button.IBillButton.Add).setEnabled(false);
Byte[]
publicstaticfinalbyte[]m_ENTER={0x0d,0x0a};
//换行符ASCII码:
0x0d0x0a
✧C
CaseWhen
ORACLE:
Case…..When语句
SELECT
(CASEdrWHEN0THEN'
有效'
WHEN1THEN'
无效'
END)AS显示
FROMbd_corp
catch
try{
}
catch(DbExceptione){
//如果是语法错误
if(e.isBadSQLGrammar()){
Logger.error("
语法错误:
"
+e.getMessage(),e);
}
//如果是数据一致性错误
if(e.isDataIntegrityViolation()){
数据一致性错误:
}
CheckRule
<
前台校验类>
XXXUICheckRule
//校验数据是否重复
publicIUniqueRule[]getItemUniqueRules(Stringtablecode){
if("
cl_gg_ytzwlb"
.equals(tablecode))
{
IUniqueRule[]unique=null;
unique=newIUniqueRule[]{
newUniqueRule("
座类编码不能重复"
newString[]{("
zlbm"
)})
};
returnunique;
returnnull;
//校验是否为空
publicICheckRule[]getItemCheckRules(Stringtablecode){
CheckRule[]rules=newCheckRule[]{
newCheckRule("
【NC结算方式编码】"
ncsettlecode"
false,null,null)
};
returnrules;
checkPrerequisite
//对于控制集团不能打开节点,只有公司可以打开节点的处理
//在ClientUI中覆写Toftpanel的方法:
publicStringcheckPrerequisite()
{
Stringpk_corp=_getCorp().getPk_corp();
if(pk_corp.equals("
)){
return"
当前处于集团,此功能点无法进入"
returnnull;
ClientEnvironment
Column
//单据模板获得jtable可通过getBillCardPanel().getBillTable()
//获取列表模型
TableColumnModel
tcm=table.getColumnMode();
//第n列设置为隐藏
TableColumn
hideColumn
=
table.getColumn("
第n列"
//隐藏第n列设置
tcm.removeColumn(hideColumn);
//显示第n列设置
tcm.addColumn(hideColumn);
//把i列移动到第j列
tcm.moveColumn(i,
j);
getBillCardPanel().getBodyPanel().hideTableCol(strKey);
//隐藏
getBillCardPanel().getBodyPanel().showTableCol(strKey);
//显示
ComboBox
UIComboBoxtypeCom=(UIComboBox)this.getBillCardPanel().getBodyItem("
x"
).getComponent();
typeCom.addItems(Object[]obj);
Connection
PersistenceManagersessionManager=PersistenceManager.getInstance();
JdbcSessionsession=sessionManager.getJdbcSession();
Connectioncon=session.getConnection();
PreparedStatementstmt=null;
stmt=con.prepareStatement(con,sql);
finally{
stmt.close();
con.close();
sessionManager.release();
ConnectException
//启动NC时抛异常
.ConnectException:
Connectionrefused:
connect
原因:
80端口被占用
ConditionVO
//取查询对话框VO值
ConditionVO[]conVOs=getQueryDLG().getConditionVO();
for(inti=0;
i<
conVOs.length;
i++)
if("
billdate"
.equals(conVOs[i].getFieldCode()))
{
billdate=conVOs[i].getValue();
elseif()
……
Coperatorid
//操作员所对应业务员
cworkpsnid->
getColValue(bd_psndoc,pk_psndoc,pk_psnbasdoc,getColValue(sm_userandclerk,pk_psndoc,userid,coperatorid))
createQueryDLG()
/**<
UI类--查询对话框>
*重写父类方法,取得查询对话框,如有动态显示下拉框和默认值需重写此方法
*/
protectedQueryDLGcreateQueryDLG(){
FundReportDLGdlg=newFundReportDLG();
dlg.setTempletID(
getUIControl()._getPk_corp(),
this.getModuleCode(),
getUIControl()._getOperator(),
null);
//设置默认日期
QueryConditionVO[]qryvos=dlg.getConditionDatas();
for(inti=0;
i<
qryvos.length;
i++){
if(qryvos[i].getFieldCode().equals("
)){
qryvos[i].setValue(getClientEnvironment().getDate().toString());
break;
returndlg;
CARDPANEL
if(clientUI.isListPanelSelected())//如果是选取的列表界面
clientUI.setCurrentPanel(BillTemplateWrapper.CARDPANEL);
Control
controluserpasswords2//运行【用户帐户】
Custflag
说明:
0客户
1供应商
2既是客户又是供应商
3既是供应商又是客户
✧D
DapCall
nc.ui.pf.pub.DapCall
getPkcorp()//取公司
getOperator()//取操作员
dataNotNullValidate
//验证不能为空的字段
getBillCardPanelWrapper().getBillCardPanel().dataNotNullValidate();
dataSource
StringdataSource=DataSourceCenter.getInstance().getSourceName();
//取当前数据源
Date
UFDatedate=ClientEnvironment.getInstance().getDate();
//得到登陆日期
selectto_char(last_day(to_date('
20100625'
'
yyyymmdd'
)),'
dd'
)fromdual;
//得到每月多少天
DateFormat
publicclassDateTest{
publicstaticvoidmain(String[]args){
Stringdates="
2007-8-14"
//日期时间
DateFormatdf=newSimpleDateFormat("
yy-MM-dd"
//日期格式化辅助类
Dated;
try{
d=df.parse(dates);
//格式化日期
if(d.getDay()==0||d.getDay()==6)//判断是不是双休日
System.out.println("
日期:
["
+dates+"
]是双休日"
else
]不是双休日"
}catch(ParseExceptione){
e.printStackTrace();
}
publicvoidonBoSave()throwsException{
getBillCardPanelWrapper().getBillCardPanel().getBillData().dataNotNullValidate();
//UAP模板设置必输项
booleanflag=true;
try
super.onBoSave();
catch(IllegalArgumentExceptione)
Logger.info(e);
flag=false;
catch(Exceptione)
if(flag)
this.getSelfUI().showErrorMessage("
【资产名称】已存在,请检查"
return;
super.onBoRefresh();
Decode
DECODE的语法:
DECODE(value,if1,then1,if2,then2,if3,then3,...,else)
表示如果value等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else。
通过一些函数或计算替代value,是可以使DECODE函数具备大于、小于或等于功能。
Delete
删除废数据的方法如下:
有个表有3个字段ID,PID,NAME;
用父子结构来保存树的信息。
其中ID代表节点编号,PID是父节点编号;
由于删除的时候只删除了ID=id的记录,没有把所有PID指向id的数据删除,导致大量无用的数据滞留
DELETEFROMTEST1
WHEREIDIN(SELECTID
FROMTEST1
MINUS
SELECTID
STARTWITHPIDISNULL
CONNECTBYPRIORID=PID);
//删除表中重复记录:
DELETEFROMaa1
WHEREROWIDIN(SELECTrd
FROM(SELECTROWIDrd,
ROW_NUMBER()OVER(PARTITIONBYbm,mcORDERBYROWID)rn
FROMa)
WHERErn<
>
1);
delLine
//表体增删行的操作,注意加上这一句代码
if(event.getKey().equals("
vdef2"
))
for(inti=0;
delnum;
i++)
this.getBillCardPanel().getBodyPanel().getTable().selectAll();
this.getBillCardPanel().delLine();
for(intj=0;
addnum.intValue()>
0&
j<
addnum.intValue();
j++)
this.getBillCardPanel().addLine();
this.getBillCardPanel().setBodyValueAt("
+(j+1),j,"
DesktopPanel
//nc.ui.sm.desktop.DesktopPanel
privatevoidinitialize(){
//============TODOmodifybyjtxr_jieely【环保部项目专用】登陆后自动隐藏左侧树状条
Stringpk_corp=nc.ui.pub.ClientEnvironment.getInstance().getCorporation().getPrimaryKey();
if("
1002"
.equals(pk_corp))//只针对144001公司,主键为1002
setLayout(newBorderLayout());
setBackground(newColor(0xC1CCDB));
centerPanel=newJPanel(newBorderLayout());
centerPanel.setOpaque(false);
centerPanel.setBorder(BorderFactory.createEmptyBorder(5,3,3,5));
centerPanel.add(getTabbedPane(),BorderLayout.CENTER);
add(centerPanel,BorderLayout.CENTER);
add(getSysFuncBtnPanel(),BorderLayout.NORTH);
return;
//============END2010-08-25
setLayout(newBorderLayout());
setBackground(newColor(0xC1CCDB));
centerPanel=newJPanel(newBorderLayout());
centerPanel.setOpaque(false);
centerPanel.setBorder(BorderFactory.createEmptyBorder(0,3,2,3));
centerPanel.add(getSingleSidZoomPane(),BorderLayout.WEST);
centerPanel.add(getTabbedPane(),BorderLayout.CENTER);
add(centerPanel,BorderLayout.CENTER);
add(getSysFuncBtnPanel(),BorderLayout.NORTH);
DetailReportBaseEx
//报表UI类中的反注册按钮方法
protectedvoidsetPrivateButtons(){
this.unRegisterButton(ButtonAssets.m_boRefresh);
this.unRegisterButton(ButtonAssets.m_boGroup);
this.unRegisterButton(ButtonAssets.m_boFilter);
this.unRegisterButton(ButtonAssets.m_boCross);
this.unRegisterButton(ButtonAssets.m_boSort);
dialog
/**
*启用系统运行提示框避免造成假死现象
privatevoidonButton_import()
//该操作是耗时操作,所以启用系统运行提示框
RunnablerunImpDoc=newRu