Python 二开销售出库单物流单号链接跳转至快递100官网

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

Python 二开销售出库单物流单号链接跳转至快递100官网

    销售出库单列表中的物流单号字段默认是文本显示,基于一些二开需要,客户可能需要显示成链接形式,当点击此字段时自动跳转到外部网站上,比如快递100官网以方便客户查询物流单号对应的物流轨迹信息。本文简单介绍下如何利用Python列表插件二开此需求,首先打开BOSIDE并扩展'销售出库单'的元数据,修改物流单号字段的'列表显示控件'为链接,如下图1-1所示:

图1-1


    其次在销售出库单列表插件中注册一个Python列表插件,插件取名为'物流单号跳转测试',如下图1-2所示:

图1-2


Python脚本如下(注:建议使用附件中的代码,不要直接复制下面的脚本,因为直接复制后 HTML会转义空格之类的字符):KingdeeOutStockList.zip

# -*- coding: utf-8 -*-
#销售物流信息列表插件试例
import clr
clr.AddReference('System')
clr.AddReference('System.Core')
clr.AddReference('Kingdee.BOS')
clr.AddReference('Kingdee.BOS.App')
clr.AddReference('Kingdee.BOS.Core')
from System import *
from System.Diagnostics import *
from System.Linq import *
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.DynamicForm import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import *
from Kingdee.BOS.JSON import * 
from Kingdee.BOS.Core.Const import *
def EntryButtonCellClick(e):
    if e.FieldKey == "FCarryBillNo":
        rowData = Enumerable.FirstOrDefault(this.ListView.CurrentPageRowsInfo, lambda row: row.RowKey == e.Row);
        if rowData is not None:
            url = "https://www.kuaidi100.com?KingdeeBillNo=" + str(rowData.DataRow[e.FieldKey]);
            #无效,会报拒绝访问
            #Process.Start(url);
            jsonString = '[{"isurldecode":false, "title": "请点击此链接跳转到快递100官网查询物流", "url": "' + url + '"}]';       
            this.View.AddAction(JSAction.openUrlWindow, JSONArray.Parse(jsonString));


效果如下图2-1所示:

图2-1



Python 二开销售出库单物流单号链接跳转至快递100官网

销售出库单列表中的物流单号字段默认是文本显示,基于一些二开需要,客户可能需要显示成链接形式,当点击此字段时自动跳转到外部网站上...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息