123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502 |
- $PBExportHeader$w_add_mtrlware_spt.srw
- forward
- global type w_add_mtrlware_spt from w_publ_base
- end type
- type cb_addware from uo_imflatbutton within w_add_mtrlware_spt
- end type
- type dw_1 from datawindow within w_add_mtrlware_spt
- end type
- end forward
- global type w_add_mtrlware_spt from w_publ_base
- integer width = 2039
- integer height = 1224
- string title = "增加库存"
- boolean minbox = false
- windowtype windowtype = response!
- event ue_f8 ( )
- event ue_f9 ( )
- event ue_allowedit ( )
- cb_addware cb_addware
- dw_1 dw_1
- end type
- global w_add_mtrlware_spt w_add_mtrlware_spt
- type variables
- long ins_warepdbid
- long ins_storageid
- datetime ins_waredate
- long il_sptid
- s_mtrlware_noalloc_array INS_RT_STRU
- end variables
- event ue_f8();//用于选择明细内容,被F8[默认]\dw_1.doubleclicked调用
- Long child_row
- child_row = dw_1.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 = false
- s_ch_tran.b_long = -1
- s_ch_tran.c_long = ins_storageid
- s_ch_tran.f_long = -1
-
- Long chc = 1,ls_j
- dw_1.AcceptText()
- IF dw_1.GetRow() > 0 THEN s_ch_tran.arg_string_code = Trim(dw_1.Object.u_mtrldef_mtrlcode[dw_1.GetRow()])
-
-
- 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
- dw_1.Object.u_mtrldef_mtrlcode[child_row] = S_INSCUST.mtrlcode[ls_j]
- dw_1.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j]
- dw_1.Object.ow_wfjg_sptpdb_mtrlid[child_row] = S_INSCUST.mtrlid[ls_j]
- dw_1.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST.mtrlname[ls_j]
- dw_1.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j]
- dw_1.Object.u_mtrldef_statusflag[child_row] = S_INSCUST.statusflag[ls_j]
- dw_1.Object.u_mtrldef_statustype[child_row] = S_INSCUST.statustype[ls_j]
- dw_1.Object.u_mtrldef_woodcodeflag[child_row] = S_INSCUST.woodcodeflag[ls_j]
- dw_1.Object.u_mtrldef_woodcodetype[child_row] = S_INSCUST.woodcodetype[ls_j]
- dw_1.Object.u_mtrldef_pcodeflag[child_row] = S_INSCUST.pcodeflag[ls_j]
- dw_1.Object.u_mtrldef_pcodetype[child_row] = S_INSCUST.pcodetype[ls_j]
-
-
- END IF
- NEXT
- this.triggerevent('ue_allowedit')
- dw_1.SetFocus()
- dw_1.SetColumn('ow_wfjg_sptpdb_factqty')
- END IF
- end event
- event ue_f9();
- long uc_row
- uc_row=dw_1.getrow()
- dw_1.accepttext()
- if not isvalid(W_spt_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=upper(trim(dw_1.object.u_spt_sptcode[dw_1.getrow()]))
- OPENwithparm(W_spt_edit,s_ch_tran) //调用
- S_spt S_INSCUST
- S_INSCUST=Message.PowerObjectParm //接受返回结构
- IF S_INSCUST.sptid>0 THEN //正常返回值则可以取以下值
- dw_1.setredraw(false)
- dw_1.object.ow_wfjg_sptpdb_sptid[uc_row]=S_INSCUST.sptid
- dw_1.object.u_spt_sptcode[uc_row]=S_INSCUST.Name
- dw_1.object.u_spt_name[uc_row]= S_INSCUST.sptcode
- dw_1.setredraw(true)
-
- END IF
- end if
- end event
- event ue_allowedit();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_1.GetRow()
- IF ll_row <= 0 THEN RETURN
- Columns = Long(dw_1.Describe("DataWindow.Column.Count"))
- FOR i = 1 TO Columns
- ls_modify_str = dw_1.Describe("#" + String(i) + ".name")
- ls_modify_str = Lower(ls_modify_str)
-
- IF i = 1 THEN //第1个字段,约定物料ID
- ls_data_type = dw_1.Describe(ls_modify_str+".ColType")
- IF ls_data_type = "long" THEN
- ll_value = dw_1.GetItemNumber(ll_row,ls_modify_str)
- END IF
- END IF
-
- IF Pos(ls_modify_str,'statusflag') > 0 THEN
- ls_data_type = dw_1.Describe(ls_modify_str+".ColType")
- IF ls_data_type = "long" THEN
- ll_statusflag = dw_1.GetItemNumber(ll_row,ls_modify_str)
- END IF
- END IF
-
- IF Pos(ls_modify_str,'woodcodeflag') > 0 THEN
- ls_data_type = dw_1.Describe(ls_modify_str+".ColType")
- IF ls_data_type = "long" THEN
- ll_woodcodeflag = dw_1.GetItemNumber(ll_row,ls_modify_str)
- END IF
- END IF
-
- IF Pos(ls_modify_str,'pcodeflag') > 0 THEN
- ls_data_type = dw_1.Describe(ls_modify_str+".ColType")
- IF ls_data_type = "long" THEN
- ll_pcodeflag = dw_1.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_1.Modify(ls_status+".dddw.allowedit = no")
- ELSE
- dw_1.Modify(ls_status+".dddw.allowedit = yes")
- END IF
- END IF
- IF ls_woodcode <> '' THEN
- IF ll_woodcodeflag <> 0 OR ll_value = 0 THEN
- dw_1.Modify(ls_woodcode+".dddw.allowedit = no")
- ELSE
- dw_1.Modify(ls_woodcode+".dddw.allowedit = yes")
- END IF
- END IF
- IF ls_pcode <> '' THEN
- IF ll_pcodeflag <> 0 OR ll_value = 0 THEN
- dw_1.Modify(ls_pcode+".dddw.allowedit = no")
- ELSE
- dw_1.Modify(ls_pcode+".dddw.allowedit = yes")
- END IF
- END IF
- end event
- on w_add_mtrlware_spt.create
- int iCurrent
- call super::create
- this.cb_addware=create cb_addware
- this.dw_1=create dw_1
- iCurrent=UpperBound(this.Control)
- this.Control[iCurrent+1]=this.cb_addware
- this.Control[iCurrent+2]=this.dw_1
- end on
- on w_add_mtrlware_spt.destroy
- call super::destroy
- destroy(this.cb_addware)
- destroy(this.dw_1)
- end on
- event open;call super::open;s_edit_index_tran s_tran //传递参数使用
- s_tran = Message.PowerObjectParm
- String ls_sptcode,ls_sptname
- IF NOT IsNull(s_tran) THEN
- il_sptid = s_tran.c_long
-
- SELECT sptcode,name
- INTO :ls_sptcode,:ls_sptname
- FROM u_spt
- Where sptid = :il_sptid;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('Error','查询外协商失败,'+sqlca.SQLErrText)
- RETURN
- END IF
-
- END IF
- Long ls_row
- dw_1.SetTransObject(sqlca)
- ls_row = dw_1.InsertRow(0)
- dw_1.SetRedraw(FALSE)
- dw_1.Object.ow_wfjg_sptpdb_sptid[ls_row] = il_sptid
- dw_1.Object.u_spt_name[ls_row] = ls_sptname
- dw_1.Object.u_spt_sptcode[ls_row] = ls_sptcode
- dw_1.SetColumn('u_mtrldef_mtrlcode')
- dw_1.SetFocus()
- dw_1.SetRedraw(TRUE)
- end event
- event close;call super::close;CLOSEWITHRETURN(THIS,INS_RT_STRU)
- end event
- type cb_func from w_publ_base`cb_func within w_add_mtrlware_spt
- boolean visible = false
- integer x = 123
- integer y = 1388
- end type
- type cb_exit from w_publ_base`cb_exit within w_add_mtrlware_spt
- integer x = 1609
- integer y = 1008
- end type
- type cb_addware from uo_imflatbutton within w_add_mtrlware_spt
- integer x = 1257
- integer y = 1008
- integer width = 311
- integer height = 96
- integer taborder = 130
- boolean bringtotop = true
- end type
- event clicked;call super::clicked;//
- Long i,rowcnt,rslt = 1
- Long ls_mtrlwareid,ls_mtrlid,ls_storageid,ls_dxflag
- String ls_mtrlcode
- String ls_plancode
- String ls_status,ls_woodcode,ls_pcode
- Decimal ls_qty,ls_cost
- Long ls_cusid
- Long ll_scid
- String arg_msg
- dw_1.AcceptText()
- i = dw_1.GetRow()
- ls_mtrlid = dw_1.Object.ow_wfjg_sptpdb_mtrlid[i]
- ls_mtrlcode = dw_1.Object.u_mtrldef_mtrlcode[i]
- ls_plancode = dw_1.Object.ow_wfjg_sptpdb_plancode[i]
- ls_cusid = dw_1.Object.ow_wfjg_sptpdb_sptid[i]
- ls_status = dw_1.Object.ow_wfjg_sptpdb_status[i]
- ls_woodcode = dw_1.Object.ow_wfjg_sptpdb_woodcode[i]
- ls_pcode = dw_1.Object.ow_wfjg_sptpdb_pcode[i]
- ls_qty = dw_1.Object.ow_wfjg_sptpdb_factqty[i]
- ls_cost = dw_1.Object.ow_wfjg_sptpdb_cost[i]
- SELECT scid INTO :ll_scid
- FROM u_mtrldef
- Where mtrlid = :ls_mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('Error','查询物料所属生产分部失败')
- RETURN
- END IF
- IF f_insert_0_sptware(ll_scid,ls_mtrlwareid,ls_mtrlid,ls_mtrlcode,il_sptid,ls_status,ls_woodcode,ls_pcode,ls_plancode,ls_cost,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- ELSE
- dw_1.Object.ow_wfjg_sptpdb_mtrlwareid[i] = ls_mtrlwareid
- END IF
- INS_RT_STRU.mtrlwareid[1] = ls_mtrlwareid
- INS_RT_STRU.mtrlid[1] = ls_mtrlid
- INS_RT_STRU.plancode[1] = ls_plancode
- INS_RT_STRU.pcode[1] = ls_pcode
- INS_RT_STRU.noallocqty[1] = ls_qty
- INS_RT_STRU.woodcode[1] = ls_woodcode
- INS_RT_STRU.pcode[1] = ls_pcode
- INS_RT_STRU.status[1] = ls_status
- INS_RT_STRU.u_mtrldef_mtrlname[1] = dw_1.Object.u_mtrldef_mtrlname[i]
- INS_RT_STRU.u_mtrldef_mtrlcode[1] = dw_1.Object.u_mtrldef_mtrlcode[i]
- INS_RT_STRU.u_mtrldef_unit[1] = dw_1.Object.u_mtrldef_unit[i]
- INS_RT_STRU.cost[1] = ls_cost
- ext:
- IF rslt = 0 THEN
- MessageBox('',arg_msg)
- END IF
- Close(PARENT)
- end event
- type dw_1 from datawindow within w_add_mtrlware_spt
- event key pbm_dwnkey
- event ue_dwndropdown pbm_dwndropdown
- integer x = 50
- integer y = 40
- integer width = 1870
- integer height = 940
- integer taborder = 10
- boolean bringtotop = true
- string title = "none"
- string dataobject = "dw_add_mtrlware_spt"
- boolean livescroll = true
- borderstyle borderstyle = stylelowered!
- end type
- event key;String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode,ls_prdpackcode
- Long ls_mtrlid
- Decimal ls_planprice,ls_packqty
- Int li_statusflag,li_woodcodeflag,li_pcodeflag
- Long ll_statustype,ll_woodcodetype,ll_pcodetype
- Long child_row
- Long ls_null
- SetNull(ls_null)
- If (KeyDown(KeyEnter!) OR KeyDown(KeyTab!)) AND NOT KeyDown(KeyControl!) AND NOT KeyDown(KeyShift!) THEN
- IF THIS.GetColumnName() = 'u_mtrldef_mtrlcode' THEN
- THIS.AcceptText()
- child_row = THIS.GetRow()
-
- ls_mtrlcode = THIS.Object.u_mtrldef_mtrlcode[child_row]
-
- SELECT u_mtrldef.mtrlid,
- u_mtrldef.mtrlname,
- u_mtrldef.unit,
- u_mtrldef.planprice,
- u_mtrldef.mtrlmode,
- u_mtrldef.prdpackcode,
- u_mtrldef.packqty,
- u_mtrldef.statusflag,
- u_mtrldef.statustype,
- u_mtrldef.woodcodeflag,
- u_mtrldef.woodcodetype,
- u_mtrldef.pcodeflag,
- u_mtrldef.pcodetype
- INTO :ls_mtrlid,
- :ls_mtrlname,
- :ls_unit,
- :ls_planprice,
- :ls_mtrlmode,
- :ls_prdpackcode,
- :ls_packqty,
- :li_statusflag,
- :ll_statustype,
- :li_woodcodeflag,
- :ll_woodcodetype,
- :li_pcodeflag,
- :ll_pcodetype
- FROM u_mtrldef
- Where ( u_mtrldef.mtrlcode = :ls_mtrlcode);
-
- IF sqlca.SQLCode = 100 THEN
- PARENT.TriggerEvent('ue_f8')
- RETURN
- END IF
-
- THIS.Object.ow_wfjg_sptpdb_mtrlid[child_row] = ls_mtrlid
- THIS.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname
- THIS.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
- THIS.Object.u_mtrldef_unit[child_row] = ls_unit
- THIS.Object.u_mtrldef_statusflag[child_row] = li_statusflag
- THIS.Object.u_mtrldef_statustype[child_row] = ll_statustype
- THIS.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
- THIS.Object.u_mtrldef_woodcodetype[child_row] = ll_woodcodetype
- THIS.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
- THIS.Object.u_mtrldef_pcodetype[child_row] = ll_pcodetype
-
- PARENT.TriggerEvent('ue_allowedit')
- 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 ue_dwndropdown;
- String ls_col_pz,ls_col_mtrlid
- String ls_pz_ch
- 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("#1.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( )
-
- 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
-
- 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 event
- event doubleclicked;
- choose case dwo.name
- case 'u_mtrldef_mtrlcode'
- parent.triggerevent('ue_f8')
- end choose
- end event
- event constructor;f_title_change(this)
- end event
|