K3Cloud BOS 设计 Python 单据转换插件 自动提交审核

C#插件参考

Python 插件

依次 保存 提交 审核

ids = List[DynamicObject]() 注意定义类型,与保存时类型统一 需要引用 System.Collections.Generic

完整代码

def AfterConvert(e):
    key = e.TargetBusinessInfo.GetEntity(0).Key
    ls = e.Result.FindByEntityKey(key)
    ids = List[DynamicObject]()
    for billObj in ls:
        ob = billObj.DataEntity
        ids.Add(ob)
    pkArray = ids.ToArray()
    formMetadata = MetaDataServiceHelper.Load(this.Context, "SAL_SaleOrder")
    operationResult = BusinessDataServiceHelper.Save(this.Context, formMetadata.BusinessInfo, pkArray, None, "")
    if (operationResult.IsSuccess):
        ids = operationResult.SuccessDataEnity
        keys = List[object]()
        for ob in ids:
            keys.Add(ob[0])
        pkArray = keys.ToArray()
        operationResult = BusinessDataServiceHelper.Submit(this.Context, formMetadata.BusinessInfo, pkArray,"Submit", None)
        if operationResult.IsSuccess:
            operationResult = BusinessDataServiceHelper.Audit(this.Context, formMetadata.BusinessInfo, pkArray, None)
    this.OperationResult.OperateResult = operationResult.OperateResult
    this.OperationResult.IsSuccess = operationResult.IsSuccess
    this.OperationResult.ValidationErrors = operationResult.ValidationErrors
    this.OperationResult.OperateResult = operationResult.OperateResult

自动提交审核

自动提交审核,不会提示 单据校验详细信息,
会提示“此操作对该事务的状态无效。”

def AfterConvert(e):
    key = e.TargetBusinessInfo.GetEntity(0).Key
    ls = e.Result.FindByEntityKey(key)
    ids = List[DynamicObject]()
    for billObj in ls:
        ob = billObj.DataEntity
        ids.Add(ob)
    pkArray = ids.ToArray()
    formMetadata = MetaDataServiceHelper.Load(this.Context, "SAL_SaleOrder")
    option = OperateOption.Create()
    option.SetVariableValue("IsAutoSubmitAndAudit", True)
    operationResult = BusinessDataServiceHelper.Save(this.Context, formMetadata.BusinessInfo, pkArray, option, "")
    if (operationResult.IsSuccess == False):
        raise Exception("自动提交审核:失败");

返回错误、提示信息

直接抛出异常
raise Exception("提示信息:失败");

操作返回结果赋值 可以显示系统返回的明细信息
this.OperationResult.OperateResult = operationResult.OperateResult;
this.OperationResult.ValidationErrors = operationResult.ValidationErrors;
this.OperationResult.IsSuccess = operationResult.IsSuccess;

python 代码下载

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漫伊

感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值