NC 同一个表,执行insert生效,执行update无效

博客提醒在建表时,要检查主键的长度是否大于20位,涉及数据库建表的关键信息。

检查你的建表的时候主键的长度是不是大于20位!!!!!!!!!!

package nc.ui.fdcprcm.bd.bill.action; import java.awt.event.ActionEvent; import nc.vo.so.m4331.entity.DeliveryHVO; import nc.vo.so.m4331.entity.DeliveryVO; import nc.ui.uif2.NCAction; import nc.ui.uif2.model.AbstractAppModel; import nc.ui.arap.view.InvoiceDialog; import nc.ui.pub.beans.MessageDialog; import nc.ui.pubapp.uif2app.view.BillForm; import nc.vo.arap.receivable.AggReceivableBillVO; import nc.vo.arap.receivable.ReceivableBillVO; import nc.ui.pubapp.uif2app.actions.RefreshSingleAction; public class RefundSaveAction extends NCAction{ private BillForm editor; private AbstractAppModel model; public RefundSaveAction(){ //初始按钮名称和code super.setBtnName("退费保存"); //传入值和xml中的code对应 super.setCode("RefundSaveAction"); } public BillForm getEditor() { return editor; } public void setEditor(BillForm editor) { this.editor = editor; } public AbstractAppModel getModel() { return model; } public void setModel(AbstractAppModel model) { this.model = model; //自定义按钮点击条件,必须添加该代码 model.addAppEventListener(this); } //设置按钮满足什么条件时,可以点击-返回true可以点击。 @Override protected boolean isActionEnable() { return true; } @Override public void doAction(ActionEvent paramActionEvent) throws Exception { MessageDialog.showHintDlg(editor, "提示", "测试自己新按钮按下"); } } 上面这段代码是NC65的A单据的 自定义扩展的一个 退费保存 按钮 package nc.bs.pub.action; import nc.bs.framework.common.NCLocator; import nc.bs.pubapp.pf.action.AbstractPfAction; import nc.impl.fdcprcm.bd.bill.bpplugin.BillPluginPoint; import nc.impl.pubapp.pattern.rule.processer.CompareAroundProcesser; import nc.itf.fdcprcm.bd.bill.IFDCPRCMBillMaintain; import nc.vo.fdcprcm.bd.bill.AggBillVO; import nc.vo.fdcprcm.bd.bill.BillVO; import nc.vo.jcom.lang.StringUtil; import nc.vo.pub.BusinessException; import nc.vo.pubapp.pattern.exception.ExceptionUtils; public class N_H33J_SAVEBASE extends AbstractPfAction<AggBillVO> { protected CompareAroundProcesser<AggBillVO> getCompareAroundProcesserWithRules(Object userObj) { CompareAroundProcesser<AggBillVO> processor = null; AggBillVO[] clientFullVOs = (AggBillVO[])getVos(); if (!StringUtil.isEmptyWithTrim(clientFullVOs[0].getParentVO().getPrimaryKey())) { processor = new CompareAroundProcesser(BillPluginPoint.UPDATE); } else { processor = new CompareAroundProcesser(BillPluginPoint.INSERT); } return processor; } protected AggBillVO[] processBP(Object userObj, AggBillVO[] clientFullVOs, AggBillVO[] originBills) { AggBillVO[] bills = null; IFDCPRCMBillMaintain operator = (IFDCPRCMBillMaintain)NCLocator.getInstance().lookup(IFDCPRCMBillMaintain.class); if (!StringUtil.isEmptyWithTrim(clientFullVOs[0].getParentVO().getPrimaryKey())) { try { bills = operator.update(clientFullVOs, originBills); } catch (BusinessException e) { ExceptionUtils.wrappBusinessException(e.getMessage()); } } else { try { bills = operator.insert(clientFullVOs, originBills); } catch (BusinessException e) { ExceptionUtils.wrappBusinessException(e.getMessage()); } } return bills; } } 上面这段代码是 A单据 原有 保存按钮的保存动作代码 package nc.ui.fdcprcm.bd.bill.action; import java.awt.event.ActionEvent; import nc.ui.fdcpr.uipub.action.JZFDCSaveScriptAction; import nc.ui.fdcprcm.bd.bill.view.BillShowUpableBillForm; import nc.ui.fdcpub.pub.tool.PMTableTreeTool; import nc.ui.pub.bill.BillCardPanel; public class PRCmBillSaveScriptAction extends JZFDCSaveScriptAction { private static final long serialVersionUID = -2714896722865300221L; public void doAction(ActionEvent e) throws Exception { try { getBillForm().getBillCardPanel().stopEditing(); getBillForm().getTreetableTool().changeToNormalTable(); super.doAction(e); } catch (Exception e1) { throw e1; } finally { getBillForm().getTreetableTool().changeToTreeTable(getBillForm().getTreeCreateStrategy()); getBillForm().getTreetableTool().setEnable(); } } private BillShowUpableBillForm getBillForm() { return (BillShowUpableBillForm)editor; } } 上面这段代码是 A单据 原有 保存按钮 下一步的保存操作 package nc.itf.fdcprcm.bd.bill; import java.util.Map; import java.util.Set; import nc.ui.querytemplate.querytree.IQueryScheme; import nc.vo.fdcprcm.bd.bill.AggBillVO; import nc.vo.pub.AggregatedValueObject; import nc.vo.pub.BusinessException; import nc.vo.pub.lang.UFDouble; public abstract interface IFDCPRCMBillMaintain { public abstract AggBillVO[] update(AggBillVO[] paramArrayOfAggBillVO1, AggBillVO[] paramArrayOfAggBillVO2) throws BusinessException; public abstract AggBillVO[] insert(AggBillVO[] paramArrayOfAggBillVO1, AggBillVO[] paramArrayOfAggBillVO2) throws BusinessException; public abstract AggBillVO[] approve(AggBillVO[] paramArrayOfAggBillVO1, AggBillVO[] paramArrayOfAggBillVO2) throws BusinessException; public abstract void delete(AggBillVO[] paramArrayOfAggBillVO1, AggBillVO[] paramArrayOfAggBillVO2) throws BusinessException; public abstract AggBillVO[] unsave(AggBillVO[] paramArrayOfAggBillVO1, AggBillVO[] paramArrayOfAggBillVO2) throws BusinessException; public abstract AggBillVO[] unapprove(AggBillVO[] paramArrayOfAggBillVO1, AggBillVO[] paramArrayOfAggBillVO2) throws BusinessException; public abstract AggBillVO[] save(AggBillVO[] paramArrayOfAggBillVO1, AggBillVO[] paramArrayOfAggBillVO2) throws BusinessException; public abstract String[] queryPKs(IQueryScheme paramIQueryScheme) throws BusinessException; public abstract AggBillVO[] queryBillByPKs(String[] paramArrayOfString) throws BusinessException; public abstract String generatePKItem(); public abstract Map<String, UFDouble> queryPreviewBillCarryMny(String paramString, Set<String> paramSet) throws BusinessException; public abstract void arapWirteBack2Bill(AggregatedValueObject[] paramArrayOfAggregatedValueObject) throws BusinessException; }
10-07
<think> 我们正在处理一个关于NC633系统添加库存组织的问题。根据用户提供的引用内容,我们虽然看到了一些SQL操作和单据转换规则的示例,但这些引用似乎与库存组织的添加没有直接关系。不过,我们可以根据一般经验来指导用户如何在NC633中添加库存组织。 在NC系统中,添加库存组织通常涉及以下步骤: 1. 在组织管理模块中创建新的组织。 2. 设置该组织的属性为库存组织。 3. 分配相关的权限和关联关系。 具体步骤可能如下: ### 步骤1:创建新的组织 - 登录NC系统,进入“组织管理”模块。 - 选择“组织架构”或类似菜单,然后选择“组织维护”。 - 点击“新增”按钮,填写组织的基本信息,如组织编码、组织名称等。 ### 步骤2:设置为库存组织 - 在新增的组织信息中,找到“组织类型”或“组织属性”设置。 - 将其设置为“库存组织”或勾选相应的库存组织属性。 ### 步骤3:分配权限和关联 - 根据需求,可能需要将该库存组织分配给相应的财务组织(如果系统要求财务组织与库存组织关联)。 - 设置用户对该库存组织的访问权限。 ### 注意事项 - 确保新添加的库存组织在系统中具有唯一的编码。 - 添加后,可能需要分配库存地点(仓库)等后续设置。 由于用户提供的引用内容并不直接相关,我们只能给出一般性指导。如果用户需要具体的SQL操作(如引用中出现的SQL插入和更新语句),通常这些操作是在系统界面中完成的,不建议直接操作数据库。如果确实需要数据库操作,应谨慎进行,并在测试环境中验证。 以下是一个示例SQL语句(仅作参考,实际名和字段名可能不同): ```sql -- 在组织中插入新的库存组织 INSERT INTO org_orgs (org_code, org_name, org_type, ...) VALUES ('ORG001', '新库存组织', '库存组织', ...); -- 更新相关配置(具体需根据系统数据库设计) ``` 但是,强烈建议通过系统界面操作,以避免数据不一致问题。 §§相关问题§§ 1. 如何在NC633中设置库存组织的默认仓库? 2. 如何为新建的库存组织分配用户权限? 3. 库存组织与财务组织的关系是怎样的? </think> ### NC633 添加库存组织的方法 在 NC633 系统中添加库存组织需通过组织架构管理功能实现,主要步骤如下: 1. **进入组织管理模块** - 登录 NC633 系统后,进入`客户化` → `基本档案` → `组织机构` → `组织管理`模块 2. **创建组织节点** - 在组织树中选择上级节点(如集团节点) - 点击`增加`按钮创建新组织 - 设置关键属性: ```sql 组织编码:唯一标识(例:STOR001) 组织名称:库存组织名称(例:上海仓库) 组织类型:选择"库存组织" 生效日期:设置启用日期 ``` 3. **配置组织属性** - 在`组织属性`页签中设置: ```sql 是否采购组织:根据需求勾选 是否销售组织:根据需求勾选 是否库存组织:必须勾选 √ 是否工厂:可选配置 ``` - 关联财务组织(若需独立核算) 4. **分配数据权限** - 在`权限分配`页签中: ```sql 分配用户/角色权限 设置数据权限控制策略 ``` 5. **启用组织** - 完成配置后点击`保存` - 在组织树中选中该节点执行`启用`操作 > ⚠️ **重要说明** > 若需通过数据库直接操作(非标准流程,需谨慎),可参考类似组织添加的SQL语法[^2]: > ```sql > INSERT INTO org_orgs (pk_org, org_code, org_name, org_type) > VALUES ('1001A110000000XXXXX', 'STOR001', '上海仓库', '库存组织'); > > UPDATE bd_cubasdoc > SET enablestate = 1 > WHERE pk_org = '1001A110000000XXXXX'; > ``` > *注:实际名和字段需根据具体NC版本确认,建议优先使用界面操作*
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值