pb保存事件中获取数据窗口列值存储在另一个数据窗口的表字段中

孟伟龙 / 2023-05-18 / 原文

// 保存工艺单
Long ll_Row,ll_id
String ls_waste_lot, ls_remark
DateTime ldt_date
// 检验数据窗口编辑的列值
IF Tab_1.tabpage_1.dw_1.AcceptText() = -1 Then Return -1
IF Tab_1.tabpage_1.dw_4.AcceptText() = -1 Then Return -1
IF Tab_1.tabpage_2.dw_2.AcceptText() = -1 Then Return -1
if tab_1.tabpage_1.dw_1.of_UpdatesPending() + &
    tab_1.tabpage_1.dw_4.of_UpdatesPending() + &
    tab_1.tabpage_2.dw_2.of_UpdatesPending() = 0 Then Return 0    

    // 主键id
ll_id = Tab_1.Tabpage_1.dw_1.Object.order_id[1]
//
//IF ll_id <= 0 Then
//    Tab_1.SelectedTab = 1
//    MessageBox("提示","批号不能为空!")
//    Return -1
//End IF
ls_waste_lot = Tab_1.Tabpage_1.dw_1.Object.waste_lot[1]
ls_remark = Tab_1.Tabpage_1.dw_1.Object.remark[1]
MessageBox("批号", ls_remark)
For ll_Row = 1 To Tab_1.Tabpage_1.dw_4.RowCount()
    IF Tab_1.Tabpage_1.dw_4.of_Validation(ll_Row,{"item_name","item_rate"}) = -1 Then
//        IF tab_1.SelectedTab <> 2 Then tab_1.SelectTab(2)
        Return -1
    End IF
    
    // 数据对象的表字段赋值
    IF Tab_1.Tabpage_1.dw_4.GetItemStatus(ll_Row,0,Primary!) <> NotModified! Then
        Tab_1.Tabpage_1.dw_4.Object.trans_date[ll_Row] = ldt_date
        Tab_1.Tabpage_1.dw_4.Object.trans_user[ll_Row] = gs_empname
        Tab_1.Tabpage_1.dw_4.Object.waste_lot[ll_Row] = ls_waste_lot
        Tab_1.Tabpage_1.dw_4.Object.remark[ll_Row] = ls_remark
    End IF
End For

// "开松工艺单"的时间和登录人
ldt_date = gf_Get_SysDateTime()
Tab_1.Tabpage_2.dw_2.Object.t_12.text = gs_empname

IF Tab_1.Tabpage_1.dw_4.Update(True,False) = -1 Then
    Rollback;
    MessageBox("提示","数据保存出现错误2!~r~n"+Tab_1.Tabpage_1.dw_4.Of_GetDBError(),StopSign!,OK!)
    Return -1
End IF

IF Tab_1.Tabpage_1.dw_1.Update(True,False) = -1 Then
    Rollback;
    MessageBox("提示","数据保存出现错误2!~r~n"+Tab_1.Tabpage_1.dw_1.Of_GetDBError(),StopSign!,OK!)
    Return -1
End IF

Commit;
// 清除缓存区 Tab_1.Tabpage_1.dw_4.ReSetUpdate() Tab_1.Tabpage_1.dw_1.ReSetUpdate()
// 传id加载数据对象 Event ue_RetrieveData(ll_id) MessageBox(
"提示","数据保存成功!") //IF tab_1.SelectedTab <> 2 Then tab_1.SelectTab(2) // Return 1