///单头已审核,标记绿色;已作废,标记红色 未审核 黄色 隔行显示深一些的颜色(行颜色区分)
dw_master.Object.datawindow.detail.Color = “1073741824~tif(t_prom_h.status = 1,RGB(0,255,0),if(t_prom_h.status = 2,RGB(255,0,0),if(t_prom_h.status = 0,RGB(255,255,0),if(Mod(GetRow(), 2) = 0, RGB(247, 247, 247), 134217752))))”
//首营颜色
dw_master_free.Modify(“listing_holder_t.color = 0 “)
dw_master.Modify(“listing_holder_t.color = 0 “)//设置字段提示颜色为默认
//采购状态作废的颜色区分(字段颜色区分)
dw_data.modify(“datawindow.detail.color=’16777215~tif(purstatus=2,8421504,16777215)'”)
//这个是在代码中屏蔽触发器的
ls_sql[1] = “BEGIN”+’~r~n’
ls_sql[1] += “INSERT INTO tmp_disable_trigger(table_name) VALUES (‘t_refuse_h’);”+’~r~n’
ls_sql[1] += “update t_refuse_d set CHARBAK1 = ‘” +as_out+ “‘ where REFUSENO = ‘”+ls__refuse+”‘;”+’~r~n’
ls_sql[1] += “DELETE tmp_disable_trigger WHERE table_name=’t_refuse_h’ ;”+’~r~n’
ls_sql[1] += “END;”
//双击修改审核后的字段 方案
string ls_sql[], ls_err, ls_abnormityno // 声明字符串变量
long ll_wareid, ll_rowno // 声明长整型变量
// 从当前行的对象中获取abnormityno、wareid、rowno的值,并分别赋给相应的变量
ls_abnormityno = object.abnormityno[getrow()]
ll_wareid = object.wareid[getrow()]
ll_rowno = object.rowno[getrow()]
// 构建包含多个SQL语句的字符串,用于事务处理
ls_sql[1] = “begin ” + ‘~r~n’
ls_sql[1] += “INSERT INTO tmp_disable_trigger (table_name) VALUES (‘t_abnormity_d’);” + ‘~r~n’
ls_sql[1] += “UPDATE t_abnormity_d SET notes = ‘” + as_out + “‘ WHERE abnormityno = ‘” + ls_abnormityno + “‘ AND wareid = ” + string(ll_wareid) + ” AND rowno = ” + string(ll_rowno) + “;” + ‘~r~n’
ls_sql[1] += “delete from tmp_disable_trigger where table_name = ‘t_abnormity_d’;” + ‘~r~n’
ls_sql[1] += “end;”
// 执行SQL语句,并处理错误情况
如果 Not gnvo_datasource.of_exec(ls_sql, ls_err) Then
MessageBox(“失败!”, ls_err, stopsign!, ok!, 1) // 如果执行失败,则显示错误消息
Return // 退出函数
结束 如果
// 更新dw_detail数据窗口控件中的’notes’列
dw_detail.SetItem(dw_detail.GetRow(), “notes”, string(as_out))
// 将修改的行的项状态设置为notModified,避免无需保存的情况
dw_detail.SetItemStatus(dw_detail.GetRow(), 0, primary!, notModified!)
//数据窗口itemchanged事件 符合条件的情况下 修改某个数据另一个数据也变动
If Long(lastreturnvalue) <> 0 Then Return Long(lastreturnvalue)
//请输入脚本
Long ll_row
Dec ll_CHKNOWPAYAMT, ll_NOWPAYAMT,ll_flag_hd
String ls_sql[], ls_err
str_exec_args lstr_code[]
ll_row = dw_detail.GetRow()
ll_NOWPAYAMT = dw_detail.Object.NOWPAYAMT[ll_row]
ll_CHKNOWPAYAMT = dw_detail.Object.CHKNOWPAYAMT[ll_row]
ll_flag_hd = dw_detail.Object.ISFLAG[ll_row]
Choose Case dwo.Name
Case “isflag”
If dec(Data) = 1 Then
This.SetItem(ll_row, “CHKNOWPAYAMT”, ll_NOWPAYAMT)
Else
This.SetItem(ll_row, “CHKNOWPAYAMT”, 0)
End If
End Choose
Return 0
数据窗口itemchanged事件 修改某个数据另一个数据也变动
If Long(lastreturnvalue) <> 0 Then Return Long(lastreturnvalue)
// 声明变量
Long ll_row
Dec ll_distprice, ll_purprice
String ls_sql[], ls_err
str_exec_args lstr_code[]
// 获取当前行号
ll_row = dw_detail.GetRow()
// 获取 distprice 和 purprice 的值
ll_distprice = dw_detail.Object.distprice[ll_row]
ll_purprice = dw_detail.Object.purprice[ll_row]
// 检查 DataWindow 对象名称是否匹配所需的列
If dwo.Name = “purprice” Then
// 将 distprice 设置为 purprice
dw_detail.SetItem(ll_row, “distprice”, ll_purprice)
End If
Return 0
必填项校验
If Integer(lastreturnvalue) <> 1 Then Return Integer(lastreturnvalue)
Long ll_i, ll_row
Long ll_isflag
ll_row = dw_detail.RowCount()
For ll_i = 1 To ll_row
ll_isflag = dw_detail.Object.isflag[ll_i]
If IsNull(ll_isflag) Or ll_isflag = 0 Then
MessageBox(‘提示’,’第’+String(ll_i)+’行,未收货,不允许保存’)
Return -1
End If
Next
Return 1
If Integer(lastreturnvalue) <> 1 Then Return Integer(lastreturnvalue)
Long ll_i, ll_row
STRING ls_rejectreason
Long ll_rejectqty
ll_row = dw_detail.RowCount()
For ll_i = 1 To ll_row
ls_rejectreason = dw_detail.object.rejectreason[ll_i]
ll_rejectqty = dw_detail.object.rejectqty[ll_i]
If IsNull(ll_rejectqty) Then ll_rejectqty = 0
If ll_rejectqty > 0 Then
If IsNull(ls_rejectreason) Or ls_rejectreason = ” Then
MessageBox(‘提示’, ‘第’ + String(ll_i) + ‘行,已填写拒收数量, 需填写拒收原因!’)
Return -1
End If
End If
Next
Return 1
If Integer(lastreturnvalue) <> 1 Then Return Integer(lastreturnvalue)
Long ll_find, i, ll_flag
String ls_cc1000, ls_rejectreason
Long ll_rejectqty
ll_find = dw_detail.Find(“isflag = 0 or isnull(isflag)”, 0, dw_detail.RowCount())
If ll_find > 0 Then
If MessageBox(‘提示’, ‘是否要删除没有扫描的?’, question!, yesno!, 2) = 1 Then
For i = dw_detail.RowCount() To 1 Step – 1
ll_flag = dw_detail.Object.isflag[i]
If IsNull(ll_flag) Then ll_flag = 0
If ll_flag <> 1 Then
dw_detail.DeleteRow(i)
End If
Next
End If
ls_cc1000 = gf_get_sys_inicode(gl_compid, ‘CC1000’, gl_userid)
If ls_cc1000 = ‘0’ Then
MessageBox(‘提示’, ‘明细存在未勾选收货的商品,不允许保存!’)
Return -1
End If
End If
If dw_detail.RowCount() = 0 Then
MessageBox(‘提示’, ‘明细无数据不可以保存’)
Return -1
End If
For i = 1 To dw_detail.RowCount()
ls_rejectreason = dw_detail.Object.rejectreason[i]
ll_rejectqty = dw_detail.Object.rejectqty[i]
If IsNull(ll_rejectqty) Then ll_rejectqty = 0
If ll_rejectqty > 0 Then
If IsNull(ls_rejectreason) Or ls_rejectreason = ” Then
MessageBox(‘提示’, ‘第’ + String(i) + ‘行,已填写拒收数量, 需填写拒收原因!’)
Return -1
End If
End If
Next
Return 1
If Long(lastreturnvalue) <> 0 Then Return Long(lastreturnvalue)
//请输入脚本
String ls_sql1,ls_input,ls_subitemname,ls_bpuserido,ls_buyer
str_trans lstr
Long ll_selectrow,ll_find,ll_buyer,ll_vendorno,ll_subitemid,ll_subitemid1,ll_buyer1
String ls_paytype,ls_cashtype,ls_vendorno,ls_saler,ls_saler1
String ls_sql[]
str_exec_args lstr_args[]
String ls_err,ls_null
Integer ll_count,ll_count1
Choose Case dwo.Name
Case “vencusno”
ls_sql[1] = “select vencusno from t_vencus where vencusno = “+String(Data)+” and vencustype in (‘8′,’9′,’30’) and compid = “+String(gl_compid)
lstr_args[1].DataType = {‘long’}
If Not gnvo_datasource.of_exec(ls_sql , lstr_args , ls_err) Then
MessageBox(“查询失败1”,ls_err,stopsign!,ok!,1)
Return 1
End If
ll_vendorno = lstr_args[1].ReturnValue[1]
If IsNull(ll_vendorno) Then
MessageBox(“提示!”,”该类型往来单位无法做采购订单!”,ls_err,stopsign!,ok!,1)
Return 1
End If
End Choose
Return 0
//按钮
String ls_sql[], ls_err, ls_sql1, ls_groupsaleno, ls_out[],ls_salehangno,ls_saleno,ls_status Int li_re Long ll_row, ll_row1,ll_para //Date ldt_execdate, ldt_now ll_row = dw_master.GetRow() //ll_row1 = dw_detail.GetRow() ll_para = Long(gf_get_sys_inicode(gl_compid,’DYC008′,gl_userid))
If ll_row <= 0 Then MessageBox("提示", "请选中订单再操作!") Return -1 End If
ls_groupsaleno = dw_master.GetItemString(ll_row, ‘groupsaleno’) ls_salehangno = dw_master.GetItemString(ll_row, ‘salehangno’) ls_saleno = dw_master.GetItemString(ll_row, ‘saleno’) ls_status = dw_master.GetItemString(ll_row, ‘status’)
str_exec_args lstr_args[]
ls_sql[1] = “SELECT 1 from t_group_sale_h where groupsaleno = ‘” + ls_groupsaleno + “‘” lstr_args[1].DataType = {“number”}
If Not gnvo_datasource.of_exec(ls_sql, lstr_args, ls_err) Then MessageBox(“获取订单失败”, ls_err, stopsign!, ok!, 1) Return -1 End If
If ll_para = 0 Then MessageBox(‘提示’,’无重置团购单挂单权限!’) Return 0 End If
If ls_status = ‘2’ Then MessageBox(‘提示’,’已作废订单无法重置挂单!’) Return 0 End If
//If IsNull(ls_saleno) = False Then // MessageBox(‘提示’,’已经产生零售单,无法重置挂单!’) // Return 0 //End If
ls_sql[1] = “BEGIN ” +’~r~n’+& “INSERT INTO tmp_disable_trigger (table_name) VALUES (‘t_group_sale_h’);” +’~r~n’+& ” update t_group_sale_h set status = ‘0’,notes = ‘重置挂单’ Where groupsaleno = ‘”+ls_groupsaleno+”‘;” +’~r~n’+& “DELETE FROM tmp_disable_trigger WHERE table_name = ‘t_group_sale_h’;” +’~r~n’+& “update t_group_sale_h set status = 1 where groupsaleno = ‘”+ls_groupsaleno+”‘;” +’~r~n’+& “END;”
If Not gnvo_datasource.of_exec(ls_sql, ls_err) Then MessageBox(“更新失败1!”, ls_err, stopsign!, ok!, 1) Return -1 End If
MessageBox(“提示”,”单号: ” + ls_groupsaleno+”重置挂单成功!” ) dw_master.ResetUpdate() //dw_detail.ResetUpdate() Return 0