123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973 |
- $PBExportHeader$w_mtrl_structure.srw
- forward
- global type w_mtrl_structure from w_publ_pageretr
- end type
- type cb_moveone from commandbutton within w_mtrl_structure
- end type
- type cb_removeone from commandbutton within w_mtrl_structure
- end type
- type cb_moveall from commandbutton within w_mtrl_structure
- end type
- type cb_removeall from commandbutton within w_mtrl_structure
- end type
- type st_codetitle from statictext within w_mtrl_structure
- end type
- type st_codetitleb from statictext within w_mtrl_structure
- end type
- type gb_4 from groupbox within w_mtrl_structure
- end type
- type mle_pfgy from multilineedit within w_mtrl_structure
- end type
- type cb_print from uo_imflatbutton within w_mtrl_structure
- end type
- type cb_refresh_tree from uo_imflatbutton within w_mtrl_structure
- end type
- type cb_save from uo_imflatbutton within w_mtrl_structure
- end type
- type cb_edit from uo_imflatbutton within w_mtrl_structure
- end type
- type cb_audit from uo_imflatbutton within w_mtrl_structure
- end type
- type cb_pfcopy from uo_imflatbutton within w_mtrl_structure
- end type
- type cb_pfpaste from uo_imflatbutton within w_mtrl_structure
- end type
- type ddlb_storageid from uo_ddlb_storageid within w_mtrl_structure
- end type
- type cb_help from uo_imflatbutton within w_mtrl_structure
- end type
- type st_msg from statictext within w_mtrl_structure
- end type
- type tab_1 from tab within w_mtrl_structure
- end type
- type tabpage_1 from userobject within tab_1
- end type
- type dw_mtrl_prdpfmx from u_dw_rbtnfilter within tabpage_1
- end type
- type tabpage_1 from userobject within tab_1
- dw_mtrl_prdpfmx dw_mtrl_prdpfmx
- end type
- type tabpage_2 from userobject within tab_1
- end type
- type tv_2 from treeview within tabpage_2
- end type
- type tabpage_2 from userobject within tab_1
- tv_2 tv_2
- end type
- type tab_1 from tab within w_mtrl_structure
- tabpage_1 tabpage_1
- tabpage_2 tabpage_2
- end type
- type cb_other from uo_imflatbutton within w_mtrl_structure
- end type
- type st_2 from statictext within w_mtrl_structure
- end type
- type st_3 from statictext within w_mtrl_structure
- end type
- type cb_xls from uo_imflatbutton within w_mtrl_structure
- end type
- type ddlb_mtrlorigin from uo_ddlb_mtrlorigin within w_mtrl_structure
- end type
- type cbx_packqty_cmpl from checkbox within w_mtrl_structure
- end type
- type ln_bar from line within w_mtrl_structure
- end type
- type ln_bar2 from line within w_mtrl_structure
- end type
- type r_bar from rectangle within w_mtrl_structure
- end type
- type ln_1 from line within w_mtrl_structure
- end type
- type ln_2 from line within w_mtrl_structure
- end type
- type ln_5 from line within w_mtrl_structure
- end type
- type ln_6 from line within w_mtrl_structure
- end type
- type cbx_auto_printid from checkbox within w_mtrl_structure
- end type
- type cbx_auto_zc from checkbox within w_mtrl_structure
- end type
- type cb_1 from commandbutton within w_mtrl_structure
- end type
- end forward
- global type w_mtrl_structure from w_publ_pageretr
- integer x = 14
- integer y = 16
- integer width = 3602
- integer height = 2300
- string title = "物料清单"
- boolean maxbox = true
- windowstate windowstate = maximized!
- event insert_childrow ( )
- event ue_viewprint_gy ( )
- event ue_viewprint ( )
- event ue_f8 ( )
- event ue_retrieve_info ( )
- event ue_insertmx ( )
- event ue_deletemx ( )
- event ue_help ( )
- event ue_viewprint_tree ( )
- event ue_xls ( )
- event ue_mtrl_info ( )
- event ue_checkrand ( )
- event ue_replace_p ( )
- cb_moveone cb_moveone
- cb_removeone cb_removeone
- cb_moveall cb_moveall
- cb_removeall cb_removeall
- st_codetitle st_codetitle
- st_codetitleb st_codetitleb
- gb_4 gb_4
- mle_pfgy mle_pfgy
- cb_print cb_print
- cb_refresh_tree cb_refresh_tree
- cb_save cb_save
- cb_edit cb_edit
- cb_audit cb_audit
- cb_pfcopy cb_pfcopy
- cb_pfpaste cb_pfpaste
- ddlb_storageid ddlb_storageid
- cb_help cb_help
- st_msg st_msg
- tab_1 tab_1
- cb_other cb_other
- st_2 st_2
- st_3 st_3
- cb_xls cb_xls
- ddlb_mtrlorigin ddlb_mtrlorigin
- cbx_packqty_cmpl cbx_packqty_cmpl
- ln_bar ln_bar
- ln_bar2 ln_bar2
- r_bar r_bar
- ln_1 ln_1
- ln_2 ln_2
- ln_5 ln_5
- ln_6 ln_6
- cbx_auto_printid cbx_auto_printid
- cbx_auto_zc cbx_auto_zc
- cb_1 cb_1
- end type
- global w_mtrl_structure w_mtrl_structure
- type variables
- long obj_mtrlid=0
- int obj_SAuditflag=0
- string obj_pfcode='组装'
- Long cur_cmpl_zc = 0
- string obj_mtrlcode=''
- string obj_source=''
- string obj_mtrlname=''
- long deep=0
- long pfcopy_mtrlid=0
- string pfcopy_pfcode=''
- string pfcopy_mtrlcode=''
- string pfcopy_source=''
- string pfcopy_mtrlname=''
- s_structuremx pfmx[]
- long p_pfmx=0
- long cur_storageid = -1
- int cur_mtrlorigin=0
- long page_mtrlid=0
- string ol_tvi_label
- datawindow dw_mtrl_prdpfmx
- treeview tv_1
- string ls_newname
- Long ll_xls_billid,ll_xls_Templatesid
- String ls_xls_DefaultDataWindow
- String ins_openfile_log[] //用于退出后删除
- Long ins_openfile_log_p = 0 //用于退出后删除
- long cur_isuse
- long cur_auto_printid
- end variables
- forward prototypes
- public function integer wf_save ()
- public function integer wf_checkrand (long checked_mtrlid)
- public function integer wf_changemtrl (long arg_mtrlid)
- public function integer wf_moveone (long sor_row)
- public function integer wf_removeone (long sor_row)
- public function integer wf_modefacechg ()
- private function integer wf_retrieve_childrenmtrl (long arg_mtrlid)
- public function integer pf_treegrowth (long arg_handl, long arg_mtrlid, decimal arg_num, integer arg_lp)
- public function integer wf_pfcopy ()
- public function integer wf_pfpaste ()
- public subroutine wf_flagstatus_rf (integer arg_sauditflag)
- public function integer wf_maketree ()
- public function integer wf_maketree_sub ()
- public function integer wf_refresh_curuc (long arg_mtrlid)
- public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg)
- public subroutine wf_addlog_tempfilepathname (string arg_filepathname)
- public subroutine wf_del_tempfilepathname ()
- public subroutine wf_add_mx ()
- end prototypes
- event insert_childrow();long li_row
- li_row=dw_mtrl_prdpfmx.insertrow(0)
- dw_mtrl_prdpfmx.scrolltorow(li_row)
- dw_mtrl_prdpfmx.object.u_prdpf_printid[li_row] = li_row
- dw_mtrl_prdpfmx.SetColumn ('u_prdpf_printid')
- end event
- event ue_viewprint_gy();Long LS_ROW
- LS_ROW = dw_pageretr.GetRow()
- IF LS_ROW <= 0 THEN
- MessageBox('提示','没有打印目标单据!', Information!, OK! )
- RETURN
- END IF
- String ls_pf
- ls_pf = obj_pfcode
- S_print_MSG LS_PRMSG
- String ls_windowname
- ls_windowname = THIS.ClassName ( )
- String ls_old_dwname,ls_new_dwname = ''
- ls_old_dwname = 'dw_rp_prdstruct'
- ls_new_dwname = f_get_dwprint_dynamic_chname(ls_old_dwname,ls_windowname)
- IF ls_new_dwname = '' THEN
- ls_new_dwname = ls_old_dwname
- END IF
- LS_PRMSG.obj_dwNAME = ls_new_dwname
- LS_PRMSG.TAG_TEXT = '产品物料明细表[工艺]'
- LS_PRMSG.FILTER_STRING = ''
- LS_PRMSG.retr_pram_falg = 14
- LS_PRMSG.PAGECH_FLAG = 0
- LS_PRMSG.retr_pramnmb = dw_pageretr.Object.mtrlid[dw_pageretr.GetRow()]
- LS_PRMSG.retr_pramstr = ls_pf
- OpenWithParm(w_publ_preview,LS_PRMSG)
-
- end event
- event ue_viewprint(); Long ls_msgprintid
- ls_msgprintid = Message.LongParm
- SELECT dft_new_dwname
- INTO :ls_newname
- FROM sys_dft_dwprint_dynamic
- Where sys_dft_dwprint_dynamic.dwprintid = :ls_msgprintid USING sqlca;
- IF sqlca.SQLCode <> 0 THEN
- ls_newname = ''
- END IF
- Long LS_ROW
- LS_ROW = dw_pageretr.GetRow()
- IF LS_ROW <= 0 THEN
- MessageBox('提示','没有打印目标单据!',Information!,OK!)
- RETURN
- END IF
- S_print_MSG LS_PRMSG
- IF ls_newname <> '' THEN
- LS_PRMSG.obj_dwNAME = ls_newname
- ELSE
- LS_PRMSG.obj_dwNAME = 'dw_rp_prdstruct_yl'
- END IF
-
- LS_PRMSG.TAG_TEXT = '物料清单'
- LS_PRMSG.FILTER_STRING = ''
- LS_PRMSG.retr_pram_falg = 15
- LS_PRMSG.PAGECH_FLAG = 0
- LS_PRMSG.retr_pramnmb = dw_pageretr.Object.mtrlid[LS_ROW]
- OpenWithParm(w_publ_preview,LS_PRMSG)
- end event
- event ue_f8();//用于选择明细内容,被F8[默认]\dw_mtrl_prdpfmx.doubleclicked调用
- IF NOT dw_edit_mode THEN RETURN
- Long child_row
- Long ins_storageid = 0
- child_row = dw_mtrl_prdpfmx.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 = 2
-
- Long chc = 1,ls_j
- dw_mtrl_prdpfmx.AcceptText()
- IF dw_mtrl_prdpfmx.GetRow() > 0 THEN s_ch_tran.arg_string_code = Trim(dw_mtrl_prdpfmx.Object.mtrlcode[dw_mtrl_prdpfmx.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
-
- IF dw_mtrl_prdpfmx.GetRow() > 0 THEN
- IF dw_mtrl_prdpfmx.Object.mtrlid[child_row] <> 0 THEN
- child_row = dw_mtrl_prdpfmx.InsertRow (0)
- ELSE
- child_row = dw_mtrl_prdpfmx.GetRow()
- END IF
- ELSE
- child_row = dw_mtrl_prdpfmx.InsertRow (0)
- END IF
- dw_mtrl_prdpfmx.Object.u_prdpf_printid[child_row] = child_row
- dw_mtrl_prdpfmx.Object.mtrlcode[child_row] = S_INSCUST.mtrlcode[ls_j]
- dw_mtrl_prdpfmx.Object.unit[child_row] = S_INSCUST.unit[ls_j]
- dw_mtrl_prdpfmx.Object.mtrlid[child_row] = S_INSCUST.mtrlid[ls_j]
- dw_mtrl_prdpfmx.Object.mtrlname[child_row] = S_INSCUST.mtrlname[ls_j]
- dw_mtrl_prdpfmx.Object.u_mtrldef_mtrlengname[child_row] = S_INSCUST.mtrlengname[ls_j]
- dw_mtrl_prdpfmx.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j]
- dw_mtrl_prdpfmx.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.mtrlsectype[ls_j]
- dw_mtrl_prdpfmx.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.zxmtrlmode[ls_j]
- IF NOT Len(Trim(dw_mtrl_prdpfmx.Object.u_prdpf_dscrp[child_row])) > 0 THEN
- dw_mtrl_prdpfmx.Object.u_prdpf_dscrp[child_row] = S_INSCUST.dscrp[ls_j]
- END IF
- END IF
- NEXT
- dw_mtrl_prdpfmx.SetFocus()
- END IF
- end event
- event ue_retrieve_info();Long ll_row
- Long ll_mtrlid
- ll_row = dw_pageretr.GetRow()
- IF ll_row <= 0 THEN
- ll_mtrlid = 0
- ELSE
- ll_mtrlid = dw_pageretr.Object.mtrlid[ll_row]
- END IF
- IF IsValid(w_mtrl_info) THEN
- w_mtrl_info.WindowState = Normal!
- w_mtrl_info.ins_mtrlid = ll_mtrlid
- w_mtrl_info.wf_retrieve(ll_mtrlid)
- END IF
- end event
- event ue_deletemx;if not keydown(KeyControl!) then
- IF MessageBox ('提示',"是否确定要删除当前组成原料吗",Question!,YesNo! ) = 2 THEN RETURN
- end if
- long find_row=0,sor_row
- sor_row=dw_mtrl_prdpfmx.getrow()
- if sor_row<=0 then
- Beep(1)
- return
- end if
- wf_removeone(sor_row)
- end event
- event ue_help();Int i
- i = htmlhelpA(Handle(THIS), sys_help_chm, 0, THIS.Title+".html")
- end event
- event ue_viewprint_tree();
- Long LS_ROW
- LS_ROW = dw_pageretr.GetRow()
- IF LS_ROW <= 0 THEN
- MessageBox('提示','没有打印目标单据!', Information!, OK! )
- RETURN
- END IF
- String ls_pf
- ls_pf = obj_pfcode
- S_print_MSG LS_PRMSG
- String ls_windowname
- ls_windowname = THIS.ClassName ( )
- String ls_old_dwname,ls_new_dwname = ''
- ls_old_dwname = 'dw_rp_prdstruct_tree'
- ls_new_dwname = f_get_dwprint_dynamic_chname(ls_old_dwname,ls_windowname)
- IF ls_new_dwname = '' THEN
- ls_new_dwname = ls_old_dwname
- END IF
- LS_PRMSG.obj_dwNAME = ls_new_dwname
- LS_PRMSG.TAG_TEXT = '产品物料明细表[树型结构]'
- LS_PRMSG.FILTER_STRING = ''
- LS_PRMSG.retr_pram_falg = 2
- LS_PRMSG.PAGECH_FLAG = 0
- LS_PRMSG.retr_pramnmb = dw_pageretr.Object.mtrlid[dw_pageretr.GetRow()]
- OpenWithParm(w_publ_preview,LS_PRMSG)
- end event
- event ue_xls();String arg_msg
- Long ll_Templatesid,ll_ationid
- ll_Templatesid = Message.LongParm
- ll_ationid = Long(Message.WordParm )
- IF IsNull(ll_Templatesid) THEN ll_Templatesid = 0
- IF IsNull(ll_ationid) THEN ll_ationid = 0
- IF ll_Templatesid = 0 THEN RETURN
- ll_xls_Templatesid = ll_Templatesid
- uo_xls_constant uo_constant //Excel全局设置对象
- uo_constant = CREATE uo_xls_constant
- uo_sendtoexcel obj_st //实例化数据处理对象
- obj_st = CREATE uo_sendtoexcel
- obj_st.commit_transaction = sqlca //事务对象 建议显示设置 默认等于sqlca
- obj_st.uo_const = uo_constant //全局配置对象
- s_xls_billlist str_billlist
- str_billlist = obj_st.of_getbillinfo(ll_Templatesid,arg_msg) //根据模版获取相应的单据信息
- IF str_billlist.count <= 0 THEN
- MessageBox('错误',arg_msg)
- RETURN
- END IF
- if wf_xls_retrievedata(ll_ationid,str_billlist,obj_st,arg_msg) <> 1 then
- MessageBox('错误',arg_msg)
- return
- end if
- //发送数据
- obj_st.EVENT oe_sendtoexcel(str_billlist)
- end event
- event ue_mtrl_info();Long ll_row
- ll_row = dw_pageretr.GetRow()
- IF ll_row <= 0 THEN
- MessageBox('提示','请选择物料', Information!, OK! )
- RETURN
- END IF
- Long ll_mtrlid
- ll_mtrlid = dw_pageretr.Object.mtrlid[ll_row]
- IF IsValid(w_mtrl_info) THEN
- w_mtrl_info.WindowState = Normal!
- w_mtrl_info.ins_mtrlid = ll_mtrlid
- w_mtrl_info.wf_retrieve(ll_mtrlid)
- ELSE
- OpenWithParm(w_mtrl_info,ll_mtrlid)
- END IF
- return
- end event
- event ue_checkrand;//检查有否环//
- Long ls_cr_rsl,LS_i
- FOR LS_i = 1 TO dw_mtrl_prdpfmx.RowCount()
- ls_cr_rsl = wf_checkrand(dw_mtrl_prdpfmx.Object.mtrlid[LS_i])
- IF ls_cr_rsl = 1 THEN
- MessageBox(String(dw_mtrl_prdpfmx.Object.mtrlid[LS_i]),'发现环!在 '+String(dw_mtrl_prdpfmx.Object.mtrlcode[LS_i])+' ,请核对!', Information!, OK! )
- RETURN
- ELSEIF ls_cr_rsl < 0 THEN
- MessageBox('系统提示','因为网络或其他原因导致查环操作失败!['+String(dw_mtrl_prdpfmx.Object.mtrlcode[LS_i])+']', Information!, OK! )
- RETURN
- END IF
- NEXT
- MessageBox('系统提示','没有发现闭环!', Information!, OK! )
- end event
- event ue_replace_p();IF NOT f_power_ind(32,sys_msg_pow) THEN
- MessageBox(publ_operator,sys_msg_pow)
- RETURN
- END IF
- Long ll_row
- Long ll_mtrlid
- ll_row = dw_pageretr.GetRow()
- IF ll_row <= 0 THEN
- ll_mtrlid = 0
- ELSE
- ll_mtrlid = dw_pageretr.Object.mtrlid[ll_row]
- END IF
- IF ll_mtrlid = 0 THEN
- MessageBox('系统提示','请选择物料')
- RETURN
- END IF
- OpenWithParm(w_mtrl_structure_replace_p,ll_mtrlid)
- wf_changemtrl(obj_mtrlid)
- //wf_maketree2()
- end event
- public function integer wf_save ();//wf_save
- //检查值有效性
- //查询环
- //删除原有明细
- //插入新明细
- //
- //
- Long rslt = 1,ls_i,ls_cr_rsl
- String arg_msg
- String u_prdpf_pfgroup,u_prdpf_dscrp
- Decimal u_prdpf_sonscale,u_prdpf_sonloss,u_prdpf_sondecloss,u_prdpf_sonahead,u_prdpf_updownrate
- Long ll_sonmtrlid,u_prdpf_ifreputate,u_prdpf_ifover
- String ls_status
- Long u_prdpf_printid,ll_printid_new
- Long u_prdpf_wrkgrpid
- String ls_woodcode,ls_pcode
- String ls_mtrlcode,u_prdpf_promode,u_prdpf_pfgroupmode,u_prdpf_pfklmode
- Decimal u_prdpf_pfgroupqty,ld_qgqty
- Long u_prdpf_dipztype
- dw_mtrl_prdpfmx.AcceptText()
- ////检查有否环 //
- Open(w_sys_wait_jdt) //打开进度窗口
- w_sys_wait_jdt.wf_set_msg('正在检查新BOM组成数量的合法性,请稍候...')
- IF cur_cmpl_zc = 1 THEN
- FOR ls_i = 1 To dw_mtrl_prdpfmx.RowCount()
- IF dw_mtrl_prdpfmx.Object.u_prdpf_qgqty[ls_i] = 0 THEN CONTINUE
- dw_mtrl_prdpfmx.Object.u_prdpf_sonscale[ls_i] = 1 / dw_mtrl_prdpfmx.Object.u_prdpf_qgqty[ls_i] * dw_mtrl_prdpfmx.Object.u_prdpf_pfgroupqty[ls_i]
- Next
- END IF
- dw_mtrl_prdpfmx.AcceptText()
- FOR ls_i = 1 To dw_mtrl_prdpfmx.RowCount()
- IF dw_mtrl_prdpfmx.Object.mtrlid[ls_i] <= 0 THEN CONTINUE
-
- ls_mtrlcode = dw_mtrl_prdpfmx.Object.mtrlcode[ls_i]
-
- IF dw_mtrl_prdpfmx.Object.u_prdpf_sonscale[ls_i] = 0 THEN
- arg_msg = '行:'+String(ls_i)+',物料:'+ls_mtrlcode+',请输入组成数量!'
- rslt = 0
- GOTO ext
- END IF
- IF dw_mtrl_prdpfmx.Object.u_prdpf_sonscale[ls_i] < 0 THEN
- arg_msg = '行:'+String(ls_i)+',物料:'+ls_mtrlcode+',不合理组成数量!'
- rslt = 0
- GOTO ext
- END IF
-
- IF dw_mtrl_prdpfmx.Object.u_prdpf_wrkgrpid[ls_i] <= 0 THEN
- arg_msg = '行:'+String(ls_i)+',物料:'+ls_mtrlcode+',请选择领料组!'
- rslt = 0
- GOTO ext
- END IF
-
- NEXT
- //
- w_sys_wait_jdt.wf_accepttol(dw_mtrl_prdpfmx.RowCount()) //初始化进度条
- w_sys_wait_jdt.wf_set_msg('正在检查新BOM是否存在环,请稍候...')
- FOR ls_i = 1 To dw_mtrl_prdpfmx.RowCount()
- IF dw_mtrl_prdpfmx.Object.mtrlid[ls_i] <= 0 THEN CONTINUE
- //处理
- w_sys_wait_jdt.wf_set_msg('正在检查新BOM是否存在环,请稍候...'+'行:'+String(ls_i)+',['+Trim(dw_mtrl_prdpfmx.Object.mtrlcode[ls_i])+']')
- ls_cr_rsl = wf_checkrand(dw_mtrl_prdpfmx.Object.mtrlid[ls_i])
- IF ls_cr_rsl = 1 THEN
- arg_msg = '行:'+String(ls_i)+',发现环!在 '+String(dw_mtrl_prdpfmx.Object.mtrlcode[ls_i])+' ,请核对!'
- rslt = 0
- GOTO ext
- ELSEIF ls_cr_rsl < 0 THEN
- arg_msg = '查询闭环操作失败!['+String(dw_mtrl_prdpfmx.Object.mtrlcode[ls_i])+']'
- rslt = 0
- GOTO ext
- END IF
- w_sys_wait_jdt.wf_inc(ls_i) //进度
- NEXT
- DELETE FROM u_prdpf
- WHERE ( u_prdpf.mtrlid = :obj_mtrlid ) AND
- ( u_prdpf.pfcode = :obj_pfcode );
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = "删除原始BOM操作失败,"+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- //插入新记录
- w_sys_wait_jdt.wf_accepttol(dw_mtrl_prdpfmx.RowCount()) //初始化进度条
- w_sys_wait_jdt.wf_set_msg('正在生成新BOM,请稍候...')
- FOR ls_i = 1 To dw_mtrl_prdpfmx.RowCount()
- IF dw_mtrl_prdpfmx.Object.mtrlid[ls_i] <= 0 THEN CONTINUE
- IF dw_mtrl_prdpfmx.Object.u_prdpf_sonscale[ls_i] = 0 THEN CONTINUE
-
- //处理
- w_sys_wait_jdt.wf_set_msg('正在生成新BOM,请稍候...'+'['+Trim(dw_mtrl_prdpfmx.Object.mtrlcode[ls_i])+']')
-
- ll_printid_new++
- u_prdpf_sonscale = dw_mtrl_prdpfmx.Object.u_prdpf_sonscale[ls_i]
- u_prdpf_sonloss = dw_mtrl_prdpfmx.Object.u_prdpf_sonloss[ls_i]
- u_prdpf_sondecloss = dw_mtrl_prdpfmx.Object.u_prdpf_sondecloss[ls_i]
- u_prdpf_sonahead = 0
- u_prdpf_pfgroup = dw_mtrl_prdpfmx.Object.u_prdpf_pfgroup[ls_i]
- ll_sonmtrlid = dw_mtrl_prdpfmx.Object.mtrlid[ls_i]
- u_prdpf_dscrp = Trim(dw_mtrl_prdpfmx.Object.u_prdpf_dscrp[ls_i])
-
-
- u_prdpf_promode = dw_mtrl_prdpfmx.Object.u_prdpf_promode[ls_i]
- u_prdpf_pfgroupmode = dw_mtrl_prdpfmx.Object.u_prdpf_pfgroupmode[ls_i]
- u_prdpf_pfklmode = dw_mtrl_prdpfmx.Object.u_prdpf_pfklmode[ls_i]
- u_prdpf_pfgroupqty = dw_mtrl_prdpfmx.Object.u_prdpf_pfgroupqty[ls_i]
-
-
-
- u_prdpf_updownrate = 0
- u_prdpf_ifreputate = 0
-
- u_prdpf_ifover = dw_mtrl_prdpfmx.Object.u_prdpf_ifover[ls_i] //改了
- u_prdpf_dipztype = dw_mtrl_prdpfmx.Object.u_prdpf_dipztype[ls_i]
- IF IsNull(u_prdpf_ifover) THEN u_prdpf_ifover = 0
- IF IsNull(u_prdpf_dipztype) THEN u_prdpf_dipztype = -1
-
- IF cur_auto_printid = 1 THEN
- u_prdpf_printid = ll_printid_new
- ELSE
- u_prdpf_printid = dw_mtrl_prdpfmx.Object.u_prdpf_printid[ls_i]
- END IF
- u_prdpf_wrkgrpid = dw_mtrl_prdpfmx.Object.u_prdpf_wrkgrpid[ls_i]
- ls_status = Trim(dw_mtrl_prdpfmx.Object.u_prdpf_status[ls_i])
- ls_woodcode = Trim(dw_mtrl_prdpfmx.Object.u_prdpf_woodcode[ls_i])
- ls_pcode = Trim(dw_mtrl_prdpfmx.Object.u_prdpf_pcode[ls_i])
-
- ld_qgqty = dw_mtrl_prdpfmx.Object.u_prdpf_qgqty[ls_i]
-
- INSERT INTO u_prdpf
- ( mtrlid,
- pfcode,
- sonmtrlid,
- sonscale,
- sonloss,
- sondecloss,
- sonahead,
- dscrp,
- updownrate,
- ifreputate,
- ifover,
- dipztype,
- pfgroup,
- promode,
- pfgroupmode,
- pfklmode,
- pfgroupqty,
- printid,
- wrkgrpid,
- status,
- pcode,
- woodcode,
- qgqty)
- VALUES ( :obj_mtrlid,
- :obj_pfcode,
- :ll_sonmtrlid,
- :u_prdpf_sonscale,
- :u_prdpf_sonloss,
- :u_prdpf_sondecloss,
- :u_prdpf_sonahead,
- :u_prdpf_dscrp,
- :u_prdpf_updownrate,
- :u_prdpf_ifreputate,
- :u_prdpf_ifover,
- :u_prdpf_dipztype,
- :u_prdpf_pfgroup,
- :u_prdpf_promode,
- :u_prdpf_pfgroupmode,
- :u_prdpf_pfklmode,
- :u_prdpf_pfgroupqty,
- :u_prdpf_printid,
- :u_prdpf_wrkgrpid,
- :ls_status,
- :ls_pcode,
- :ls_woodcode,
- :ld_qgqty) ;
-
- IF sqlca.SQLCode <> 0 THEN
- arg_msg ="行"+string(ls_i)+" 物料:" +Trim(dw_mtrl_prdpfmx.Object.mtrlcode[ls_i])+" 插入新BOM操作失败,"+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
-
- dw_mtrl_prdpfmx.Object.u_prdpf_printid[ls_i] = u_prdpf_printid
-
- w_sys_wait_jdt.wf_inc(ls_i) //进度
- NEXT
- //Close(w_sys_wait_jdt)
- //====================================================================
- // 工艺说明
- //====================================================================
- String ls_pf_gy
- ls_pf_gy = mle_pfgy.Text
- UPDATE u_mtrl_structure_gy
- SET pfgy = :ls_pf_gy
- WHERE ( mtrlid = :obj_mtrlid ) AND
- ( pfcode = :obj_pfcode ) ;
- IF sqlca.SQLCode = 0 THEN
- IF sqlca.SQLNRows = 0 THEN
- INSERT Into u_mtrl_structure_gy (mtrlid,pfcode, pfgy ) Values (:obj_mtrlid,:obj_pfcode, :ls_pf_gy);
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = "插入新清单工艺说明操作失败,"+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- END IF
- ELSE
- arg_msg = "更新清单工艺说明操作失败,"+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- //DELETE FROM u_mtrl_structure_gy
- // WHERE ( u_mtrl_structure_gy.mtrlid = :obj_mtrlid ) AND
- // ( u_mtrl_structure_gy.pfcode = :obj_pfcode ) ;
- //IF sqlca.SQLCode <> 0 THEN
- // arg_msg = "删除旧清单工艺说明操作失败,"+sqlca.SQLErrText
- // rslt = 0
- // GOTO ext
- //END IF
- //
- //INSERT Into u_mtrl_structure_gy (mtrlid,pfcode, pfgy ) Values (:obj_mtrlid,:obj_pfcode, :ls_pf_gy);
- //IF sqlca.SQLCode <> 0 THEN
- // arg_msg = "插入新清单工艺说明操作失败,"+sqlca.SQLErrText
- // rslt = 0
- // GOTO ext
- //END IF
- //====================================================================
- // 更新时间
- //====================================================================
- UPDATE u_mtrldef
- SET sopdate = getdate() ,
- spopemp = :publ_operator
- Where mtrlid = :obj_mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = "更新产品物料构成修改时间操作失败,"+sqlca.SQLErrText
- rslt = 0
- GOTO ext
- END IF
- wf_changemtrl(obj_mtrlid)
- page_mtrlid = obj_mtrlid
- ext:
- Close(w_sys_wait_jdt)
- IF rslt = 0 THEN
- ROLLBACK;
- MessageBox ("提示",arg_msg, Information!, OK! )
- ELSE
- COMMIT;
- MessageBox ("提示","清单保存成功!", Information!, OK! )
- wf_maketree()
- END IF
- RETURN rslt
- end function
- public function integer wf_checkrand (long checked_mtrlid);//wf_checkrand
- IF checked_mtrlid = obj_mtrlid THEN RETURN 1
- Long ls_mtrlid
- Long rt_b,rt_s,count
- Long mtrlid[],ls_i
- DECLARE pf_cur CURSOR FOR
- SELECT u_PrdPF.SonMtrlid
- FROM u_PrdPF
- Where ( u_PrdPF.mtrlid = :checked_mtrlid );
- OPEN pf_cur;
- count = 1
- FETCH pf_cur Into :mtrlid[count];
- DO WHILE sqlca.SQLCode = 0
- count++
- FETCH pf_cur Into :mtrlid[count];
- LOOP
- count = count - 1
- CLOSE pf_cur;
- FOR ls_i = 1 To count
- rt_b = wf_checkrand(mtrlid[ls_i])
- IF rt_b <> 0 THEN RETURN rt_b
- NEXT
- RETURN 0
- //DO
- //
- //LOOP WHILE
- end function
- public function integer wf_changemtrl (long arg_mtrlid); SELECT u_mtrldef.mtrlname,
- u_mtrldef.mtrlcode,
- u_mtrldef.SAuditflag
- INTO :obj_mtrlname,
- :obj_mtrlcode,
- :obj_SAuditflag
- FROM u_mtrldef
- WHERE u_mtrldef.mtrlid = :arg_mtrlid ;
- if sqlca.sqlcode<>0 then
- obj_mtrlid=0
- obj_SAuditflag=0
- return 0
- end if
- obj_mtrlid=arg_mtrlid
- st_codetitle.text=" "+trim(obj_mtrlname)+'/'+trim(obj_mtrlcode) +' 清单'
- wf_retrieve_childrenmtrl(obj_mtrlid)
- sle_usual_query.setfocus()
- wf_flagstatus_rf(obj_SAuditflag)
- return 1
- end function
- public function integer wf_moveone (long sor_row);//wf_moveone
- long new_row
- if sor_row<=0 then
- return 0
- end if
- new_row=dw_mtrl_prdpfmx.insertrow(dw_mtrl_prdpfmx.rowcount())
- dw_mtrl_prdpfmx.object.u_prdpf_printid[new_row] = new_row
- dw_mtrl_prdpfmx.object.mtrlcode[new_row]=dw_pageretr.object.mtrlcode[sor_row]
- dw_mtrl_prdpfmx.object.u_mtrldef_mtrlmode[new_row]=dw_pageretr.object.mtrlmode[sor_row]
- dw_mtrl_prdpfmx.object.mtrlname[new_row]=dw_pageretr.object.mtrlname[sor_row]
- dw_mtrl_prdpfmx.object.unit[new_row]=dw_pageretr.object.unit[sor_row]
- dw_mtrl_prdpfmx.object.mtrlid[new_row] =dw_pageretr.object.mtrlid[sor_row]
- dw_mtrl_prdpfmx.object.u_prdpf_dscrp[new_row] =dw_pageretr.object.dscrp[sor_row]
- return 1
- end function
- public function integer wf_removeone (long sor_row);//wf_removeone
- if sor_row<=0 then
- return 0
- end if
- dw_mtrl_prdpfmx.deleterow(sor_row)
- dw_mtrl_prdpfmx.triggerevent(rowfocuschanged!)
- return 1
- end function
- public function integer wf_modefacechg ();//wf_modefacechg
- Int LS_INT
- Int child_column_int = 18//可修改的前N个字段
- IF dw_edit_mode THEN
- cb_save.Enabled = TRUE
- cb_edit.Text = '放弃&E'
- cb_edit.normalpicname = 'undo.bmp'
-
- cb_removeall.Enabled = TRUE
- cb_removeone.Enabled = TRUE
- cb_moveall.Enabled = TRUE
- cb_moveone.Enabled = TRUE
-
- cb_pfpaste.Enabled = TRUE
-
- dw_pageretr.Title = '供选择物料'
-
- mle_pfgy.DisplayOnly = FALSE
- cb_audit.Enabled = FALSE
- cb_print.Enabled = FALSE
-
- FOR LS_INT = 1 TO child_column_int
- dw_mtrl_prdpfmx.SetTabOrder (LS_INT,LS_INT*10 )
- NEXT
- dw_mtrl_prdpfmx.SetFocus()
- if dw_mtrl_prdpfmx.rowcount()<=0 then
- this.triggerevent('insert_childrow')
- end if
-
- cb_refresh_tree.Enabled = FALSE
- ELSE
- cb_save.Enabled = FALSE
- cb_edit.Text = '修改&E'
- cb_edit.normalpicname = 'open.bmp'
-
- cb_removeall.Enabled = FALSE
- cb_removeone.Enabled = FALSE
- cb_moveall.Enabled = FALSE
- cb_moveone.Enabled = FALSE
-
- cb_pfpaste.Enabled = FALSE
-
- dw_pageretr.Title = '当前的清单产品(物料)'
-
- mle_pfgy.DisplayOnly = TRUE
- cb_audit.Enabled = TRUE
- cb_print.Enabled = TRUE
-
- FOR LS_INT = 1 TO child_column_int
- dw_mtrl_prdpfmx.SetTabOrder (LS_INT, 0)
- NEXT
- cb_refresh_tree.Enabled = TRUE
- END IF
- cb_edit.of_init_draw()
- cb_edit.of_paint()
- cb_edit.triggerevent('textchange')
- RETURN 0
- end function
- private function integer wf_retrieve_childrenmtrl (long arg_mtrlid);//wf_retrieve_childrenmtrl
- Int rslt = 1
- String ls_pf,l_pf_gy
- ls_pf = obj_pfcode
- obj_pfcode = ls_pf
- dw_mtrl_prdpfmx.Retrieve(arg_mtrlid,ls_pf)
- //==============================================================================
- datawindowchild childdw
- dw_mtrl_prdpfmx.SetTransObject (sqlca)
- dw_mtrl_prdpfmx.GetChild("u_prdpf_wrkgrpid",childdw)
- childdw.SetTransObject (sqlca)
- childdw.InsertRow(0)
- //==============================================================================
- SELECT u_mtrl_structure_gy.pfgy
- INTO :l_pf_gy
- FROM u_mtrl_structure_gy
- WHERE ( u_mtrl_structure_gy.mtrlid = :obj_mtrlid ) AND
- ( u_mtrl_structure_gy.pfcode = :obj_pfcode ) ;
- IF sqlca.SQLCode <> 0 AND sqlca.SQLCode <> 100 THEN
- MessageBox('提示','查询清单工艺说明内容失败!', Information!, OK! )
- END IF
- mle_pfgy.Text = l_pf_gy
- wf_maketree()
- RETURN rslt
- end function
- public function integer pf_treegrowth (long arg_handl, long arg_mtrlid, decimal arg_num, integer arg_lp);//pf_treegrowth(arg_handl,arg_mtrlid,arg_num,arg_lp)
- long rslt=1
- decimal Sonscale, SonLoss, SonDECLosS, Sonahead,num
- long SonMtrlid,count=0,ls_i
- string mtrlcode, mtrlname
- string ls_pf=''
- s_pfmx ls_s_pfmx[]
- //if arg_lp=2 then ls_pf=obj_pfcode //首层可以选择不同配方
- ls_pf=obj_pfcode
- long handl
- deep++
- if deep>1000 then //防止死递归
- return 0
- end if
- DECLARE pf_cur CURSOR FOR
- SELECT u_PrdPF.Sonscale,
- u_PrdPF.SonLoss,
- u_PrdPF.SonDECLosS,
- u_PrdPF.Sonahead,
- u_PrdPF.SonMtrlid,
- u_mtrldef.mtrlcode,
- u_mtrldef.mtrlname
- FROM u_PrdPF,
- u_mtrldef
- WHERE ( u_PrdPF.SonMtrlid = u_mtrldef.mtrlid ) and
- ( ( u_PrdPF.mtrlid = :arg_mtrlid ) AND
- ( u_PrdPF.pfcode = :ls_pf ) );
- open pf_cur;
- count=1
- fetch pf_cur into :ls_s_pfmx[count].Sonscale,:ls_s_pfmx[count].SonLoss,&
- :ls_s_pfmx[count].SonDECLosS,:ls_s_pfmx[count].Sonahead,&
- :ls_s_pfmx[count].SonMtrlid,:ls_s_pfmx[count].mtrlcode,:ls_s_pfmx[count].mtrlname;
- do while sqlca.sqlcode=0
-
- count++
- fetch pf_cur into :ls_s_pfmx[count].Sonscale,:ls_s_pfmx[count].SonLoss,&
- :ls_s_pfmx[count].SonDECLosS,:ls_s_pfmx[count].Sonahead,&
- :ls_s_pfmx[count].SonMtrlid,:ls_s_pfmx[count].mtrlcode,:ls_s_pfmx[count].mtrlname;
- loop
- count=count - 1
- close pf_cur;
- for ls_i=1 to count
- if ls_s_pfmx[ls_i].SonLoss<>1 then
- num=arg_num*ls_s_pfmx[ls_i].Sonscale/(1 - ls_s_pfmx[ls_i].SonLoss)+ls_s_pfmx[ls_i].SonDECLosS
- else
- num=0
- end if
-
- handl=tv_1.insertitemsort(arg_handl,ls_s_pfmx[ls_i].mtrlcode+'['+ls_s_pfmx[ls_i].mtrlname+']*'+string(num,'#0.####'),arg_lp) //生成树
-
- pf_treegrowth(handl,ls_s_pfmx[ls_i].SonMtrlid,num,arg_lp+1) //下级生成树
- next
- return 1
- end function
- public function integer wf_pfcopy ();//wf_pfcopy
- //记录当前复制的产品
- //记录复制的明细内容
- //界面提示
- IF dw_mtrl_prdpfmx.RowCount() = 0 THEN
- st_msg.Text = ''
- pfcopy_mtrlid = 0
- RETURN 0
- END IF
- Long ls_i = 0
- //记录当前复制的产品
- pfcopy_mtrlid = obj_mtrlid
- pfcopy_pfcode = obj_pfcode
- pfcopy_mtrlcode = obj_mtrlcode
- pfcopy_source = obj_source
- pfcopy_mtrlname = obj_mtrlname
- FOR ls_i = 1 TO dw_mtrl_prdpfmx.RowCount()
- pfmx[ls_i].sonscale = dw_mtrl_prdpfmx.Object.u_prdpf_sonscale[ls_i]
- // 注释开始
- pfmx[ls_i].sonloss = dw_mtrl_prdpfmx.Object.u_prdpf_sonloss[ls_i]
- pfmx[ls_i].sondecloss = dw_mtrl_prdpfmx.Object.u_prdpf_sondecloss[ls_i]
- // pfmx[ls_i].sonahead = dw_mtrl_prdpfmx.Object.u_prdpf_sonahead[ls_i]
- // 注释结束
- pfmx[ls_i].mtrlcode = dw_mtrl_prdpfmx.Object.mtrlcode[ls_i]
- pfmx[ls_i].mtrlid = dw_mtrl_prdpfmx.Object.mtrlid[ls_i]
- pfmx[ls_i].mtrlname = dw_mtrl_prdpfmx.Object.mtrlname[ls_i]
- pfmx[ls_i].unit = dw_mtrl_prdpfmx.Object.unit[ls_i]
- pfmx[ls_i].planprice = dw_mtrl_prdpfmx.Object.u_mtrldef_planprice[ls_i]
- // 注释开始
- pfmx[ls_i].promode= dw_mtrl_prdpfmx.Object.u_prdpf_promode[ls_i]
- pfmx[ls_i].pfgroup = dw_mtrl_prdpfmx.Object.u_prdpf_pfgroup[ls_i]
- pfmx[ls_i].pfgroupmode = dw_mtrl_prdpfmx.Object.u_prdpf_pfgroupmode[ls_i]
- pfmx[ls_i].pfgroupqty = dw_mtrl_prdpfmx.Object.u_prdpf_pfgroupqty[ls_i]
- pfmx[ls_i].pfklmode = dw_mtrl_prdpfmx.Object.u_prdpf_pfklmode[ls_i]
- // 注释结束 pfklmode
- pfmx[ls_i].dscrp = dw_mtrl_prdpfmx.Object.u_prdpf_dscrp[ls_i]
- // 注释开始
- // pfmx[ls_i].updownrate = dw_mtrl_prdpfmx.Object.u_prdpf_updownrate[ls_i]
- // pfmx[ls_i].ifover = dw_mtrl_prdpfmx.Object.u_prdpf_ifover[ls_i]
- // pfmx[ls_i].ifreputate = dw_mtrl_prdpfmx.Object.u_prdpf_ifreputate[ls_i]
- pfmx[ls_i].wrkgrpid = dw_mtrl_prdpfmx.Object.u_prdpf_wrkgrpid[ls_i]
- // 注释结束
- pfmx[ls_i].status = dw_mtrl_prdpfmx.Object.u_prdpf_status[ls_i]
-
-
- p_pfmx = ls_i
- NEXT
- st_msg.Text = '已复制 产品: '+pfcopy_mtrlcode+'/'+pfcopy_mtrlname+' 清单: '+pfcopy_pfcode
- RETURN 0
- end function
- public function integer wf_pfpaste ();//wf_pfpaste
- //没有复制则返回
- //循环删除原有的明细
- //循环写入新明细
- Long ls_i = 0,ls_row
- IF NOT dw_edit_mode THEN RETURN 0
- IF pfcopy_mtrlid = 0 THEN RETURN 0
- //DO WHILE dw_mtrl_prdpfmx.RowCount() > 0
- // dw_mtrl_prdpfmx.DeleteRow(0)
- //LOOP
- FOR ls_i = 1 TO p_pfmx
- ls_row = dw_mtrl_prdpfmx.InsertRow(0)
- dw_mtrl_prdpfmx.Object.u_prdpf_printid[ls_row] = ls_row
- dw_mtrl_prdpfmx.Object.u_prdpf_sonscale[ls_row] = pfmx[ls_i].sonscale
- // 注释开始
- // dw_mtrl_prdpfmx.Object.u_prdpf_sonloss[ls_row] = pfmx[ls_i].sonloss
- // dw_mtrl_prdpfmx.Object.u_prdpf_sondecloss[ls_row] = pfmx[ls_i].sondecloss
- // dw_mtrl_prdpfmx.Object.u_prdpf_sonahead[ls_row] = pfmx[ls_i].sonahead
- // 注释结束
- dw_mtrl_prdpfmx.Object.mtrlcode[ls_row] = pfmx[ls_i].mtrlcode
- dw_mtrl_prdpfmx.Object.mtrlid[ls_row] = pfmx[ls_i].mtrlid
- dw_mtrl_prdpfmx.Object.mtrlname[ls_row] = pfmx[ls_i].mtrlname
- dw_mtrl_prdpfmx.Object.unit[ls_row] = pfmx[ls_i].unit
- dw_mtrl_prdpfmx.Object.u_mtrldef_planprice[ls_row] = pfmx[ls_i].planprice
- // 注释开始
- dw_mtrl_prdpfmx.Object.u_prdpf_promode[ls_row] = pfmx[ls_i].promode
- dw_mtrl_prdpfmx.Object.u_prdpf_pfgroup[ls_row] = pfmx[ls_i].pfgroup
- dw_mtrl_prdpfmx.Object.u_prdpf_pfgroupmode[ls_row] = pfmx[ls_i].pfgroupmode
- dw_mtrl_prdpfmx.Object.u_prdpf_pfgroupqty[ls_row] = pfmx[ls_i].pfgroupqty
- dw_mtrl_prdpfmx.Object.u_prdpf_pfklmode[ls_row] = pfmx[ls_i].pfklmode
- // 注释结束
- dw_mtrl_prdpfmx.Object.u_prdpf_dscrp[ls_row] = pfmx[ls_i].dscrp
-
- // 注释开始
- // dw_mtrl_prdpfmx.Object.u_prdpf_updownrate[ls_row] = pfmx[ls_i].updownrate
- // dw_mtrl_prdpfmx.Object.u_prdpf_ifover[ls_row] = pfmx[ls_i].ifover
- // dw_mtrl_prdpfmx.Object.u_prdpf_ifreputate[ls_row] = pfmx[ls_i].ifreputate
- dw_mtrl_prdpfmx.Object.u_prdpf_wrkgrpid[ls_row] = pfmx[ls_i].wrkgrpid
- // // 注释结束
- dw_mtrl_prdpfmx.Object.u_prdpf_status[ls_row] = pfmx[ls_i].status
- NEXT
- RETURN 0
- end function
- public subroutine wf_flagstatus_rf (integer arg_sauditflag);IF arg_sauditflag = 1 THEN
- cb_audit.Text = '撤审'
- cb_audit.normalpicname = 'caudit.bmp'
- ELSE
- cb_audit.Text = '审核'
- cb_audit.normalpicname = 'audit.bmp'
- END IF
- cb_audit.of_init_draw()
- cb_audit.of_paint()
- cb_audit.TriggerEvent('ue_textchange')
- end subroutine
- public function integer wf_maketree ();//wf_maketree()
- long hand
- deep=1
- long tvi_hdl = 0
- DO UNTIL tv_1.FindItem(RootTreeItem!, 0) = -1
- tv_1.DeleteItem(tvi_hdl)
- LOOP
- hand=tv_1.insertitemlast(0,obj_mtrlcode+'['+obj_mtrlname+'] '+obj_pfcode,1)
- pf_treegrowth(hand,obj_mtrlid,1,2)
- tv_1.expanditem(hand)
- return 0
- end function
- public function integer wf_maketree_sub ();//wf_maketree_sub()
- long hand
- long ll_tvi,ll_tvi_child
- ll_tvi = tv_1.FindItem(CurrentTreeItem!, 0)
- ll_tvi_child=tv_1.FindItem(ChildTreeItem!, ll_tvi)
- DO UNTIL ll_tvi_child = -1
- tv_1.DeleteItem(ll_tvi_child)
- ll_tvi_child=tv_1.FindItem(ChildTreeItem!, ll_tvi)
- LOOP
- pf_treegrowth(ll_tvi,obj_mtrlid,1,2)
- tv_1.expanditem(ll_tvi)
- return 0
- end function
- public function integer wf_refresh_curuc (long arg_mtrlid);
- Int rslt = 1
- IF arg_mtrlid <= 0 OR IsNull(arg_mtrlid) THEN
- rslt = 0
- GOTO ext
- END IF
- Long uc_row
- uc_row = dw_pageretr.GetRow()
- IF uc_row <= 0 THEN
- rslt = 0
- GOTO ext
- END IF
- Int sauditflag
- String saudit_emp
- DateTime saudit_date
- SELECT sauditflag,
- saudit_emp,
- saudit_date
- INTO :sauditflag,
- :saudit_emp,
- :saudit_date
- FROM u_mtrldef
- Where mtrlid = :arg_mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('提示',"查询操作失败(错误订单唯一码)", Information!, OK! )
- rslt = 0
- GOTO ext
- END IF
- dw_pageretr.Object.sauditflag[uc_row] = sauditflag
- dw_pageretr.Object.saudit_emp[uc_row] = saudit_emp
- dw_pageretr.Object.saudit_date[uc_row] = saudit_date
- ext:
- RETURN rslt
- end function
- public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg);Long LS_ROW,ll_mtrlid_obj,i
- LS_ROW = dw_pageretr.GetRow()
- IF LS_ROW <= 0 THEN
- arg_msg = '没有目标单据!'
- RETURN 0
- END IF
- //修改点:获取 指定retriev参数
- //ll_id = dw_1.Object.#1[LS_ROW]
- //ll_scid = dw_1.Object.scid[LS_ROW]
- ll_mtrlid_obj = obj_mtrlid
- //查询所选模版是否含有图片信息
- Long ll_ifpic
- Long ll_classid
- SELECT ifpic
- INTO :ll_ifpic
- FROM U_XLS_Templates
- Where id = :ll_xls_Templatesid;
- IF sqlca.SQLCode <> 0 THEN
- ll_ifpic = 0
- END IF
- Long ll_i,ll_j
- Long ll_mtrlid
- Long ll_fileid
- Blob ls_filedata
- SetNull(ls_filedata)
- String Pathname,ls_filename,ls_filetype
- String errmsg
- uo_fj_mng_billtype ls_uo_fjbt
- ls_uo_fjbt = CREATE uo_fj_mng_billtype
- ////可选设置/ //
- arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码
- IF sys_option_xls_ifuse_passwd = 1 THEN arg_obj_st.uo_const.pwd = Trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码
- Boolean xls_locked
- xls_locked = Not (sys_option_xls_lock = 1)
- // Excel 的可选设置
- IF arg_obj_st.of_setoption(arg_ationid, xls_locked,TRUE,arg_msg) <> 1 THEN
- RETURN 0
- END IF
- s_xls_pic_list s_pic //结构数组-用于保存图片路径
- FOR i = 1 TO arg_str_billlist.count
- ////可选操作/ //
- arg_str_billlist.bill[i].ds_data = CREATE datastore //
- arg_str_billlist.bill[i].ds_data.DataObject = arg_str_billlist.bill[i].datawindow //
- arg_str_billlist.bill[i].ds_data.SetTransObject(sqlca)
-
- arg_str_billlist.bill[i].ds_data.Retrieve(ll_mtrlid_obj )
-
-
- IF ll_ifpic = 1 THEN //如果含有图片信息,则查询本类型单据需要带出哪类附件
-
- SELECT classid
- INTO :ll_classid
- FROM u_billpic_fileclass
- Where (billtype = 202);
- IF sqlca.SQLCode <> 0 THEN
- ll_classid = 0
- END IF
-
-
-
-
- IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
- If arg_str_billlist.bill[i].ds_data.RowCount() > 0 THEN //设置图片路径 ///(arg_str_billlist.bill[i].datawindow = 'dw_xls_prdstruct_mx_tree' or arg_str_billlist.bill[i].datawindow = 'dw_xls_prdstruct_mx_tree2' ) AND
- FOR ll_j = 1 TO arg_str_billlist.bill[i].ds_data.RowCount()
- if arg_str_billlist.bill[i].datawindow = 'dw_xls_prdstruct_mx_tree' then
- ll_mtrlid = arg_str_billlist.bill[i].ds_data.Object.u_prdpf_sonmtrlid[ll_j]
- else
- ll_mtrlid = arg_str_billlist.bill[i].ds_data.Object.u_mtrldef_mtrlid[ll_j]
- end if
- //取该附件类型中的第一个附件.
- SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
- FROM u_file
- WHERE relid = :ll_mtrlid
- AND classid = :ll_classid
- AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
- OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
- USING sys_fileDB_sqlca;
- IF sys_fileDB_sqlca.SQLCode <> 0 THEN
- ll_fileid = 0
- END IF
- IF ll_fileid > 0 THEN
- Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
- IF Trim(Pathname) <> '' THEN
- IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
- RETURN 0
- END IF
-
- IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
- RETURN 0
- ELSE
-
- s_pic.path[ll_j] = Pathname
- //记录临时文件位置,本窗口退出后删除
- wf_addlog_tempfilepathname(Pathname)
-
- END IF
- ELSE
- s_pic.path[ll_j] = ''
- END IF
- ELSE
- s_pic.path[ll_j] = ''
- END IF
- NEXT
- END IF
- END IF
- //
- END IF
-
-
-
- IF ll_ifpic = 1 AND ll_classid > 0 THEN
- If arg_str_billlist.bill[i].ds_data.RowCount() > 0 THEN //设置图片路径
- FOR ll_j = 1 TO arg_str_billlist.bill[i].ds_data.RowCount()
- arg_str_billlist.bill[i].ds_data.Object.pic[ll_j] = s_pic.path[ll_j]
- NEXT
- END IF
- END IF
- NEXT
- DESTROY ls_uo_fjbt
- RETURN 1
- end function
- public subroutine wf_addlog_tempfilepathname (string arg_filepathname);//wf_addlog_tempfilepathname
- if isnull(arg_filepathname) or len(trim(arg_filepathname))<3 then return
- ins_openfile_log_p++
- ins_openfile_log[ins_openfile_log_p]=arg_filepathname
- // string ins_openfile_log[] //用于退出后删除
- // long ins_openfile_log_p=0 //用于退出后删除
- //
- end subroutine
- public subroutine wf_del_tempfilepathname ();//wf_del_tempfilepathname
- // 删除临时文件
- Long li
- FOR li = 1 TO ins_openfile_log_p
- IF Len(Trim(ins_openfile_log[li])) <= 0 THEN
- ELSE
- FileDelete(ins_openfile_log[li])
- END IF
- NEXT
- end subroutine
- public subroutine wf_add_mx ();Long i, ll_row
- FOR i = 1 To s_tran.dw_share.RowCount()
- ll_row = dw_mtrl_prdpfmx.InsertRow(0)
-
- dw_mtrl_prdpfmx.Object.mtrlid[ll_row] = s_tran.dw_share.Object.u_quoterqmtrl_mtrlid[i]
-
- dw_mtrl_prdpfmx.Object.mtrlcode[ll_row] = s_tran.dw_share.Object.u_mtrldef_mtrlcode[i]
- dw_mtrl_prdpfmx.Object.u_mtrldef_mtrlmode[ll_row] = s_tran.dw_share.Object.u_mtrldef_mtrlmode[i]
- dw_mtrl_prdpfmx.Object.mtrlname[ll_row] = s_tran.dw_share.Object.u_mtrldef_mtrlname[i]
- dw_mtrl_prdpfmx.Object.unit[ll_row] = s_tran.dw_share.Object.u_mtrldef_unit[i]
-
- // dw_mtrl_prdpfmx.Object.u_prdpf_status[ll_row] = s_tran.dw_share.Object.u_quoteworkprice_workqty[i]
- // dw_mtrl_prdpfmx.Object.u_prdpf_woodcode[ll_row] = s_tran.dw_share.Object.u_quoteworkprice_workqty[i]
- // dw_mtrl_prdpfmx.Object.u_prdpf_pcode[ll_row] = s_tran.dw_share.Object.u_quoteworkprice_workqty[i]
-
- dw_mtrl_prdpfmx.Object.u_prdpf_sonscale[ll_row] = s_tran.dw_share.Object.u_quoterqmtrl_rqqty[i]
- dw_mtrl_prdpfmx.Object.u_prdpf_sonloss[ll_row] = 0
- dw_mtrl_prdpfmx.Object.u_prdpf_sondecloss[ll_row] = 0
-
- dw_mtrl_prdpfmx.Object.u_prdpf_dscrp[ll_row] = ''
-
- dw_mtrl_prdpfmx.Object.u_prdpf_printid[ll_row] = ll_row
-
- dw_mtrl_prdpfmx.Object.u_prdpf_pfgroup[ll_row] = ''
- dw_mtrl_prdpfmx.Object.u_prdpf_wrkgrpid[ll_row] = 0
-
- NEXT
- end subroutine
- on w_mtrl_structure.create
- int iCurrent
- call super::create
- this.cb_moveone=create cb_moveone
- this.cb_removeone=create cb_removeone
- this.cb_moveall=create cb_moveall
- this.cb_removeall=create cb_removeall
- this.st_codetitle=create st_codetitle
- this.st_codetitleb=create st_codetitleb
- this.gb_4=create gb_4
- this.mle_pfgy=create mle_pfgy
- this.cb_print=create cb_print
- this.cb_refresh_tree=create cb_refresh_tree
- this.cb_save=create cb_save
- this.cb_edit=create cb_edit
- this.cb_audit=create cb_audit
- this.cb_pfcopy=create cb_pfcopy
- this.cb_pfpaste=create cb_pfpaste
- this.ddlb_storageid=create ddlb_storageid
- this.cb_help=create cb_help
- this.st_msg=create st_msg
- this.tab_1=create tab_1
- this.cb_other=create cb_other
- this.st_2=create st_2
- this.st_3=create st_3
- this.cb_xls=create cb_xls
- this.ddlb_mtrlorigin=create ddlb_mtrlorigin
- this.cbx_packqty_cmpl=create cbx_packqty_cmpl
- this.ln_bar=create ln_bar
- this.ln_bar2=create ln_bar2
- this.r_bar=create r_bar
- this.ln_1=create ln_1
- this.ln_2=create ln_2
- this.ln_5=create ln_5
- this.ln_6=create ln_6
- this.cbx_auto_printid=create cbx_auto_printid
- this.cbx_auto_zc=create cbx_auto_zc
- this.cb_1=create cb_1
- iCurrent=UpperBound(this.Control)
- this.Control[iCurrent+1]=this.cb_moveone
- this.Control[iCurrent+2]=this.cb_removeone
- this.Control[iCurrent+3]=this.cb_moveall
- this.Control[iCurrent+4]=this.cb_removeall
- this.Control[iCurrent+5]=this.st_codetitle
- this.Control[iCurrent+6]=this.st_codetitleb
- this.Control[iCurrent+7]=this.gb_4
- this.Control[iCurrent+8]=this.mle_pfgy
- this.Control[iCurrent+9]=this.cb_print
- this.Control[iCurrent+10]=this.cb_refresh_tree
- this.Control[iCurrent+11]=this.cb_save
- this.Control[iCurrent+12]=this.cb_edit
- this.Control[iCurrent+13]=this.cb_audit
- this.Control[iCurrent+14]=this.cb_pfcopy
- this.Control[iCurrent+15]=this.cb_pfpaste
- this.Control[iCurrent+16]=this.ddlb_storageid
- this.Control[iCurrent+17]=this.cb_help
- this.Control[iCurrent+18]=this.st_msg
- this.Control[iCurrent+19]=this.tab_1
- this.Control[iCurrent+20]=this.cb_other
- this.Control[iCurrent+21]=this.st_2
- this.Control[iCurrent+22]=this.st_3
- this.Control[iCurrent+23]=this.cb_xls
- this.Control[iCurrent+24]=this.ddlb_mtrlorigin
- this.Control[iCurrent+25]=this.cbx_packqty_cmpl
- this.Control[iCurrent+26]=this.ln_bar
- this.Control[iCurrent+27]=this.ln_bar2
- this.Control[iCurrent+28]=this.r_bar
- this.Control[iCurrent+29]=this.ln_1
- this.Control[iCurrent+30]=this.ln_2
- this.Control[iCurrent+31]=this.ln_5
- this.Control[iCurrent+32]=this.ln_6
- this.Control[iCurrent+33]=this.cbx_auto_printid
- this.Control[iCurrent+34]=this.cbx_auto_zc
- this.Control[iCurrent+35]=this.cb_1
- end on
- on w_mtrl_structure.destroy
- call super::destroy
- destroy(this.cb_moveone)
- destroy(this.cb_removeone)
- destroy(this.cb_moveall)
- destroy(this.cb_removeall)
- destroy(this.st_codetitle)
- destroy(this.st_codetitleb)
- destroy(this.gb_4)
- destroy(this.mle_pfgy)
- destroy(this.cb_print)
- destroy(this.cb_refresh_tree)
- destroy(this.cb_save)
- destroy(this.cb_edit)
- destroy(this.cb_audit)
- destroy(this.cb_pfcopy)
- destroy(this.cb_pfpaste)
- destroy(this.ddlb_storageid)
- destroy(this.cb_help)
- destroy(this.st_msg)
- destroy(this.tab_1)
- destroy(this.cb_other)
- destroy(this.st_2)
- destroy(this.st_3)
- destroy(this.cb_xls)
- destroy(this.ddlb_mtrlorigin)
- destroy(this.cbx_packqty_cmpl)
- destroy(this.ln_bar)
- destroy(this.ln_bar2)
- destroy(this.r_bar)
- destroy(this.ln_1)
- destroy(this.ln_2)
- destroy(this.ln_5)
- destroy(this.ln_6)
- destroy(this.cbx_auto_printid)
- destroy(this.cbx_auto_zc)
- destroy(this.cb_1)
- end on
- event open;call super::open;IF NOT f_power_ind(1439) THEN
- dw_mtrl_prdpfmx.Modify('destroy u_prdpf_sptprice_t ~n u_prdpf_sptprice.visible=0 ~n ')
- END IF
- s_hide_col s_col
- s_col.col_1 = 'planprice'
- f_hide_col(1451,dw_pageretr,s_col)
- s_hide_col s_col2
- s_col2.col_1 = 'amt'
- s_col2.col_2 = 'u_mtrldef_planprice'
- f_hide_col(1451,dw_mtrl_prdpfmx,s_col2)
- s_hide_col s_col3
- s_col3.col_1 = 'u_prdpf_sptprice'
- s_col3.col_2 = 'buyamt'
- f_hide_col(121,dw_mtrl_prdpfmx,s_col3)
- s_hide_col s_col_mtrlsectype
- s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype'
- f_hide_col(1308,dw_pageretr,s_col_mtrlsectype)
- s_hide_col s_col_zxmtrlmode
- s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode'
- f_hide_col(1309,dw_pageretr,s_col_zxmtrlmode)
- wf_modefacechg()
- IF s_tran.b_long > 0 THEN
- IF dw_pageretr.GetRow() > 0 THEN
- IF dw_pageretr.Object.mtrlid[dw_pageretr.GetRow()] = s_tran.b_long THEN
- //修改
- cb_edit.TriggerEvent(Clicked!)
-
- //清空明细
- dw_mtrl_prdpfmx.Reset()
-
- //插入明细
- wf_add_mx()
- END IF
-
- END IF
-
- END IF
- end event
- event user_key;call super::user_key;IF KeyDown(KeyF1!) THEN
- if cb_moveone.enabled then cb_moveone.TRIGGEREVENT(CLICKED!)
- ELSEIF KeyDown(KeyF3!) then
- if cb_moveall.enabled then cb_moveall.TRIGGEREVENT(CLICKED!)
- end if
- end event
- event key;this.TRIGGEREVENT('user_key')
- 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+'( mtrlcode LIKE "%'+trim(sle_usual_query.text)+'%" )'
- obj_expr = obj_expr+' or (mtrlname LIKE "%'+Trim(sle_usual_query.Text)+'%")'
- ELSE
- obj_expr=obj_expr+'( mtrlcode LIKE "'+trim(sle_usual_query.text)+'" )'
- obj_expr = obj_expr+' or (mtrlname LIKE "'+Trim(sle_usual_query.Text)+'")'
- END IF
- end if
- dw_pageretr.setfilter(obj_expr)
- dw_pageretr.SetRedraw(False)
- dw_pageretr.filter()
- dw_pageretr.SetRedraw(TRUE)
- 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="mtrlcode like '%"+trim(sle_usual_query.text)+"%'"
- else
- ls_querystrpart="mtrlcode 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_before_open;tv_1 = tab_1.tabpage_2.tv_2
- dw_mtrl_prdpfmx = tab_1.tabpage_1.dw_mtrl_prdpfmx
- dw_mtrl_prdpfmx.settransobject(sqlca)
- if_ue_retr=true
- if_ue_filter=true
- if_ue_sort=true
- end event
- event retrieve_pageretr;Boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled
- Boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled
- 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
- SetPointer(HourGlass!)
- dw_pageretr.Retrieve(cur_mtrlorigin,cur_storageid,cur_isuse)
- IF dw_pageretr.RowCount() > 0 AND dw_pageretr.GetRow() = 0 THEN dw_pageretr.SetRow(1)
- SetPointer(Arrow!)
- cb_nextpage.Enabled = cb_nextpage_enabled
- cb_retrieveall.Enabled = cb_retrieveall_enabled
- cb_func.Enabled = cb_func_enabled
- IF NOT dw_edit_mode AND dw_pageretr.GetRow() > 0 THEN
- wf_changemtrl(dw_pageretr.Object.mtrlid[dw_pageretr.GetRow()])
- END IF
- end event
- event resize;call super::resize;ln_bar.endx = this.width
- ln_bar2.endx = this.width
- ln_1.endx = this.width
- ln_2.endx = this.width
- r_bar.width = this.width
- long w_width,w_height
- w_width = 3600
- w_height = 2300
- if newwidth < w_width then this.width = w_width
- if newheight < w_height then this.height = w_height
- dw_pageretr.width=this.width - (w_width - 2650)
- gb_4.x = dw_pageretr.x + dw_pageretr.width + 20
- mle_pfgy.x = gb_4.x + 20
- st_codetitle.width=this.width - (w_width - 3544)
- st_codetitleb.width=this.width - (w_width - 3552)
- tab_1.width=this.width - (w_width - 3552)
- tab_1.height=this.height - (w_height - 650)
- tv_1.width=this.width - (w_width - 3552)
- tv_1.height = tab_1.height - 100
- dw_mtrl_prdpfmx.width=this.width - (w_width - 3552)
- dw_mtrl_prdpfmx.height = tab_1.height - 100
- cbx_auto_printid.y = tab_1.y + 10
- cbx_auto_printid.x = tab_1.x + 700
- cbx_auto_zc.y = tab_1.y + 10
- cbx_auto_zc.x = tab_1.x + cbx_auto_printid.width +800
- end event
- event close;call super::close;wf_del_tempfilepathname()
- end event
- type cb_func from w_publ_pageretr`cb_func within w_mtrl_structure
- integer x = 151
- integer y = 0
- integer width = 151
- integer height = 172
- integer taborder = 290
- end type
- event cb_func::clicked;call super::clicked;PARENT.TriggerEvent('ue_help')
- end event
- type cb_exit from w_publ_pageretr`cb_exit within w_mtrl_structure
- integer x = 2057
- integer y = 0
- integer width = 151
- integer height = 172
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- type sle_usual_query from w_publ_pageretr`sle_usual_query within w_mtrl_structure
- integer x = 1664
- integer y = 192
- integer width = 494
- integer height = 96
- boolean bringtotop = true
- long backcolor = 16777215
- end type
- type cb_retrieveall from w_publ_pageretr`cb_retrieveall within w_mtrl_structure
- integer x = 2619
- integer height = 172
- integer taborder = 240
- string normalpicname = "p1.ico"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- type em_pagerowno from w_publ_pageretr`em_pagerowno within w_mtrl_structure
- integer x = 2290
- integer y = 44
- integer width = 320
- integer taborder = 130
- boolean bringtotop = true
- long backcolor = 16777215
- end type
- type dw_pageretr from w_publ_pageretr`dw_pageretr within w_mtrl_structure
- integer y = 316
- integer width = 2665
- integer height = 976
- integer taborder = 100
- string dragicon = "WinLogo!"
- boolean bringtotop = true
- string title = "物料列表"
- string dataobject = "dw_mtrl_index_structure"
- boolean rbutton_filter_use = true
- boolean rbutton_setposition_use = true
- boolean titleclick_sort_use = true
- end type
- event dw_pageretr::doubleclicked;call super::doubleclicked;if dw_edit_mode and row>0 then cb_moveone.TRIGGEREVENT(CLICKED!)
- end event
- event dw_pageretr::rowfocuschanged;IF currentrow > 0 THEN
- THIS.SelectRow(0,FALSE)
- THIS.SelectRow(currentrow,TRUE)
- END IF
- IF NOT dw_edit_mode AND dw_pageretr.GetRow() > 0 THEN
- wf_changemtrl(dw_pageretr.Object.mtrlid[dw_pageretr.GetRow()])
- page_mtrlid = dw_pageretr.Object.mtrlid[dw_pageretr.GetRow()]
- END IF
- PARENT.TriggerEvent('ue_retrieve_info')
- end event
- event dw_pageretr::rowfocuschanging;//IF dw_edit_mode THEN RETURN 1
- end event
- type st_1 from w_publ_pageretr`st_1 within w_mtrl_structure
- integer x = 1463
- integer y = 220
- integer width = 192
- integer height = 60
- string text = "编码含"
- alignment alignment = right!
- end type
- type cb_nextpage from w_publ_pageretr`cb_nextpage within w_mtrl_structure
- integer x = 2784
- integer width = 64
- integer height = 172
- integer taborder = 280
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- type cb_moveone from commandbutton within w_mtrl_structure
- integer x = 27
- integer y = 1300
- integer width = 151
- integer height = 84
- integer taborder = 170
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- string text = "选择"
- end type
- event clicked;long find_row=0,new_row,sor_row
- sor_row=dw_pageretr.getrow()
- if sor_row<=0 then
- messagebox('提示','请选择要加入的目标物料!', Information!, OK! )
- return 0
- end if
- //find_row=dw_mtrl_prdpfmx.find('mtrlid='+string(dw_pageretr.object.mtrlid[sor_row]),0,dw_pageretr.rowcount())
- //if find_row>0 then
- // Beep(1)
- // return 0
- //end if
- wf_moveone(sor_row)
- end event
- type cb_removeone from commandbutton within w_mtrl_structure
- integer x = 178
- integer y = 1300
- integer width = 151
- integer height = 84
- integer taborder = 180
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- string text = "删除"
- end type
- event clicked;parent.triggerevent('ue_deletemx')
- end event
- type cb_moveall from commandbutton within w_mtrl_structure
- integer x = 352
- integer y = 1300
- integer width = 151
- integer height = 84
- integer taborder = 190
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- string text = "全选"
- end type
- event clicked;long i
- for i=1 to dw_pageretr.rowcount()
- wf_moveone(i)
- next
- end event
- type cb_removeall from commandbutton within w_mtrl_structure
- integer x = 498
- integer y = 1300
- integer width = 151
- integer height = 84
- integer taborder = 200
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- string text = "全删"
- end type
- event clicked;
- DO WHILE dw_mtrl_prdpfmx.rowcount()>0
- wf_removeone(dw_mtrl_prdpfmx.rowcount())
- LOOP
- end event
- type st_codetitle from statictext within w_mtrl_structure
- integer x = 5
- integer y = 1412
- integer width = 3543
- integer height = 92
- boolean bringtotop = true
- integer textsize = -12
- integer weight = 700
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 79216776
- boolean enabled = false
- string text = "**************的组装构成"
- boolean border = true
- borderstyle borderstyle = styleraised!
- boolean focusrectangle = false
- end type
- type st_codetitleb from statictext within w_mtrl_structure
- integer y = 1404
- integer width = 3552
- integer height = 108
- integer textsize = -12
- integer weight = 700
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 79216776
- boolean enabled = false
- boolean border = true
- boolean focusrectangle = false
- end type
- type gb_4 from groupbox within w_mtrl_structure
- integer x = 2683
- integer y = 316
- integer width = 846
- integer height = 1072
- integer taborder = 110
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 16711680
- long backcolor = 134217739
- string text = "清单说明[保存]"
- end type
- type mle_pfgy from multilineedit within w_mtrl_structure
- integer x = 2697
- integer y = 384
- integer width = 818
- integer height = 988
- integer taborder = 40
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- boolean vscrollbar = true
- integer limit = 1000
- borderstyle borderstyle = stylelowered!
- end type
- type cb_print from uo_imflatbutton within w_mtrl_structure
- integer x = 1413
- integer width = 192
- integer height = 172
- integer taborder = 90
- boolean bringtotop = true
- string text = "预览&P"
- string normalpicname = "preview.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;String ls_dft_old_dwname, ls_dft_new_dwname,ls_chnname,ls_dwtype
- Long ls_dwprintid
- String ls_windowname
- Int ls_i
- Long ll_billid
- Int li_ifuse
- Long ll_row
- String Name,ll_rpname
- Long ll_RpID,ll_flag,ll_ifuse
- w_curwin = PARENT
- ls_windowname = PARENT.ClassName ( )
- SELECT billid,ifuse
- INTO :ll_billid,
- :li_ifuse
- FROM u_report_bill
- Where winName = :ls_windowname;
- IF sqlca.SQLCode <> 0 THEN
- li_ifuse = 0
- END IF
- li_ifuse = 0
- IF li_ifuse = 0 THEN
- DECLARE dft_dwprint CURSOR FOR
- SELECT dwprintid,dft_old_dwname, dft_new_dwname, chnname, dwtype
- FROM sys_dft_dwprint_dynamic
- WHERE dwtype = :ls_windowname
- AND ptype = 0 and ifuse = 1;
-
- OPEN dft_dwprint;
- FETCH dft_dwprint INTO :ls_dwprintid,:ls_dft_old_dwname, :ls_dft_new_dwname,:ls_chnname, :ls_dwtype;
- IF sqlca.SQLCode <> 0 THEN
- PARENT.TriggerEvent('ue_viewprint',0,0)
- ELSE
- m_dft_dwprint_item m_1
- m_1 = CREATE m_dft_dwprint_item
- ls_i = 1
- DO WHILE sqlca.SQLCode = 0
- f_add_menuItem_dft(m_1,ls_i,ls_chnname,String(ls_dwprintid))
- FETCH dft_dwprint INTO :ls_dwprintid,:ls_dft_old_dwname, :ls_dft_new_dwname,:ls_chnname, :ls_dwtype;
- ls_i++
- LOOP
- CLOSE dft_dwprint;
- m_1.PopMenu(THIS.X+50,THIS.Y+50)
- END IF
- ELSE
- DECLARE rpt_dwprint CURSOR FOR
- SELECT RpID,RpName,Flag,Ifuse
- FROM U_report_list
- WHERE billid = :ll_billid
- Order By RpName;
-
- OPEN rpt_dwprint;
- FETCH rpt_dwprint INTO :ll_RpID,:ll_rpname,:ll_flag,:ll_ifuse;
- IF sqlca.SQLCode <> 0 THEN
- PARENT.TriggerEvent('ue_rpt_viewprint',0,0)
- ELSE
- m_rpt_dwprint_item m_2
- m_2 = CREATE m_rpt_dwprint_item
- ls_i = 1
- DO WHILE sqlca.SQLCode = 0
-
- IF f_pow_rpt(ll_RpID) AND ll_ifuse = 1 AND ll_flag = 1 THEN //权限检查f_pow_rpt( )
- f_add_menuItem_rpt(m_2,ls_i,ll_rpname,String(ll_RpID))
- END IF
-
- FETCH rpt_dwprint INTO :ll_RpID,:ll_rpname,:ll_flag,:ll_ifuse;
- ls_i++
- LOOP
- CLOSE rpt_dwprint;
- m_2.Item[1].Visible = FALSE
- m_2.PopMenu(THIS.X+50,THIS.Y+50)
- END IF
- END IF
- end event
- type cb_refresh_tree from uo_imflatbutton within w_mtrl_structure
- integer width = 151
- integer height = 172
- integer taborder = 290
- boolean bringtotop = true
- string text = "刷新"
- string normalpicname = "refresh.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;wf_changemtrl(page_mtrlid)
- end event
- type cb_save from uo_imflatbutton within w_mtrl_structure
- integer x = 306
- integer width = 192
- integer height = 172
- integer taborder = 210
- boolean enabled = false
- string text = "保存&S"
- string normalpicname = "save.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;IF dw_edit_mode THEN
- IF wf_save() = 0 THEN RETURN
- END IF
- dw_edit_mode = Not dw_edit_mode
- wf_modefacechg()
- //cb_edit.triggerevent('textchange')
- end event
- type cb_edit from uo_imflatbutton within w_mtrl_structure
- integer x = 494
- integer width = 192
- integer height = 172
- integer taborder = 20
- boolean bringtotop = true
- string text = "修改&E"
- string normalpicname = "undo.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;IF NOT f_power_ind(32) THEN
- MessageBox('提示','你没有使用权限!', Information!, OK! )
- RETURN
- END IF
- IF dw_edit_mode THEN
- IF MessageBox ("询问","是否确定要放弃保存当前产品的物料构成,放弃后所修改的资料不作保存",Question!,YesNo! ) = 2 THEN
- RETURN
- END IF
- wf_retrieve_childrenmtrl(obj_mtrlid)
- ELSE
- IF obj_sauditflag = 1 THEN
- MessageBox('提示','产品的物料构成已审核,不能修改', Information!, OK! )
- RETURN
- END IF
- END IF
- dw_edit_mode = NOT dw_edit_mode
- wf_modefacechg()
- end event
- type cb_audit from uo_imflatbutton within w_mtrl_structure
- integer x = 690
- integer width = 151
- integer height = 172
- integer taborder = 20
- boolean bringtotop = true
- string text = "审核"
- string normalpicname = "audit.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;IF Not f_power_ind(56) THEN
- MessageBox('提示','你没有使用权限!', Information!, OK! )
- RETURN
- END IF
- DateTime null_dt
- SetNull(null_dt)
- String ls_msg
- IF MessageBox ('提示',"是否确定要审核前产品的物料构成,审核后不能作修改操作",Question!,YesNo! ) = 2 THEN
- RETURN
- END IF
- IF obj_sauditflag = 1 THEN
- ls_msg = '撤审'
- UPDATE u_mtrldef
- SET SAuditflag = 0,
- SAudit_emp = '',
- SAudit_date = :null_dt
- Where mtrlid = :obj_mtrlid;
- ELSE
- ls_msg = '审核'
- UPDATE u_mtrldef
- SET SAuditflag = 1,
- SAudit_emp = :publ_operator,
- SAudit_date = getdate()
- Where mtrlid = :obj_mtrlid;
- END IF
- IF sqlca.SQLCode <> 0 THEN
- ls_msg = ls_msg+'产品物料构成失改>>'+sqlca.SQLErrText
- ROLLBACK;
- ELSE
- COMMIT;
- IF obj_sauditflag = 1 THEN
- obj_sauditflag = 0
- ELSE
- obj_sauditflag = 1
- END IF
- ls_msg = ls_msg+'产品物料构成成功'
- END IF
- wf_refresh_curuc(obj_mtrlid)
- wf_flagstatus_rf(obj_sauditflag)
- MessageBox('提示',ls_msg, Information!, OK! )
- end event
- type cb_pfcopy from uo_imflatbutton within w_mtrl_structure
- integer x = 837
- integer width = 151
- integer height = 172
- integer taborder = 20
- boolean bringtotop = true
- string text = "复制"
- string normalpicname = "copy.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;IF NOT f_power_ind(32) THEN
- MessageBox('提示','你没有使用权限!', Information!, OK! )
- RETURN
- END IF
- wf_pfcopy()
- end event
- type cb_pfpaste from uo_imflatbutton within w_mtrl_structure
- integer x = 987
- integer width = 151
- integer height = 172
- integer taborder = 20
- boolean bringtotop = true
- boolean enabled = false
- string text = "粘贴"
- string normalpicname = "paste.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;wf_pfpaste()
- end event
- type ddlb_storageid from uo_ddlb_storageid within w_mtrl_structure
- integer x = 270
- integer y = 200
- integer width = 695
- integer height = 812
- integer taborder = 30
- boolean bringtotop = true
- end type
- event constructor;call super::constructor;cur_storageid = uo_storageid
- end event
- event selectionchanged;call super::selectionchanged;cur_storageid = uo_storageid
- parent.triggerevent('retrieve_pageretr')
- end event
- type cb_help from uo_imflatbutton within w_mtrl_structure
- string tag = "帮助[F1]"
- integer x = 1906
- integer width = 151
- integer height = 172
- integer taborder = 300
- boolean bringtotop = true
- string text = "帮助"
- string normalpicname = "help.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- type st_msg from statictext within w_mtrl_structure
- integer x = 2583
- integer y = 212
- integer width = 1019
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- alignment alignment = right!
- boolean focusrectangle = false
- end type
- type tab_1 from tab within w_mtrl_structure
- event create ( )
- event destroy ( )
- integer x = 9
- integer y = 1520
- integer width = 3543
- integer height = 612
- integer taborder = 190
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long backcolor = 134217739
- boolean raggedright = true
- boolean focusonbuttondown = true
- integer selectedtab = 1
- tabpage_1 tabpage_1
- tabpage_2 tabpage_2
- end type
- on tab_1.create
- this.tabpage_1=create tabpage_1
- this.tabpage_2=create tabpage_2
- this.Control[]={this.tabpage_1,&
- this.tabpage_2}
- end on
- on tab_1.destroy
- destroy(this.tabpage_1)
- destroy(this.tabpage_2)
- end on
- event selectionchanged;IF THIS.SelectedTab = 1 THEN
- cbx_auto_printid.visible = true
- cbx_auto_zc.visible = true
- ELSE
- cbx_auto_printid.visible = false
- cbx_auto_zc.visible = false
- END IF
- end event
- type tabpage_1 from userobject within tab_1
- event create ( )
- event destroy ( )
- integer x = 18
- integer y = 96
- integer width = 3506
- integer height = 500
- long backcolor = 134217739
- string text = "直接构成物料"
- long tabtextcolor = 33554432
- long tabbackcolor = 134217739
- long picturemaskcolor = 536870912
- dw_mtrl_prdpfmx dw_mtrl_prdpfmx
- end type
- on tabpage_1.create
- this.dw_mtrl_prdpfmx=create dw_mtrl_prdpfmx
- this.Control[]={this.dw_mtrl_prdpfmx}
- end on
- on tabpage_1.destroy
- destroy(this.dw_mtrl_prdpfmx)
- end on
- type dw_mtrl_prdpfmx from u_dw_rbtnfilter within tabpage_1
- integer width = 2482
- integer height = 492
- integer taborder = 20
- string dataobject = "dw_mtrl_structuremx"
- boolean hscrollbar = true
- boolean vscrollbar = true
- boolean rbutton_filter_use = true
- boolean rbutton_setposition_use = true
- boolean titleclick_sort_use = true
- end type
- event rowfocuschanged;call super::rowfocuschanged;IF currentrow > 0 THEN
- THIS.SelectRow(0,FALSE)
- THIS.SelectRow(currentrow,TRUE)
- END IF
- end event
- event clicked;call super::clicked;if row>0 then
- this.setrow(row)
- this.selectrow(0,false)
- this.selectrow(row,true)
- end if
- end event
- event doubleclicked;call super::doubleclicked;IF dw_edit_mode THEN
- PARENT.GetParent().GetParent().TriggerEvent('ue_f8')
- END IF
- end event
- event dwnkey;call super::dwnkey;PARENT.getparent().getparent().TriggerEvent('user_key')
- String ls_mtrlcode,ls_mtrlname,ls_unit,ls_dscrp,ls_mtrlmode, ls_mtrlengname
- Long ls_mtrlid
- Long child_row
- Long ls_null
- SetNull(ls_null)
- IF dw_edit_mode THEN
- IF KeyDown(Keydownarrow!) THEN
- Long li_row
- IF dw_mtrl_prdpfmx.GetRow() = dw_mtrl_prdpfmx.RowCount() THEN
- PARENT.getparent().getparent().TriggerEvent("insert_childrow")
- END IF
- ELSE
- IF (KeyDown(KeyEnter!) OR KeyDown(KeyTab!)) AND NOT KeyDown(KeyControl!) AND NOT KeyDown(KeyShift!) THEN
- IF dw_mtrl_prdpfmx.GetColumnName() = 'mtrlcode' THEN
- dw_mtrl_prdpfmx.AcceptText()
- child_row = dw_mtrl_prdpfmx.GetRow()
-
- ls_mtrlcode = dw_mtrl_prdpfmx.Object.mtrlcode[child_row]
-
- SELECT u_mtrldef.mtrlid,
- u_mtrldef.mtrlname,
- u_mtrldef.unit,
- u_mtrldef.dscrp,
- u_mtrldef.mtrlmode,
- u_mtrldef.mtrlengname
- INTO :ls_mtrlid,:ls_mtrlname,:ls_unit,:ls_dscrp,:ls_mtrlmode,:ls_mtrlengname
- FROM u_mtrldef
- Where ( u_mtrldef.mtrlcode = :ls_mtrlcode);
-
- IF sqlca.SQLCode <> 0 THEN
- parent.getparent().getparent().triggerevent('ue_f8')
- return 1
- ELSE
- dw_mtrl_prdpfmx.Object.mtrlid[child_row] = ls_mtrlid
- dw_mtrl_prdpfmx.Object.mtrlname[child_row] = ls_mtrlname
- dw_mtrl_prdpfmx.Object.u_mtrldef_mtrlengname[child_row] = ls_mtrlengname
- dw_mtrl_prdpfmx.Object.unit[child_row] = ls_unit
- if not len(trim(dw_mtrl_prdpfmx.object.u_prdpf_dscrp[child_row])) > 0 then
- dw_mtrl_prdpfmx.object.u_prdpf_dscrp[child_row] =ls_dscrp
- end if
- END IF
- IF Key = KeyEnter! THEN
- keybd_event ( 9, 0, 0 , 0 ) // 按下tab
- keybd_event ( 9, 0, 2, 0 ) // 释放tab
- RETURN 1
- END IF
-
- ELSEIF dw_mtrl_prdpfmx.GetColumnName( ) = 'u_prdpf_dscrp' AND dw_mtrl_prdpfmx.GetRow() = dw_mtrl_prdpfmx.RowCount() THEN
- PARENT.getparent().getparent().TriggerEvent("insert_childrow")
- RETURN 1
-
- 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 IF
- END IF
- //u_mtrldef_mtrlcode
- //u_mtrldef_unit
- //u_inwaremx_mtrlid
- //u_inwaremx_planprice
- //u_inwaremx_price
- //u_mtrldef_mtrlname
- end event
- event rbuttondown;Long ll_row
- S_INPUTBOX_DECIMAL s_parm
- IF dw_edit_mode THEN
-
- IF dwo.Name = 'u_prdpf_wrkgrpid_t' THEN
- // DONE: 批设领料组
- Open(w_workgroup_edit_ch)
- Long ll_workgroupid
- ll_workgroupid = Message.DoubleParm
- IF ll_workgroupid > 0 THEN
- FOR ll_row = 1 To dw_mtrl_prdpfmx.RowCount()
- dw_mtrl_prdpfmx.Object.u_prdpf_wrkgrpid[ll_row] = ll_workgroupid
- NEXT
- END IF
-
- ELSEIF dwo.Name = 'u_prdpf_sonscale_t' THEN
- // DONE: 批设组成数
- s_parm.Title = '批设组成数'
- s_parm.Value = 0
- OpenWithParm(w_inputbox_decimal, s_parm)
- s_parm = Message.PowerObjectParm
- IF s_parm.has_rslt = 1 THEN
- FOR ll_row = 1 To dw_mtrl_prdpfmx.RowCount()
- dw_mtrl_prdpfmx.Object.u_prdpf_sonscale[ll_row] = s_parm.Value
- NEXT
- END IF
-
- ELSEIF dwo.Name = 'u_prdpf_sonloss_t' THEN
- // DONE: 批设损耗率
- s_parm.Title = '批设损耗率'
- s_parm.Value = 0
- OpenWithParm(w_inputbox_decimal, s_parm)
- s_parm = Message.PowerObjectParm
- IF s_parm.has_rslt = 1 THEN
- FOR ll_row = 1 To dw_mtrl_prdpfmx.RowCount()
- dw_mtrl_prdpfmx.Object.u_prdpf_sonloss[ll_row] = s_parm.Value
- NEXT
- END IF
-
- ELSE
- m_Dfc_Control_PopupMenu dmPopupMenu
- String menustr
-
-
- menustr = "Text=增明细~tEvent=insert_childrow"
- menustr = menustr + "|" + "Text=删明细~tEvent=ue_deletemx"
-
-
- 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 IF
-
-
-
- ELSE
- CALL Super::RButtonDown
-
- END IF
- end event
- type tabpage_2 from userobject within tab_1
- event create ( )
- event destroy ( )
- integer x = 18
- integer y = 96
- integer width = 3506
- integer height = 500
- long backcolor = 134217739
- string text = "清单树"
- long tabtextcolor = 33554432
- long tabbackcolor = 134217739
- long picturemaskcolor = 536870912
- tv_2 tv_2
- end type
- on tabpage_2.create
- this.tv_2=create tv_2
- this.Control[]={this.tv_2}
- end on
- on tabpage_2.destroy
- destroy(this.tv_2)
- end on
- type tv_2 from treeview within tabpage_2
- integer width = 2473
- integer height = 500
- integer taborder = 100
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 16777215
- borderstyle borderstyle = stylelowered!
- string picturename[] = {"Project!","Custom030!","Custom028!","Custom031!","Custom029!","Custom041!","Custom032!"}
- long picturemaskcolor = 536870912
- long statepicturemaskcolor = 536870912
- end type
- type cb_other from uo_imflatbutton within w_mtrl_structure
- integer x = 1138
- integer width = 274
- integer height = 172
- integer taborder = 150
- boolean bringtotop = true
- string text = "辅助功能"
- string normalpicname = "other.BMP"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;
- m_Dfc_Control_PopupMenu dmPopupMenu
- string menustr
- menustr="Text=查闭环~tEvent=ue_checkrand"
- menustr = menustr + "|" + "Text=批替换物料~tEvent=ue_replace_p"
- menustr = menustr + "|" + "Text=-"
- menustr = menustr + "|" + "Text=物料相关查询~tEvent=ue_mtrl_info"
- 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 st_2 from statictext within w_mtrl_structure
- integer x = 704
- integer y = 1324
- integer width = 891
- integer height = 48
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 255
- long backcolor = 134217739
- string text = "操作说明:( 热键:>-[F1], >>-[F3])"
- alignment alignment = right!
- boolean focusrectangle = false
- end type
- type st_3 from statictext within w_mtrl_structure
- integer x = 1637
- integer y = 1324
- integer width = 919
- integer height = 48
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 255
- long backcolor = 134217739
- string text = "右键标题批设 领料组 组成数 损耗率"
- alignment alignment = right!
- boolean focusrectangle = false
- end type
- type cb_xls from uo_imflatbutton within w_mtrl_structure
- integer x = 1605
- integer width = 306
- integer height = 172
- integer taborder = 30
- boolean bringtotop = true
- string text = "Excel打印"
- string normalpicname = "excel.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;//检查是否已确认或已审核,否则不允许打印
- Long LS_ROW,ll_mtrlid_obj,i
- String arg_msg
- LS_ROW = dw_pageretr.GetRow()
- IF LS_ROW <= 0 THEN
- arg_msg = '没有目标单据!'
- RETURN 0
- END IF
-
- /////////// //
- uo_sendtoexcel obj_st
- obj_st = CREATE uo_sendtoexcel
- obj_st.commit_transaction = sqlca
- obj_st.TriggerEventObject = THIS.GetParent()
- obj_st.TriggerEventname = 'ue_xls'
- menu m1
- m1 = obj_st.of_createmenu( PARENT.ClassName ( ),sys_user_xls_print_str,sys_user_xls_send_str)
- IF UpperBound( m1.Item) = 2 THEN
- MessageBox('错误','当前单据还没有设置Excel打印模板.')
- ELSE
- m1.PopMenu(THIS.X ,THIS.Y+THIS.Height)
- END IF
- end event
- type ddlb_mtrlorigin from uo_ddlb_mtrlorigin within w_mtrl_structure
- integer x = 974
- integer y = 204
- integer height = 812
- integer taborder = 20
- boolean bringtotop = true
- end type
- event selectionchanged;call super::selectionchanged;cur_mtrlorigin = this.uo_mtrlorigin
- //wf_retrieveuc(dw_pageretr,ls_newselect,1)
- parent.triggerevent('retrieve_pageretr')
- f_SetProfileString (sys_empid,dw_pageretr.DataObject, "ddlb_mtrlorigin",String(cur_mtrlorigin))
- end event
- event constructor;call super::constructor;String ls_str
- ls_str = f_ProfileString (sys_empid,dw_pageretr.DataObject, "ddlb_mtrlorigin",'0')
- cur_mtrlorigin = integer(ls_str)
- ddlb_mtrlorigin.uf_setitem(cur_mtrlorigin)
- end event
- type cbx_packqty_cmpl from checkbox within w_mtrl_structure
- integer x = 2185
- integer y = 212
- integer width = 375
- 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;IF THIS.Checked THEN
- cur_isuse = 1
- ELSE
- cur_isuse = -1
- END IF
- f_SetProfileString (sys_empid,publ_userid+'_'+'isuse', "isuse",String(cur_isuse))
- parent.triggerevent('retrieve_pageretr')
- end event
- event constructor;//this.backcolor = 14215660
- cur_isuse = Long(f_ProfileString (sys_empid,publ_userid+'_'+'isuse', "isuse",'1'))
- IF cur_isuse = 1 THEN
- THIS.Checked = TRUE
- ELSE
- THIS.Checked = FALSE
- END IF
- end event
- type ln_bar from line within w_mtrl_structure
- long linecolor = 268435456
- integer linethickness = 4
- integer beginy = 176
- integer endx = 3429
- integer endy = 176
- end type
- type ln_bar2 from line within w_mtrl_structure
- long linecolor = 16777215
- integer linethickness = 4
- integer beginy = 180
- integer endx = 3429
- integer endy = 180
- end type
- type r_bar from rectangle within w_mtrl_structure
- long linecolor = 16777215
- long fillcolor = 1073741824
- integer x = 3200
- integer width = 73
- integer height = 172
- end type
- event constructor;this.fillcolor = 14215660
- this.linecolor = 14215660
- this.x = -1
- this.y = -1
- this.height = ln_bar2.beginy - 5
- end event
- type ln_1 from line within w_mtrl_structure
- long linecolor = 268435456
- integer linethickness = 4
- integer beginy = 300
- integer endx = 3429
- integer endy = 300
- end type
- type ln_2 from line within w_mtrl_structure
- long linecolor = 16777215
- integer linethickness = 4
- integer beginy = 304
- integer endx = 3429
- integer endy = 304
- end type
- type ln_5 from line within w_mtrl_structure
- long linecolor = 268435456
- integer beginx = 2267
- integer endx = 2267
- integer endy = 176
- end type
- type ln_6 from line within w_mtrl_structure
- long linecolor = 16777215
- integer beginx = 2272
- integer endx = 2272
- integer endy = 180
- end type
- type cbx_auto_printid from checkbox within w_mtrl_structure
- integer x = 649
- integer y = 1532
- integer width = 411
- 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;IF THIS.Checked THEN
- cur_auto_printid = 1
- ELSE
- cur_auto_printid = 0
- END IF
- f_SetProfileString (sys_empid,publ_userid+'_'+'auto_printid', "printid",String(cur_auto_printid))
- end event
- event constructor;cur_auto_printid = Long(f_ProfileString (sys_empid,publ_userid+'_'+'auto_printid', "printid",'0'))
- IF cur_auto_printid = 1 THEN
- THIS.Checked = TRUE
- ELSE
- THIS.Checked = FALSE
- END IF
- end event
- type cbx_auto_zc from checkbox within w_mtrl_structure
- integer x = 1079
- integer y = 1532
- integer width = 686
- 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;IF THIS.Checked THEN
- cur_cmpl_zc = 1
- ELSE
- cur_cmpl_zc = 0
- END IF
- f_SetProfileString (sys_empid,publ_userid+'_'+'autozc', "autozc",String(cur_cmpl_zc))
- end event
- event constructor;//this.backcolor = 14215660
- cur_cmpl_zc = Long(f_ProfileString (sys_empid,publ_userid+'_'+'autozc', "autozc",'0'))
- IF cur_cmpl_zc = 1 THEN
- THIS.Checked = TRUE
- ELSE
- THIS.Checked = FALSE
- END IF
- end event
- type cb_1 from commandbutton within w_mtrl_structure
- integer y = 196
- integer width = 251
- integer height = 84
- integer taborder = 40
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- string text = "刷新"
- end type
- event clicked;parent.triggerevent('retrieve_pageretr')
- end event
|