通过SQL查询出单据元数据的Python脚本

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

通过SQL查询出单据元数据的Python脚本

    Python脚本插件可以将一个功能快速复用到多个单据上,提升我们的开发效率。

那么问题来了:

我们多次应用Python脚本之后,突然哪天想看下哪些单据配置了这个脚本怎么办呢?

遇到一个新的开发,想起之前好像用Python实现过类似的功能,但就是想不起是哪个单据上开发的,想找出来参考一下?

...

最近,小弟就遇到了这个问题,最开始是打开BOS一个单据一个一个脚本去点去看去找,找了半天都没找到。

就为了找那一句代码的写法,有时候点开了脚本都没发现,这样找下去不是个办法....

于是,我就想到Python脚本是与单据的元数据XML存在一起的,能不能通过SQL查询出元数据中的Python脚本 ,包含某个关键字的单据呢?经过研究尝试,终于实现了,在此记录下来,以后备用。


--数据库:SqlServer

--参考SQL如下:


select FID,FKERNELXML , 

(select FNAME

from T_META_OBJECTTYPE_L  

where FID = T_META_OBJECTTYPE_Temp.FID and FLOCALEID = '2052'  

  ) FNAME  

,Item  单据中的所有Python脚本

from  

(select FKERNELXML.query('//PyScript') 'Item', * from T_META_OBJECTTYPE)  T_META_OBJECTTYPE_Temp   

where convert(varchar(max),FKERNELXML.exist('//PyScript'))='1'

and convert(nvarchar(max),Item) like '%Variables%'





相关参考:查询插件被哪些单据使用(sql)


发现查询语句貌似执行有点小问题,我改了一下查询语句,请见谅:

select Fname as 单据,Item as Python脚本

from T_META_OBJECTTYPE_L  t0

left join (select FKERNELXML.query('//PyScript') 'Item', * from T_META_OBJECTTYPE) t1 on t0.FID = t1.FID and FLOCALEID = '2052'  

where convert(varchar(max),FKERNELXML.exist('//PyScript'))='1'

--and convert(nvarchar(max),Item) like '%Variables%'



通过SQL查询出单据元数据的Python脚本

Python脚本插件可以将一个功能快速复用到多个单据上,提升我们的开发效率。那么问题来了:我们多次应用Python脚本之后,突然哪天想看...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息