=====================================

目录:

1、演示效果--【销售订单】传值给【自定义窗体】

2、演示效果--【自定义窗体】传值给【销售订单】

3、附源码

4、另一种做法:定义public全局变量,进行传值

5、源码附件

=====================================

1、演示效果--【销售订单】传值给【自定义窗体】

新建销售订单菜单栏按钮插件--【弹窗交互】,点击【打开自定义弹窗】,打开Form1窗体,把业务单据类型名称传值给自定义窗体Form1。

在Form1窗体,点击“弹出消息框”,,并弹出消息:“来源单据:”+业务单据类型名称传值。

2、演示效果--【自定义窗体】传值给【销售订单】

在Form1窗体的文本框输入“Hello World ! “,按回车键,调用回车事件,传值到【销售订单】的单据体第一行的”备注“字段。

按回车键后,值写入”备注“字段。

3、附源码

销售订单插件类Class1.cls:

'定义插件对象接口. 必须具有的声明, 以此来获得事件
Private WithEvents m_BillTransfer As k3BillTransfer.Bill Public Sub Show(ByVal oBillTransfer As Object) '接口实现
'注意: 此方法必须存在, 请勿修改
Set m_BillTransfer = oBillTransfer End Sub Private Sub Class_Terminate() '释放接口对象
'注意: 此方法必须存在, 请勿修改
Set m_BillTransfer = Nothing End Sub Private Sub m_BillTransfer_BillInitialize() 'TODO: 请在此处添加代码响应事件 BillInitialize '*************** 开始设置菜单 *************** m_BillTransfer.AddUserMenuItem "打开自定义弹窗", "弹窗交互" '*************** 结束设置菜单 *************** End Sub Private Sub m_BillTransfer_BillTerminate() 'TODO: 请在此处添加代码响应事件 BillTerminate End Sub Private Sub m_BillTransfer_UserMenuClick(ByVal Index As Long, ByVal Caption As String) 'TODO: 请在此处添加代码响应事件 UserMenuClick Select Case Caption
Case "打开自定义弹窗"
'此处添加处理 打开自定义弹窗 菜单对象的 Click 事件
Dim Form As New Form1
Set Form.frm_BillTransfer = m_BillTransfer
'交互:这里从销售订单传值到自定义窗口
Form.selSourceName = "销售订单"
Form.Show
Set Form = Nothing
Case Else
End Select End Sub

窗体Form1代码:

Option Explicit
Public WithEvents frm_BillTransfer As k3BillTransfer.Bill Public selSourceName As String Private Sub Command1_Click()
MsgBox "来源单据:" & selSourceName
End Sub Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = Then
'交互:自定义弹窗回传参数给销售订单
SetInfo frm_BillTransfer, Text1.Text
'关闭弹窗
Unload Me
End If
End Sub

公共类Module1.cls:

Public Sub SetInfo(m_BillTransfer As k3BillTransfer.Bill, Value As String)
With m_BillTransfer
.SetGridText , getColIndex(m_BillTransfer, "备注"), Value
End With
End Sub Function getColIndex(m_BillTransfer As k3BillTransfer.Bill, colName As String) As Long
On Error GoTo errCI
Dim tmpIndex As Long
tmpIndex = -
With m_BillTransfer
Dim i As Integer
For i = To
If .GetGridText(, i) = colName Then
tmpIndex = i
Exit For
End If
Next i
End With
getColIndex = tmpIndex
Exit Function
errCI:
getColIndex = tmpIndex
End Function

4、另一种做法:定义public全局变量,进行传值

5、源码附件

工业单据与插件自定义弹窗交互2017-11-13  下载

