学堂 学堂 学堂公众号手机端

BOS二次开发--预测订单录入单据开发

lewis 1年前 (2024-04-21) 阅读数 14 #技术


上级提出要求让我开发预测订单录入的单据开发及相关的插件开发,对于刚学BOS 插件开发的我也是非常有难度的,没人问、没人指导,只得搞自己慢慢摸索。经过好多天的准备,现在基本上已经入门了,在这里记录下最开始的学习心情、知识点、为以后开发积累资源。


业务方面现在先不说写,等有空的时候回来补上,直接说开发了。

首先设计出预测订单界面,效果图如下:

对于此单据开发需要处理如下问题:

1. 选择物料代码后,在表体中显示该物料的所有子项物料?

2.备料数量=备料数量(表体*备料数量)*数量(表头.数量)?

3.是否备料勾选上的表体信息才可保存?

获取单据体中的数据,遍历数据且将没有勾选的记录从表体中移除,后保存。

Private Sub m_BillInterface_BeforeSave(bCancel As Boolean)

Dim isBL As Integer, i As Integer, counts As Integer
Dim yesCounts As Integer
yesCounts = 0

counts = m_BillInterface.Data("Page2").UBound
Debug.Print "------ : " & counts

For i = 1 To counts
If i > counts Then
Exit Sub
End If

Debug.Print "row : " & i & "====================== : " & counts
isBL = m_BillInterface.GetFieldValue("FCheckBox1", i, Enu_ValueType_FFLD)
If isBL = 0 Then
m_BillInterface.RemoveRow False, 2, i
counts = counts - 1
Else
yesCounts = yesCounts + 1
End If
i = yesCounts + 1
Next
End Sub




3.1 K3 BOS 单据保存默认是保存所有的单据数据,表体只保存选中的单据,该如何处理呢?

3.2 单据体中有复选框,如何在插件中获取复选框选中的单据体数据?

3.3 获取复选框单据体后如何保存这些选中的单据体数据?

相关知识点:

1.获取BOS 单据体数据,且遍历

For i = 1 To m_BillInterface.Data("Page2").UBound

Next

2.获取、设置表单上的字段值

'通过给定的字段名获得字段的模板对象、内部关键字、录入时控件顺序。
m_BillInterface.GetFieldValue("Ftext1", i, Enu_ValueType_FFLD)

i:是指单据表体中的行数。

For i = 1 To m_BillInterface.Data("Page2").UBound

'通过给定的字段名获得字段的模板对象、内部关键字、录入时控件顺序。
Str = Trim(m_BillInterface.GetFieldValue("Ftext1", i, Enu_ValueType_FFLD))

Next

设置表单字段上的值:

m_BillInterface.SetFieldValue "Fdecimal", Fprice, -1

3.VB中 判断不等于的写法

If Not Str = "" Then
End If

If SStr(j) <> "" Then
End If

4.VB 截取字符串Right(str,1) Let(str,1)

If Right(Str, 1) <> "]" Or Left(Str, 1) <> "[" Then
bCancel = True
MsgBox "第[" & CStr(i) & "]行品牌信息必须以'['开头以']'结尾,格式不正确请检查."
Exit Sub
End If

5.VB如何跳出某个方法?

Exit Sub

6.VB定义数组

Dim SStr() As String  '声明一个数组
SStr = Split(Str, "[") '拆分字符串,按指定的字符组装成数组

ubound 最大下标

lbound 最小下标

7.K3 BOS 开发中,保存后,如何在插件中取消当前触发事件?

Private Sub m_BillInterface_BeforeSave(bCancel As Boolean)
bCancel = true
End Sub

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门