$PBExportHeader$w_getbar.srw forward global type w_getbar from w_publ_1ton_share_detail end type type ddlb_status from dropdownlistbox within w_getbar end type type st_3 from statictext within w_getbar end type type st_2 from statictext within w_getbar end type type ddlb_scid from uo_ddlb_scid within w_getbar end type type cbx_1 from checkbox within w_getbar end type type cb_1 from commandbutton within w_getbar end type type ddlb_storageid from uo_ddlb_storageid within w_getbar end type type st_4 from statictext within w_getbar end type end forward shared variables end variables global type w_getbar from w_publ_1ton_share_detail string title = "条码生成单" boolean maxbox = true windowstate windowstate = maximized! event ue_getbar ( ) event ue_allowedit_uc ( ) event ue_getbar_manu ( ) event ue_print_all ( ) event ue_print_all_bill ( ) event ue_viewprint_all ( ) event ue_cancel_mxprintnum ( ) event ue_cancel_mxprintnum_bill ( ) event ue_print_all_n ( ) event ue_mxdscrp_mod ( ) event ue_view_print_scid ( ) event insert_childrow ( ) ddlb_status ddlb_status st_3 st_3 st_2 st_2 ddlb_scid ddlb_scid cbx_1 cbx_1 cb_1 cb_1 ddlb_storageid ddlb_storageid st_4 st_4 end type global w_getbar w_getbar type variables Long cur_scid //分店ID Int cur_flag = -1 uo_getbar uo_get long ins_wrkgrpid_arr[] Long cur_storageid_arr[] Long cur_storageid = -1 end variables forward prototypes public function integer wf_refresh_curuc (long arg_getbarid) public function integer wf_flagstatus_rf () public subroutine wf_find_cust (long arg_row, long arg_scid, long arg_orderid) public function integer wf_lock_child () public function integer wf_title_change () public function string wf_getbarcode (long arg_scid, long arg_mtrlid, string arg_status, string arg_woodcode, string arg_pcode, string arg_plancode, long arg_sptid, ref string arg_msg, string arg_mtrlcode) end prototypes event ue_getbar();Decimal ld_qty Long i,ll_cnt String ls_barcode Long child_row Decimal ld_packqty,ld_otherqty,ld_orderqty,ld_Sonscale Long ls_mtrlid,uc_row,ll_mtrlid_buytask Long ll_scid,ll_getbarid,ll_orderid,ll_buytaskprintid Int li_ifrel,li_ifpackpro DateTime server_dt Decimal ld_packuqty, ld_uqty, ld_rate,ld_packqty_sum Long ll_ifunit Int li_outtype_mtrldef dw_uc.AcceptText() uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选择目标单据!') RETURN END IF IF MessageBox ("询问","是否确定要重新生成当前单据的条形码?",question!,yesno! ) = 2 THEN RETURN IF dw_uc.Object.getbarid[uc_row] = 0 THEN ll_scid = cur_scid ELSE ll_scid = dw_uc.Object.u_getbar_scid[uc_row] END IF li_ifrel = dw_uc.Object.ifrel[uc_row] ll_getbarid = dw_uc.Object.getbarid[uc_row] ll_orderid = dw_uc.Object.u_getbar_orderid[uc_row] ll_buytaskprintid = dw_uc.Object.u_getbar_buytaskprintid[uc_row] ls_mtrlid = dw_uc.Object.mtrlid[uc_row] ld_qty = dw_uc.Object.qty[uc_row] ld_packqty = dw_uc.Object.u_mtrldef_packqty[uc_row] ld_uqty = dw_uc.Object.uqty[uc_row] ld_packuqty = dw_uc.Object.packuqty[uc_row] ll_ifunit = dw_uc.Object.ifunit[uc_row] ld_rate = dw_uc.Object.rate[uc_row] SELECT outtype INTO :li_outtype_mtrldef FROM u_mtrldef Where mtrlid = :ls_mtrlid; IF sqlca.SQLCode <> 0 THEN MessageBox('提示','查询物料出仓策略失败,请检查物料资料设置') RETURN END IF IF li_outtype_mtrldef <> 2 THEN MessageBox('提示','物料出仓策略不是条码出仓,请检查物料资料设置') RETURN END IF IF ll_ifunit = 0 THEN IF ld_packqty <= 0 THEN MessageBox('系统提示','物料未设置包装件数,请检查') dw_uc.SetFocus() dw_uc.SetColumn("u_mtrldef_packqty") RETURN END IF IF ld_qty <= 0 THEN MessageBox('系统提示','请检查数量,数量必须大于0') dw_uc.SetFocus() dw_uc.SetColumn("qty") RETURN END IF ELSE IF ld_packuqty <= 0 THEN MessageBox('系统提示','物料未设置辅数包装件数,请检查') dw_uc.SetFocus() dw_uc.SetColumn("packuqty") RETURN END IF IF ld_uqty <= 0 THEN MessageBox('系统提示','请检查辅数,辅数必须大于0') dw_uc.SetFocus() dw_uc.SetColumn("uqty") RETURN END IF END IF IF li_ifrel = 1 THEN SELECT orderqty INTO :ld_orderqty FROM u_order_ml WHERE scid = :ll_scid And orderid = :ll_orderid; IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示','查询指令数操作失败,'+sqlca.SQLErrText) RETURN END IF SELECT isnull(sum(u_mtrlware_mx.packqty * u_mtrlware_mx.qty),0) INTO :ld_otherqty FROM u_getbar INNER JOIN u_mtrlware_mx ON u_getbar.getbarid = u_mtrlware_mx.getbarid WHERE u_getbar.scid = :ll_scid AND u_getbar.orderid = :ll_orderid AND u_getbar.getbarid <> :ll_getbarid AND u_getbar.ifrel = 1 And u_mtrlware_mx.isuse = 1; IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示','查询指令数其它已开条码数操作失败,'+sqlca.SQLErrText) RETURN END IF IF ld_otherqty + ld_qty > ld_orderqty THEN MessageBox('系统提示','超指令数,指令数:'+String(ld_orderqty,'#,##0.##########')+',已开:'+String(ld_otherqty,'#,##0.##########')+',本次开:'+String(ld_qty,'#,##0.##########')) RETURN END IF ELSEIF li_ifrel = 2 THEN SELECT u_buytaskmx.qty,u_mtrldef.ifpackpro,u_buytaskmx.mtrlid INTO :ld_orderqty,:li_ifpackpro,:ll_mtrlid_buytask FROM u_buytaskmx,u_mtrldef WHERE u_buytaskmx.mtrlid = u_mtrldef.mtrlid AND u_buytaskmx.scid = :ll_scid AND u_buytaskmx.taskid = :ll_orderid And u_buytaskmx.printid = :ll_buytaskprintid; IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示','查询订单数量失败,请检查订单资料,'+sqlca.SQLErrText) RETURN END IF IF li_ifpackpro = 1 THEN SELECT u_PrdPF.Sonscale INTO :ld_Sonscale FROM u_PrdPF,u_mtrl_pf WHERE u_PrdPF.mtrlid = u_mtrl_pf.mtrlid AND u_PrdPF.pfcode = u_mtrl_pf.pfcode AND u_mtrl_pf.ifdft = 1 AND u_PrdPF.mtrlid = :ll_mtrlid_buytask And u_PrdPF.sonmtrlid = :ls_mtrlid; IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示','查询相关订单包件明细组成数失败,'+sqlca.SQLErrText) RETURN END IF ELSE ld_Sonscale = 1 END IF ld_orderqty = ld_orderqty * ld_Sonscale SELECT isnull(sum(u_mtrlware_mx.packqty * u_mtrlware_mx.qty),0) INTO :ld_otherqty FROM u_getbar INNER JOIN u_mtrlware_mx ON u_getbar.getbarid = u_mtrlware_mx.getbarid WHERE u_getbar.scid = :ll_scid AND u_getbar.orderid = :ll_orderid AND u_getbar.buytaskprintid = :ll_buytaskprintid AND u_getbar.mtrlid = :ls_mtrlid AND u_getbar.getbarid <> :ll_getbarid AND u_getbar.ifrel = 2 And u_mtrlware_mx.isuse = 1; IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示','查询相关订单其它已开单数失败,'+sqlca.SQLErrText) RETURN END IF IF ld_otherqty + ld_qty > ld_orderqty THEN MessageBox('系统提示','超订单数,订货数:'+String(ld_orderqty,'#,##0.##########')+',已开:'+String(ld_otherqty,'#,##0.##########')+',本次开:'+String(ld_qty,'#,##0.##########')) RETURN END IF END IF IF ll_ifunit = 1 THEN dw_child.Reset() IF ld_packuqty >= 1 THEN ll_cnt = Ceiling(Truncate(ld_uqty/ld_packuqty,10)) ELSE ll_cnt = Ceiling(ld_uqty*ld_packuqty) ld_packuqty = Long(1/ld_packuqty) END IF dw_child.SetRedraw(False) FOR i = 1 To ll_cnt SELECT Top 1 getdate() Into :server_dt From u_user; IF sqlca.SQLCode <> 0 THEN MessageBox('error','查询操作失败,日期') ROLLBACK; RETURN END IF ls_barcode = getid(0,"TXM",Date(server_dt),False,sqlca) //取得新单据编号 // if trim(sys_comcode) <> '' then // ls_barcode = sys_comcode + '-' + ls_barcode // end if IF ls_barcode = "err" THEN ls_barcode = '' MessageBox('提示','无法获取条码') ROLLBACK; RETURN END IF child_row = dw_child.InsertRow(0) dw_child.Object.barcode[child_row] = ls_barcode IF Mod(ld_uqty,ld_packuqty) = 0 THEN dw_child.Object.rate[child_row] = ld_rate dw_child.Object.packuqty[child_row] = ld_packuqty IF i <> ll_cnt THEN dw_child.Object.packqty[child_row] = dw_child.Object.packuqty[child_row] * ld_rate ld_packqty_sum += dw_child.Object.packuqty[child_row] * ld_rate ELSE dw_child.Object.packqty[child_row] = ld_qty - ld_packqty_sum dw_child.AcceptText() dw_child.Object.rate[child_row] = Round(dw_child.Object.packqty[child_row]/dw_child.Object.packuqty[child_row],5) END IF ELSE IF i <> ll_cnt THEN dw_child.Object.rate[child_row] = ld_rate dw_child.Object.packuqty[child_row] = ld_packuqty dw_child.Object.packqty[child_row] = dw_child.Object.packuqty[child_row] * ld_rate ld_packqty_sum += dw_child.Object.packuqty[child_row] * ld_rate ELSE dw_child.Object.packuqty[child_row] = ld_uqty - ld_packuqty * ( ll_cnt - 1 ) dw_child.Object.packqty[child_row] = ld_qty - ld_packqty_sum //dw_child.Object.packuqty[child_row] * ld_rate dw_child.AcceptText() dw_child.Object.rate[child_row] = Round(dw_child.Object.packqty[child_row]/dw_child.Object.packuqty[child_row],5) END IF END IF NEXT COMMIT; dw_child.SetRedraw(True) ELSE dw_child.Reset() IF ld_packqty >= 1 THEN ll_cnt = Ceiling(Truncate(ld_qty/ld_packqty,10)) ELSE ll_cnt = Ceiling(ld_qty*ld_packqty) ld_packqty = Long(1/ld_packqty) END IF dw_child.SetRedraw(False) FOR i = 1 To ll_cnt SELECT Top 1 getdate() Into :server_dt From u_user; IF sqlca.SQLCode <> 0 THEN MessageBox('error','查询操作失败,日期') ROLLBACK; RETURN END IF ls_barcode = getid(0,"TXM",Date(server_dt),False,sqlca) //取得新单据编号 // if trim(sys_comcode) <> '' then // ls_barcode = sys_comcode + '-' + ls_barcode // end if IF ls_barcode = "err" THEN ls_barcode = '' MessageBox('提示','无法获取条码') ROLLBACK; RETURN END IF child_row = dw_child.InsertRow(0) dw_child.Object.barcode[child_row] = ls_barcode IF Mod(ld_qty,ld_packqty) = 0 THEN dw_child.Object.packqty[child_row] = ld_packqty ELSE IF i <> ll_cnt THEN dw_child.Object.packqty[child_row] = ld_packqty ELSE dw_child.Object.packqty[child_row] = ld_qty - ld_packqty * ( ll_cnt - 1 ) END IF END IF NEXT COMMIT; dw_child.SetRedraw(True) END IF end event event ue_allowedit_uc();//Long Columns //Int i //String ls_modify_str //Long ll_row //Long ll_value //Long ll_statusflag,ll_woodcodeflag,ll_pcodeflag //String ls_status,ls_woodcode,ls_pcode // //String ls_data_type // //ll_row = dw_uc.GetRow() //IF ll_row <= 0 THEN RETURN // //ll_value = dw_uc.object.mtrlid[ll_row] // //Columns = Long(dw_uc.Describe("DataWindow.Column.Count")) // //FOR i = 1 TO Columns // ls_modify_str = dw_uc.Describe("#" + String(i) + ".name") // ls_modify_str = Lower(ls_modify_str) // // // IF Pos(ls_modify_str,'statusflag') > 0 THEN // ls_data_type = dw_uc.Describe(ls_modify_str+".ColType") // IF ls_data_type = "long" THEN // ll_statusflag = dw_uc.GetItemNumber(ll_row,ls_modify_str) // END IF // END IF // // IF Pos(ls_modify_str,'woodcodeflag') > 0 THEN // ls_data_type = dw_uc.Describe(ls_modify_str+".ColType") // IF ls_data_type = "long" THEN // ll_woodcodeflag = dw_uc.GetItemNumber(ll_row,ls_modify_str) // END IF // END IF // // IF Pos(ls_modify_str,'pcodeflag') > 0 THEN // ls_data_type = dw_uc.Describe(ls_modify_str+".ColType") // IF ls_data_type = "long" THEN // ll_pcodeflag = dw_uc.GetItemNumber(ll_row,ls_modify_str) // END IF // END IF // // IF Pos(ls_modify_str,'status') > 0 AND Pos(ls_modify_str,'statusflag') = 0 AND Pos(ls_modify_str,'statustype') = 0 THEN // IF Len(ls_modify_str) = Len('status') OR Pos(ls_modify_str,'_status') > 0 THEN // IF Not (Pos(ls_modify_str,'u_saletask_status') > 0 OR & // Pos(ls_modify_str,'u_buytask_status') > 0 OR & // Pos(ls_modify_str,'u_order_ml_status') > 0 OR & // Pos(ls_modify_str,'u_order_wfjg_status') > 0 OR & // Pos(ls_modify_str,'u_rs_empinfo_status') > 0 ) THEN // ls_status = ls_modify_str // END IF // END IF // END IF // // IF Pos(ls_modify_str,'woodcode') > 0 AND Pos(ls_modify_str,'woodcodeflag') = 0 AND Pos(ls_modify_str,'woodcodetype') = 0 THEN // IF Len(ls_modify_str) = Len('woodcode') OR Pos(ls_modify_str,'_woodcode') > 0 THEN // ls_woodcode = ls_modify_str // END IF // END IF // // IF Pos(ls_modify_str,'pcode') > 0 AND Pos(ls_modify_str,'pcodeflag') = 0 AND Pos(ls_modify_str,'pcodetype') = 0 THEN // IF Len(ls_modify_str) = Len('pcode') OR Pos(ls_modify_str,'_pcode') > 0 THEN // ls_pcode = ls_modify_str // END IF // END IF //NEXT // //IF ls_status <> '' THEN // IF ll_statusflag <> 0 OR ll_value = 0 THEN // dw_uc.Modify(ls_status+".dddw.allowedit = no") // ELSE // dw_uc.Modify(ls_status+".dddw.allowedit = yes") // END IF //END IF // //IF ls_woodcode <> '' THEN // IF ll_woodcodeflag <> 0 OR ll_value = 0 THEN // dw_uc.Modify(ls_woodcode+".dddw.allowedit = no") // ELSE // dw_uc.Modify(ls_woodcode+".dddw.allowedit = yes") // END IF //END IF // //IF ls_pcode <> '' THEN // IF ll_pcodeflag <> 0 OR ll_value = 0 THEN // dw_uc.Modify(ls_pcode+".dddw.allowedit = no") // ELSE // dw_uc.Modify(ls_pcode+".dddw.allowedit = yes") // END IF //END IF // // // // end event event ue_getbar_manu();Long i,ll_cnt String ls_barcode Long child_row Long uc_row DateTime server_dt Decimal ld_rate Long ll_ifunit dw_uc.AcceptText() uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选择目标单据!') RETURN END IF ll_ifunit = dw_uc.Object.ifunit[uc_row] ld_rate = dw_uc.Object.rate[uc_row] IF MessageBox ("询问","是否确定要手动增加单据的条形码?",question!,yesno! ) = 2 THEN RETURN //Open(w_getbar_manu) ll_cnt = Message.DoubleParm IF ll_cnt = 0 THEN RETURN FOR i = 1 To ll_cnt SELECT Top 1 getdate() Into :server_dt From u_user; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('error','查询操作失败,日期') RETURN END IF ls_barcode = getid(0,"TXM",Date(server_dt),False,sqlca) //取得新单据编号 // IF Trim(sys_comcode) <> '' THEN // ls_barcode = sys_comcode + '-' + ls_barcode // END IF IF ls_barcode = "err" THEN ROLLBACK; ls_barcode = '' MessageBox('提示','无法获取条码') RETURN END IF child_row = dw_child.InsertRow(0) dw_child.Object.barcode[child_row] = ls_barcode IF ll_ifunit = 1 THEN dw_child.Object.packuqty[child_row] = 1 dw_child.Object.rate[child_row] = ld_rate dw_child.Object.packqty[child_row] = ld_rate ELSE dw_child.Object.packqty[child_row] = 1 END IF NEXT COMMIT; end event event ue_print_all_bill();////--直接打印 //Long ls_msgprintid //ls_msgprintid = Message.LongParm // //SELECT dft_new_dwname,powerid // INTO :ls_newname,:ls_powerid // FROM sys_dft_dwprint_dynamic // Where sys_dft_dwprint_dynamic.dwprintid = :ls_msgprintid Using sqlca; //IF sqlca.SQLCode <> 0 THEN // ls_newname = '' // ls_powerid = 0 //END IF // //uo_print_preview uo_print //s_print_msg ls_prmsg // //IF ls_newname <> '' THEN // IF Not f_power_ind(ls_powerid,sys_msg_pow) THEN // MessageBox(publ_operator,sys_msg_pow) // RETURN // END IF // IF li_auditprint = 1 THEN // IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN // MessageBox('no','目标单据还未审核,不能打印!') // RETURN // END IF // END IF // ls_prmsg.obj_dwname = ls_newname //ELSE // IF Not f_power_ind(2319,sys_msg_pow) THEN // MessageBox(publ_operator,sys_msg_pow) // RETURN // END IF // // ls_prmsg.obj_dwname = 'dw_rp_barcode_bill' //END IF // //IF ls_prmsg.obj_dwname = '' THEN // MessageBox(publ_operator,'没有设置打印格式,请检查') // RETURN //END IF // //ls_prmsg.retr_pram_falg = 20 //ls_prmsg.tag_text = '条型码' //ls_prmsg.filter_string = '' //ls_prmsg.pagech_flag = 0 // // // //String ls_barcode,arg_msg //Long ls_row,i,j,ll_ch_cnt,ll_getbarid,ll_getbarid_arr[] //Long cnt //Long ll_i // // //FOR j = 1 To dw_pageretr.RowCount() // IF dw_pageretr.Object.ch[j] = 1 THEN // ll_ch_cnt++ // END IF //NEXT // //IF ll_ch_cnt = 0 THEN // ls_row = dw_pageretr.GetRow() // IF ls_row <= 0 THEN // MessageBox('no','没有打印目标单据!') // RETURN // END IF // // ll_getbarid = dw_pageretr.Object.u_getbar_getbarid[ls_row] // // cnt++ // ll_getbarid_arr[cnt] = ll_getbarid // // // IF MessageBox ("询问","是否确定要打印当前单据所有条码吗?",question!,yesno! ) = 2 THEN RETURN // // ls_prmsg.a_long_arr = ll_getbarid_arr // uo_print.fact_print_msg = ls_prmsg // // IF uo_print.uof_print_begin(arg_msg) = 0 THEN // MessageBox("系统提示",arg_msg) // RETURN // END IF // uo_print.ds_print() // // UPDATE u_mtrlware_mx // SET printnum = printnum + 1 // Where getbarid = :ll_getbarid; // COMMIT; // // This.TriggerEvent('retrieve_childdw') // wf_refresh_curuc(ll_getbarid) //ELSE // // IF MessageBox ("询问","是否确定要打印当前选择单据所有条码吗?",question!,yesno! ) = 2 THEN RETURN // // FOR j = 1 To dw_pageretr.RowCount() // IF dw_pageretr.Object.ch[j] = 0 THEN CONTINUE // // ll_getbarid = dw_pageretr.Object.u_getbar_getbarid[j] // // cnt++ // ll_getbarid_arr[cnt] = ll_getbarid // // NEXT // // ls_prmsg.a_long_arr = ll_getbarid_arr // uo_print.fact_print_msg = ls_prmsg // // IF uo_print.uof_print_begin(arg_msg) = 0 THEN // MessageBox("系统提示",arg_msg) // RETURN // END IF // // uo_print.ds_print() // // FOR ll_i = 1 To cnt // UPDATE u_mtrlware_mx // SET printnum = printnum + 1 // Where getbarid = :ll_getbarid_arr[ll_i]; // NEXT // // COMMIT; // // This.TriggerEvent('retrieve_pageretr') //END IF // // // // end event event ue_cancel_mxprintnum();//IF Not f_power_ind(3892,sys_msg_pow) THEN // MessageBox(publ_operator,sys_msg_pow) // RETURN //END IF // // //IF dw_edit_mode THEN RETURN // //IF MessageBox ("询问","是否确定要清除当前条码打印次数?",Question!,YesNo! ) = 2 THEN RETURN // // //String arg_msg = '' //Long childrow // //childrow = dw_child.GetRow() //IF childrow <= 0 THEN // MessageBox('系统提示','请选定当前明细条码!') // RETURN //END IF // //String ls_barcode,ls_msg //ls_barcode = dw_child.Object.barcode[childrow] // //UPDATE u_mtrlware_mx // SET printnum = 0 // Where barcode = :ls_barcode; //IF sqlca.SQLCode <> 0 THEN // ls_msg = sqlca.SQLErrText // ROLLBACK; // MessageBox('系统提示','清除当前条码打印次数失败,'+ls_msg) // RETURN //END IF //COMMIT; //f_setsysoplog('条码生成单','清除当前条码打印次数,条码:'+ls_barcode,arg_msg,True) //MessageBox(publ_operator,'清除当前条码:'+ls_barcode+'的打印次数成功!') //This.TriggerEvent('retrieve_childdw') // // end event event ue_cancel_mxprintnum_bill();IF Not f_power_ind(3892,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF IF dw_edit_mode THEN RETURN IF MessageBox ("询问","是否确定要清除整单条码打印次数?",Question!,YesNo! ) = 2 THEN RETURN Long childrow String ls_barcode,ls_msg,arg_msg FOR childrow = 1 To dw_child.RowCount() ls_barcode = dw_child.Object.barcode[childrow] UPDATE u_mtrlware_mx SET printnum = 0 Where barcode = :ls_barcode; IF sqlca.SQLCode <> 0 THEN ls_msg = sqlca.SQLErrText ROLLBACK; MessageBox('系统提示','清除条码:'+ls_barcode+'打印次数失败,'+ls_msg) RETURN END IF NEXT COMMIT; FOR childrow = 1 To dw_child.RowCount() ls_barcode = dw_child.Object.barcode[childrow] f_setsysoplog('条码生成单','清除当前条码打印次数,条码:'+ls_barcode,arg_msg,True) NEXT MessageBox(publ_operator,'整单清除条码打印次数成功!') This.TriggerEvent('retrieve_childdw') end event event ue_mxdscrp_mod();//IF Not f_power_ind(1819,sys_msg_pow) THEN // MessageBox(publ_operator,sys_msg_pow) // RETURN //END IF // // //IF dw_edit_mode THEN RETURN // //String arg_msg = '' //Long childrow //String ls_barcode,ls_msg,ls_mxdscrp //Long ll_printnum // //childrow = dw_child.GetRow() //IF childrow <= 0 THEN // MessageBox('系统提示','请选定当前明细条码!') // RETURN //END IF // //ll_printnum = dw_child.Object.printnum[childrow] // //IF ll_printnum > 0 THEN // MessageBox('系统提示','条码已打印,不能修改!') // RETURN //END IF // //ls_barcode = dw_child.Object.barcode[childrow] //ls_mxdscrp = dw_child.Object.mxdscrp[childrow] // //S_INPUTBOX S_OBJSTRU //S_OBJSTRU.OLD_TEXT = ls_mxdscrp //OpenWithParm(w_inputbox,S_OBJSTRU) //ls_mxdscrp = Message.StringParm //UPDATE u_mtrlware_mx // SET mxdscrp = :ls_mxdscrp // Where barcode = :ls_barcode; //IF sqlca.SQLCode <> 0 THEN // ls_msg = sqlca.SQLErrText // ROLLBACK; // MessageBox('系统提示','修改条码明细备注失败,'+ls_msg) // RETURN //END IF //COMMIT; //f_setsysoplog('条码生成单','修改条码明细备注,条码:'+ls_barcode,arg_msg,True) //MessageBox(publ_operator,'修改条码:'+ls_barcode+'明细备注成功!') //This.TriggerEvent('retrieve_childdw') // // // end event event ue_view_print_scid();Long ls_row,ll_row_child,ll_printnum_child String ls_barcode ls_row = dw_pageretr.GetRow() IF ls_row <= 0 THEN MessageBox('提示','请选择单据!') RETURN END IF ll_row_child = dw_child.GetRow() IF ll_row_child <= 0 THEN MessageBox('提示','请选择要打印的条型码!') RETURN END IF s_print_msg ls_prmsg IF ls_newname <> '' THEN IF Not f_power_ind(ls_powerid,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF IF li_auditprint = 1 THEN IF dw_pageretr.Object.flag[ls_row] = 0 THEN MessageBox('no','目标单据还未审核,不能打印!') RETURN END IF END IF ls_prmsg.obj_dwname = ls_newname ELSE IF Not f_power_ind(2319,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF ls_prmsg.obj_dwname = 'dw_rp_barcode_scid' END IF IF ls_prmsg.obj_dwname = '' THEN RETURN ll_printnum_child = dw_child.Object.printnum[ll_row_child] IF Not f_power_ind(3843,sys_msg_pow) And ll_printnum_child >= 1 THEN MessageBox('提示','你的权限限制了不允许重复打印条码,现在有条码已打印次数>=1,操作取消!') RETURN END IF ls_prmsg.tag_text = '条型码' ls_prmsg.filter_string = '' ls_prmsg.retr_pram_falg = 11 ls_prmsg.pagech_flag = 0 ls_prmsg.retr_pramstr = dw_child.Object.barcode[ll_row_child] ls_prmsg.retr_scid = dw_pageretr.Object.u_getbar_scid[LS_ROW] OpenWithParm(w_publ_preview,ls_prmsg) ls_barcode = dw_child.Object.barcode[ll_row_child] //更新打印次数 printnum = Message.DoubleParm UPDATE u_mtrlware_mx SET printnum = printnum + :printnum Where barcode = :ls_barcode; COMMIT; This.TriggerEvent('retrieve_childdw') wf_refresh_curuc(dw_pageretr.Object.u_getbar_getbarid[ls_row]) end event event insert_childrow();long li_row li_row=dw_child.insertrow(0) dw_child.scrolltorow(li_row) end event public function integer wf_refresh_curuc (long arg_getbarid);IF arg_getbarid <= 0 Or IsNull(arg_getbarid) THEN RETURN 0 Long uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN RETURN 0 Long scid Long getbarid DateTime getbardate String dscrp String getbarcode String opemp DateTime opdate String modemp DateTime moddate String auditingrep DateTime auditingdate Long flag Long ll_printnum Long ctmint Long relbillid SELECT scid, getbarid, getbardate, dscrp, getbarcode, opemp, opdate, modemp, moddate, auditingrep, auditingdate, flag, printnum, relbillid INTO :scid, :getbarid, :getbardate, :dscrp, :getbarcode, :opemp, :opdate, :modemp, :moddate, :auditingrep, :auditingdate, :flag, :ll_printnum, :relbillid FROM u_getbar Where u_getbar.getbarid = :arg_getbarid; IF sqlca.SQLCode <> 0 THEN MessageBox('系统提示',"查询操作失败(错误单据唯一码)") RETURN 0 END IF dw_pageretr.SetRedraw(False) dw_pageretr.Object.u_getbar_scid[uc_row] = scid dw_pageretr.Object.u_getbar_getbarid[uc_row] = getbarid dw_pageretr.Object.u_getbar_getbardate[uc_row] = getbardate dw_pageretr.Object.u_getbar_dscrp[uc_row] = dscrp dw_pageretr.Object.u_getbar_getbarcode[uc_row] = getbarcode dw_pageretr.Object.u_getbar_opemp[uc_row] = opemp dw_pageretr.Object.u_getbar_opdate[uc_row] = opdate dw_pageretr.Object.u_getbar_modemp[uc_row] = modemp dw_pageretr.Object.u_getbar_moddate[uc_row] = moddate dw_pageretr.Object.u_getbar_auditingrep[uc_row] = auditingrep dw_pageretr.Object.u_getbar_auditingdate[uc_row] = auditingdate dw_pageretr.Object.u_getbar_flag[uc_row] = flag dw_pageretr.Object.u_getbar_printnum[uc_row] = printnum dw_pageretr.Object.relbillid[uc_row] = relbillid dw_pageretr.SetRedraw(True) dw_uc.Reset() dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!) wf_flagstatus_rf() RETURN 1 end function public function integer wf_flagstatus_rf ();Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN cb_auditing.Enabled = False cb_auditing_cancel.Enabled = False GOTO ext END IF IF dw_edit_mode THEN cb_auditing.Enabled = False cb_auditing_cancel.Enabled = False ELSE IF dw_pageretr.Object.u_getbar_flag[pagerert_row] = 0 THEN cb_auditing.Enabled = True cb_auditing_cancel.Enabled = False ELSEIF dw_pageretr.Object.u_getbar_flag[pagerert_row] = 1 THEN cb_auditing.Enabled = False cb_auditing_cancel.Enabled = True END IF END IF ext: RETURN 0 end function public subroutine wf_find_cust (long arg_row, long arg_scid, long arg_orderid);IF arg_row <= 0 THEN RETURN //Long li_ordertype,cnt //Long ll_cusid //String ls_cuscode,ls_cusname,ls_plancode //Long ll_mtrlid,ll_mtrlid_p,ll_porderid //Boolean lb_ifsameorder // //SELECT ordertype,mtrlid,porderid INTO :li_ordertype,:ll_mtrlid,:ll_porderid // FROM u_order_ml // WHERE scid = :arg_scid // AND orderid = :arg_orderid; //IF sqlca.SQLCode <> 0 THEN RETURN // //IF li_ordertype = 0 THEN RETURN // //SELECT count(*) INTO :cnt // FROM u_order_ml_mx // WHERE orderid = :arg_orderid // AND scid = :arg_scid; //IF sqlca.SQLCode <> 0 THEN RETURN //IF cnt <> 1 THEN RETURN // //IF li_ordertype = 4 THEN // SELECT mtrlid INTO :ll_mtrlid_p // FROM u_order_ml // WHERE scid = :arg_scid // AND orderid = :ll_porderid; // IF sqlca.SQLCode <> 0 THEN RETURN // // IF ll_mtrlid_p = ll_mtrlid THEN // lb_ifsameorder = TRUE // SELECT u_cust.cusid, // u_cust.cuscode, // u_cust.name, // u_order_ml.taskrelcode // INTO // :ll_cusid, // :ls_cuscode, // :ls_cusname, // :ls_plancode // FROM u_cust,u_order_ml // WHERE u_cust.cusid = u_order_ml.cusid // AND u_order_ml.scid = :arg_scid // AND u_order_ml.orderid = :ll_porderid; // // IF sqlca.SQLCode <> 0 THEN RETURN // END IF // //ELSE // SELECT u_cust.cusid, // u_cust.cuscode, // u_cust.name // INTO // :ll_cusid, // :ls_cuscode, // :ls_cusname // FROM u_cust,u_order_ml // WHERE u_cust.cusid = u_order_ml.cusid // AND u_order_ml.scid = :arg_scid // AND u_order_ml.orderid = :arg_orderid; // // IF sqlca.SQLCode <> 0 THEN RETURN //END IF // //dw_uc.SetRedraw(FALSE) //dw_uc.Object.u_getbar_cusid[arg_row] = ll_cusid //dw_uc.Object.u_cust_name[arg_row] = ls_cusname //dw_uc.Object.u_cust_cuscode[arg_row] = ls_cuscode // //IF lb_ifsameorder AND sys_option_taskplancode = 1 THEN // dw_uc.Object.plancode[arg_row] = ls_plancode //END IF //dw_uc.SetRedraw(TRUE) end subroutine public function integer wf_lock_child ();Super::wf_lock_child() RETURN 1 end function public function integer wf_title_change ();String ls_modstring String ls_modstring2 String ls_modstring3 ls_modstring = f_ProfileString (0,'_getbarmx', "mxdscrp",'') ls_modstring2 = f_ProfileString (0,'_getbarmx', "mxdscrp2",'') ls_modstring3 = f_ProfileString (0,'_getbarmx', "mxdscrp4",'') IF ls_modstring <> '' THEN dw_child.Modify('mxdscrp_t'+ ".text='明细备注|"+ls_modstring+"'") END IF IF ls_modstring2 <> '' THEN dw_child.Modify('mxdscrp2_t'+ ".text='明细备注2|"+ls_modstring2+"'") END IF IF ls_modstring3 <> '' THEN dw_child.Modify('mxdscrp4_t'+ ".text='明细备注3|"+ls_modstring3+"'") END IF RETURN 1 end function public function string wf_getbarcode (long arg_scid, long arg_mtrlid, string arg_status, string arg_woodcode, string arg_pcode, string arg_plancode, long arg_sptid, ref string arg_msg, string arg_mtrlcode);String rslt DateTime server_dt String ls_barcode String ls_max Long ll_max IF sys_option_getbarcode = 1 THEN //系统选项263 0 生成新条码 1 物料编码=条码 rslt = arg_mtrlcode GOTO ext END IF SELECT barcode INTO :ls_barcode FROM u_barcode_dict WHERE scid = :arg_scid AND mtrlid = :arg_mtrlid AND status = :arg_status AND woodcode = :arg_woodcode AND pcode = :arg_pcode AND plancode = :arg_plancode And sptid = :arg_sptid; IF SQLCA.SQLCode <> 0 And SQLCA.SQLCode <> 100 THEN rslt = 'err' arG_MSG = "因网络或其它原因导致查询条码操作失败"+"~n"+SQLCA.SQLErrText GOTO ext END IF IF IsNull(ls_barcode) THEN ls_barcode = '' IF ls_barcode = '' THEN SELECT Top 1 getdate() Into :server_dt From u_user; IF SQLCA.SQLCode <> 0 THEN rslt = 'err' arG_MSG = '查询操作失败,日期' GOTO ext END IF ls_barcode = getid(0,"TXM",Date(server_dt),False,SQLCA) //取得新单据编号 ls_barcode = Right(ls_barcode,Len(ls_barcode) - 3) ls_barcode = String(Long(ls_barcode),'0000000000') rslt = ls_barcode INSERT INTO u_barcode_dict(scid, mtrlid, Status, woodcode, pcode,plancode,Sptid,barcode) Values (:arg_scid, :arg_mtrlid, :arg_status, :arg_woodcode, :arg_pcode,:arg_plancode,:arg_sptid,:rslt) Using SQLCA; IF SQLCA.SQLCode <> 0 THEN ROLLBACK Using SQLCA ; rslt = "err" arG_MSG = '插入条码字典操作失败' GOTO ext ELSE COMMIT Using SQLCA; END IF ELSE rslt = ls_barcode END IF ext: RETURN rslt end function on w_getbar.create int iCurrent call super::create this.ddlb_status=create ddlb_status this.st_3=create st_3 this.st_2=create st_2 this.ddlb_scid=create ddlb_scid this.cbx_1=create cbx_1 this.cb_1=create cb_1 this.ddlb_storageid=create ddlb_storageid this.st_4=create st_4 iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.ddlb_status this.Control[iCurrent+2]=this.st_3 this.Control[iCurrent+3]=this.st_2 this.Control[iCurrent+4]=this.ddlb_scid this.Control[iCurrent+5]=this.cbx_1 this.Control[iCurrent+6]=this.cb_1 this.Control[iCurrent+7]=this.ddlb_storageid this.Control[iCurrent+8]=this.st_4 end on on w_getbar.destroy call super::destroy destroy(this.ddlb_status) destroy(this.st_3) destroy(this.st_2) destroy(this.ddlb_scid) destroy(this.cbx_1) destroy(this.cb_1) destroy(this.ddlb_storageid) destroy(this.st_4) end on event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid,uc_relscid row = dw_pageretr.GetRow() IF row > 0 THEN uc_relscid= dw_pageretr.Object.u_getbar_scid[row] uc_relid = dw_pageretr.Object.u_getbar_getbarid[row] dw_child.SetRedraw (FALSE) dw_child.Retrieve(uc_relscid,uc_relid) dw_child.SetRedraw (TRUE) ELSE dw_child.Reset() END IF end event event open;This.TriggerEvent('ue_before_open') wf_movetocenter() OLD_TITLE = This.Title s_tran = Message.PowerObjectParm IF Not IsNull(s_tran) THEN retrieve_all = s_tran.if_retrieve_all mode = s_tran.work_mode arg_pkid = s_tran.arg_pkid arg_string_code = s_tran.arg_string_code if_sharedata = s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效 ds_share = s_tran.ds_share if_power_sendout = s_tran.if_sendout if_power_print = s_tran.if_print END IF dw_pageretr.RBUTTON_FILTER_USE = True //右键查询功能开关 dw_pageretr.titleclick_sort_use = True //单击标题排序功能开关 dw_pageretr.SetTransObject (sqlca) pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字 ori_oldselect = dw_pageretr.Describe("DataWindow.Table.Select") ls_newselect = ori_oldselect ds_curquery = Create DATASTORE ds_curquery.DataObject = 'd_extr_find' ds_curquery.SetTransObject (sqlca) wf_editindex_lockf() IF s_tran.b_long = 1 Or s_tran.b_long = 2 THEN cur_scid = s_tran.c_long Int li_item li_item = ddlb_scid.FindItem(s_tran.c_string,0) IF li_item > 0 THEN ddlb_scid.SelectItem(li_item) END IF END IF sle_usual_query.Text = Trim(arg_string_code) IF Not retrieve_all THEN This.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve ELSE IF if_sharedata THEN ds_share.ShareData(dw_pageretr) ELSE wf_retrieveuc(dw_pageretr,ls_newselect,1) This.TriggerEvent('RETRIEVE_pageretr') END IF END IF IF retrieve_all THEN This.TriggerEvent("ue_usual_query_filt") END IF dw_child.Modify('barcode_t.color="33554432" ~n barcode.color="33554432"') //黑色 ds_copy_bill = Create DATASTORE ds_copy_bill.DataObject = dw_child.DataObject ds_copy_bill.SetTransObject(sqlca) uc_column_int =4//uc dw前6列可以编辑 child_column_int = 13 //子dw前5列可以编辑 uo_get = Create uo_getbar IF s_tran.b_long = 1 THEN cb_add.TriggerEvent(Clicked!) END IF end event event ue_f8;call super::ue_f8;//用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用 IF Not dw_edit_mode THEN RETURN Long uc_row Long child_row uc_row = dw_uc.GetRow() child_row = dw_child.GetRow() IF Not IsValid(W_mtrldef_edit) THEN s_edit_index_tran s_ch_tran //传递参数使用 s_ch_tran.if_retrieve_all = False //是否一次RETRIEVE所有行 s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式 s_ch_tran.arg_pkid = 0 //目标定位PKID (备用) s_ch_tran.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选 s_ch_tran.if_select_all = True s_ch_tran.b_long = -1 Long chc = 1,ls_j dw_uc.AcceptText() OpenWithParm(W_mtrldef_edit,s_ch_tran) s_mtrldef_array S_INSCUST S_INSCUST = Message.PowerObjectParm FOR ls_j = 1 To UpperBound(S_INSCUST.mtrlid) IF S_INSCUST.mtrlid[ls_j] > 0 THEN IF dw_child.GetRow() > 0 THEN IF dw_child.Object.u_mtrlware_mx_mtrlid[child_row] <> 0 THEN child_row = dw_child.InsertRow (0) ELSE child_row = dw_child.GetRow() END IF ELSE child_row = dw_child.InsertRow (0) END IF dw_child.Object.u_mtrldef_mtrlcode[child_row] = S_INSCUST.mtrlcode[ls_j] dw_child.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j] dw_child.Object.u_mtrlware_mx_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j] dw_child.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST.mtrlname[ls_j] dw_child.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j] dw_child.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.mtrlsectype[ls_j] dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.zxmtrlmode[ls_j] dw_child.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j] dw_child.Object.u_mtrldef_mtrltype[child_row] = S_INSCUST.mtrltype[ls_j] dw_child.SetColumn('u_mtrlware_mx_qty') END IF NEXT dw_child.SetFocus() END IF This.TriggerEvent('ue_allowedit') end event event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart='' ls_newselect=lower(ori_oldselect) if trim(sle_usual_query.text)<>'' then if pos(trim(sle_usual_query.text),'%')=0 then ls_querystrpart="(u_getbar.getbarcode like '%"+trim(sle_usual_query.text)+"%')" ls_querystrpart = ls_querystrpart + " or u_getbar.dscrp2 like '%"+Trim(sle_usual_query.Text)+"%' " else ls_querystrpart="(u_getbar.getbarcode like '"+trim(sle_usual_query.text)+"')" ls_querystrpart = ls_querystrpart + " or u_getbar.dscrp2 like '"+Trim(sle_usual_query.Text)+"'" end if if Pos(ls_newselect," where ") <> 0 then ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')' else ls_newselect=ls_newselect+" where ("+ls_querystrpart+')' end if end if wf_retrieveuc(dw_pageretr,ls_newselect,1) this.triggerevent('retrieve_pageretr') end event event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr='' if trim(sle_usual_query.text)<>'' then IF POS(trim(sle_usual_query.text),'%')=0 THEN obj_expr=obj_expr+'( getbarcode LIKE "%'+trim(sle_usual_query.text)+'%" )' obj_expr = obj_expr+' or (dscrp2 LIKE "%'+Trim(sle_usual_query.Text)+'%")' ELSE obj_expr=obj_expr+'( getbarcode LIKE "'+trim(sle_usual_query.text)+'" )' obj_expr = obj_expr+' or (dscrp2 LIKE "'+Trim(sle_usual_query.Text)+'")' END IF end if dw_pageretr.setfilter(obj_expr) dw_pageretr.SetRedraw(False) dw_pageretr.filter() if dw_pageretr.rowcount()>=1 then dw_pageretr.selectrow(0,false) dw_pageretr.selectrow(1,true) end if dw_pageretr.SetRedraw(TRUE) end event event retrieve_pageretr;Boolean cb_nextpage_enabled,cb_retrieveall_enabled Boolean cb_func_enabled,cb_retrieve_enabled Int li_ifbuypower = 1 //只显未自已管的仓库 dw_uc.SetTransObject (sqlca) // dw_uc.SetTransObject (sqlca) cb_nextpage_enabled = cb_nextpage.Enabled cb_retrieveall_enabled = cb_retrieveall.Enabled cb_func_enabled = cb_func.Enabled cb_nextpage.Enabled = False cb_retrieveall.Enabled = False cb_func.Enabled = False dw_pageretr.ShareDataOff() dw_pageretr.Retrieve(cur_scid,cur_flag) If dw_pageretr.RowCount() > 0 Then dw_pageretr.SetRow(1) dw_pageretr.TriggerEvent(RowFocusChanged!) End If This.TriggerEvent('retrieve_childdw') wf_flagstatus_rf() cb_nextpage.Enabled = cb_nextpage_enabled cb_retrieveall.Enabled = cb_retrieveall_enabled cb_func.Enabled = cb_func_enabled end event event refresh_interface;call super::refresh_interface;ddlb_status.Enabled = NOT dw_edit_mode ddlb_scid.Enabled = NOT dw_edit_mode wf_flagstatus_rf() end event event close;call super::close;destroy uo_get end event event ue_viewprint;call super::ue_viewprint;//IF Not (f_power_ind(18) or f_power_ind(472)) THEN IF Not (f_power_ind(1820 ) ) THEN MessageBox('提示',sys_msg_pow,information!,OK!) RETURN END IF s_print_msg ls_prmsg ls_prmsg.retr_pram_falg = 15 IF dw_pageretr.RowCount() = 0 THEN MessageBox('提示','没有可打印的单据!',information!,OK!) RETURN END IF // IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] <> 1 THEN // MessageBox('提示','单据还未审核,不能打印!',information!,OK!) // RETURN // END IF IF ls_newname <> '' THEN ls_prmsg.obj_dwNAME = ls_newname ELSE ls_prmsg.obj_dwNAME = 'dw_print_dsr_barcode_chaifen' END IF ls_prmsg.tag_text = '条码生成单' ls_prmsg.filter_string = '' ls_prmsg.pagech_flag = 0 ls_prmsg.retr_scid = cur_scid ls_prmsg.retr_pramnmb = dw_pageretr.object.u_getbar_getbarid[dw_pageretr.getrow()] ls_prmsg.rowcnt = dw_child.RowCount() //IF ifpic = 1 THEN // String ls_msg // IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN // MessageBox('提示','下载图片失败!',information!,OK!) // RETURN // END IF //END IF OpenWithParm(w_publ_preview,ls_prmsg) //IF ifpic = 1 THEN // Long li // FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path) // IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN // FileDelete(LS_PRMSG.s_pic.path[li]) // END IF // NEXT //END IF //**更新打印次料 String arg_msg printnum = Message.DoubleParm f_update_printnum('u_getbar',1,cur_scid,dw_pageretr.object.u_getbar_getbarid[dw_pageretr.getrow()],'','',arg_msg,TRUE) //wf_refresh_curuc(ll_scid,ll_outwareid) end event event ue_print;call super::ue_print;//--直接打印 IF Not (f_power_ind(1820) ) THEN MessageBox('提示',sys_msg_pow,information!,OK!) RETURN END IF uo_print_preview uo_print S_print_MSG LS_PRMSG IF dw_pageretr.RowCount() = 0 THEN MessageBox('提示','没有可打印的单据!',information!,OK!) RETURN END IF IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN LS_PRMSG.retr_pram_falg = 15 IF ls_newname <> '' THEN ls_prmsg.obj_dwNAME = ls_newname ELSE ls_prmsg.obj_dwNAME = 'dw_print_dsr_barcode_chaifen' END IF ls_prmsg.tag_text = '条码生成单' ls_prmsg.filter_string = '' ls_prmsg.pagech_flag = 0 ls_prmsg.retr_scid = cur_scid ls_prmsg.retr_pramnmb = dw_pageretr.object.u_getbar_getbarid[dw_pageretr.getrow()] ls_prmsg.rowcnt = dw_child.RowCount() uo_print.FACT_PRINT_MSG = LS_PRMSG String arg_msg IF uo_print.uof_print_begin(arg_msg) = 0 THEN MessageBox("错误",arg_msg,stopsign!,OK!) RETURN END IF uo_print.ds_print() f_update_printnum('u_getbar',1,cur_scid,dw_pageretr.object.u_getbar_getbarid[dw_pageretr.getrow()],'','',arg_msg,TRUE) //wf_refresh_curuc(ll_scid,ll_outwareid) end event event ue_addzy;call super::ue_addzy;IF Not f_power_ind(1819,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '' String ls_str Long uc_row s_inputbox s_sreu uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF if dw_pageretr.Object.u_getbar_flag[uc_row] = 0 then MessageBox('系统提示','条码生成单未审核,不能执行此操作!') RETURN END IF s_sreu.Title = '请输入要补充到备注的内容' s_sreu.old_text = '' OpenWithParm(w_inputbox,s_sreu) ls_str = Message.StringParm IF Trim(ls_str) = '' Or IsNull(ls_str) THEN RETURN IF uo_get.add_dscrp(dw_pageretr.Object.u_getbar_getbarid[uc_row],ls_str,arg_msg,True) = 0 THEN MessageBox('error!',arg_msg) RETURN ELSE MessageBox(publ_operator,'添加备注操作成功!') wf_refresh_curuc(dw_pageretr.Object.u_getbar_getbarid[uc_row]) END IF end event event ue_f7;call super::ue_f7;IF Not dw_edit_mode THEN RETURN //Long uc_row //Int li_statusflag,li_woodcodeflag,li_pcodeflag //Long ll_statustype,ll_woodcodetype,ll_pcodetype //Long ll_storageid,ll_balctype //Long ll_scid,ll_getbarid //Int li_ifmtrlcuscode //Int li_ordertype //Long ll_mtrlid_p //String ls_pzlordercode,ls_mtrlcuscode //Decimal ld_packqty //Long li_ifunit // //Decimal ld_rate // //s_mtrldef_array arg_s_mtrldef // //uc_row = dw_uc.GetRow() // //IF uc_row <= 0 THEN // MessageBox('系统提示','请选择单据') // RETURN //END IF // //IF dw_uc.Object.getbarid[uc_row] = 0 THEN // ll_scid = cur_scid //ELSE // ll_scid = dw_uc.Object.u_getbar_scid[uc_row] //END IF //ll_getbarid = dw_uc.Object.getbarid[uc_row] //ll_storageid = dw_uc.Object.u_getbar_storageid[uc_row] //IF ll_storageid = 0 Or IsNull(ll_storageid) THEN // MessageBox(publ_operator,'请先选择仓库') // RETURN //END IF // //SELECT balctype INTO :ll_balctype // FROM u_storage // Where storageid = :ll_storageid; //IF sqlca.SQLCode <> 0 THEN // MessageBox('系统提示','查询仓库是否使用客户库存失败,'+sqlca.SQLErrText) // RETURN //END IF // //IF Not IsValid(w_order_ml_mx_mtrl_garbar_ch) THEN // s_edit_index_tran s_open //传递参数使用 // s_open.if_select_any = False // s_open.b_string = '' // s_open.d_long = ll_scid // s_open.f_long = 0 // s_open.e_long = 0 //不显示参考数量 // // This.Enabled = False // OpenWithParm(w_order_ml_mx_mtrl_garbar_ch,s_open) // This.Enabled = True // // s_order_ml_mtrl_ch s_inscust // s_inscust = Message.PowerObjectParm //接受返回结构 // // IF s_inscust.orderid[1] = 0 THEN RETURN // // dw_uc.SetRedraw(False) // // dw_uc.Object.ifrel[uc_row] = 1 // dw_uc.Object.u_getbar_orderid[uc_row] = s_inscust.orderid[1] // dw_uc.Object.mtrlid[uc_row] = s_inscust.mtrlid[1] // dw_uc.Object.u_mtrldef_mtrlcode[uc_row] = s_inscust.mtrlcode[1] // dw_uc.Object.u_mtrldef_mtrlname[uc_row] = s_inscust.mtrlname[1] // dw_uc.Object.u_mtrldef_mtrlmode[uc_row] = s_inscust.mtrlmode[1] // dw_uc.Object.u_mtrldef_unit[uc_row] = s_inscust.unit[1] // dw_uc.Object.status[uc_row] = s_inscust.status[1] // dw_uc.Object.u_getbar_pcode[uc_row] = s_inscust.pcode[1] // dw_uc.Object.woodcode[uc_row] = s_inscust.woodcode[1] // dw_uc.Object.u_mtrldef_unit[uc_row] = s_inscust.unit[1] // dw_uc.Object.workgroupname[uc_row] = s_inscust.workgroupname[1] // // dw_uc.Object.qty[uc_row] = s_inscust.qty[1] // // dw_uc.Object.u_getbar_order_ordercode[uc_row] = s_inscust.ordercode[1] // dw_uc.Object.saletaskcode[uc_row] = s_inscust.taskcode[1] // dw_uc.Object.u_getbar_order_relcode[uc_row] = s_inscust.relcode[1] // // IF f_find_mtrl(s_inscust.mtrlcode[1],-1,arg_s_mtrldef) = 0 THEN // li_statusflag = 0 // li_woodcodeflag = 0 // li_pcodeflag = 0 // ll_statustype = 0 // ll_woodcodetype = 0 // ll_pcodetype = 0 // li_ifmtrlcuscode = 0 // ld_packqty = 0 // li_ifunit = 0 // ELSE // li_statusflag = arg_s_mtrldef.statusflag[1] // ll_statustype = arg_s_mtrldef.statustype[1] // li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1] // ll_woodcodetype = arg_s_mtrldef.woodcodetype[1] // li_pcodeflag = arg_s_mtrldef.pcodeflag[1] // ll_pcodetype = arg_s_mtrldef.pcodetype[1] // li_ifmtrlcuscode = arg_s_mtrldef.ifmtrlcuscode[1] // ld_packqty = arg_s_mtrldef.packqty[1] // li_ifunit = arg_s_mtrldef.ifunit[1] // END IF // // dw_uc.Object.u_mtrldef_statusflag[uc_row] = li_statusflag // dw_uc.Object.u_mtrldef_statustype[uc_row] = ll_statustype // dw_uc.Object.u_mtrldef_woodcodeflag[uc_row] = li_woodcodeflag // dw_uc.Object.u_mtrldef_woodcodetype[uc_row] = ll_woodcodetype // dw_uc.Object.u_mtrldef_pcodeflag[uc_row] = li_pcodeflag // dw_uc.Object.u_mtrldef_pcodetype[uc_row] = ll_pcodetype // dw_uc.Object.u_mtrldef_ifmtrlcuscode[uc_row] = li_ifmtrlcuscode // dw_uc.Object.u_mtrldef_packqty[uc_row] = ld_packqty // dw_uc.Object.ifunit[uc_row] = li_ifunit // wf_lock_child() // // IF li_ifunit = 1 THEN // // SELECT Round(orderqty / addqty, 5) // INTO :ld_rate // FROM u_Order_ml // WHERE scid = :ll_scid // AND orderid = :s_inscust.orderid[1] // And addqty > 0; // IF sqlca.SQLCode <> 0 THEN // ld_rate = 0 // END IF // // IF ld_rate > 0 THEN // dw_uc.Object.rate[uc_row] = ld_rate // dw_uc.Object.uqty[uc_row] = dw_uc.Object.qty[uc_row] / ld_rate // dw_uc.Object.packuqty[uc_row] = 1 // dw_uc.Object.packqty[uc_row] = dw_uc.Object.packuqty[uc_row] * dw_uc.Object.rate[uc_row] // END IF // // END IF // // // IF sys_option_inware_mtrlcuscode = 1 And li_ifmtrlcuscode = 1 THEN // IF arg_s_mtrldef.ifpackpro[1] = 4 THEN // SELECT u_p.ordercode // INTO :ls_pzlordercode // FROM u_order_ml u_p,u_order_ml // WHERE u_p.orderid = u_order_ml.pzlorderid // AND u_p.scid = u_order_ml.scid // AND u_order_ml.scid = :cur_scid // And u_Order_ml.orderid = :s_inscust.orderid[1]; // IF sqlca.SQLCode <> 0 THEN // ls_pzlordercode = '' // END IF // ls_mtrlcuscode = ls_pzlordercode // ELSEIF arg_s_mtrldef.ifpack[1] = 2 THEN // SELECT ordertype INTO :li_ordertype // FROM u_order_ml // WHERE u_order_ml.scid = :cur_scid // And u_Order_ml.orderid = :s_inscust.orderid[1]; // IF sqlca.SQLCode <> 0 THEN // ls_mtrlcuscode = '' // ELSE // IF li_ordertype = 4 THEN //指令单 // SELECT u_p.mtrlid // INTO :ll_mtrlid_p // FROM u_order_ml u_p,u_order_ml // WHERE u_p.orderid = u_order_ml.porderid // AND u_p.scid = u_order_ml.scid // AND u_order_ml.scid = :cur_scid // And u_Order_ml.orderid = :s_inscust.orderid[1]; // IF sqlca.SQLCode <> 0 THEN // ls_mtrlcuscode = '' // ELSE // IF ll_mtrlid_p = s_inscust.mtrlid[1] THEN //主计划是排包件的 // ls_mtrlcuscode = s_inscust.ordercode[1] // ELSE // SELECT u_p.ordercode // INTO :ls_pzlordercode // FROM u_order_ml u_p,u_order_ml // WHERE u_p.orderid = u_order_ml.pzlorderid // AND u_p.scid = u_order_ml.scid // AND u_order_ml.scid = :cur_scid // And u_Order_ml.orderid = :s_inscust.orderid[1]; // IF sqlca.SQLCode <> 0 THEN // ls_pzlordercode = '' // END IF // ls_mtrlcuscode = ls_pzlordercode // END IF // END IF // ELSE //主计划 // ls_mtrlcuscode = s_inscust.ordercode[1] // END IF // // END IF // ELSE // ls_mtrlcuscode = s_inscust.ordercode[1] // END IF // dw_uc.Object.u_getbar_mtrlcuscode[uc_row] = ls_mtrlcuscode // END IF // // // IF sys_option_taskplancode = 1 THEN // dw_uc.Object.plancode[uc_row] = s_inscust.taskrelcode[1] // ELSE // dw_uc.Object.plancode[uc_row] = '' // END IF // // // IF ll_balctype = 1 THEN //如果是客户库存仓或者是来料加工计划 // wf_find_cust(uc_row,ll_scid,s_inscust.orderid[1]) // END IF // dw_uc.SetColumn('qty') // // This.TriggerEvent('ue_allowedit_uc') // dw_uc.SetRedraw(True) //END IF // end event event ue_f9;call super::ue_f9;if not dw_edit_mode then return long child_row dw_child.accepttext() child_row=dw_child.getrow() if child_row <= 0 then return if not isvalid(w_cust_ch) then s_edit_index_tran s_ch_tran //传递参数使用 s_ch_tran.if_retrieve_all=false //是否一次RETRIEVE所有行 s_ch_tran.work_mode=1 //0-单纯编辑模式 1-选择\编辑模式 s_ch_tran.arg_pkid=0 //目标定位PKID (备用) //查询列(物料编码)部分内容,用于初步筛选 OPENwithparm(w_cust_ch,s_ch_tran) //调用 s_custom S_INSCUST S_INSCUST=Message.PowerObjectParm //接受返回结构 IF S_INSCUST.cusid>0 THEN //正常返回值则可以取以下值 dw_child.setredraw(false) dw_child.object.u_mtrlware_mx_sptid[child_row]=S_INSCUST.cusid dw_child.object.u_cust_name[child_row]=S_INSCUST.name dw_child.object.u_cust_cuscode[child_row]=S_INSCUST.cuscode dw_child.setredraw(true) dw_child.setcolumn('u_mtrlware_mx_qty') END IF end if end event event ue_f10;call super::ue_f10;Long ls_j Long child_row s_edit_index_tran s_tranf8 s_tranf8.if_retrieve_all = False s_tranf8.arg_pkid = 0 s_tranf8.arg_string_code = '' s_tranf8.b_long = cur_scid dw_child.AcceptText() child_row = dw_child.GetRow() IF Not IsValid(w_inware_tbuy_ch) THEN OpenWithParm(w_inware_buy_getbar_ch,s_tranf8) //调用 s_inware_tbuy_array s_inscust2 String ls_findstr s_inscust2 = Message.PowerObjectParm //接受返回结构 FOR ls_j = 1 To UpperBound(s_inscust2.mtrlid) IF s_inscust2.inwareid[ls_j] > 0 THEN ls_findstr = '' ls_findstr = 'u_mtrlware_mx_mtrlid='+String(s_inscust2.mtrlid[ls_j])+' and u_mtrlware_mx_sptid=0' + " and u_mtrlware_mx_status='"+String(s_inscust2.status[ls_j])+ "'" + " and u_mtrlware_mx_woodcode='"+String(s_inscust2.woodcode[ls_j])+ "'" + " and u_mtrlware_mx_pcode='"+String(s_inscust2.pcode[ls_j])+ "'" + " and u_mtrlware_mx_plancode='"+String(s_inscust2.plancode[ls_j])+"'" IF dw_child.Find(ls_findstr,1,dw_child.RowCount()) = 0 THEN IF dw_child.GetRow() > 0 THEN IF dw_child.Object.u_mtrlware_mx_mtrlid[child_row] <> 0 THEN child_row = dw_child.InsertRow (0) ELSE child_row = dw_child.GetRow() END IF ELSE child_row = dw_child.InsertRow (0) END IF IF IsNull(s_inscust2.plancode[ls_j]) THEN s_inscust2.plancode[ls_j] = '' IF IsNull(s_inscust2.status[ls_j]) THEN s_inscust2.status[ls_j] = '' IF IsNull(s_inscust2.woodcode[ls_j]) THEN s_inscust2.woodcode[ls_j] = '' IF IsNull(s_inscust2.pcode[ls_j]) THEN s_inscust2.pcode[ls_j] = '' dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust2.mtrlcode[ls_j] dw_child.Object.u_mtrldef_unit[child_row] = s_inscust2.unit[ls_j] dw_child.Object.u_mtrlware_mx_mtrlid[child_row] = s_inscust2.mtrlid[ls_j] dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust2.mtrlname[ls_j] dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust2.mtrlmode[ls_j] dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust2.mtrlsectype[ls_j] dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust2.zxmtrlmode[ls_j] dw_child.Object.u_mtrldef_unit[child_row] = s_inscust2.unit[ls_j] dw_child.Object.u_mtrldef_mtrltype[child_row] = s_inscust2.mtrltype[ls_j] dw_child.Object.u_mtrlware_mx_plancode[child_row] = s_inscust2.plancode[ls_j] dw_child.Object.u_mtrlware_mx_status[child_row] = s_inscust2.status[ls_j] dw_child.Object.u_mtrlware_mx_woodcode[child_row] = s_inscust2.woodcode[ls_j] dw_child.Object.u_mtrlware_mx_pcode[child_row] = s_inscust2.pcode[ls_j] dw_child.Object.u_mtrlware_mx_sptid[child_row] =0 dw_child.Object.u_mtrlware_mx_qty[child_row] = s_inscust2.uqty[ls_j] dw_child.Object.u_mtrlware_mx_relbillid[child_row] = s_inscust2.inwareid[ls_j] END IF END IF NEXT END IF end event event ue_f6;call super::ue_f6;IF Not dw_edit_mode THEN RETURN //Long uc_row //Int li_statusflag,li_woodcodeflag,li_pcodeflag //Long ll_statustype,ll_woodcodetype,ll_pcodetype //Long ll_storageid //Int li_ifmtrlcuscode //Decimal ld_packqty //Int li_storagetype,li_storagetype_mtrl,li_balctype //s_mtrldef_array arg_s_mtrldef //long li_ifunit // //uc_row = dw_uc.GetRow() // //IF uc_row <= 0 THEN // MessageBox('系统提示','请选择单据') // RETURN //END IF // //ll_storageid = dw_uc.Object.u_getbar_storageid[uc_row] //IF ll_storageid = 0 Or IsNull(ll_storageid) THEN // MessageBox(publ_operator,'请先选择仓库') // RETURN //END IF // //SELECT storagetype,balctype // INTO :li_storagetype,:li_balctype // FROM u_storage // Where storageid = :ll_storageid; //IF sqlca.SQLCode <> 0 THEN // MessageBox(publ_operator,'查询仓库属性失败,'+sqlca.SQLErrText) // RETURN //END IF // // //IF Not IsValid(w_inware_buytask_barcode_ch) THEN // s_edit_index_tran s_open //传递参数使用 // s_open.if_select_any = False // s_open.b_string = '' // s_open.f_long = ll_storageid // // This.Enabled = False // OpenWithParm(w_inware_buytask_barcode_ch,s_open) // This.Enabled = True // // s_mtrldef_buytask_array s_inscust // s_inscust = Message.PowerObjectParm //接受返回结构 // // IF s_inscust.buytaskid[1] = 0 THEN RETURN // // dw_uc.SetRedraw(False) // // dw_uc.Object.ifrel[uc_row] = 2 // dw_uc.Object.u_getbar_orderid[uc_row] = s_inscust.buytaskid[1] // dw_uc.Object.u_getbar_buytaskprintid[uc_row] = s_inscust.printid[1] // dw_uc.Object.mtrlid[uc_row] = s_inscust.mtrlid[1] // dw_uc.Object.u_mtrldef_mtrlcode[uc_row] = s_inscust.mtrlcode[1] // dw_uc.Object.u_mtrldef_mtrlname[uc_row] = s_inscust.mtrlname[1] // dw_uc.Object.u_mtrldef_mtrlmode[uc_row] = s_inscust.mtrlmode[1] // dw_uc.Object.u_mtrldef_unit[uc_row] = s_inscust.unit[1] // dw_uc.Object.status[uc_row] = s_inscust.status[1] // dw_uc.Object.u_getbar_pcode[uc_row] = s_inscust.pcode[1] // dw_uc.Object.woodcode[uc_row] = s_inscust.woodcode[1] // dw_uc.Object.u_mtrldef_unit[uc_row] = s_inscust.unit[1] // dw_uc.Object.qty[uc_row] = s_inscust.qty[1] // dw_uc.Object.u_getbar_order_ordercode[uc_row] = s_inscust.buytaskcode[1] // // IF f_find_mtrl(s_inscust.mtrlcode[1],-1,arg_s_mtrldef) = 0 THEN // li_statusflag = 0 // li_woodcodeflag = 0 // li_pcodeflag = 0 // ll_statustype = 0 // ll_woodcodetype = 0 // ll_pcodetype = 0 // li_ifmtrlcuscode = 0 // ld_packqty = 0 // li_storagetype_mtrl = 0 // li_ifunit = 0 // ELSE // li_statusflag = arg_s_mtrldef.statusflag[1] // ll_statustype = arg_s_mtrldef.statustype[1] // li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1] // ll_woodcodetype = arg_s_mtrldef.woodcodetype[1] // li_pcodeflag = arg_s_mtrldef.pcodeflag[1] // ll_pcodetype = arg_s_mtrldef.pcodetype[1] // li_ifmtrlcuscode = arg_s_mtrldef.ifmtrlcuscode[1] // ld_packqty = arg_s_mtrldef.packqty[1] // li_storagetype_mtrl = arg_s_mtrldef.storagetype[1] // li_ifunit = arg_s_mtrldef.ifunit[1] // END IF // // IF li_storagetype = 0 And li_balctype = 1 and li_storagetype_mtrl = 0 THEN // dw_uc.Object.u_cust_cuscode[uc_row] = s_inscust.cuscode[1] // dw_uc.Object.u_cust_name[uc_row] = s_inscust.cusname[1] // dw_uc.Object.u_getbar_cusid[uc_row] = s_inscust.cusid[1] // ELSE // dw_uc.Object.u_cust_cuscode[uc_row] = '' // dw_uc.Object.u_cust_name[uc_row] = '' // dw_uc.Object.u_getbar_cusid[uc_row] = 0 // END IF // // dw_uc.Object.u_mtrldef_statusflag[uc_row] = li_statusflag // dw_uc.Object.u_mtrldef_statustype[uc_row] = ll_statustype // dw_uc.Object.u_mtrldef_woodcodeflag[uc_row] = li_woodcodeflag // dw_uc.Object.u_mtrldef_woodcodetype[uc_row] = ll_woodcodetype // dw_uc.Object.u_mtrldef_pcodeflag[uc_row] = li_pcodeflag // dw_uc.Object.u_mtrldef_pcodetype[uc_row] = ll_pcodetype // dw_uc.Object.u_mtrldef_ifmtrlcuscode[uc_row] = li_ifmtrlcuscode // dw_uc.Object.u_mtrldef_packqty[uc_row] = ld_packqty // dw_uc.Object.ifunit[uc_row] = li_ifunit // wf_lock_child() // // // IF sys_option_taskplancode = 1 THEN // dw_uc.Object.plancode[uc_row] = s_inscust.mtrlcuscode[1] // ELSE // dw_uc.Object.plancode[uc_row] = '' // END IF // // dw_uc.SetColumn('qty') // // This.TriggerEvent('ue_allowedit_uc') // dw_uc.SetRedraw(True) //END IF end event event ue_f11;call super::ue_f11;Long ls_j Long child_row s_edit_index_tran s_tranf8 s_tranf8.if_retrieve_all = False s_tranf8.arg_pkid = 0 s_tranf8.arg_string_code = '' s_tranf8.b_long = cur_scid s_tranf8.d_long = cur_storageid dw_child.AcceptText() child_row = dw_child.GetRow() IF Not IsValid(w_mtrlware_storageid_ch) THEN OpenWithParm(w_mtrlware_storageid_ch,s_tranf8) //调用 s_mtrlware_noalloc_array s_inscust2 String ls_findstr s_inscust2 = Message.PowerObjectParm //接受返回结构 FOR ls_j = 1 To UpperBound(s_inscust2.mtrlid) IF s_inscust2.mtrlwareid[ls_j] > 0 THEN ls_findstr = '' ls_findstr = 'u_mtrlware_mx_mtrlid='+String(s_inscust2.mtrlid[ls_j])+' and u_mtrlware_mx_sptid=' + string(s_inscust2.sptid[ls_j]) + " and u_mtrlware_mx_status='"+String(s_inscust2.status[ls_j])+ "'" + " and u_mtrlware_mx_woodcode='"+String(s_inscust2.woodcode[ls_j])+ "'" + " and u_mtrlware_mx_pcode='"+String(s_inscust2.pcode[ls_j])+ "'" + " and u_mtrlware_mx_plancode='"+String(s_inscust2.plancode[ls_j])+"'" IF dw_child.Find(ls_findstr,1,dw_child.RowCount()) = 0 THEN IF dw_child.GetRow() > 0 THEN IF dw_child.Object.u_mtrlware_mx_mtrlid[child_row] <> 0 THEN child_row = dw_child.InsertRow (0) ELSE child_row = dw_child.GetRow() END IF ELSE child_row = dw_child.InsertRow (0) END IF IF IsNull(s_inscust2.plancode[ls_j]) THEN s_inscust2.plancode[ls_j] = '' IF IsNull(s_inscust2.status[ls_j]) THEN s_inscust2.status[ls_j] = '' IF IsNull(s_inscust2.woodcode[ls_j]) THEN s_inscust2.woodcode[ls_j] = '' IF IsNull(s_inscust2.pcode[ls_j]) THEN s_inscust2.pcode[ls_j] = '' dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust2.u_mtrldef_mtrlcode[ls_j] dw_child.Object.u_mtrldef_unit[child_row] = s_inscust2.u_mtrldef_unit[ls_j] dw_child.Object.u_mtrlware_mx_mtrlid[child_row] = s_inscust2.mtrlid[ls_j] dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust2.u_mtrldef_mtrlname[ls_j] dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust2.u_mtrldef_mtrlmode[ls_j] dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust2.u_mtrldef_mtrlsectype[ls_j] dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust2.u_mtrldef_zxmtrlmode[ls_j] dw_child.Object.u_mtrldef_unit[child_row] = s_inscust2.u_mtrldef_unit[ls_j] dw_child.Object.u_mtrldef_mtrltype[child_row] = s_inscust2.u_mtrldef_mtrltype[ls_j] dw_child.Object.u_mtrlware_mx_plancode[child_row] = s_inscust2.plancode[ls_j] dw_child.Object.u_mtrlware_mx_status[child_row] = s_inscust2.status[ls_j] dw_child.Object.u_mtrlware_mx_woodcode[child_row] = s_inscust2.woodcode[ls_j] dw_child.Object.u_mtrlware_mx_pcode[child_row] = s_inscust2.pcode[ls_j] dw_child.Object.u_mtrlware_mx_sptid[child_row] =s_inscust2.sptid[ls_j] dw_child.Object.u_cust_cuscode[child_row] =s_inscust2.sptcode[ls_j] dw_child.Object.u_cust_name[child_row] =s_inscust2.sptname[ls_j] dw_child.Object.u_mtrlware_mx_qty[child_row] = s_inscust2.noallocqty[ls_j] dw_child.Object.u_mtrlware_mx_relbillid[child_row] = s_inscust2.mtrlwareid[ls_j] END IF END IF NEXT END IF end event event ue_f12;call super::ue_f12;// TODO: 生产退料选择领料历史 //用于选择明细内容,被f8[默认]\dw_child.doubleclicked调用 IF Not dw_edit_mode THEN RETURN //Long row //row = dw_uc.GetRow() // //IF Not IsValid(w_mtrldef_ch_scll_back_getbar) THEN // s_edit_index_tran s_tranf8 //传递参数使用 // s_tranf8.if_retrieve_all = False //是否一次retrieve所有行 // s_tranf8.arg_pkid = 0 //目标定位pkid (备用) // s_tranf8.arg_string_code = dw_uc.Object.u_mtrldef_mtrlcode[row] //查询列(物料编码)部分内容,用于初步筛选 // s_tranf8.b_long = 1 //只选择原料 // s_tranf8.c_long = -1 //ll_wrkgrpid // s_tranf8.f_long = 0 //dw_uc.Object.u_outware_relint_5[dw_uc.GetRow()] // // This.Enabled = False // OpenWithParm(w_mtrldef_ch_scll_back_getbar,s_tranf8) //调用 // This.Enabled = True // // s_mtrlware_noalloc_array s_inscust // s_inscust = Message.PowerObjectParm //接受返回结构 // // IF UpperBound(s_inscust.mtrlid) = 0 THEN RETURN // IF s_inscust.mtrlid[1] <= 0 THEN RETURN // // dw_uc.Object.u_getbar_orderid[row] = s_inscust.orderid[1] // dw_uc.Object.u_getbar_order_ordercode[row] = s_inscust.ordercode[1] // dw_uc.Object.mtrlid[row] = s_inscust.mtrlid[1] // dw_uc.Object.u_mtrldef_mtrlcode[row] = s_inscust.u_mtrldef_mtrlcode[1] // dw_uc.Object.u_mtrldef_mtrlname[row] = s_inscust.u_mtrldef_mtrlname[1] // dw_uc.Object.u_mtrldef_mtrlmode[row] = s_inscust.u_mtrldef_mtrlmode[1] // dw_uc.Object.status[row] = s_inscust.status[1] // dw_uc.Object.woodcode[row] = s_inscust.woodcode[1] // dw_uc.Object.u_getbar_pcode[row] = s_inscust.pcode[1] // dw_uc.Object.qty[row] = s_inscust.dstrqty[1] // dw_uc.Object.ifunit[row] = s_inscust.ifunit[1] //END IF end event type cb_func from w_publ_1ton_share_detail`cb_func within w_getbar end type type cb_exit from w_publ_1ton_share_detail`cb_exit within w_getbar integer x = 2528 integer width = 142 end type type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_getbar integer x = 384 integer width = 530 end type type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_getbar integer width = 142 end type type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_getbar end type type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_getbar integer x = 2267 integer y = 372 integer width = 1285 integer height = 1372 string dataobject = "dw_getbar_index" end type event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_flagstatus_rf() end event type st_1 from w_publ_1ton_share_detail`st_1 within w_getbar integer x = 23 integer width = 229 end type type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_getbar integer x = 3113 end type type dw_uc from w_publ_1ton_share_detail`dw_uc within w_getbar event ue_dwndropdown pbm_dwndropdown integer y = 372 integer width = 2267 integer height = 1372 string dataobject = "dw_getbar_edit" boolean setcolumn_visible_use = false boolean autosave_setlayout_use = false boolean setlayout_use = false end type event dw_uc::ue_dwndropdown;IF NOT dw_edit_mode THEN RETURN String ls_col_pz,ls_col_mtrlid String ls_pz_ch String ls_col_value String ls_data_type Long ll_row,ll_mtrlid s_pzwin_open arg_s_win ll_row = THIS.GetRow() IF ll_row > 0 THEN ls_col_mtrlid = THIS.Describe("#2.Name") IF NOT Pos(Lower(ls_col_mtrlid),'mtrlid') > 0 THEN RETURN ll_mtrlid = THIS.GetItemNumber(ll_row,ls_col_mtrlid) ls_col_pz = THIS.GetColumnName( ) IF Pos(ls_col_pz,'location') > 0 THEN arg_s_win.arg_x = THIS.X + THIS.PointerX() + PARENT.X arg_s_win.arg_y = THIS.Y + THIS.PointerY() + PARENT.Y // arg_s_win.arg_mtrlid = ins_storageid // ls_pz_ch = f_storage_location(arg_s_win) IF ls_pz_ch = '' THEN RETURN THIS.SetItem(ll_row,ls_col_pz,ls_pz_ch) ELSE ls_data_type = dw_child.Describe(ls_col_pz+".ColType") IF Pos(Lower(ls_data_type),"char") > 0 THEN ls_col_value = THIS.GetItemString(ll_row,ls_col_pz) END IF arg_s_win.arg_x = THIS.X + THIS.PointerX() + PARENT.X arg_s_win.arg_y = THIS.Y + THIS.PointerY() + PARENT.Y arg_s_win.arg_col = ls_col_pz arg_s_win.arg_mtrlid = ll_mtrlid arg_s_win.arg_col_value = ls_col_value ls_pz_ch = f_mtrl_pz(arg_s_win) IF ls_pz_ch = '' THEN RETURN THIS.SetItem(ll_row,ls_col_pz,ls_pz_ch) END IF END IF end event event dw_uc::dwnkey;Parent.TriggerEvent('user_key') //IF Key = KeyDownArrow! THEN RETURN 1 // //String ls_mtrlcode //Long ucrow // //s_mtrldef_array arg_s_mtrldef // // //ucrow = dw_uc.GetRow() // //IF dw_edit_mode THEN // IF dw_uc.GetColumnName ( ) = 'u_mtrldef_mtrlcode' And Key = KeyEnter! THEN // dw_uc.AcceptText() // // IF dw_uc.Object.ifrel[ucrow] = 1 THEN // Parent.TriggerEvent('ue_f7') // RETURN 1 // ELSEIF dw_uc.Object.ifrel[ucrow] = 2 THEN // Parent.TriggerEvent('ue_f9') // RETURN 1 // END IF // // ls_mtrlcode = dw_uc.Object.u_mtrldef_mtrlcode[ucrow] // // IF f_find_mtrl(ls_mtrlcode,-1,arg_s_mtrldef) = 0 THEN // Parent.TriggerEvent('ue_f8') // RETURN 1 // ELSE // dw_uc.Object.mtrlid[ucrow] = arg_s_mtrldef.mtrlid[1] // dw_uc.Object.u_mtrldef_mtrlcode[ucrow] = arg_s_mtrldef.mtrlcode[1] // dw_uc.Object.u_mtrldef_mtrlname[ucrow] = arg_s_mtrldef.mtrlname[1] // dw_uc.Object.u_mtrldef_mtrlmode[ucrow] = arg_s_mtrldef.mtrlmode[1] // dw_uc.Object.u_mtrldef_unit[ucrow] = arg_s_mtrldef.unit[1] // dw_uc.Object.u_mtrldef_statusflag[ucrow] = arg_s_mtrldef.statusflag[1] // dw_uc.Object.u_mtrldef_statustype[ucrow] = arg_s_mtrldef.statustype[1] // dw_uc.Object.u_mtrldef_woodcodeflag[ucrow] = arg_s_mtrldef.woodcodeflag[1] // dw_uc.Object.u_mtrldef_woodcodetype[ucrow] = arg_s_mtrldef.woodcodetype[1] // dw_uc.Object.u_mtrldef_pcodeflag[ucrow] = arg_s_mtrldef.pcodeflag[1] // dw_uc.Object.u_mtrldef_pcodetype[ucrow] = arg_s_mtrldef.pcodetype[1] // dw_uc.Object.u_mtrldef_ifmtrlcuscode[ucrow] = arg_s_mtrldef.ifmtrlcuscode[1] // dw_uc.Object.u_mtrldef_packqty[ucrow] = arg_s_mtrldef.packqty[1] // dw_uc.Object.ifunit[ucrow] = arg_s_mtrldef.ifunit[1] // wf_lock_child() // // IF arg_s_mtrldef.statusflag[1] = 4 THEN // dw_uc.Object.status[ucrow] = arg_s_mtrldef.status_config[1] // END IF // // IF arg_s_mtrldef.woodcodeflag[1] = 4 THEN // dw_uc.Object.woodcode[ucrow] = arg_s_mtrldef.woodcode_config[1] // END IF // // IF arg_s_mtrldef.pcodeflag[1] = 4 THEN // dw_uc.Object.u_getbar_pcode[ucrow] = arg_s_mtrldef.pcode_config[1] // END IF // // Parent.TriggerEvent('ue_allowedit_uc') // END IF // // IF Key = KeyEnter! THEN // // keybd_event ( 9, 0, 0 , 0 ) // 按下tab // keybd_event ( 9, 0, 2, 0 ) // 释放tab // RETURN 1 // END IF // ELSE // IF Key = KeyEnter! THEN // // keybd_event ( 9, 0, 0 , 0 ) // 按下tab // keybd_event ( 9, 0, 2, 0 ) // 释放tab // RETURN 1 // END IF // END IF //END IF end event event dw_uc::itemchanged;call super::itemchanged;//IF Not dw_edit_mode THEN RETURN // //Int li_ifrel_old //li_ifrel_old = This.Object.ifrel[row] // //String arg_msg // //This.AcceptText( ) // //IF dwo.Name = 'ifrel' THEN // IF wf_check_type_power(This.Object.ifrel[row],arg_msg) = 0 THEN // This.Object.ifrel[row] = li_ifrel_old // MessageBox('系统提示',arg_msg) // RETURN 2 // END IF // // IF This.Object.ifrel[row] = 0 Or & // This.Object.ifrel[row] = 3 Or & // This.Object.ifrel[row] = 4 Or & // This.Object.ifrel[row] = 5 Or & // This.Object.ifrel[row] = 6 Or & // This.Object.ifrel[row] = 7 Or & // This.Object.ifrel[row] = 1 And li_ifrel_old = 2 Or & // This.Object.ifrel[row] = 2 And li_ifrel_old = 1 THEN // // This.Object.u_getbar_order_ordercode[row] = '' // This.Object.u_getbar_order_relcode[row] = '' // This.Object.u_getbar_orderid[row] = 0 // This.Object.u_getbar_buytaskprintid[row] = 0 // END IF //END IF // //IF dwo.Name = 'u_getbar_storageid' THEN // wf_face_uc(This.Object.u_getbar_storageid[row],row) // wf_change_storageid(This.Object.u_getbar_storageid[row]) //END IF // //IF dwo.Name = 'uqty' THEN // If (This.Object.ifrel[row] = 1 Or This.Object.ifrel[row] = 2) THEN // This.Object.qty[row] = This.Object.uqty[row] * This.Object.rate[row] // ELSE // IF This.Object.qty[row] = 0 THEN // This.Object.qty[row] = This.Object.uqty[row] * This.Object.rate[row] // END IF // END IF //END IF // //IF dwo.Name = 'packuqty' THEN // This.Object.u_mtrldef_packqty[row] = This.Object.packuqty[row] * This.Object.rate[row] //END IF // //IF dwo.Name = 'rate' THEN // This.Object.u_mtrldef_packqty[row] = This.Object.packuqty[row] * This.Object.rate[row] // This.Object.qty[row] = This.Object.uqty[row] * This.Object.rate[row] //END IF // //IF dwo.Name = 'qty' And This.Object.uqty[row] <> 0 And This.Object.ifunit[row] = 1 THEN // This.Object.rate[row] = Round(This.Object.qty[row]/This.Object.uqty[row],5) // This.AcceptText() // This.Object.u_mtrldef_packqty[row] = This.Object.packuqty[row] * This.Object.rate[row] //END IF // // // // // end event event dw_uc::doubleclicked;IF dw_edit_mode AND row > 0 THEN END IF end event event dw_uc::buttonclicked;call super::buttonclicked;IF Not dw_edit_mode THEN RETURN IF row <= 0 THEN RETURN dw_uc.AcceptText() IF dwo.Name = 'b_mtrl' THEN Parent.TriggerEvent('ue_f8') ELSEIF dwo.Name = 'b_task' THEN Parent.TriggerEvent('ue_f10') ELSEIF dwo.Name = 'b_mtrlware' THEN Parent.TriggerEvent('ue_f11') END IF end event type gb_2 from w_publ_1ton_share_detail`gb_2 within w_getbar integer x = 160 integer y = 404 integer width = 704 integer height = 340 end type type dw_child from w_publ_1ton_share_detail`dw_child within w_getbar integer y = 1744 integer width = 3557 integer height = 420 string title = "单据明细内容 " string dataobject = "dw_getbarmx_edit" boolean minbox = true boolean maxbox = false end type event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key') IF dw_edit_mode THEN IF KeyDown(Keydownarrow!) THEN Long li_row IF dw_child.GetRow() = dw_child.RowCount() THEN PARENT.TriggerEvent("insert_childrow") END IF ELSE IF Key = KeyEnter! THEN keybd_event ( 9, 0, 0 , 0 ) // 按下tab keybd_event ( 9, 0, 2, 0 ) // 释放tab RETURN 1 END IF END IF END IF //u_mtrldef_mtrlcode //u_mtrldef_unit //u_inwaremx_mtrlid //u_inwaremx_planprice //u_inwaremx_price //u_mtrldef_mtrlname end event event dw_child::doubleclicked;dw_child.AcceptText() IF dw_edit_mode AND row > 0 THEN If (dwo.Name = 'u_cust_cuscode' OR dwo.Name = 'u_cust_name') AND THIS.Object.if_mtrlware[row] = 1 THEN PARENT.TriggerEvent('ue_f9') ELSEIF dwo.Name = 'u_mtrldef_mtrlcode' OR dwo.Name = 'u_mtrldef_mtrlname' THEN PARENT.TriggerEvent('ue_f8') else if dwo.Name = 'u_mtrlware_mx_qty' then return PARENT.TriggerEvent('ue_f8') END IF END IF end event event dw_child::itemchanged;call super::itemchanged;IF Not dw_edit_mode THEN RETURN IF dwo.Name = 'packuqty' THEN This.Object.packqty[row] = This.Object.packuqty[row] * This.Object.rate[row] END IF IF dwo.Name = 'rate' THEN This.Object.packqty[row] = This.Object.packuqty[row] * This.Object.rate[row] END IF end event event dw_child::constructor;call super::constructor;wf_title_change() end event type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_getbar integer x = 1883 end type type cb_print from w_publ_1ton_share_detail`cb_print within w_getbar integer x = 1691 end type type cb_add from w_publ_1ton_share_detail`cb_add within w_getbar end type event cb_add::clicked;IF Not f_power_ind(1815,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF String arg_msg = '' Long uc_row,i,j Int li_outtype_storage Long ll_storageid,li_mustloca,li_iflocation s_getbar arg_s_gb IF dw_edit_mode THEN dw_uc.AcceptText() dw_child.AcceptText() uc_row = dw_uc.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF arg_s_gb.scid =cur_scid arg_s_gb.getbarid = dw_uc.Object.getbarid[uc_row] arg_s_gb.getbardate = dw_uc.Object.u_getbar_getbardate[uc_row] arg_s_gb.dscrp = Trim(dw_uc.Object.dscrp[uc_row]) ext1: FOR i = 1 To dw_child.RowCount() //删除无mtrlid的行 IF dw_child.Object.u_mtrlware_mx_mtrlid[i] = 0 Or IsNull(dw_child.Object.u_mtrlware_mx_mtrlid[i])=true or long(dw_child.Object.u_mtrlware_mx_qty[i] ) =0 or isnull(dw_child.Object.u_mtrlware_mx_qty[i] )=true THEN dw_child.DeleteRow(i) GOTO ext1 END IF NEXT FOR i = 1 To dw_child.RowCount() IF IsNull(dw_child.Object.u_mtrlware_mx_Status[i] ) THEN dw_child.Object.u_mtrlware_mx_Status[i] = '' IF IsNull(dw_child.Object.u_mtrlware_mx_woodcode[i] ) THEN dw_child.Object.u_mtrlware_mx_woodcode[i] = '' IF IsNull(dw_child.Object.u_mtrlware_mx_pcode[i] ) THEN dw_child.Object.u_mtrlware_mx_pcode[i] = '' IF IsNull(dw_child.Object.u_mtrlware_mx_plancode[i] ) THEN dw_child.Object.u_mtrlware_mx_plancode[i] = '' IF IsNull(dw_child.Object.u_mtrlware_mx_Sptid[i] ) THEN dw_child.Object.u_mtrlware_mx_Sptid[i] = 0 NEXT Decimal arg_qty ext2: dw_child.AcceptText() FOR i = 2 To dw_child.RowCount() //合并重复项 FOR j = i -1 To 1 Step -1 IF dw_child.Object.u_mtrlware_mx_mtrlid[i] = dw_child.Object.u_mtrlware_mx_mtrlid[j] And & dw_child.Object.u_mtrlware_mx_Status[i] = dw_child.Object.u_mtrlware_mx_Status[j] And & dw_child.Object.u_mtrlware_mx_woodcode[i] = dw_child.Object.u_mtrlware_mx_woodcode[j] And & dw_child.Object.u_mtrlware_mx_pcode[i] = dw_child.Object.u_mtrlware_mx_pcode[j] And & dw_child.Object.u_mtrlware_mx_plancode[i] = dw_child.Object.u_mtrlware_mx_plancode[j] And & dw_child.Object.u_mtrlware_mx_Sptid[i] = dw_child.Object.u_mtrlware_mx_Sptid[j] THEN arg_qty = 0 arg_qty = Long(dw_child.Object.u_mtrlware_mx_qty[i]) dw_child.Object.u_mtrlware_mx_qty[j] = Long(dw_child.Object.u_mtrlware_mx_qty[j]) + arg_qty dw_child.DeleteRow(i) GOTO ext2 END IF NEXT NEXT // wf_getbarcode //获取barcode String ls_rtn dw_child.AcceptText() FOR i = 1 To dw_child.RowCount() IF Len(String(dw_child.Object.u_mtrlware_mx_barcode[i])) > 0 THEN CONTINUE IF cur_scid < 0 THEN MessageBox('err','请选择分部!!') RETURN END IF ls_rtn = wf_getbarcode(cur_scid, dw_child.Object.u_mtrlware_mx_mtrlid[i], & dw_child.Object.u_mtrlware_mx_Status[i], & dw_child.Object.u_mtrlware_mx_woodcode[i], & dw_child.Object.u_mtrlware_mx_pcode[i], & dw_child.Object.u_mtrlware_mx_plancode[i], & dw_child.Object.u_mtrlware_mx_Sptid[i] , & arg_msg, & dw_child.Object.u_mtrldef_mtrlcode[i]) IF ls_rtn = 'err' THEN MessageBox('系统提示','第' + String(i) + '行' + arg_msg) RETURN ELSE dw_child.Object.u_mtrlware_mx_barcode[i] = ls_rtn END IF NEXT FOR i = 1 To dw_child.RowCount() arg_s_gb.arg_s_mx[i].printid = i arg_s_gb.arg_s_mx[i].barcode = dw_child.Object.u_mtrlware_mx_barcode[i] arg_s_gb.arg_s_mx[i].qty = dw_child.Object.u_mtrlware_mx_qty[i] arg_s_gb.arg_s_mx[i].mtrlid = dw_child.Object.u_mtrlware_mx_mtrlid[i] arg_s_gb.arg_s_mx[i].Status = dw_child.Object.u_mtrlware_mx_Status[i] arg_s_gb.arg_s_mx[i].woodcode = dw_child.Object.u_mtrlware_mx_woodcode[i] arg_s_gb.arg_s_mx[i].pcode = dw_child.Object.u_mtrlware_mx_pcode[i] arg_s_gb.arg_s_mx[i].plancode = dw_child.Object.u_mtrlware_mx_plancode[i] arg_s_gb.arg_s_mx[i].Sptid = dw_child.Object.u_mtrlware_mx_Sptid[i] arg_s_gb.arg_s_mx[i].dscrp = dw_child.Object.u_mtrlware_mx_dscrp[i] arg_s_gb.arg_s_mx[i].relbillid = dw_child.Object.u_mtrlware_mx_relbillid[i] NEXT IF uo_get.Save(arg_s_gb,publ_operator,arg_msg,True) = 0 THEN MessageBox('Error!',arg_msg) RETURN END IF MessageBox(publ_operator,'保存操作成功!') //write ini Long ll_row ll_row = dw_pageretr.GetRow() dw_pageretr.SelectRow(0,False) dw_pageretr.SelectRow(ll_row,True) wf_refresh_curuc(uo_get.uo_getbarid) //刷新uc ELSE IF cur_scid < 0 THEN MessageBox(publ_operator,'请选择分部') RETURN END IF END IF CALL Super::Clicked IF dw_edit_mode THEN Parent.TriggerEvent("insert_childrow") dw_uc.SetRedraw(False) dw_uc.Object.u_getbar_scid[dw_uc.GetRow()] = cur_scid dw_uc.SetRedraw(True) ELSE Parent.TriggerEvent("retrieve_childdw") IF cbx_1.Checked THEN cb_1.TriggerEvent(Clicked!) END IF //THIS.TriggerEvent('refresh_interface') end event type cb_edit from w_publ_1ton_share_detail`cb_edit within w_getbar end type event cb_edit::clicked;IF NOT f_power_ind(1815,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF String arg_msg = '' Long uc_row,cnt uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF NOT dw_edit_mode THEN IF uo_get.updatebegin(dw_pageretr.Object.u_getbar_getbarid[uc_row],arg_msg) = 0 THEN MessageBox('Error!',arg_msg) RETURN END IF wf_refresh_curuc(dw_pageretr.Object.u_getbar_getbarid[uc_row]) PARENT.TriggerEvent("retrieve_childdw") END IF CALL SUPER::Clicked IF dw_edit_mode THEN END IF end event type cb_delet from w_publ_1ton_share_detail`cb_delet within w_getbar integer width = 142 end type event cb_delet::clicked;call super::clicked;IF NOT f_power_ind(1816,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '' Long uc_row uc_row = dw_pageretr.GetRow() IF uc_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF MessageBox ("询问","是否确定要删除当前单据?",question!,yesno! ) = 2 THEN RETURN IF uo_get.del(dw_pageretr.Object.u_getbar_getbarid[uc_row],arg_msg,true) = 0 THEN MessageBox('error!',arg_msg) ELSE //日志 Long ls_id String ls_code ls_id = dw_pageretr.Object.u_getbar_getbarid[uc_row] ls_code = dw_pageretr.Object.u_getbar_getbarcode[uc_row] f_setsysoplog('条码生成单','条码生成单删除,id:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE) //-- MessageBox(publ_operator,'删除单据'+String(dw_pageretr.Object.u_getbar_getbarcode[uc_row])+'成功!') dw_pageretr.DeleteRow(uc_row) dw_pageretr.PostEvent(RowFocusChanged!) END IF end event type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_getbar integer x = 1170 integer width = 270 end type event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu string menustr menustr="Text=增加备注~tEvent=ue_addzy" menustr=menustr + "|" + "Text=-" //menustr=menustr + "|" + "Text=修改备注~tEvent=ue_moddscrp" //menustr = menustr + "|" + "Text=按分部预览打印~tEvent=ue_view_print_scid" if len(trim(menustr))<>0 then dmPopupMenu = Create m_Dfc_Control_PopupMenu dmPopupMenu.mf_BuildMenu(This, menustr) dmPopupMenu.mf_PopMenu() Destroy dmPopupMenu end if end event type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_getbar integer x = 827 end type event cb_auditing::clicked;call super::clicked;IF NOT f_power_ind(1817,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '' IF NOT KeyDown(KeyControl!) THEN Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF MessageBox ("询问","是否确定要审核当前单据?",question!,yesno! ) = 2 THEN RETURN IF uo_get.auditing(dw_pageretr.Object.u_getbar_getbarid[pagerert_row],publ_operator,arg_msg,TRUE) = 0 THEN MessageBox('error!',arg_msg) ELSE MessageBox(publ_operator,'审核成功!') Parent.TriggerEvent("retrieve_childdw") wf_refresh_curuc(dw_pageretr.Object.u_getbar_getbarid[pagerert_row]) END IF ELSE IF MessageBox ("if","是否确定要批审核列表中未审核的单据?",question!,yesno! ) = 2 THEN RETURN Long ll_i,ll_billid Int li_flag Long ll_suc,ll_fail dw_pageretr.AcceptText() OPEN(w_sys_wait_jdt) //初始化进度条 w_sys_wait_jdt.Show() w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount()) FOR ll_i = 1 TO dw_pageretr.RowCount() w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.u_getbar_getbarcode[ll_i] + " 正在审核..." //进度信息 Yield ( ) li_flag = dw_pageretr.Object.u_getbar_flag[ll_i] IF li_flag = 1 THEN CONTINUE ll_billid = dw_pageretr.Object.u_getbar_getbarid[ll_i] IF uo_get.auditing(ll_billid,publ_operator,arg_msg,TRUE) = 0 THEN ll_fail++ CONTINUE END IF ll_suc++ w_sys_wait_jdt.wf_inc(ll_i) //进度 NEXT CLOSE(w_sys_wait_jdt) MessageBox(publ_operator,'批审核成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail)) PARENT.TriggerEvent('retrieve_pageretr') END IF end event type cb_xm from w_publ_1ton_share_detail`cb_xm within w_getbar integer x = 1440 end type event cb_xm::clicked;String ls_modstring String ls_modstring2 String ls_modstring3 string ls_txt string ls_txt2 string ls_txt3 is_mx_menustr = '' m_Dfc_Control_PopupMenu dmPopupMenu String menustr IF dw_edit_mode THEN menustr = "Text=删明细~tEvent=ue_deletemx" END IF IF Trim(is_mx_menustr) <> '' THEN IF dw_edit_mode THEN menustr = menustr + "|" + "Text=-" END IF menustr = menustr + is_mx_menustr END IF IF Len(Trim(menustr)) <> 0 THEN dmPopupMenu = CREATE m_Dfc_Control_PopupMenu dmPopupMenu.mf_BuildMenu(THIS, menustr) dmPopupMenu.mf_PopMenu() DESTROY dmPopupMenu END IF end event type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_getbar end type type cb_xls from w_publ_1ton_share_detail`cb_xls within w_getbar integer x = 2075 end type type cb_help from w_publ_1ton_share_detail`cb_help within w_getbar integer x = 2377 end type type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_getbar integer x = 1019 end type event cb_auditing_cancel::clicked;call super::clicked;IF Not f_power_ind(1818,sys_msg_pow) THEN MessageBox(publ_operator,sys_msg_pow) RETURN END IF IF dw_edit_mode THEN RETURN String arg_msg = '' Long pagerert_row pagerert_row = dw_pageretr.GetRow() IF pagerert_row <= 0 THEN MessageBox('系统提示','请选定当前目标单据!') RETURN END IF IF MessageBox ("询问","是否确定要撤消审核当前单据?",question!,yesno! ) = 2 THEN RETURN IF dw_pageretr.Object.relbillid[pagerert_row] > 0 THEN MessageBox('系统提示','本单据由生产计划包件变更单自动生成,不能手动撤审') RETURN END IF IF uo_get.c_auditing(dw_pageretr.Object.u_getbar_getbarid[pagerert_row],false,arg_msg,True) = 0 THEN MessageBox('error!',arg_msg) ELSE //日志 Long ls_id String ls_code ls_id = dw_pageretr.Object.u_getbar_getbarid[pagerert_row] ls_code = dw_pageretr.Object.u_getbar_getbarcode[pagerert_row] f_setsysoplog('条码生成单','条码生成单撤审,id:'+String(ls_id)+',单号:'+ls_code,arg_msg,True) //-- MessageBox(publ_operator,'撤消审核成功!') Parent.TriggerEvent("retrieve_childdw") wf_refresh_curuc(dw_pageretr.Object.u_getbar_getbarid[pagerert_row]) END IF end event type p_msg from w_publ_1ton_share_detail`p_msg within w_getbar integer x = 3237 integer y = 76 end type type p_help from w_publ_1ton_share_detail`p_help within w_getbar integer x = 3429 integer y = 76 end type type p_encl from w_publ_1ton_share_detail`p_encl within w_getbar integer x = 3333 integer y = 76 end type type p_other from w_publ_1ton_share_detail`p_other within w_getbar integer x = 3525 integer y = 76 end type type gb_3 from w_publ_1ton_share_detail`gb_3 within w_getbar end type type ln_bar from w_publ_1ton_share_detail`ln_bar within w_getbar end type type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_getbar end type type r_bar from w_publ_1ton_share_detail`r_bar within w_getbar end type type ln_1 from w_publ_1ton_share_detail`ln_1 within w_getbar integer beginy = 364 integer endy = 364 end type type ln_2 from w_publ_1ton_share_detail`ln_2 within w_getbar integer beginy = 368 integer endy = 368 end type type ddlb_status from dropdownlistbox within w_getbar integer x = 603 integer y = 276 integer width = 311 integer height = 300 integer taborder = 20 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 string text = "[全部]" boolean sorted = false string item[] = {"[全部]","待审核","已审核"} borderstyle borderstyle = stylelowered! end type event selectionchanged;if index=1 then cur_flag=-1 elseif index=2 then cur_flag=0 elseif index=3 then cur_flag=1 end if parent.triggerevent('retrieve_pageretr') end event type st_3 from statictext within w_getbar integer x = 471 integer y = 292 integer width = 123 integer height = 52 integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "状态" alignment alignment = right! boolean focusrectangle = false end type type st_2 from statictext within w_getbar integer x = 923 integer y = 204 integer width = 137 integer height = 48 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "分部" alignment alignment = right! boolean focusrectangle = false end type type ddlb_scid from uo_ddlb_scid within w_getbar integer x = 1074 integer y = 188 integer width = 681 integer height = 1120 integer taborder = 20 boolean bringtotop = true long textcolor = 0 long backcolor = 16777215 end type event constructor;call super::constructor;cur_scid=this.uo_scid end event event selectionchanged;call super::selectionchanged;cur_scid = This.uo_scid Parent.TriggerEvent("retrieve_pageretr") end event type cbx_1 from checkbox within w_getbar integer x = 32 integer y = 284 integer width = 425 integer height = 68 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "保存自动新建" end type event clicked;int li_auto if this.checked then li_auto = 1 else li_auto = 0 end if f_SetProfileString(sys_empid, "w_getbar", "auto_add", string(li_auto)) end event event constructor;int li_auto li_auto =long(f_ProfileString(sys_empid, "w_getbar", "auto_add", string(0))) if li_auto = 1 then this.checked = true else this.checked = false end if end event type cb_1 from commandbutton within w_getbar boolean visible = false integer x = 512 integer y = 300 integer width = 201 integer height = 60 integer taborder = 300 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" string text = "none" end type event clicked;cb_add.triggerevent(clicked!) end event type ddlb_storageid from uo_ddlb_storageid within w_getbar integer x = 1079 integer y = 276 integer width = 681 integer height = 1108 integer taborder = 40 boolean bringtotop = true end type event constructor;call super::constructor;cur_storageid_arr = THIS.uo_storageid_arr cur_storageid = THIS.uo_storageid end event event selectionchanged;call super::selectionchanged;cur_storageid_arr = THIS.uo_storageid_arr cur_storageid = THIS.uo_storageid cb_1.TriggerEvent(Clicked!) end event type st_4 from statictext within w_getbar integer x = 923 integer y = 284 integer width = 137 integer height = 48 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "仓库" alignment alignment = right! boolean focusrectangle = false end type