十二、K3 WISE 开发插件《工业单据老单与自己添加的窗体 - 互相传值传参》的更多相关文章

  1. 十、K3 WISE 开发插件《SQL Profiler跟踪单据操作时产生的SQL语句》

    =================================== 目录: 1.查询帐套的数据库DBID 2.配置需要跟踪数据库的DBID 3.配置跟踪参数 4.跟踪进行 5.分析跟踪语句 === ...

  2. 四、K3 WISE 开发插件《工业单据老单插件开发新手指导》

    开发环境:K/3 Wise 13.0.K/3 Bos开发平台.Visual Basic 6.0 =============================================== 目录 一 ...

  3. 八、K3 WISE 开发插件《工业单据老单插件中获取登陆用户名》

    备注:如果是BOS新单,都有获取用户名的方法.在单据有m_BillInterface.K3Lib.User.UserId,在序时薄有m_ListInterface.K3Lib.User.UserID ...

  4. 三、K3 WISE 开发插件《K3 WISE开发手册》

    1.VB插件工程的命名.命名空间和生成的DLL命名要一致,否则导致注册不成功! 2.主控台的查询分析工具,添加sql直接报表,代码用到临时表,提示“在对应所需名称或序数的集合中未找到项目” 解决:在代 ...

  5. K3 WISE 开发插件《K3 WISE常用数据表整理》

    在后台数据库ICClassType表中,字段FID<0的是老单,FID>0的是新单. ----------------系统设置------------------------ FStatu ...

  6. 一、K3 WISE 开发插件《K3 WISE常用数据表整理》

    在后台数据库ICClassType表中,字段FID<0的是老单,FID>0的是新单. ----------------系统设置------------------------FStatus ...

  7. 二、K3 WISE 开发插件《 工业单据老单客户端插件事件、属性、方法》

    ===================== 目录: 1.插件事件说明如下 2.插件属性说明如下 3.插件方法说明如下 ===================== 1.插件事件说明如下:  序号 事   ...

  8. 九、K3 WISE 开发插件《工业单据老单序时薄插件工具栏按钮开发实例》

    =============================== 目录: 1.添加工具栏按钮 2.查询被添加工具栏按钮的业务单据的FMenuID和FID 3.添加工具栏按钮和业务单据的映射关系 4.工具 ...

  9. 五、K3 WISE 开发插件《K3 Wise 群发短信配置开发(二)之短信群发配置》

    开发环境:K/3 Wise 13.0.Sql Server 2005 目录 一.开启Sql Server Agent代理服务 二.短信发送原理 三.编写存储过程 四.开启Sql Server作业 一. ...

随机推荐

  1. poj--1088--DFS(记忆化搜索之经典)

    滑雪 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 68057   Accepted: 25039 Description ...

  2. WindowManager$BadTokenException: Unable to add window permission denied for this window type

    10-11 11:47:27.472: E/AndroidRuntime(12804): java.lang.RuntimeException: Unable to start activity Co ...

  3. LeetCode题库13. 罗马数字转整数(c++实现)

    问题描述: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II  ...

  4. linux-批量杀死进程

    kill `ps -ef|grep 进程名 | grep -v grep|awk '{print $2}'` 例如: kill `ps -ef | grep /etc/pam.d/su |grep - ...

  5. PL/SQL学习笔记之数据类型中的标量、LOB

    一:标量 标量 即 基本数据类型,主要有4种:数值.字符.布尔类型.日期时间. 1:数值类型 数据类型 描述 PLS_INTEGER 通过2,147,483,647到-2147483648范围内有符号 ...

  6. ORA-16447 Redo apply was not active at the target standby database

    Cause ALTER SYSTEM FLUSH REDO TO STANDBY failed because redo apply is not active at the target datab ...

  7. 使用robot_pose_ekf对传感器信息融合

    robot_pose_ekf是ROS Navigation stack中的一个包,通过扩展卡尔曼滤波器对imu.里程计odom.视觉里程计vo的数据进行融合,来估计平面移动机器人的真实位置姿态,输出o ...

  8. Non-negative Matrix Factorization 非负矩阵分解

    著名的科学杂志<Nature>于1999年刊登了两位科学家D.D.Lee和H.S.Seung对数学中非负矩阵研究的突出成果.该文提出了一种新的矩阵分解思想――非负矩阵分解(Non-nega ...

  9. netstat使用--10个常用的命令

    1.列出所有的端口   netstat -a  列出TCP协议的端口  netstat -at   UDP协议的端口  netstat -au 2.列出处于监听状态的socket  netstat - ...

  10. 如何获取ubuntu源码包里面的源码?

    ubuntu 源仓库说明 1.在获取源码包之前,确保在软件源配置文件/etc/apt/sources.list中添加了deb-src项 vim /etc/apt/sources.list # # de ...