123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863 |
- $PBExportHeader$w_buybill.srw
- forward
- global type w_buybill from w_publ_pageretr
- end type
- type dw_uc from datawindow within w_buybill
- end type
- type dw_child from u_dw_rbtnfilter within w_buybill
- end type
- type cb_delet from uo_imflatbutton within w_buybill
- end type
- type cb_addzy from uo_imflatbutton within w_buybill
- end type
- type cb_auditing from uo_imflatbutton within w_buybill
- end type
- type cb_cauditing from uo_imflatbutton within w_buybill
- end type
- type cb_print from uo_imflatbutton within w_buybill
- end type
- type cb_retrieve from uo_imflatbutton within w_buybill
- end type
- type st_3 from statictext within w_buybill
- end type
- type ddlb_status from dropdownlistbox within w_buybill
- end type
- type cb_help from uo_imflatbutton within w_buybill
- end type
- type cb_add from uo_imflatbutton within w_buybill
- end type
- type cb_edit from uo_imflatbutton within w_buybill
- end type
- type cb_reset from uo_imflatbutton within w_buybill
- end type
- type ln_bar from line within w_buybill
- end type
- type ln_bar2 from line within w_buybill
- end type
- type r_bar from rectangle within w_buybill
- end type
- type ln_1 from line within w_buybill
- end type
- type ln_2 from line within w_buybill
- end type
- end forward
- global type w_buybill from w_publ_pageretr
- integer width = 3611
- integer height = 2404
- string title = "供应商对数单"
- boolean maxbox = true
- windowstate windowstate = maximized!
- event retrieve_childdw ( )
- event retrieve_uc ( )
- event refresh_interface ( )
- event ue_f7 ( )
- event ue_f8 ( )
- event ue_f9 ( )
- event ue_f10 ( )
- event ue_f6 ( )
- event ue_f11 ( )
- event ue_f12 ( )
- event ue_addzy ( )
- event retrieve_childdw_uc ( )
- dw_uc dw_uc
- dw_child dw_child
- cb_delet cb_delet
- cb_addzy cb_addzy
- cb_auditing cb_auditing
- cb_cauditing cb_cauditing
- cb_print cb_print
- cb_retrieve cb_retrieve
- st_3 st_3
- ddlb_status ddlb_status
- cb_help cb_help
- cb_add cb_add
- cb_edit cb_edit
- cb_reset cb_reset
- ln_bar ln_bar
- ln_bar2 ln_bar2
- r_bar r_bar
- ln_1 ln_1
- ln_2 ln_2
- end type
- global w_buybill w_buybill
- type variables
- int child_column_int=1,uc_column_int=1
- uo_buybill uo_bill
- int cur_flag = -1
- long dw_child_w,dw_child_h,dw_pageretr_w,dw_pageretr_h
- String ls_newname = ''
- Long ll_prownum
- Long ls_powerid
- Int li_auditprint
- String ls_rpname = ''
- end variables
- forward prototypes
- public function integer wf_refresh_interface ()
- public function integer wf_lock_child ()
- public function integer wf_lock_uc ()
- public subroutine wf_autoadd_mx ()
- public function integer wf_refresh_curuc (long arg_buybillid)
- public subroutine wf_addnew (long arg_scid, long arg_id)
- end prototypes
- event retrieve_childdw;long row,uc_relid
- row=dw_pageretr.getrow()
- if row>0 then
- uc_relid=dw_pageretr.object.u_buybill_buybillid[row]
- dw_child.SetRedraw (false)
- dw_child.retrieve(uc_relid)
- dw_child.SetRedraw (true)
- else
- dw_child.reset()
- end if
- end event
- event refresh_interface;//被 wf_refresh_interface() 调用,用于界面刷新
- end event
- event ue_f7;//cb_add_xm.triggerevent(clicked!)
- end event
- event ue_f8;////用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用
- //long child_row
- //if child_row=0 then
- // messagebox('系统提示','请选定目标明细行!')
- // return
- //end if
- //
- //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=trim(dw_child.object.u_mtrldef_mtrlcode[child_row])
- //
- //OPENwithparm(W_materiel,s_ch_tran) //调用
- //
- //S_materiel S_INSCUST
- //S_INSCUST=Message.PowerObjectParm //接受返回结构
- //IF S_INSCUST.mtrlid>0 THEN //正常返回值则可以取以下值
- //
- //dw_child.object.u_mtrldef_mtrlcode[child_row]
- //dw_child.object.u_mtrldef_unit[child_row]
- //dw_child.object.u_wasterinwaremx_mtrlid[child_row]
- //dw_child.object.u_wasterinwaremx_planprice[child_row]
- //dw_child.object.u_mtrldef_mtrlname[child_row]
- //
- ////S_INSCUST.mtrlid
- ////S_INSCUST.mtrlname
- ////S_INSCUST.mtrlcode
- ////S_INSCUST.unit
- ////S_INSCUST.mtrltype
- ////S_INSCUST.mtrlmode
- ////S_INSCUST.planprice
- //
- ////S_INSCUST.storageid
- ////S_INSCUST.cost
- ////S_INSCUST.price
- ////S_INSCUST.descrp
- ////S_INSCUST.source
- //END IF
- //
- end event
- event ue_f9();if not dw_edit_mode then return
- long child_row
- child_row=dw_uc.getrow()
- if child_row=0 then
- messagebox('提示','请选定单据!',information!,ok!)
- return
- end if
- if not isvalid(W_spt_edit) then
- s_edit_index_tran s_ch_tran //传递参数使用
- s_ch_tran.if_retrieve_all=local_retrieve_all //是否一次RETRIEVE所有行
- s_ch_tran.work_mode=1 //0-单纯编辑模式 1-选择\编辑模式
- s_ch_tran.arg_pkid=0 //目标定位PKID (备用)
- s_ch_tran.arg_string_code=''//查询列(物料编码)部分内容,用于初步筛选
- OPENwithparm(W_spt_edit,s_ch_tran) //调用
- s_spt S_INSCUST
- S_INSCUST=Message.PowerObjectParm //接受返回结构
- IF S_INSCUST.sptid>0 THEN //正常返回值则可以取以下值
- dw_uc.setredraw(false)
- dw_uc.object.u_buybill_sptid[child_row]=S_INSCUST.sptid
- dw_uc.object.u_spt_name[child_row]=S_INSCUST.name
- dw_uc.object.u_spt_sptcode[child_row]=S_INSCUST.sptcode
- dw_uc.setredraw(true)
- END IF
- wf_autoadd_mx()
- dw_uc.setcolumn("u_buybill_billtype")
- end if
-
- end event
- event ue_addzy();if not f_power_ind(524) then
- messagebox('提示','你没有使用权限!',information!,ok!)
- return
- end if
- if dw_edit_mode then return
- string arg_msg='',LS_STR
- long uc_row
- s_inputbox S_SREU
- uc_row=dw_pageretr.getrow()
- if uc_row<=0 then
- messagebox('提示','请选定当前目标单据!',information!,ok!)
- return
- end if
- S_SREU.TITLE='请输入要补充到备注的内容'
- S_SREU.OLD_TEXT=''
- openwithparm(w_inputbox,S_SREU)
- LS_STR=Message.StringParm
- if trim(LS_STR)='' or isnull(LS_STR) then return
- if uo_bill.add_dscrp(dw_pageretr.object.u_buybill_buybillid[uc_row],LS_STR,arg_msg,true)=0 then
- messagebox('错误',arg_msg,stopsign!,ok!)
- return
- else
- messagebox('提示','添加备注操作成功!',information!,ok!)
- wf_refresh_curuc(dw_pageretr.object.u_buybill_buybillid[uc_row])
- end if
- end event
- event retrieve_childdw_uc();IF NOT dw_edit_mode THEN
- dw_uc.Reset()
- dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
- END IF
- end event
- public function integer wf_refresh_interface ();//wf_refresh_interface
- IF dw_edit_mode THEN
- cb_addzy.enabled=FALSE
- cb_retrieve.ENABLED=FALSE
- cb_delet.ENABLED=FALSE
- cb_print.ENABLED=FALSE
- cb_auditing.ENABLED=FALSE
- cb_cauditing.ENABLED=FALSE
- cb_func.ENABLED=FALSE
- cb_edit.Enabled = TRUE
- cb_add.Enabled = TRUE
- cb_reset.Enabled = TRUE
- cb_edit.Text = "放弃&E"
- cb_add.Text = "保存&S"
- cb_edit.normalpicname = 'Undo.bmp'
- cb_add.normalpicname = 'Save.bmp'
- dw_pageretr.RBUTTON_FILTER_USE=false //右键查询功能开关
- dw_pageretr.titleclick_sort_use=false //单击标题排序功能开关
-
- dw_child.dataobject='dw_buybillmx_index'
- dw_child.SetTransObject (sqlca)
- dw_child.RESET()
- ELSE
- cb_addzy.enabled=TRUE
- cb_retrieve.ENABLED=TRUE
- cb_delet.ENABLED=TRUE
- cb_print.ENABLED=TRUE
- cb_auditing.ENABLED=true
- cb_cauditing.ENABLED=true
- cb_func.ENABLED=true
- cb_add.Enabled = TRUE
- cb_edit.Enabled = TRUE
- cb_edit.Text = "修改&E"
- cb_add.Text = "新建&S"
- cb_edit.normalpicname = 'OPEN.bmp'
- cb_add.normalpicname = 'new.bmp'
- dw_pageretr.RBUTTON_FILTER_USE=true //右键查询功能开关
- dw_pageretr.titleclick_sort_use=true //单击标题排序功能开关
-
- dw_child.dataobject='dw_buybillmx_edit'
- dw_child.SetTransObject (sqlca)
- this.triggerevent('retrieve_childdw')
- if dw_pageretr.getrow()<=0 then
- cb_addzy.ENABLED=false
- cb_auditing.ENABLED=false
- end if
- END IF
- if retrieve_all or dw_edit_mode then
-
- cb_nextpage.enabled=false
- cb_retrieveall.enabled=false
- em_pagerowno.enabled=false
- sle_usual_query.enabled=false
- Else
-
- cb_nextpage.enabled=true
- cb_retrieveall.enabled=TRUE
- em_pagerowno.enabled=true
- sle_usual_query.enabled=true
- end if
- wf_lock_child()
- wf_lock_uc()
- cb_edit.of_init_draw()
- cb_add.of_init_draw()
- cb_edit.of_paint()
- cb_add.of_paint()
- cb_add.TriggerEvent('ue_textchange')
- cb_edit.TriggerEvent('ue_textchange')
- this.triggerevent('refresh_interface')
- RETURN 1
- end function
- public function integer wf_lock_child ();//wf_lock_child
- INT LS_INT
- IF dw_edit_mode THEN
- FOR LS_INT=1 TO child_column_int
- dw_child.SetTabOrder (LS_INT,LS_INT*10 )
- NEXT
- ELSE
- FOR LS_INT=1 TO child_column_int
- dw_child.SetTabOrder (LS_INT, 0)
- NEXT
- END IF
- RETURN 1
- end function
- public function integer wf_lock_uc ();//wf_lock_uc
- INT LS_INT
- long ls_row
- ls_row=dw_uc.getrow()
- IF dw_edit_mode THEN
- FOR LS_INT=1 TO uc_column_int
- dw_uc.SetTabOrder (LS_INT,LS_INT*10 )
- NEXT
- ELSE
- FOR LS_INT=1 TO uc_column_int
- dw_uc.SetTabOrder (LS_INT, 0)
- NEXT
- END IF
- if ls_row>0 then dw_uc.setrow(ls_row)
- RETURN 1
- end function
- public subroutine wf_autoadd_mx ();Long ucrow,ls_sptid,li_row
- Long ls_payid
- String ls_billcode
- Decimal ls_oriamt,ls_Mstpayamt,ls_payamt
- DateTime ls_paydate
- ucrow = dw_uc.GetRow()
- IF ucrow <= 0 THEN RETURN
- ls_sptid = dw_uc.Object.u_buybill_sptid[ucrow]
- IF ls_sptid = 0 THEN
- dw_child.Reset()
- RETURN
- END IF
- dw_child.Reset()
- dw_uc.AcceptText()
- IF dw_uc.Object.u_buybill_billtype[ucrow] = 1 THEN
- DECLARE pay_cur CURSOR FOR
- SELECT U_Bmstpay.payid,
- U_Bmstpay.Billcode,
- U_Bmstpay.oriamt,
- U_Bmstpay.Mstpayamt,
- U_Bmstpay.payamt,
- U_Bmstpay.paydate
- FROM U_Bmstpay
- WHERE U_Bmstpay.finishflag = 0 AND sptid = :ls_sptid AND
- (U_Bmstpay.Mstpayamt - U_Bmstpay.payamt) > 0 AND (U_Bmstpay.Mstpayamt <> 0)
- Order By U_Bmstpay.paydate Asc ;
-
- OPEN pay_cur;
- FETCH pay_cur INTO :ls_payid,:ls_billcode,:ls_oriamt,:ls_Mstpayamt,:ls_payamt,:ls_paydate;
- DO WHILE sqlca.SQLCode = 0
- li_row = dw_child.InsertRow(0)
- dw_child.Object.payid [li_row] = ls_payid
- dw_child.Object.paydate[li_row] = ls_paydate
- dw_child.Object.oriamt[li_row] = ls_oriamt
- dw_child.Object.billcode[li_row] = ls_billcode
- dw_child.Object.mainmstpayamt[li_row] = ls_Mstpayamt
- dw_child.Object.mainpayamt[li_row] = ls_payamt
-
- FETCH pay_cur INTO :ls_payid,:ls_billcode,:ls_oriamt,:ls_Mstpayamt,:ls_payamt,:ls_paydate;
- LOOP
-
- CLOSE pay_cur;
-
- ELSE
- DECLARE pay_cur1 CURSOR FOR
- SELECT U_Bmstpay.payid,
- U_Bmstpay.Billcode,
- U_Bmstpay.oriamt,
- U_Bmstpay.Mstpayamt,
- U_Bmstpay.payamt,
- U_Bmstpay.paydate
- FROM U_Bmstpay
- WHERE U_Bmstpay.finishflag = 0 AND sptid = :ls_sptid AND
- (U_Bmstpay.Mstpayamt - U_Bmstpay.payamt) < 0 AND (U_Bmstpay.Mstpayamt <> 0)
- Order By U_Bmstpay.paydate Asc ;
-
- OPEN pay_cur1;
- FETCH pay_cur1 INTO :ls_payid,:ls_billcode,:ls_oriamt,:ls_Mstpayamt,:ls_payamt,:ls_paydate;
- DO WHILE sqlca.SQLCode = 0
- li_row = dw_child.InsertRow(0)
- dw_child.Object.payid [li_row] = ls_payid
- dw_child.Object.paydate[li_row] = ls_paydate
- dw_child.Object.oriamt[li_row] = ls_oriamt
- dw_child.Object.billcode[li_row] = ls_billcode
- dw_child.Object.mainmstpayamt[li_row] = ls_Mstpayamt
- dw_child.Object.mainpayamt[li_row] = ls_payamt
-
- FETCH pay_cur1 INTO :ls_payid,:ls_billcode,:ls_oriamt,:ls_Mstpayamt,:ls_payamt,:ls_paydate;
- LOOP
-
- CLOSE pay_cur1;
-
-
- END IF
- // payid
- // u_bmstpay_paydate
- // u_bmstpay_oriamt
- // u_bmstpay_billcode
- // u_bmstpay_mstpayamt
- // u_bmstpay_payamt
- //
- end subroutine
- public function integer wf_refresh_curuc (long arg_buybillid);//wf_refresh_curuc
- if arg_buybillid<=0 or isnull(arg_buybillid) then return 0
- long uc_row
- uc_row=dw_pageretr.getrow()
- if uc_row<=0 then return 0
- string relcode,dscrp,opemp,auditrep,inrep,buybillcode
- datetime paydate,opdate,auditdate
- decimal mstpayamt,payamt
- long sptid,moneyid
- int flag
- long itemid
- SELECT u_buybill.relcode,
- u_buybill.paydate,
- u_buybill.mstpayamt,
- u_buybill.payamt,
- u_buybill.sptid,
- u_buybill.dscrp,
- u_buybill.opdate,
- u_buybill.opemp,
- u_buybill.auditdate,
- u_buybill.auditrep,
- u_buybill.flag,
- u_buybill.inrep ,
- u_buybill.buybillcode,
- u_buybill.moneyid,
- u_buybill.itemid
- into :relcode,
- :paydate,
- :mstpayamt,
- :payamt,
- :sptid,
- :dscrp,
- :opdate,
- :opemp,
- :auditdate,
- :auditrep,
- :flag,
- :inrep,
- :buybillcode,
- :moneyid,
- :itemid
- FROM u_buybill
- WHERE ( u_buybill.buybillid = :arg_buybillid ) ;
- if sqlca.sqlcode<>0 then
- messagebox('错误',"查询操作失败(错误单据唯一码)>> "+sqlca.sqlerrtext,stopsign!,ok!)
- return 0
- end if
- dw_pageretr.object.u_buybill_buybillid[uc_row]=arg_buybillid
- dw_pageretr.object.u_buybill_paydate[uc_row]=paydate
- dw_pageretr.object.u_buybill_relcode[uc_row]=relcode
- dw_pageretr.object.u_buybill_inrep[uc_row]=inrep
- dw_pageretr.object.u_buybill_mstpayamt[uc_row]=mstpayamt
- dw_pageretr.object.u_buybill_payamt[uc_row]=payamt
- dw_pageretr.object.u_buybill_dscrp[uc_row]=dscrp
- dw_pageretr.object.u_buybill_sptid[uc_row]=sptid
- dw_pageretr.object.u_buybill_opdate[uc_row]=opdate
- dw_pageretr.object.u_buybill_opemp[uc_row]=opemp
- dw_pageretr.object.u_buybill_auditdate[uc_row]=auditdate
- dw_pageretr.object.u_buybill_auditrep[uc_row]=auditrep
- dw_pageretr.object.u_buybill_flag[uc_row]=flag
- dw_pageretr.object.u_buybill_buybillcode[uc_row]=buybillcode
- dw_pageretr.object.u_buybill_moneyid[uc_row]=moneyid
- dw_pageretr.object.u_buybill_itemid[uc_row]=itemid
- dw_uc.Reset()
- dw_pageretr.RowsCopy(dw_pageretr.GetRow(),dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
- dw_uc.ResetUpdate()
- dw_uc.SetRedraw(TRUE)
- //wf_flagstatus_rf()
- return 1
- // u_buybill_buybillid
- // u_buybill_paydate
- // u_buybill_relcode
- // u_buybill_inrep
- // u_buybill_mstpayamt
- // u_buybill_payamt
- // u_buybill_paytype
- // u_buybill_dscrp
- // u_buybill_sptid
- // u_buybill_opdate
- // u_buybill_opemp
- // u_buybill_auditdate
- // u_buybill_auditrep
- // u_buybill_flag
- end function
- public subroutine wf_addnew (long arg_scid, long arg_id);String ls_sptcode,ls_sptname
- Long uc_row
- IF arg_id = 0 THEN RETURN
- cb_add.TriggerEvent( 'clicked')
- uc_row = dw_uc.GetRow( )
- SELECT sptcode,name
- INTO :ls_sptcode,:ls_sptname
- FROM u_spt
- Where sptid = :arg_id;
-
- dw_uc.SetRedraw(FALSE)
- IF sqlca.SQLCode <> 0 THEN
- THIS.TriggerEvent('ue_f9')
- ELSE
- dw_uc.Object.u_buybill_sptid[uc_row] = arg_id
- dw_uc.Object.u_spt_name[uc_row] = ls_sptname
- dw_uc.Object.u_spt_sptcode[uc_row] = ls_sptcode
- wf_autoadd_mx()
- END IF
- dw_uc.SetRedraw(TRUE)
- dw_uc.SetColumn("u_buybill_billtype")
- end subroutine
- on w_buybill.create
- int iCurrent
- call super::create
- this.dw_uc=create dw_uc
- this.dw_child=create dw_child
- this.cb_delet=create cb_delet
- this.cb_addzy=create cb_addzy
- this.cb_auditing=create cb_auditing
- this.cb_cauditing=create cb_cauditing
- this.cb_print=create cb_print
- this.cb_retrieve=create cb_retrieve
- this.st_3=create st_3
- this.ddlb_status=create ddlb_status
- this.cb_help=create cb_help
- this.cb_add=create cb_add
- this.cb_edit=create cb_edit
- this.cb_reset=create cb_reset
- 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
- iCurrent=UpperBound(this.Control)
- this.Control[iCurrent+1]=this.dw_uc
- this.Control[iCurrent+2]=this.dw_child
- this.Control[iCurrent+3]=this.cb_delet
- this.Control[iCurrent+4]=this.cb_addzy
- this.Control[iCurrent+5]=this.cb_auditing
- this.Control[iCurrent+6]=this.cb_cauditing
- this.Control[iCurrent+7]=this.cb_print
- this.Control[iCurrent+8]=this.cb_retrieve
- this.Control[iCurrent+9]=this.st_3
- this.Control[iCurrent+10]=this.ddlb_status
- this.Control[iCurrent+11]=this.cb_help
- this.Control[iCurrent+12]=this.cb_add
- this.Control[iCurrent+13]=this.cb_edit
- this.Control[iCurrent+14]=this.cb_reset
- this.Control[iCurrent+15]=this.ln_bar
- this.Control[iCurrent+16]=this.ln_bar2
- this.Control[iCurrent+17]=this.r_bar
- this.Control[iCurrent+18]=this.ln_1
- this.Control[iCurrent+19]=this.ln_2
- end on
- on w_buybill.destroy
- call super::destroy
- destroy(this.dw_uc)
- destroy(this.dw_child)
- destroy(this.cb_delet)
- destroy(this.cb_addzy)
- destroy(this.cb_auditing)
- destroy(this.cb_cauditing)
- destroy(this.cb_print)
- destroy(this.cb_retrieve)
- destroy(this.st_3)
- destroy(this.ddlb_status)
- destroy(this.cb_help)
- destroy(this.cb_add)
- destroy(this.cb_edit)
- destroy(this.cb_reset)
- destroy(this.ln_bar)
- destroy(this.ln_bar2)
- destroy(this.r_bar)
- destroy(this.ln_1)
- destroy(this.ln_2)
- end on
- event closequery;IF dw_edit_mode THEN
- Int ls_row = 0
- dw_UC.AcceptText()
- ls_row = dw_UC.GetNextModified(0, Primary!)+&
- dw_UC.GetNextModified(0, Filter!)+dw_UC.DeletedCount()
- IF ls_row > 0 THEN
- IF MessageBox('询问','单据数据已经改变,是否先保存?',Question!,YesNo!,1 ) = 1 THEN
- RETURN 1
- END IF
- ELSE
-
- ls_row = dw_child.GetNextModified(0, Primary!)+&
- dw_child.GetNextModified(0, Filter!)+dw_child.DeletedCount()
- IF ls_row > 0 THEN
- IF MessageBox('询问','单据明细数据已经改变,是否先保存?',Question!,YesNo!,1 ) = 1 THEN
- RETURN 1
- END IF
- END IF
- END IF
- END IF
- end event
- event user_key;call super::user_key;IF KeyDown(KeyF6!) THEN
- this.TRIGGEREVENT('ue_f6')
- ELSEIF KeyDown(KeyF7!) THEN
- this.TRIGGEREVENT('ue_f7')
- ELSEIF KeyDown(KeyF8!) or KeyDown(KeyShift!) and KeyDown(KeyEnter!) THEN
- this.TRIGGEREVENT('ue_f8')
- ELSEIF KeyDown(KeyF9!) THEN
- this.TRIGGEREVENT('ue_f9')
- ELSEIF KeyDown(KeyF10!) THEN
- this.TRIGGEREVENT('ue_f10')
- ELSEIF KeyDown(KeyF11!) THEN
- this.TRIGGEREVENT('ue_f11')
- ELSEIF KeyDown(KeyF12!) THEN
- this.TRIGGEREVENT('ue_f12')
- elseIF KeyDown(KeyF1!) THEN
- this.TriggerEvent("ue_help")
-
- end if
- end event
- event open;this.triggerevent('ue_before_open')
- wf_movetocenter()
- OLD_TITLE=THIS.TITLE
- s_tran=Message.PowerObjectParm
- IF not ISNULL(s_tran) then
- retrieve_all=s_tran.if_retrieve_all
- mode=s_tran.work_mode
- arg_pkid=s_tran.arg_pkid
- arg_string_code=s_tran.arg_string_code
- if_sharedata=s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效
- ds_share=s_tran.ds_share
- end if
- //CHOOSE CASE MODE
- // CASE 0
- // THIS.TITLE=OLD_TITLE+' 编辑模式 [F4-新建/保存 F5-编辑/放弃]'
- // CASE 1
- // THIS.TITLE=OLD_TITLE+' 选择模式 [F4-新建/保存 F5-编辑/放弃]'
- //END CHOOSE
- dw_pageretr.RBUTTON_FILTER_USE=true //右键查询功能开关
- dw_pageretr.titleclick_sort_use=true //单击标题排序功能开关
-
- dw_pageretr.SetTransObject (sqlca)
- //pkcolumndbtname=dw_pageretr.Describe("#1.dbname") //取第一列为关键字
- pkcolumndbtname=wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
- ori_oldselect=dw_pageretr.Describe("DataWindow.Table.Select")
- ls_newselect=ori_oldselect
- ds_curquery=CREATE DATASTORE
- ds_curquery.DATAOBJECT='d_extr_find'
- ds_curquery.SetTransObject (sqlca)
- //if mode=1 then cb_mode_itfchg.TRIGGEREVENT(CLICKED!)
- wf_editindex_lockf()
- sle_usual_query.text=trim(arg_string_code)
- if NOT retrieve_all then
- THIS.TRIGGEREVENT("ue_usual_query_RETR") //修改ls_newselect,retrieve
- else
- if if_sharedata then
- ds_share.sharedata(dw_pageretr)
- else
- wf_retrieveuc(dw_pageretr,ls_newselect,1)
- this.TRIGGEREVENT('RETRIEVE_pageretr')
-
- end if
- end if
- IF retrieve_all THEN
- THIS.TRIGGEREVENT("ue_usual_query_filt")
- END IF
- wf_refresh_interface()
- uc_column_int=13 //uc dw前8列可以编辑
- child_column_int=2 //子dw前4列可以编辑
- uo_bill=create uo_buybill
- IF not ISNULL(s_tran) then
-
- if s_tran.b_long>0 then
-
- wf_addnew(s_tran.c_long , s_tran.b_long)
-
- end if
-
- end if
- end event
- event ue_before_open;dw_child.settransobject(sqlca)
- dw_uc.settransobject(sqlca)
- end event
- event retrieve_pageretr;boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled
- boolean cb_priorpage_enabled,cb_retrieve_enabled
-
- cb_nextpage_enabled=cb_nextpage.enabled
- cb_retrieveall_enabled=cb_retrieveall.enabled
-
- cb_nextpage.enabled=false
- cb_retrieveall.enabled=false
- dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数
- dw_pageretr.retrieve(cur_flag,sys_user_spttype)
- IF dw_pageretr.RowCount() > 0 THEN
- dw_pageretr.SetRow(1)
- dw_pageretr.triggerevent(rowfocuschanged!)
- end if
- this.triggerevent('retreve_childdw')
-
- cb_nextpage.enabled=cb_nextpage_enabled
- cb_retrieveall.enabled=cb_retrieveall_enabled
- end event
- event key;this.triggerevent('user_key')
- end event
- event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
- ls_newselect=lower(ori_oldselect)
- if trim(sle_usual_query.text)<>'' then
- if pos(trim(sle_usual_query.text),'%')=0 then
- ls_querystrpart="( u_buybill.buybillcode like '%"+trim(sle_usual_query.text)+"%')"
- else
- ls_querystrpart="( u_buybill.buybillcode like '"+trim(sle_usual_query.text)+"')"
- end if
- if Pos(ls_newselect," where ") <> 0 then
- ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
- else
- ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
- end if
- end if
- wf_retrieveuc(dw_pageretr,ls_newselect,1)
- this.triggerevent('retrieve_pageretr')
- end event
- event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
- if trim(sle_usual_query.text)<>'' then
- IF POS(trim(sle_usual_query.text),'%')=0 THEN
- obj_expr=obj_expr+'( u_buybill_buybillcode LIKE "%'+trim(sle_usual_query.text)+'%" )'
- ELSE
- obj_expr=obj_expr+'( u_buybill_buybillcode LIKE "'+trim(sle_usual_query.text)+'" )'
- END IF
- end if
- dw_pageretr.setfilter(obj_expr)
- dw_pageretr.SetRedraw(False)
- dw_pageretr.filter()
- if dw_pageretr.rowcount()>=1 then
- dw_pageretr.selectrow(0,false)
- dw_pageretr.selectrow(1,true)
- end if
- dw_pageretr.SetRedraw(TRUE)
- end event
- event 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 = 3602
- w_height = 2300
- IF newwidth < w_width THEN THIS.Width = w_width
- IF newheight < w_height THEN THIS.Height = w_height
- dw_child.Width = THIS.Width - (w_width - dw_child_w)
- dw_child.Height = THIS.Height - (w_height - dw_child_h)
- dw_pageretr.Width = THIS.Width - (w_width - dw_pageretr_w)
- end event
- type cb_func from w_publ_pageretr`cb_func within w_buybill
- integer x = 151
- integer y = 0
- integer width = 151
- integer height = 172
- end type
- type cb_exit from w_publ_pageretr`cb_exit within w_buybill
- integer x = 1888
- integer y = 0
- integer width = 151
- integer height = 172
- integer taborder = 230
- 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_buybill
- integer x = 251
- integer y = 188
- integer width = 549
- boolean bringtotop = true
- end type
- type cb_retrieveall from w_publ_pageretr`cb_retrieveall within w_buybill
- integer x = 2473
- integer height = 172
- integer taborder = 180
- 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_buybill
- integer x = 2130
- integer y = 52
- integer width = 334
- integer taborder = 160
- boolean bringtotop = true
- end type
- type dw_pageretr from w_publ_pageretr`dw_pageretr within w_buybill
- integer x = 2025
- integer y = 296
- integer width = 1536
- integer height = 1000
- boolean bringtotop = true
- string title = "单据摘要内容"
- string dataobject = "dw_buybilledit_index"
- end type
- event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;IF NOT dw_edit_mode THEN
- PARENT.TriggerEvent('retrieve_childdw_uc')
- PARENT.TriggerEvent('retrieve_childdw')
- END IF
- DW_UC.SETROW(currentrow)
- DW_UC.ScrollToRow (currentrow)
- end event
- event dw_pageretr::ue_after_filter;if not dw_edit_mode then parent.triggerevent('retrieve_childdw')
- end event
- event dw_pageretr::constructor;call super::constructor;dw_pageretr_w = this.width
- dw_pageretr_h = this.height
- end event
- type st_1 from w_publ_pageretr`st_1 within w_buybill
- integer x = 46
- integer y = 208
- integer width = 201
- string text = "单号含:"
- end type
- type cb_nextpage from w_publ_pageretr`cb_nextpage within w_buybill
- integer x = 2638
- integer width = 64
- integer height = 172
- integer taborder = 220
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- type dw_uc from datawindow within w_buybill
- event dwnkey pbm_dwnkey
- integer x = 14
- integer y = 296
- integer width = 2007
- integer height = 1004
- integer taborder = 80
- string dataobject = "dw_buybilledit_edit"
- boolean livescroll = true
- borderstyle borderstyle = stylelowered!
- end type
- event dwnkey;parent.triggerevent('user_key')
- string ls_sptcode
- string ls_sptname
- long ll_sptid,uc_row
- uc_row=dw_uc.getrow()
- if dw_uc.GetColumnName ( )='u_spt_sptcode' and key = KeyEnter! then
- dw_uc.accepttext()
- ls_sptcode=trim(dw_uc.object.u_spt_sptcode[uc_row])
- select sptid,name into :ll_sptid,:ls_sptname from u_spt where sptcode=:ls_sptcode;
- dw_uc.setredraw(false)
- if sqlca.sqlcode<>0 then
- parent.triggerevent('ue_f9')
- return 1
- else
- dw_uc.object.u_buybill_sptid[uc_row]=ll_sptid
- dw_uc.object.u_spt_name[uc_row]=ls_sptname
- wf_autoadd_mx()
- end if
- dw_uc.setredraw(true)
- dw_uc.SetColumn("u_buybill_billtype")
- return 1
-
- else
- If key = KeyEnter! or key = Keydownarrow! Then //
- keybd_event ( 9, 0, 0 , 0 ) // 按下tab
- keybd_event ( 9, 0, 2, 0 ) // 释放tab
- Return 1
- elseif key = Keyuparrow! then
- keybd_event ( 16, 0, 0 , 0 )
- keybd_event ( 9, 0, 0 , 0 )
- keybd_event ( 9, 0, 2, 0 )
- keybd_event ( 16, 0, 2, 0 )
- return 1
- End If
- end if
- //parent.triggerevent('user_key')
- //If key = KeyEnter! Then //
- //keybd_event ( 9, 0, 0 , 0 ) // 按下tab
- //keybd_event ( 9, 0, 2, 0 ) // 释放tab
- //Return 1
- //End If
- //
- end event
- event rowfocuschanged;IF not dw_edit_mode then
- if currentrow >0 THEN
- dw_pageretr.SETROW(currentrow)
- dw_pageretr.ScrollToRow(currentrow)
- dw_pageretr.selectrow(0,false)
- dw_pageretr.selectrow(currentrow,true)
- end if
- // parent.triggerevent('retrieve_childdw')
- end if
- //if currentrow>0 and not dw_edit_mode then
- // if dw_uc.object.flag[currentrow]=1 then
- // cb_auditing.enabled=false
- // cb_delet.enabled=false
- // cb_edit.enabled=false
- // cb_addzy.enabled=true
- // else
- // cb_auditing.enabled=true
- // cb_delet.enabled=true
- // cb_edit.enabled=true
- // cb_addzy.enabled=false
- // end if
- //else
- // cb_auditing.enabled=false
- // cb_delet.enabled=false
- // cb_edit.enabled=false
- // cb_addzy.enabled=false
- //end if
- end event
- event rowfocuschanging;if dw_edit_mode then return 1
- end event
- event doubleclicked;IF dw_edit_mode and row >0 THEN
- parent.triggerevent('ue_f9')
- END IF
- end event
- event itemchanged;IF NOT dw_edit_mode THEN RETURN
- IF row <= 0 THEN RETURN
- IF dw_uc.GetColumnName ( ) = 'u_sptt_sptcode' THEN
- String ls_code,ls_name,ls_spttype
- Long ls_sptid
-
- dw_uc.AcceptText()
- ls_code = dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()]
- SELECT u_spt.sptid,
- u_spt.name,
- u_spt.spttype
- INTO :ls_sptid,:ls_name,:ls_spttype
- FROM u_spt
- Where (sptcode = :ls_code);
-
- dw_uc.SetRedraw(FALSE)
- IF sqlca.SQLCode <> 0 THEN
- dw_uc.Object.u_buybill_sptid[dw_uc.GetRow()] = 0
- dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()] = ''
- dw_uc.Object.u_spt_name[dw_uc.GetRow()] = ''
- ELSE
- dw_uc.Object.u_salebill_sptid[dw_uc.GetRow()] = ls_sptid
- dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()] = ls_code
- dw_uc.Object.u_spt_name[dw_uc.GetRow()] = ls_name
- END IF
-
- wf_autoadd_mx()
- dw_uc.SetRedraw(TRUE)
-
- ELSEIF dw_uc.GetColumnName ( ) = 'u_buybill_billtype' THEN
- wf_autoadd_mx()
- END IF
- end event
- event buttonclicked;IF dw_edit_mode and row >0 THEN
- parent.triggerevent('ue_f9')
- END IF
- end event
- type dw_child from u_dw_rbtnfilter within w_buybill
- event dwnkey pbm_dwnkey
- integer x = 5
- integer y = 1300
- integer width = 3543
- integer height = 876
- integer taborder = 30
- boolean bringtotop = true
- boolean titlebar = true
- string title = "单据明细摘要内容"
- string dataobject = "dw_buybillmx_edit"
- boolean maxbox = true
- boolean hscrollbar = true
- boolean vscrollbar = true
- boolean resizable = true
- boolean hsplitscroll = true
- borderstyle borderstyle = stylebox!
- end type
- event dwnkey;call super::dwnkey;If key = KeyEnter! Then //
- keybd_event ( 9, 0, 0 , 0 ) // 按下tab
- keybd_event ( 9, 0, 2, 0 ) // 释放tab
- return 1
- End If
- parent.triggerevent('user_key')
- end event
- event constructor;call super::constructor;titleclick_sort_use=true
- dw_child_h = THIS.Height
- dw_child_w = THIS.Width
- end event
- event clicked;call super::clicked;IF row>0 and dw_edit_mode THEN
- this.setrow(row)
- end if
- end event
- event rowfocuschanged;//IF dw_edit_mode THEN RETURN
- IF currentrow <=0 THEN RETURN
- this.selectrow(0,false)
- this.selectrow(currentrow,true)
- end event
- type cb_delet from uo_imflatbutton within w_buybill
- integer x = 631
- integer width = 151
- integer height = 172
- integer taborder = 250
- boolean bringtotop = true
- string text = "删除"
- string normalpicname = "delete.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;IF Not f_power_ind(655) THEN
- MessageBox('提示','你没有使用权限!',information!,ok!)
- RETURN
- END IF
- IF dw_edit_mode THEN RETURN
- IF Not KeyDown(KeyControl!) THEN
- IF MessageBox ("询问","是否确定要删除当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
-
- String arg_msg = ''
- Long uc_row
-
- uc_row = dw_pageretr.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('提示','请选定当前目标单据!',information!,ok!)
- RETURN
- END IF
-
- string ll_buydscrp
- long ll_buybillid
- ll_buybillid = dw_pageretr.Object.u_buybill_buybillid[uc_row]
- Select dscrp Into :ll_buydscrp From u_buybill Where buybillid=:ll_buybillid ;
- IF trim(ll_buydscrp) = "供应商付款结算单自动生成" THEN
- MessageBox('错误',"单据为自动建立类型单据,请撤审相关单据。")
- return
- END IF
- IF uo_bill.del(dw_pageretr.Object.u_buybill_buybillid[uc_row],arg_msg,True) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,ok!)
- ELSE
- MessageBox('提示','删除单据'+String(dw_pageretr.Object.u_buybill_buybillcode[uc_row])+'成功!',information!,ok!)
-
- //日志
- Long ls_id,ls_curid
- String ls_code,ls_opemp
- ls_id = dw_pageretr.Object.u_buybill_buybillid[uc_row]
- ls_curid = dw_pageretr.Object.u_buybill_sptid[uc_row]
- ls_code = dw_pageretr.Object.u_buybill_buybillcode[uc_row]
- ls_opemp = dw_pageretr.Object.u_buybill_opemp[uc_row]
- f_setsysoplog('供应商对数单','供应商对数单删除,ID:'+String(ls_id)+',供应商ID:'+String(ls_curid)+',code:'+ls_code+',建立人:'+ls_opemp,arg_msg,True)
-
- dw_pageretr.DeleteRow(uc_row)
- dw_pageretr.PostEvent(RowFocusChanged!)
- END IF
- ELSE
- IF MessageBox ("询问","是否确定要批删除列表中未审核的单据?",Question!,YesNo! ) = 2 THEN RETURN
-
- Long ll_billid, ll_i
- String ls_msg , ll_dscrp
- Int li_flag
- Long ll_suc,ll_fail
- dw_pageretr.AcceptText()
-
- // li_flag = dw_pageretr.Object.u_buybill_flag[dw_pageretr.GetRow()]
-
- Open(w_sys_wait_jdt) //初始化进度条
- w_sys_wait_jdt.Show()
- w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
-
- FOR ll_i = 1 To dw_pageretr.RowCount()
- w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.u_buybill_buybillcode[ll_i] + " 正在删除..." //进度信息
-
- li_flag = dw_pageretr.Object.u_buybill_flag[ll_i]
- IF li_flag = 1 THEN CONTINUE
- ll_billid = dw_pageretr.Object.u_buybill_buybillid[ll_i]
- // ls_taskcode = dw_pageretr.Object.u_salebill_salebillcode[ll_i]
- Select dscrp Into :ll_buydscrp From u_buybill Where buybillid=:ll_billid ;
- IF trim(ll_buydscrp) = "供应商付款结算单自动生成" THEN
- ll_fail++
- ls_msg = "单据为自动建立类型单据,请撤审相关单据。"
- CONTINUE
- END IF
-
- IF uo_bill.del(ll_billid,arg_msg,True) = 0 THEN
- ll_fail++
- CONTINUE
- END IF
- ll_suc++
-
- w_sys_wait_jdt.wf_inc(ll_i) //进度
- NEXT
- Close(w_sys_wait_jdt)
- MessageBox('提示','批删除成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail) + ls_msg,information!,ok!)
- Parent.TriggerEvent('retrieve_pageretr')
- END IF
- end event
- type cb_addzy from uo_imflatbutton within w_buybill
- integer x = 1335
- integer width = 251
- integer height = 172
- integer taborder = 240
- 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_addzy"
-
- if len(trim(menustr))<>0 then
- dmPopupMenu = Create m_Dfc_Control_PopupMenu
- dmPopupMenu.mf_BuildMenu(This, menustr)
- dmPopupMenu.mf_PopMenu()
- Destroy dmPopupMenu
- end if
- end event
- type cb_auditing from uo_imflatbutton within w_buybill
- integer x = 782
- integer width = 151
- integer height = 172
- integer taborder = 250
- 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(654) then
- messagebox('提示','你没有使用权限!',information!,ok!)
- return
- end if
- if dw_edit_mode then return
- string arg_msg=''
- long pagerert_row
- pagerert_row=dw_pageretr.getrow()
- if pagerert_row<=0 then
- messagebox('提示','请选定当前目标单据!',information!,ok!)
- return
- end if
- if uo_bill.auditing(dw_pageretr.object.u_buybill_buybillid[pagerert_row],publ_operator,arg_msg,true)=0 then
- messagebox('错误',arg_msg,stopsign!,ok!)
- ELSE
- messagebox('提示','审核成功!',information!,ok!)
- wf_refresh_curuc(dw_pageretr.object.u_buybill_buybillid[pagerert_row])
- end if
- end event
- type cb_cauditing from uo_imflatbutton within w_buybill
- integer x = 933
- integer width = 151
- integer height = 172
- integer taborder = 260
- boolean bringtotop = true
- string text = "撤审"
- string normalpicname = "caudit.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;if not f_power_ind(654) then
- messagebox('提示','你没有使用权限!',information!,ok!)
- return
- end if
- if dw_edit_mode then return
- string arg_msg=''
- long pagerert_row
- pagerert_row=dw_pageretr.getrow()
- if pagerert_row<=0 then
- messagebox('提示','请选定当前目标单据!',information!,ok!)
- return
- end if
- if uo_bill.c_auditing(dw_pageretr.object.u_buybill_buybillid[pagerert_row],publ_operator,arg_msg,true)=0 then
- messagebox('错误',arg_msg,stopsign!,ok!)
- ELSE
- messagebox('提示','撤审成功!',information!,ok!)
- wf_refresh_curuc(dw_pageretr.object.u_buybill_buybillid[pagerert_row])
- end if
- end event
- type cb_print from uo_imflatbutton within w_buybill
- event ue_viewprint ( )
- integer x = 1737
- integer width = 151
- integer height = 172
- integer taborder = 40
- boolean bringtotop = true
- string text = "预览"
- string normalpicname = "preview.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event ue_viewprint();Long ls_msgprintid
- ls_msgprintid = Message.LongParm
- SELECT dft_new_dwname,powerid,auditprint,prownum
- INTO :ls_newname,:ls_powerid,:li_auditprint,:ll_prownum
- FROM sys_dft_dwprint_dynamic
- Where sys_dft_dwprint_dynamic.dwprintid = :ls_msgprintid USING sqlca;
- IF sqlca.SQLCode <> 0 THEN
- ls_newname = ''
- ls_powerid = 0
- END IF
- IF dw_pageretr.RowCount() = 0 THEN
- MessageBox('提示','没有可打印的单据!', Information!, OK! )
- RETURN
- 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_buybill_print'
- 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.u_buybill_buybillid[LS_ROW]
- LS_PRMSG.rowcnt = dw_child.RowCount()
- OpenWithParm(w_publ_preview,LS_PRMSG)
- end event
- 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
- 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 ifdefault = 0 ;
-
- 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
- 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_retrieve from uo_imflatbutton within w_buybill
- integer width = 151
- integer height = 172
- integer taborder = 40
- string text = "重查"
- string normalpicname = "refresh.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;parent.triggerevent('retrieve_pageretr')
- end event
- type st_3 from statictext within w_buybill
- integer x = 814
- integer y = 208
- integer width = 201
- integer height = 52
- 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 = "状 态:"
- boolean focusrectangle = false
- end type
- type ddlb_status from dropdownlistbox within w_buybill
- integer x = 1019
- integer y = 188
- integer width = 361
- integer height = 300
- integer taborder = 30
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- string text = "[全部]"
- boolean sorted = false
- string item[] = {"[全部]","待审核","已审核"}
- borderstyle borderstyle = stylelowered!
- end type
- event selectionchanged;if index=1 then
- cur_flag=-1
- elseif index=2 then
- cur_flag=0
- elseif index=3 then
- cur_flag=1
- end if
- parent.triggerevent('retrieve_pageretr')
- end event
- type cb_help from uo_imflatbutton within w_buybill
- string tag = "帮助[F1]"
- integer x = 1586
- integer width = 151
- integer height = 172
- integer taborder = 50
- boolean bringtotop = true
- string text = "帮助"
- string normalpicname = "help.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;parent.triggerevent("ue_help")
- end event
- type cb_add from uo_imflatbutton within w_buybill
- integer x = 302
- integer width = 165
- integer height = 172
- integer taborder = 270
- boolean bringtotop = true
- string text = "新建&S"
- string normalpicname = "new.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;IF NOT f_power_ind(642) THEN
- MessageBox('提示','你没有使用权限!',information!,ok!)
- RETURN
- END IF
- String arg_msg = ''
- Long uc_row,pagerert_row
- Long relid_pageretr,reld_uc
- Long i
- IF dw_edit_mode THEN
- dw_uc.AcceptText()
- dw_child.AcceptText()
- uc_row = dw_uc.GetRow()
- IF uc_row <= 0 THEN
- MessageBox('提示','请选定当前目标单据!',information!,ok!)
- RETURN
- END IF
- IF NOT dw_uc.Object.u_buybill_paydate[uc_row] > DateTime(2000-01-01,Now()) THEN
- MessageBox('提示','不合理发生时间!',information!,ok!)
- dw_uc.SetFocus()
- dw_uc.SetColumn("u_buybill_paydate")
- RETURN
- END IF
- IF NOT Len(String(dw_uc.Object.u_buybill_inrep[uc_row])) > 0 THEN
- MessageBox('提示','请填写经手人!',information!,ok!)
- dw_uc.SetFocus()
- dw_uc.SetColumn("u_buybill_inrep")
- RETURN
- END IF
- IF dw_uc.Object.u_buybill_banktypeid[uc_row] <= 0 THEN
- MessageBox('提示','请填写结算方式!',information!,ok!)
- dw_uc.SetFocus()
- dw_uc.SetColumn("u_buybill_banktypeid")
- RETURN
- END IF
-
- IF dw_uc.Object.u_buybill_moneyid[uc_row] <= 0 THEN
- MessageBox('提示','请填写币种!',information!,ok!)
- dw_uc.SetFocus()
- dw_uc.SetColumn("u_buybill_moneyid")
- RETURN
- END IF
-
-
- uo_bill.opemp = publ_operator
- uo_bill.paydate = dw_uc.Object.u_buybill_paydate[uc_row]
- uo_bill.relcode = dw_uc.Object.u_buybill_relcode[uc_row]
- uo_bill.inrep = dw_uc.Object.u_buybill_inrep[uc_row]
- uo_bill.banktypeid = dw_uc.Object.u_buybill_banktypeid[uc_row]
- uo_bill.dscrp = dw_uc.Object.u_buybill_dscrp[uc_row]
- uo_bill.sptid = dw_uc.Object.u_buybill_sptid[uc_row]
- uo_bill.mstpayamt = dw_uc.Object.u_buybill_mstpayamt[uc_row]
- uo_bill.payamt = dw_uc.Object.u_buybill_payamt[uc_row]
- uo_bill.accountsid = dw_uc.Object.u_buybill_accountsid[uc_row]
- uo_bill.itemid = dw_uc.Object.u_buybill_itemid[uc_row]
- uo_bill.billtype = dw_uc.Object.u_buybill_billtype[uc_row]
- uo_bill.moneyid = dw_uc.Object.u_buybill_moneyid[uc_row]
- //uo_bill.buildtype=1
- FOR i = 1 TO dw_child.RowCount()
- IF dw_child.Object.Mstpayamt[i] <> 0 OR dw_child.Object.payamt[i] <> 0 THEN
- IF uo_bill.acceptmx(dw_child.Object.payid[i],&
- dw_child.Object.billcode[i],&
- dw_child.Object.Mstpayamt[i],&
- dw_child.Object.payamt[i],&
- dw_child.Object.oriamt[i],&
- dw_child.Object.mainmstpayamt[i],&
- dw_child.Object.mainpayamt[i],&
- dw_child.Object.relbillcode[i],&
- arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,ok!)
- RETURN
- END IF
- END IF
- NEXT
-
- IF uo_bill.Save(arg_msg,TRUE) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,ok!)
- RETURN
- END IF
- MessageBox('提示','保存操作成功!',information!,ok!)
- Long ll_row
- ll_row = dw_pageretr.GetRow()
- dw_pageretr.SelectRow(0,FALSE)
- dw_pageretr.SelectRow(ll_row,TRUE)
- wf_refresh_curuc(uo_bill.buybillid) //刷新uc
-
- ELSE
- IF uo_bill.newbegin() = 0 THEN //生产令领料
- MessageBox('错误',arg_msg,stopsign!,ok!)
- RETURN
- END IF
- END IF
- IF NOT dw_edit_mode THEN
-
- Int li_row
- li_row = dw_pageretr.InsertRow (1)
- dw_pageretr.ScrollToRow(li_row)
- dw_child.Reset()
- dw_uc.Reset()
- dw_uc.SetFocus()
- dw_pageretr.RowsCopy(li_row,li_row, Primary!, dw_uc, 1, Primary!)
- END IF
- dw_edit_mode = NOT dw_edit_mode
- wf_refresh_interface()
- end event
- type cb_edit from uo_imflatbutton within w_buybill
- integer x = 466
- integer width = 165
- integer height = 172
- integer taborder = 280
- boolean bringtotop = true
- string text = "修改&E"
- string normalpicname = "open.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;if not f_power_ind(642) then
- messagebox('提示','你没有使用权限!',information!,ok!)
- return
- end if
- string arg_msg=''
- long uc_row
- uc_row=dw_pageretr.getrow()
- if uc_row<=0 then
- messagebox('提示','请选定当前目标单据!',information!,ok!)
- return
- end if
- if not dw_edit_mode then
- if uo_bill.updatebegin(dw_pageretr.object.u_buybill_buybillid[uc_row],arg_msg)=0 then
- messagebox('错误',arg_msg,stopsign!,ok!)
- return
- end if
- end if
- dw_edit_mode= NOT dw_edit_mode
- wf_refresh_interface()
- IF dw_edit_mode THEN
- dw_pageretr.SetFocus()
- else
- parent.triggerevent('retrieve_pageretr')
- END IF
- end event
- type cb_reset from uo_imflatbutton within w_buybill
- integer x = 1083
- integer width = 251
- integer height = 172
- integer taborder = 260
- boolean bringtotop = true
- string text = "分配金额"
- string normalpicname = "bill.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;if not dw_edit_mode then return
- wf_autoadd_mx()
- dw_uc.accepttext()
- dw_child.accepttext()
- long li_row,i
- decimal mstpayamt=0,payamt=0,mxpayamt=0
- li_row=dw_uc.getrow()
- if li_row<=0 then
- messagebox('提示','请选择单据',information!,ok!)
- return
- end if
- if dw_child.rowcount()<=0 then
- messagebox('提示','请单据明细',information!,ok!)
- return
- end if
- mstpayamt=dw_uc.object.u_buybill_mstpayamt[li_row]
- payamt=dw_uc.object.u_buybill_payamt[li_row]
- //第一次循环:分配应付、计算总可分配
- for i=1 to dw_child.rowcount()
- if mstpayamt > 0 then
- if dw_child.Object.mainmstpayamt[i]<=mstpayamt then
- dw_child.Object.mstpayamt[i]=dw_child.Object.mainmstpayamt[i]
- mstpayamt=mstpayamt - dw_child.Object.mainmstpayamt[i]
- else
- dw_child.Object.mstpayamt[i]=mstpayamt
- mstpayamt=0
- end if
- end if
-
- payamt = payamt - (dw_child.Object.mainmstpayamt[i] - dw_child.Object.mainpayamt[i])
-
- dw_child.Object.payamt[i] = (dw_child.Object.mainmstpayamt[i] - dw_child.Object.mainpayamt[i])
-
- next
- dw_child.accepttext()
- //第二次循环:根据可分配判断正负,修正相关结余(正-负、负-正)
- if payamt<0 then //不够分配
- for i=dw_child.rowcount() to 1 STEP - 1
-
- if (dw_child.Object.mainmstpayamt[i] - dw_child.Object.mainpayamt[i])<=0 then CONTINUE
-
- if dw_child.Object.mainmstpayamt[i] - dw_child.Object.mainpayamt[i] + payamt <0 then
- dw_child.Object.payamt[i]=0
- payamt=payamt + (dw_child.Object.mainmstpayamt[i] - dw_child.Object.mainpayamt[i])
- else
- dw_child.Object.payamt[i]=payamt + (dw_child.Object.mainmstpayamt[i] - dw_child.Object.mainpayamt[i])
- payamt=0
- end if
- next
- else // 分配有剩
-
- for i=dw_child.rowcount() to 1 STEP - 1
- if (dw_child.Object.mainmstpayamt[i] - dw_child.Object.mainpayamt[i])>=0 then CONTINUE
-
- if dw_child.Object.mainmstpayamt[i] - dw_child.Object.mainpayamt[i] + payamt >0 then
- dw_child.Object.payamt[i]=0
- payamt=payamt + (dw_child.Object.mainmstpayamt[i] - dw_child.Object.mainpayamt[i])
- dw_child.Object.mainpayamt[i] =payamt
- else
- dw_child.Object.payamt[i]=payamt + (dw_child.Object.mainmstpayamt[i] - dw_child.Object.mainpayamt[i])
- payamt=0
- end if
- next
- end if
- dw_child.accepttext()
- //for i=1 to dw_child.rowcount()
- // if dw_child.Object.mainmstpayamt[i] = 0 then
- // mxpayamt = mxpayamt + dw_child.Object.mainpayamt[i]
- // end if
- //next
- //
- //payamt = payamt + mxpayamt
- //for i=1 to dw_child.rowcount()
- // if mstpayamt > 0 then
- // if dw_child.Object.mainmstpayamt[i]<=mstpayamt then
- // dw_child.Object.mstpayamt[i]=dw_child.Object.mainmstpayamt[i]
- // mstpayamt=mstpayamt - dw_child.Object.mainmstpayamt[i]
- // else
- // dw_child.Object.mstpayamt[i]=mstpayamt
- // mstpayamt=0
- // end if
- // end if
- //
- // if payamt > 0 then
- // if dw_child.Object.mainmstpayamt[i] - dw_child.Object.mainpayamt[i]<=payamt then
- // dw_child.Object.payamt[i]=dw_child.Object.mainmstpayamt[i] - dw_child.Object.mainpayamt[i]
- // payamt=payamt - (dw_child.Object.mainmstpayamt[i] - dw_child.Object.mainpayamt[i])
- // else
- // dw_child.Object.payamt[i]=payamt
- // payamt=0
- // end if
- // end if
- //next
- end event
- type ln_bar from line within w_buybill
- long linecolor = 268435456
- integer linethickness = 4
- integer beginx = -187
- integer beginy = 176
- integer endx = 3136
- integer endy = 176
- end type
- type ln_bar2 from line within w_buybill
- long linecolor = 16777215
- integer linethickness = 4
- integer beginy = 180
- integer endx = 3323
- integer endy = 180
- end type
- type r_bar from rectangle within w_buybill
- long linecolor = 16777215
- long fillcolor = 1073741824
- integer x = 3410
- 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_buybill
- long linecolor = 268435456
- integer beginy = 284
- integer endx = 3291
- integer endy = 284
- end type
- type ln_2 from line within w_buybill
- long linecolor = 16777215
- integer beginy = 288
- integer endx = 3227
- integer endy = 288
- end type
|