webapi实现销售出库单下推销售退货单

import clr
clr.AddReference('System')
#clr.AddReference('System.Collections.Generic')
clr.AddReference('System.Linq')
#clr.AddReference('System.Text')
clr.AddReference('System.ComponentModel')
clr.AddReference('Kingdee.BOS.Core')

clr.AddReference('Kingdee.BOS.ServiceHelper')
clr.AddReference('Kingdee.BOS.WebApi.Client')
clr.AddReference('Newtonsoft.Json')

from  Kingdee.BOS.WebApi.Client   import *
from  System                                                              import *
from  System.Collections.Generic                                          import *
#from  System.Linq                                                         import *
from  System.Text                                                         import *
from  System.ComponentModel                                               import *
from  Kingdee.BOS.Util                                                    import *
from  Kingdee.BOS.Core                                                    import *
from  Kingdee.BOS.Core.Bill                                               import *
from  Kingdee.BOS.Orm                                                     import *
from  Kingdee.BOS.Core.Const                                              import *
from  Kingdee.BOS.Core.List                                               import *
from  Kingdee.BOS.ServiceHelper                                           import *
from  Kingdee.BOS.Core.DynamicForm.PlugIn.Args                            import *
from  Kingdee.BOS.Core.Metadata.ConvertElement.ServiceArgs                import *
from  Kingdee.BOS.Core.Metadata.ConvertElement                            import *
from  Kingdee.BOS.Core.DynamicForm.Operation                              import *
from  Kingdee.BOS.Orm.DataEntity                                          import *
from  Kingdee.BOS.Core.Interaction                                        import *
from  Kingdee.BOS.Core.Metadata                                           import *
from  Kingdee.BOS.Core.DynamicForm                                        import *
from  Kingdee.BOS.Core.Metadata.EntityElement                             import *
from  Kingdee.BOS.Core.Metadata.FieldElement                              import *
from  Kingdee.BOS.Core.DynamicForm.PlugIn                                 import *
from  Newtonsoft.Json                                                import *
from  Newtonsoft.Json.Linq                                                import *


def BarItemClick(e):
    key=e.BarItemKey.ToUpperInvariant();#菜单标识大写
    if(key=="FBTNCUSTOMPUSH".ToUpperInvariant()):

        # pushOption = OperateOption.Create();#构建空的操作选项
        # pushArgs = CreatePushArgs(pushOption); #构建下推参数
        # convertResult = ConvertServiceHelper.Push(this.Context, pushArgs, pushOption);#调用下推接口
        # #targetObjs = (from p in convertResult.TargetDataEntities select p.DataEntity).ToArray();#得到目标单据数据包
        # targetBInfo = this.GetBusinessInfo(pushArgs.ConvertRule.TargetFormId, pushArgs.ConvertRule.TargetFormMetadata);
        # #对转换结果进行处理
        # #1. 直接调用保存接口,对数据进行保存
        # this.SaveTargetBill(targetBInfo, targetObjs);
        # #2. 或者展示目标单据
        # this.ShowTargetForm(targetBInfo, targetObjs);
        client = K3CloudApiClient("https://suninfinit1.test.ik3cloud.com/K3Cloud/");
        loginResult = client.ValidateLogin("1639759376577227776","王传志","1qaz@WSX3edc",2052);
   
        resultType = JObject.Parse(loginResult)["LoginResultType"]  #.Value<int>();
#         一、请求参数说明:
# 1.formid:业务对象表单Id,字符串类型(必录)
# 2.data:JSON格式数据(详情参考JSON格式数据)(必录)
#      2.1.Ids:单据内码集合,字符串类型,格式:"Id1,Id2,..."(使用内码时必录)
#      2.2.Numbers:单据编码集合,数组类型,格式:[No1,No2,...](使用编码时必录)
#      2.3.EntryIds:分录内码集合,逗号分隔(分录下推时必录) 注(按分录下推时,单据内码和编码必须要填,否则按整单下推)
#      2.4.RuleId:转换规则内码,字符串类型(未启用默认转换规则时,则必录)
#      2.5.TargetBillTypeId:目标单据类型内码,字符串类型(非必录)
#      2.6.TargetOrgId:目标组织内码,整型(非必录)
#      2.7.TargetFormId:目标单据FormId,字符串类型,(启用默认转换规则时,则必录)
#      2.8.IsEnableDefaultRule:是否启用默认转换规则,布尔类型,默认false(非必录)
#      2.9.IsDraftWhenSaveFail:保存失败时是否暂存,布尔类型,默认false(非必录)  注(暂存的单据是没有编码的)
#      2.10.CustomParams:自定义参数,字典类型,格式:"{key1:value1,key2:value2,...}"(非必录)  注(传到转换插件的操作选项中,平台不会解析里面的值)
       
        para= {
            "Ids": "",
            "Numbers": [],
            "EntryIds": "773219,773220,773221",  #销售出库单分录内码
            "RuleId": "OutStock-SalReturnStock",  #OutStock-SalReturnStock
            "TargetBillTypeId": "",
            "TargetOrgId": 0,
            "TargetFormId": "",
            "IsEnableDefaultRule": "false",
            "IsDraftWhenSaveFail": "false",
            "CustomParams": {}
        }

        jsonString = JsonConvert.SerializeObject(para);  #将json格式的对象转换为json字符串
       
    #登录结果类型等于1,代表登录成功
        if resultType == 1:
            json= client.Push("SAL_OUTSTOCK",jsonString);
            this.View.ShowMessage("{0}".format(json))

posted on   这一生,谢谢自己  阅读(9)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示