用BIM在单据上先增加核算项目的列,注意如果BIM中选择不到核算项目的业务单元,还需要先手工在BIM中先引入一个,然后发布,在实现类中增加如下代码(须根据自己的实际修改控件名和自定义核算项目类别编码):
public static void initHZPrmt(KDTable kdtEntry,CoreUIObject editUI) throws BOSException {
final KDBizPromptBox kdtEntry_PromptBox = new KDBizPromptBox();
kdtEntry.checkParsed();
kdtEntry_PromptBox.setVisible(true);
kdtEntry_PromptBox.setEditable(true);
setHZ(kdtEntry_PromptBox, editUI);
kdtEntry_PromptBox.setDisplayFormat("$number$");
kdtEntry_PromptBox.setEditFormat("$number$");
kdtEntry_PromptBox.setCommitFormat("$number$");
KDTDefaultCellEditor kdtEntry_CellEditor = new KDTDefaultCellEditor(
kdtEntry_PromptBox);
kdtEntry.getColumn("cargo").setEditor(kdtEntry_CellEditor);
ObjectValueRender kdtEntry__OVR = new ObjectValueRender();
kdtEntry__OVR.setFormat(new BizDataFormat("$name$"));
kdtEntry.getColumn("cargo").setRenderer(kdtEntry__OVR);
}
public static void setHZ(KDBizPromptBox bizPromptBox, CoreUIObject ui)throws BOSException {
IGeneralAsstActTypeGroup iGeneralAsstGroup = GeneralAsstActTypeGroupFactory
.getRemoteInstance();
GeneralAsstActTypeGroupCollection gc = iGeneralAsstGroup
.getGeneralAsstActTypeGroupCollection("select * where number='01'");
if (gc.size() > 0) {
GLf7Utils.assignSelector(bizPromptBox, gc.get(0), "", true, false,null, ui, true);
bizPromptBox.setQueryInfo("com.kingdee.eas.basedata.master.auxacct.app.F7GeneralAsstActTypeQuery");
}
}