方法说明:
错误描述 保存时报单据类型错误 错误原因 没有单据类型 错误解决 将CostCardUICtrl中的isExistBillStatus方法的返回值该为false
4. 获得页面值的一些操作
4.1 在UI里获取值
其他地方可以通过:
protected CostCardUI getUI() {
}
return (CostCardUI) getBillUI();
方法来获得该UI;
值 获得页面的参照 UIRefPane pane = (UIRefPane) getBillCardPanel().getHeadItem(HpCostcardVO.PK_INVMANDOC).getComponent(); AbstractRefGridTreeModel model = (AbstractRefGridTreeModel) pane.getRefModel(); 列表下获取值 getUI().getBillListPanel().getHeadBillModel().getValueAt(getUI().getBufferData().getCurrentRow(),\取得项目名称\ 卡片下获取值 将页面上的按钮设置为可用状态 当前时间 当前日期 当前操作员 _getServerTime() _getDate() _getOperator() getUI().getBillCardPanel().getHeadItem(\取得项目名称\ getButtonManager().getButton(IHPCostButton.QueryInputbaseButton).setEnabled(true); 方法 5. 联查单据
5.1联查费用
// 联查直接费用确认单,自定义按钮的实现方法
protected void onQueryLmoneyButton() throws BusinessException {
// 获得主键
String StrpkCostcard = getUI().getBillCardPanel().getHeadItem(
HpCostcardVO.PK_COSTCARD).getValueObject().toString();
String[] spkcostbesure = nc.ui.hp.pub.ServiceFactory.getIHPPubService()
.queryCostbesurePk(StrpkCostcard);
// IHPCostBillType.COSTDISTRBUTE_BILL_TYPE 为单据类型,比如TP10 BilltypeVO billTypeVO = PfUIDataCache
.getBillType(IHPCostBillType.COSTDISTRBUTE_BILL_TYPE);
SFQryLinkData linkQueryData = new SFQryLinkData(spkcostbesure); SFClientUtil.openLinkedQueryDialog(billTypeVO.getNodecode(), getUI(),
linkQueryData);
}
5.2联查存货:
protected void onQuerycunhuoButton() throws BusinessException {
if (Toolkit.isEmpty(getUI().getBillCardPanel().getHeadItem(
\).getValueObject())) {
MessageDialog.showErrorDlg(getUI(), \错误\, \该成本卡没有存货,不能进行联查!存货
档案\);
}
SFQryLinkData data = new SFQryLinkData(new String[] { getUI()
.getBillCardPanel().getHeadItem(\).getValueObject().toString() }); return;
}
HPClientUtil.linkQueryInvManDoc(getUI().getParent(), data);
6. 一些按钮
6.1 文档管理按钮
protected void onQueryWordButton() throws Exception { \); }
一些平台提供的方法:nc.ui.am.common.command.support.*
return; String str_corp = \;
str_corp = getUI()._getCorp().getPk_corp(); String strpk_costcard = \;
if (getUI().getBillCardPanel().getHeadItem(\).getValueObject() != null) { }
if (strpk_costcard.equals(\)) {
MessageDialog.showWarningDlg(getUI(), \提示\, \请选择一张成本卡后再使用文档管理! strpk_costcard = getUI().getBillCardPanel().getHeadItem(
\).getValueObject().toString();
} else { }
FileManageUI.showInDlg(getUI(), \成本卡文档管理\/** @res* \文档管理\ */
, \成本卡管理_\ + str_corp + \ + strpk_costcard);
7. 加锁问题
7.1主表字段加锁
在动作脚本中添加 方法的调用
public Object runComClass(PfParameterVO vo) throws BusinessException {
try {
super.m_tmpVo = vo;
// ####本脚本必须含有返回值,返回DLG和PNL的组件不允许有返回值#### Object retObj = null;
// ####重要说明:生成的业务组件方法尽量不要进行修改#### // 方法说明:公共保存方法 // 生成单据号
nc.bs.pub.billcodemanage.BillcodeGenerater gene = new
nc.bs.pub.billcodemanage.BillcodeGenerater();
if (nc.vo.jcom.lang.StringUtil.isEmpty(((String) vo.m_preValueVo }
//保存前先进行加锁判断
runClass(\
\
.getParentVO().getAttributeValue(\)))) {
String billno = gene.getBillCode(vo.m_billType, vo.m_coId,
null, null);
vo.m_preValueVo.getParentVO().setAttributeValue(\,
billno);
相关推荐: