电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

套打.二开案例.通过表单插件过滤数据(python创建数组对象)

来源:金蝶云社区作者:金蝶2024-09-234

套打.二开案例.通过表单插件过滤数据(python创建数组对象)

<0>简介

本文提供一个通过平台python插件处理套打数据,创建数据对象返回平台的方法。

Array.CreateInstance(type, len(tempList));


<1>分析过程

  1. 直接创建,无法使用new语法

  2. List<T>.ToArray()? 理解面向接口编程

    C# 语言默认提供的IList<T>列表接口实现默认就7种,像python这种第三方库本质上也是应该面向接口编程,如果了解星空是使用IronPython实现python语法的话(本质上也是一个C#的库,将python的语法用C#实现而已),查下github源码就知道了(源码面前了无秘密),最终的源码是IronPython.Runtime.List没有ToArray的公有接口

    image.webpimage.webp

  3. IronPython.Runtime.List分析源码,本质上也是通过数组实现列表

    本质上也是object[]实现列表,但是奈何没有实现这个列表的动态访问,无法访问内部属性

    image.webp

    image.webp


  4. 再仔细分析,内部实现的拷贝都借助了一个静态类ArrayOps,分析静态类中提供的语法,最终找到一个Array.CreateInstance的方法,Array在python中属于一个动态类型,因此支持访问器内部方法

    image.webp

    image.webp

    image.webp


    可能有些小伙伴不了解动态类型和静态类型,动态类型的意思是继承System.Dynamic.DynamicObject,通过实现TryGetMember和TrySetMember进行获取和设置内部成员(还包括其他接口),比如平台提供的实体服务规则和套打动态字段等。

    image.webp


<2>实现案例

过滤套打单据体的数据

image.webp

image.webp

from System import *
from Kingdee.BOS import *
from Kingdee.BOS

套打.二开案例.通过表单插件过滤数据(python创建数组对象)

<0>简介本文提供一个通过平台python插件处理套打数据,创建数据对象返回平台的方法。Array.CreateInstance(type, len(tempList));<1>分析...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信