123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818 |
- $PBExportHeader$w_invoice.srw
- forward
- global type w_invoice from w_publ_1ton_share_detail
- end type
- type ddlb_scid from uo_ddlb_scid within w_invoice
- end type
- type ddlb_status from dropdownlistbox within w_invoice
- end type
- type st_3 from statictext within w_invoice
- end type
- type st_2 from statictext within w_invoice
- end type
- end forward
- global type w_invoice from w_publ_1ton_share_detail
- integer width = 3621
- string title = "发票单"
- boolean maxbox = true
- windowstate windowstate = maximized!
- event insert_childrow ( )
- event ue_fj_edit ( )
- event ue_fj_view ( )
- ddlb_scid ddlb_scid
- ddlb_status ddlb_status
- st_3 st_3
- st_2 st_2
- end type
- global w_invoice w_invoice
- type variables
- uo_invoice uo_ware
- uo_cusprice uo_cus_price
- long cur_scid //分店ID
- long cur_scid_arr[]
- int cur_editfocus=0 //1:新建2:修改
- long cur_flag= -1 //-1:全部,0仓库未审,1仓库已审核
- long cur_secflag= -1
- end variables
- forward prototypes
- public function integer wf_flagstatus_rf ()
- public function integer wf_refresh_curuc (long arg_scid, long arg_invoiceid)
- public function integer wf_addmx (long arg_scid, long arg_outwareid, ref string arg_msg)
- public function integer wf_adduc (long arg_scid, long arg_outwareid, ref string arg_msg)
- public subroutine wf_check_billfj ()
- 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 function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg)
- end prototypes
- event insert_childrow();long li_row
- li_row=dw_child.insertrow(0)
- dw_child.scrolltorow(li_row)
- dw_child.SetColumn ('mtrlcode')
- end event
- event ue_fj_edit();IF dw_edit_mode THEN
- MessageBox('提示','编辑状态下不可用',information!,OK!)
- RETURN
- END IF
- //IF NOT f_power_ind(1098) THEN
- // MessageBox(publ_operator,'你没有使用权限!')
- // RETURN
- //END IF
- s_edit_index_tran s_pic
- Long ll_ConnectionID
- String arg_msg
- Long ls_row
- ls_row = dw_pageretr.GetRow()
- IF ls_row <= 0 THEN
- RETURN
- END IF
- IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
- MessageBox('提示','没有指定附件数据库连接'+arg_msg,information!,OK!)
- RETURN
- END IF
- s_pic.f_long = 131 //销售订单的mainID
- s_pic.f_string = dw_pageretr.Object.invoicecode[ls_row]
- s_pic.g_long = dw_pageretr.Object.invoiceid[ls_row]
- s_pic.e_long = dw_pageretr.Object.scid[ls_row]
- s_pic.sqltransaction = sys_filedb_sqlca
- OpenWithParm(w_fj_bill_mng,s_pic)
- wf_check_billfj()
- end event
- event ue_fj_view();IF dw_edit_mode THEN
- MessageBox('提示','编辑状态下不可用',information!,OK!)
- RETURN
- END IF
- s_edit_index_tran s_pic
- Long ll_ConnectionID
- String arg_msg
- Long ls_row
- ls_row = dw_pageretr.GetRow()
- IF ls_row <= 0 THEN
- RETURN
- END IF
- IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
- MessageBox('提示','没有指定附件数据库连接'+arg_msg,information!,OK!)
- RETURN
- END IF
- s_pic.f_long = 131 //销售订单的mainID
- s_pic.f_string = dw_pageretr.Object.invoicecode[ls_row]
- s_pic.g_long = dw_pageretr.Object.invoiceid[ls_row]
- s_pic.e_long = dw_pageretr.Object.scid[ls_row]
- s_pic.sqltransaction = sys_filedb_sqlca
- OpenWithParm(w_fj_bill_view,s_pic)
- end event
- public function integer wf_flagstatus_rf ();
- Long pagerert_row
- pagerert_row = dw_pageretr.GetRow()
- IF pagerert_row <= 0 THEN
- cb_auditing.Text = '审核&F'
- cb_auditing.Enabled = FALSE
- cb_auditing_cancel.Text = '撤审'
- cb_auditing_cancel.Enabled = FALSE
- cur_flag = -1
- cur_secflag = -1
- GOTO ext
- END IF
- cur_flag = dw_pageretr.Object.flag[pagerert_row]
- cur_secflag = dw_pageretr.Object.secflag[pagerert_row]
- IF dw_edit_mode THEN
- cb_auditing.Text = '初审&F'
- cb_auditing.Enabled = FALSE
- cb_auditing_cancel.Enabled = FALSE
- ELSE
- IF cur_flag = 0 THEN
- cb_auditing.Enabled = TRUE
- cb_auditing.Text = '初审&F'
- cb_auditing_cancel.Enabled = FALSE
- ELSEIF cur_flag = 1 AND cur_secflag = 0 THEN
- cb_auditing.Enabled = TRUE
- cb_auditing.Text = '终审&F'
- cb_auditing_cancel.Enabled = TRUE
- cb_auditing_cancel.Text = '初撤'
- ELSE
- cb_auditing.Text = '初审&F'
- cb_auditing.Enabled = FALSE
- cb_auditing_cancel.Enabled = TRUE
- cb_auditing_cancel.Text = '终撤'
- END IF
- END IF
- cb_auditing.TriggerEvent('ue_textchange')
- cb_auditing_cancel.TriggerEvent('ue_textchange')
- ext:
- RETURN 0
- end function
- public function integer wf_refresh_curuc (long arg_scid, long arg_invoiceid);//====================================================================
- // Function: wf_refresh_curuc(arg_scid,arg_inwareid)
- //--------------------------------------------------------------------
- // Description: 刷新dw_uc
- //--------------------------------------------------------------------
- // Arguments:
- // value long arg_scid
- // value long arg_inwareid
- //--------------------------------------------------------------------
- // Returns: integer
- //--------------------------------------------------------------------
- // Author: yyx Date: 2003.11.14
- //--------------------------------------------------------------------
- // Modify History:
- //
- //====================================================================
- //wf_refresh_curuc
- if arg_invoiceid<=0 or isnull(arg_invoiceid) then return 0
- long uc_row
- uc_row=dw_pageretr.getrow()
- if uc_row<=0 then return 0
- long cusid
- datetime invoicedate
- string cuscode,cusname
- string dscrp
- string invoicecode
- datetime opdate
- string operator
- int li_flag
- datetime auditingdate ,moddate
- string Auditingrep ,modemp
- string currencyname,bankname,relcode
- long relid
- long secflag
- string secemp
- datetime secdate
- SELECT u_invoice.invoicecode,
- u_invoice.cusid,
- u_invoice.cuscode,
- u_invoice.cusname,
- u_invoice.invoicedate,
- u_invoice.currencyname,
- u_invoice.bankname,
- u_invoice.relid,
- u_invoice.relcode,
- u_invoice.dscrp,
- u_invoice.opemp,
- u_invoice.opdate,
- u_invoice.modemp,
- u_invoice.moddate,
- u_invoice.auditingrep,
- u_invoice.auditingdate,
- u_invoice.flag ,
- u_invoice.secflag,
- u_invoice.secemp,
- u_invoice.secdate
- into :invoicecode,
- :cusid,
- :cuscode,
- :cusname,
- :invoicedate,
- :currencyname,
- :bankname,
- :relid,
- :relcode,
- :dscrp,
- :operator,
- :opdate,
- :modemp,
- :moddate,
- :Auditingrep,
- :Auditingdate,
- :li_flag,
- :secflag,
- :secemp,
- :secdate
- FROM u_invoice
- WHERE ( u_invoice.invoiceid = :arg_invoiceid ) and
- ( u_invoice.scid=:arg_scid);
- if sqlca.sqlcode<>0 then
- messagebox('错误',"查询操作失败(错误单据唯一码)",stopsign!,OK!)
- return 0
- end if
- dw_pageretr.object.scid[uc_row]=arg_scid
- dw_pageretr.object.invoiceid[uc_row]=arg_invoiceid
- dw_pageretr.object.invoicedate[uc_row]=invoicedate
- dw_pageretr.object.currencyname[uc_row]= currencyname
- dw_pageretr.object.bankname[uc_row]= bankname
- dw_pageretr.object.dscrp[uc_row]= dscrp
- dw_pageretr.object.invoicecode[uc_row]=invoicecode
- dw_pageretr.object.opdate[uc_row]= opdate
- dw_pageretr.object.opemp[uc_row]= operator
- dw_pageretr.object.flag[uc_row]= li_flag
- dw_pageretr.object.relid[uc_row]=relid
- dw_pageretr.object.relcode[uc_row]=relcode
- dw_pageretr.object.Auditingdate[uc_row]= Auditingdate
- dw_pageretr.object.Auditingrep[uc_row]=Auditingrep
- dw_pageretr.object.cusid[uc_row]=cusid
- dw_pageretr.object.cuscode[uc_row]=cuscode
- dw_pageretr.object.cusname[uc_row]=cusname
- dw_pageretr.object.moddate[uc_row]= moddate
- dw_pageretr.object.modemp[uc_row]=modemp
- dw_pageretr.object.secflag[uc_row]=secflag
- dw_pageretr.object.secemp[uc_row]=secemp
- dw_pageretr.object.secdate[uc_row]=secdate
- dw_pageretr.resetupdate()
- dw_pageretr.setredraw(true)
- 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
- end function
- public function integer wf_addmx (long arg_scid, long arg_outwareid, ref string arg_msg);//wf_saletaskmtrltoarr(long arg_taskid,ref s_saletask_mtrl arg_s_rqmtrl[],ref long arg_p_rqmtrl,ref string arg_msg)
- //查询合同物料资料
- //把物料资料写入数组
- long rslt=1
- long ls_mtrlid
- string ls_mtrlcode,ls_mtrlname,ls_mtrlmode
- dec ls_qty , ls_fprice , ls_rebate
- Long child_row
- child_row = dw_child.GetRow()
- //查询合同物料
- DECLARE pf_cur CURSOR FOR
- SELECT u_mtrldef.mtrlid AS mtrlid, u_mtrldef.mtrlcode AS mtrlcode,
- u_mtrldef.mtrlname AS mtrlname,u_outwaremx.qty,u_outwaremx.fprice,
- u_outwaremx.rebate,u_mtrldef.mtrlmode AS mtrlmode
- FROM u_outwaremx INNER JOIN
- u_mtrldef ON u_outwaremx.mtrlid = u_mtrldef.mtrlid
- WHERE ( u_outwaremx.outwareid = :arg_outwareid )
- and ( u_outwaremx.scid = :arg_scid );
- open pf_cur;
- fetch pf_cur into :ls_mtrlid,:ls_mtrlcode,:ls_mtrlname,:ls_fprice,:ls_rebate,:ls_qty,:ls_mtrlmode;
- do while sqlca.sqlcode=0
- IF dw_child.GetRow() > 0 THEN
- IF dw_child.Object.mtrlid[child_row] <> 0 THEN
- child_row = dw_child.InsertRow (0)
- ELSE
- child_row = dw_child.GetRow()
- END IF
- ELSE
- child_row = dw_child.InsertRow (0)
- END IF
-
- dw_child.object.mtrlid[child_row]=ls_mtrlid
- dw_child.object.mtrlcode[child_row]=ls_mtrlcode
- dw_child.object.mtrlmode[child_row]=ls_mtrlmode
- dw_child.object.mtrlname[child_row]=ls_mtrlname
- dw_child.object.qty[child_row]=ls_qty
- dw_child.object.amt[child_row] = ls_fprice * ls_rebate * ls_qty
- fetch pf_cur into :ls_mtrlid,:ls_mtrlcode,:ls_mtrlname,:ls_fprice,:ls_rebate,:ls_qty,:ls_mtrlmode;
- loop
- close pf_cur;
- dw_child.accepttext()
- return rslt
- end function
- public function integer wf_adduc (long arg_scid, long arg_outwareid, ref string arg_msg);//wf_saletaskmtrltoarr(long arg_taskid,ref s_saletask_mtrl arg_s_rqmtrl[],ref long arg_p_rqmtrl,ref string arg_msg)
- //查询合同物料资料
- //把物料资料写入数组
- Long rslt = 1
- Long ls_cusid
- String ls_cuscode,ls_cusname,ls_relcode
- Long li_row
- SELECT u_cust.cusid, u_cust.cuscode, u_cust.name,u_outware.outwarecode
- INTO :ls_cusid,:ls_cuscode,:ls_cusname,:ls_relcode
- FROM u_outware INNER JOIN
- u_cust ON u_outware.cusid = u_cust.cusid
- WHERE u_outware.outwareid = :arg_outwareid AND
- u_outware.scid = :arg_scid USING sqlca;
-
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = "查询操作失败,销售单客户"
- GOTO ext
- END IF
- dw_uc.Object.cusid[dw_uc.GetRow()] = ls_cusid
- dw_uc.Object.cuscode[dw_uc.GetRow()] = ls_cuscode
- dw_uc.Object.cusname[dw_uc.GetRow()] = ls_cusname
- dw_uc.Object.relid[dw_uc.GetRow()] = arg_outwareid
- dw_uc.Object.relcode[dw_uc.GetRow()] = ls_relcode
- dw_uc.AcceptText()
- wf_addmx(arg_scid,arg_outwareid,arg_msg)
- ext:
- RETURN rslt
- end function
- public subroutine wf_check_billfj ();String arg_msg
- Long ll_ConnectionID
- Long cur_billtype
- long ll_relid,ll_relid_mx,ll_scid
- Long ls_filecount = 0
- Int rslt = 1
- uo_fj_mng_billtype ls_uo_fjbt
- ls_uo_fjbt = CREATE uo_fj_mng_billtype
-
- Long row,uc_relid
- row = dw_pageretr.GetRow()
- IF row > 0 THEN
- ll_relid = dw_pageretr.Object.invoiceid[row]
- ll_scid = dw_pageretr.Object.scid[row]
- ll_relid_mx = 0
- ELSE
- rslt = 0
- GOTO ext
- END IF
- IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
- rslt = 0
- GOTO ext
- END IF
- cur_billtype = 131 //客户投拆单的 mainiD
- ls_uo_fjbt.uf_check_billfj( cur_billtype, ll_relid,ll_relid_mx,ll_scid, sys_fileDB_sqlca, arg_msg, ls_filecount)
- IF ls_filecount > 0 THEN
- rslt = 1
- GOTO ext
- ELSE
- rslt = 0
- GOTO ext
- END IF
- ext:
- wf_encl(rslt)
- DESTROY ls_uo_fjbt
- end subroutine
- 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);//==============================================================================
- // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata()
- //------------------------------------------------------------------------------
- // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可
- //------------------------------------------------------------------------------
- Long LS_ROW,ll_id,i,ll_scid
- LS_ROW = dw_uc.GetRow()
- IF LS_ROW <= 0 THEN
- arg_msg = '没有目标单据!'
- RETURN 0
- END IF
- //修改点:获取 指定retriev参数
- ll_id = dw_uc.Object.invoiceid[LS_ROW]
- ll_scid = dw_uc.Object.scid[LS_ROW]
- //查询所选模版是否含有图片信息
- 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
- s_xls_pic_list s_pic //结构数组-用于保存图片路径
- IF ll_ifpic = 1 THEN //如果含有图片信息,则查询本类型单据需要带出哪类附件
- SELECT classid
- INTO :ll_classid
- FROM u_billpic_fileclass
- Where (billtype = 131);
- IF sqlca.SQLCode <> 0 THEN
- ll_classid = 0
- END IF
-
- IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
- FOR ll_i = 1 TO dw_child.RowCount()
- ll_mtrlid = dw_child.Object.mtrlid[ll_i]
- //取该附件类型中的第一个附件.
- 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_i] = Pathname
- //记录临时文件位置,本窗口退出后删除
- wf_addlog_tempfilepathname(Pathname)
-
- END IF
- ELSE
- s_pic.path[ll_i] = ''
- END IF
- ELSE
- s_pic.path[ll_i] = ''
- END IF
- NEXT
- END IF
- //
- END IF
- ////可选设置///
- 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
- 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)
-
- //修改点:注意retrieve 参数与上文对应
- arg_str_billlist.bill[i].ds_data.retrieve(ll_scid,ll_id)
- next
- return 1
- end function
- public function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg);Long LS_ROW,ll_id,i,ll_scid
- LS_ROW = dw_pageretr.GetRow()
- IF LS_ROW <= 0 THEN
- arg_msg = '没有目标单据!'
- RETURN 0
- END IF
- //修改点:获取 指定retriev参数
- ll_id = dw_pageretr.Object.invoiceid[LS_ROW]
- ll_scid = dw_pageretr.Object.scid[LS_ROW]
- 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
- Long ll_classid
- SELECT classid
- INTO :ll_classid
- FROM u_billpic_fileclass
- Where (billtype = 102);
- IF sqlca.SQLCode <> 0 THEN
- ll_classid = 0
- END IF
- IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
- FOR ll_i = 1 TO dw_child.RowCount()
- ll_mtrlid = dw_child.Object.mtrlid[ll_i]
- arg_s_pic.mtrlid[ll_i] = ll_mtrlid
- //取该附件类型中的第一个附件.
- 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
-
- arg_s_pic.path[ll_i] = Pathname
- //记录临时文件位置,本窗口退出后删除
- wf_addlog_tempfilepathname(Pathname)
- END IF
- ELSE
- arg_s_pic.path[ll_i] = ''
- END IF
- ELSE
- arg_s_pic.path[ll_i] = ''
- END IF
- NEXT
- END IF
- RETURN 1
- end function
- on w_invoice.create
- int iCurrent
- call super::create
- this.ddlb_scid=create ddlb_scid
- this.ddlb_status=create ddlb_status
- this.st_3=create st_3
- this.st_2=create st_2
- iCurrent=UpperBound(this.Control)
- this.Control[iCurrent+1]=this.ddlb_scid
- this.Control[iCurrent+2]=this.ddlb_status
- this.Control[iCurrent+3]=this.st_3
- this.Control[iCurrent+4]=this.st_2
- end on
- on w_invoice.destroy
- call super::destroy
- destroy(this.ddlb_scid)
- destroy(this.ddlb_status)
- destroy(this.st_3)
- destroy(this.st_2)
- end on
- 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
- dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数
- dw_pageretr.Retrieve(cur_scid_arr,cur_flag,cur_secflag)
- IF dw_pageretr.RowCount() > 0 THEN
- dw_pageretr.SetRow(1)
- dw_pageretr.triggerevent(rowfocuschanged!)
- end if
- THIS.TriggerEvent('retrieve_childdw')
-
- cb_nextpage.Enabled = cb_nextpage_enabled
- cb_retrieveall.Enabled = cb_retrieveall_enabled
- cb_func.Enabled = cb_func_enabled
- 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+'( invoicecode LIKE "%'+trim(sle_usual_query.text)+'%" )'
- ELSE
- obj_expr=obj_expr+'( invoicecode 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 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_invoice.invoicecode like '%"+trim(sle_usual_query.text)+"%')"
- else
- ls_querystrpart="(u_invoice.invoicecode 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 open;THIS.TriggerEvent('ue_before_open')
- wf_movetocenter()
- ds_copy_bill = CREATE datastore
- ds_copy_bill.DataObject = dw_child.dataobject
- ds_copy_bill.SetTransObject(sqlca)
- 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
- dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关
- dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关
- dw_pageretr.SetTransObject (sqlca)
- pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
- ori_oldselect = dw_pageretr.Describe("DataWindow.Table.Select")
- //====================================================================
- // Script - w_outware_sale inherited from w_publ_1ton_share_detail for open
- // Reason:
- //--------------------------------------------------------------------
- // Modified By: yyx Date: 2003.12.01
- //--------------------------------------------------------------------
- ori_oldselect = f_modify_selectstr(ori_oldselect)//只显示所管的仓库单据
- //====================================================================
- ls_newselect = ori_oldselect
- ds_curquery = CREATE DATASTORE
- ds_curquery.DataObject = 'd_extr_find'
- ds_curquery.SetTransObject (sqlca)
- 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
- uc_column_int = 11 //uc dw前7列可以编辑
- child_column_int = 13 //子dw前8列可以编辑
- uo_ware = CREATE uo_invoice
- uo_ware.commit_transaction = sqlca
- uo_cus_price=create uo_cusprice
- s_hide_col s_col_mtrlsectype
- s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype'
- f_hide_col(1308,dw_child,s_col_mtrlsectype)
- s_hide_col s_col_zxmtrlmode
- s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode'
- f_hide_col(1309,dw_child,s_col_zxmtrlmode)
- end event
- event refresh_interface;call super::refresh_interface;ddlb_status.enabled=not dw_edit_mode
- if dw_edit_mode then
- ddlb_scid.enabled=false
- else
- if sys_scid > 0 then
- ddlb_scid.enabled=false
- else
- ddlb_scid.enabled=true
- end if
- end if
- end event
- event close;call super::close;destroy uo_ware
- wf_del_tempfilepathname()
- end event
- event ue_f8;call super::ue_f8;//用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用
- IF NOT dw_edit_mode THEN RETURN
- Long child_row
- long ls_cusid
- child_row = dw_child.GetRow()
- dw_uc.AcceptText()
- ls_cusid = dw_uc.object.cusid[dw_uc.getrow()]
- if isnull(ls_cusid) or ls_cusid = 0 then
- this.triggerevent("ue_f9")
- ls_cusid = dw_uc.object.cusid[dw_uc.getrow()]
- end if
- this.enabled = false
- IF NOT IsValid(W_mtrldef_edit) THEN
- s_edit_index_tran s_ch_tran //传递参数使用
- s_ch_tran.if_retrieve_all = FALSE //是否一次RETRIEVE所有行
- s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
- s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
- s_ch_tran.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
- s_ch_tran.if_select_all = TRUE
- s_ch_tran.b_long = -1
-
- Long chc = 1,ls_j
- dw_child.AcceptText()
- IF dw_child.GetRow() > 0 THEN s_ch_tran.arg_string_code = Trim(dw_child.Object.mtrlcode[dw_child.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_child.GetRow() > 0 THEN
- IF dw_child.Object.mtrlid[child_row] <> 0 THEN
- child_row = dw_child.InsertRow (0)
- ELSE
- child_row = dw_child.GetRow()
- END IF
- ELSE
- child_row = dw_child.InsertRow (0)
- END IF
- dw_child.Object.mtrlid[child_row] = S_INSCUST.mtrlid[ls_j]
- dw_child.Object.mtrlcode[child_row] = S_INSCUST.mtrlcode[ls_j]
- dw_child.Object.mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j]
- dw_child.Object.mtrlname[child_row] = S_INSCUST.mtrlname[ls_j]
- end if
- NEXT
- dw_child.SetFocus()
- END IF
- this.enabled = true
- end event
- event retrieve_childdw;call super::retrieve_childdw;long row,uc_relid
- row=dw_pageretr.getrow()
- if row>0 then
- uc_relid=dw_pageretr.object.invoiceid[row]
- dw_child.SetRedraw (false)
- dw_child.retrieve(cur_scid,uc_relid)
- dw_child.SetRedraw (true)
- else
- dw_child.reset()
- end if
- end event
- event ue_f9;call super::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
- this.enabled = false
- if not isvalid(W_cust_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 (备用)
- //查询列(物料编码)部分内容,用于初步筛选
-
- dw_uc.accepttext()
- s_ch_tran.arg_string_code=upper(trim(dw_uc.object.cuscode[dw_uc.getrow()]))
- OPENwithparm(W_cust_edit,s_ch_tran) //调用
- s_custom S_INSCUST
- S_INSCUST=Message.PowerObjectParm //接受返回结构
- IF S_INSCUST.cusid>0 THEN //正常返回值则可以取以下值
- dw_uc.setredraw(false)
- dw_uc.object.cusid[child_row]=S_INSCUST.cusid
- dw_uc.object.cusname[child_row]=S_INSCUST.name
- dw_uc.object.cuscode[child_row]=S_INSCUST.cuscode
- dw_uc.setredraw(true)
-
- dw_uc.setcolumn("invoicedate")
- END IF
- end if
- this.enabled = true
- end event
- event ue_viewprint;call super::ue_viewprint;
- IF NOT f_power_ind(608) THEN
- MessageBox('提示','你没有使用权限!',information!,OK!)
- RETURN
- END IF
- s_print_msg ls_prmsg
- ls_prmsg.retr_pram_falg = 15
- IF dw_uc.RowCount() = 0 THEN
- MessageBox('提示','没有可打印的单据!',information!,OK!)
- RETURN
- END IF
- IF ls_newname <> '' THEN
- IF li_auditprint = 1 THEN
- IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
- MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!)
- RETURN
- END IF
- END IF
-
- ls_prmsg.obj_dwNAME = ls_newname
- ELSE
- ls_prmsg.obj_dwNAME = 'dw_rp_invoice_edit'
- END IF
- ls_prmsg.tag_text = '发票单'
- ls_prmsg.filter_string = ''
- ls_prmsg.pagech_flag = 0
- ls_prmsg.retr_scid = dw_pageretr.Object.scid[dw_pageretr.GetRow()]
- ls_prmsg.retr_pramnmb = dw_pageretr.Object.invoiceid[dw_pageretr.GetRow()]
- ls_prmsg.rowcnt = dw_child.RowCount()
- IF ifpic = 1 THEN
- String ls_msg
- IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
- MessageBox('提示','下载图片失败!',information!,OK!)
- RETURN
- END IF
- END IF
- OpenWithParm(w_publ_preview,ls_prmsg)
- IF ifpic = 1 THEN
- Long li
- FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
- IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
- FileDelete(LS_PRMSG.s_pic.path[li])
- END IF
- NEXT
- END IF
- //**更新打印次料
- String arg_msg
- printnum = Message.DoubleParm
- f_update_printnum('u_invoice',printnum,dw_pageretr.Object.scid[dw_pageretr.GetRow()],dw_uc.Object.invoiceid[dw_uc.GetRow()],'','',arg_msg,TRUE)
- end event
- event resize;call super::resize;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_child.width=this.width - (w_width - 3557)
- //dw_child.height=this.height - (w_height - 932)
- //
- //cb_add.y=this.height - (w_height - 2030)
- //cb_edit.y=this.height - (w_height - 2030)
- //cb_delet.y=this.height - (w_height - 2030)
- //cb_addzy.y=this.height - (w_height - 2030)
- //cb_add_xm.y=this.height - (w_height - 2030)
- //cb_dele_xm.y=this.height - (w_height - 2030)
- //cb_exit.y=this.height - (w_height - 2030)
- //cb_auditing.y=this.height - (w_height - 2030)
- //cb_cancelauditing.y=this.height - (w_height - 2030)
- //
- end event
- event ue_print;call super::ue_print;//--直接打印
- IF NOT f_power_ind(608) THEN
- MessageBox('提示','你没有使用权限!',information!,OK!)
- RETURN
- END IF
- uo_print_preview uo_print
- S_print_MSG LS_PRMSG
- IF dw_pageretr.RowCount() = 0 THEN
- MessageBox('提示','没有可打印的单据!',information!,OK!)
- RETURN
- END IF
- IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
- IF ls_newname <> '' THEN
- IF li_auditprint = 1 THEN
- IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
- MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!)
- RETURN
- END IF
- END IF
- LS_PRMSG.obj_dwNAME = ls_newname
- ELSE
- LS_PRMSG.obj_dwNAME = 'dw_rp_invoice_edit'
- END IF
- LS_PRMSG.retr_pram_falg = 15
- LS_PRMSG.TAG_TEXT = '发票单'
- LS_PRMSG.FILTER_STRING = ''
- LS_PRMSG.PAGECH_FLAG = 0
- LS_PRMSG.retr_pramnmb = dw_pageretr.Object.invoiceid[dw_pageretr.GetRow()]
- IF ifpic = 1 THEN
- String ls_msg
- IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
- MessageBox('提示','下载图片失败!',information!,OK!)
- RETURN
- END IF
- END IF
- uo_print.FACT_PRINT_MSG = LS_PRMSG
- String arg_msg
- IF uo_print.uof_print_begin(arg_msg) = 0 THEN
- MessageBox("错误",arg_msg,stopsign!,OK!)
- RETURN
- END IF
- uo_print.ds_print()
- IF ifpic = 1 THEN
- Long li
- FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
- IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
- FileDelete(LS_PRMSG.s_pic.path[li])
- END IF
- NEXT
- END IF
- end event
- event ue_f7;IF NOT dw_edit_mode THEN RETURN
- Long ls_outwareid
- String ls_outwarecode
- Long ls_j
- THIS.Enabled = FALSE
- IF NOT IsValid(w_outware_sale_ch) THEN
- s_outware_tsale_array s_outware
-
- s_edit_index_tran s_tranf8 //传递参数使用
- s_tranf8.if_retrieve_all = FALSE //是否一次RETRIEVE所有行
- s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
- s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
- s_tranf8.b_long = cur_scid
- s_tranf8.if_select_all = TRUE //多选
-
-
- OpenWithParm(w_outware_sale_invoice_ch,s_tranf8)
- s_outware = Message.PowerObjectParm
- FOR ls_j = 1 TO UpperBound(s_outware.outwareid)
- IF s_outware.outwareid[ls_j] > 0 THEN
- dw_uc.SetRedraw(FALSE)
- ls_outwareid = s_outware.outwareid[ls_j]
- ls_outwarecode = s_outware.outwarecode[ls_j]
- String errmsg = ''
-
- IF wf_adduc(cur_scid,ls_outwareid,errmsg) = 0 THEN
- MessageBox('错误',errmsg,stopsign!,OK!)
- CONTINUE
- END IF
-
- dw_uc.SetRedraw(TRUE)
- END IF
- dw_uc.SetColumn("dscrp")
- NEXT
- END IF
- THIS.Enabled = TRUE
- end event
- event ue_addzy;call super::ue_addzy;IF dw_edit_mode THEN
- MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
- return
- END IF
- if not f_power_ind(768) then
- messagebox('提示','你没有使用权限!',information!,OK!)
- return
- end if
- String arg_msg = ''
- String 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_ware.add_dscrp(dw_pageretr.object.scid[uc_row],dw_pageretr.Object.invoiceid[uc_row],ls_str,arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- ELSE
- MessageBox('提示','添加备注操作成功!',information!,OK!)
- wf_refresh_curuc(dw_pageretr.object.scid[uc_row],dw_pageretr.Object.invoiceid[uc_row])
- END IF
- end event
- type cb_func from w_publ_1ton_share_detail`cb_func within w_invoice
- integer x = 165
- end type
- type cb_exit from w_publ_1ton_share_detail`cb_exit within w_invoice
- integer x = 2533
- end type
- type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_invoice
- integer x = 192
- integer y = 180
- integer width = 549
- end type
- type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_invoice
- integer x = 2935
- end type
- type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_invoice
- integer x = 2683
- integer y = 36
- integer width = 256
- end type
- type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_invoice
- integer x = 1637
- integer y = 280
- integer width = 1906
- integer height = 860
- string dataobject = "dw_invoice_index"
- end type
- event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_flagstatus_rf()
- wf_check_billfj()
- if dw_edit_mode then return
- if currentrow <=0 then
- dw_child.reset()
- return
- end if
- this.selectrow(0,false)
- this.selectrow(currentrow,true)
- dw_uc.setrow(currentrow)
- dw_uc.scrolltorow (currentrow)
- if not dw_edit_mode then parent.triggerevent('retrieve_childdw')
- end event
- type st_1 from w_publ_1ton_share_detail`st_1 within w_invoice
- integer x = 14
- integer y = 200
- end type
- type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_invoice
- integer x = 3086
- end type
- type dw_uc from w_publ_1ton_share_detail`dw_uc within w_invoice
- integer width = 1632
- integer height = 848
- string dataobject = "dw_invoice_edit"
- end type
- event dw_uc::dwnkey;parent.triggerevent('user_key')
- if key = KeyDownArrow! then return 1
- if dw_edit_mode then
- if dw_uc.GetColumnName ( )='dscrp' and key = KeyEnter! then
- dw_child.setfocus()
- dw_child.scrolltorow(dw_child.rowcount())
- dw_child.SetColumn ('mtrlcode')
- return 1
- elseif dw_uc.GetColumnName ( )='cuscode' and key = KeyEnter! then
- String ls_code,ls_name,ls_custype,ls_find_code
- Long ls_cusid
- Long cnt = 0
- Boolean if_find = FALSE
-
-
- dw_uc.AcceptText()
- ls_code = Trim(dw_uc.Object.cuscode[dw_uc.GetRow()])
-
- SELECT u_cust.cusid,
- u_cust.name,
- u_cust.custype,
- u_cust.cuscode
- INTO :ls_cusid,:ls_name,:ls_custype,:ls_code
- FROM u_cust
- Where (cuscode = :ls_code OR Name = :ls_code);
- IF sqlca.SQLCode <> 0 THEN
-
- IF Pos(Trim(ls_code),'%') = 0 THEN
- ls_find_code = '%'+ Trim(ls_code) + '%'
- ELSE
- ls_find_code = Trim(ls_code)
- END IF
-
- SELECT count(*) INTO :cnt
- FROM u_cust
- Where ( cuscode Like :ls_find_code OR Name Like :ls_find_code );
- IF sqlca.SQLCode <> 0 THEN
- PARENT.TriggerEvent('ue_f9')
- RETURN 1
- END IF
- IF cnt <> 1 THEN
- PARENT.TriggerEvent('ue_f9')
- RETURN 1
- ELSE
- SELECT u_cust.cusid,
- u_cust.cuscode,
- u_cust.name
- INTO :ls_cusid,:ls_code,:ls_name
- FROM u_cust
- Where ( cuscode Like :ls_find_code OR Name Like :ls_find_code );
- IF sqlca.SQLCode <> 0 THEN
- PARENT.TriggerEvent('ue_f9')
- RETURN 1
- ELSE
- if_find = TRUE
- END IF
- END IF
- ELSE
- if_find = TRUE
- END IF
-
- IF if_find THEN
- dw_uc.setredraw(false)
- dw_uc.object.cusid[dw_uc.getrow()]=ls_cusid
- dw_uc.object.cuscode[dw_uc.getrow()]=ls_code
- dw_uc.object.cusname[dw_uc.getrow()]=ls_name
- dw_uc.setredraw(true)
-
- dw_uc.setcolumn("invoicedate")
- return 1
- end if
- else
- if key = KeyEnter! Then //
- keybd_event ( 9, 0, 0 , 0 ) // 按下tab
- keybd_event ( 9, 0, 2, 0 ) // 释放tab
- Return 1
- end If
- end if
- end if
- end event
- event dw_uc::doubleclicked;IF dw_edit_mode and row >0 THEN
- parent.triggerevent('ue_f9')
- END IF
- end event
- event dw_uc::clicked;call super::clicked;if not dw_edit_mode then return
- if row <= 0 then return
- if dwo.name='p_p' then
- parent.TRIGGEREVENT('ue_f9')
- elseif dwo.name='p_b' Or dwo.Name = 'outware_sale_t' THEN
- parent.TRIGGEREVENT('ue_f7')
- end if
- end event
- type gb_2 from w_publ_1ton_share_detail`gb_2 within w_invoice
- end type
- type dw_child from w_publ_1ton_share_detail`dw_child within w_invoice
- integer y = 1128
- integer height = 1112
- string dataobject = "dw_invoicemx_index"
- end type
- event dw_child::dwnkey;call super::dwnkey;parent.triggerevent('user_key')
- string ls_mtrlcode,ls_mtrlname,ls_mtrlmode
- long ls_mtrlid
- long child_row
- long ls_null
- setnull(ls_null)
- s_mtrldef_array arg_s_mtrldef
- if dw_edit_mode then
- If keydown(Keydownarrow!) Then
- long li_row
- if dw_child.getrow()=dw_child.rowcount() then
- parent.triggerevent("insert_childrow")
- end if
- else
- if (keydown(KeyEnter!) or keydown(KeyTab!)) and not keydown(KeyControl!) and not keydown(KeyShift!) then
- if dw_child.getcolumnname()='mtrlcode' then
- dw_child.accepttext()
- child_row=dw_child.getrow()
-
- ls_mtrlcode=dw_child.object.mtrlcode[child_row]
- IF f_find_mtrl(ls_mtrlcode,-1,arg_s_mtrldef) = 0 THEN
- PARENT.TriggerEvent('ue_f8')
- RETURN 1
- else
- ls_mtrlid = arg_s_mtrldef.mtrlid[1]
- ls_mtrlcode = arg_s_mtrldef.mtrlcode[1]
- ls_mtrlname = arg_s_mtrldef.mtrlname[1]
- ls_mtrlmode = arg_s_mtrldef.mtrlmode[1]
- end if
-
- dw_child.object.mtrlid[child_row] =ls_mtrlid
- dw_child.object.mtrlname[child_row] =ls_mtrlname
- dw_child.object.mtrlmode[child_row] =ls_mtrlmode
-
- If key = KeyEnter! Then
- keybd_event ( 9, 0, 0 , 0 ) // 按下tab
- keybd_event ( 9, 0, 2, 0 ) // 释放tab
- return 1
- end if
- ELSEIF dw_child.GetColumnName( ) = 'dscrp' AND dw_child.GetRow() = dw_child.RowCount() THEN
- PARENT.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
- end event
- type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_invoice
- integer x = 2039
- end type
- type cb_print from w_publ_1ton_share_detail`cb_print within w_invoice
- integer x = 1847
- end type
- type cb_add from w_publ_1ton_share_detail`cb_add within w_invoice
- integer x = 315
- end type
- event cb_add::clicked;IF NOT f_power_ind(525) THEN
- MessageBox('提示','你没有使用权限!',information!,OK!)
- RETURN
- END IF
- String arg_msg = ''
- Long uc_row,pagerert_row
- Long relid_pageretr,reld_uc,j
- 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.invoicedate[uc_row] > DateTime(2000-01-01,Now()) THEN
- MessageBox('提示','不合理发生时间',information!,OK!)
- dw_uc.SetFocus()
- dw_uc.SetColumn("invoicedate")
- RETURN
- END IF
-
- uo_ware.invoicedate = dw_uc.Object.invoicedate[uc_row] // 发生时间
- uo_ware.bankname = dw_uc.Object.bankname[uc_row] // 经手人
- uo_ware.currencyname = dw_uc.Object.currencyname[uc_row] //相关部门
- uo_ware.dscrp = dw_uc.Object.dscrp[uc_row] //备注
- uo_ware.cusid = dw_uc.Object.cusid[uc_row]
- uo_ware.cuscode = dw_uc.Object.cuscode[uc_row]
- uo_ware.cusname = dw_uc.Object.cusname[uc_row]
- uo_ware.relcode = dw_uc.Object.relcode[uc_row]
- IF IsNull(dw_uc.Object.relid[uc_row]) THEN dw_uc.Object.relid[uc_row] = 0
- uo_ware.relid = dw_uc.Object.relid[uc_row]
-
- Long obj_mtrlid,i
- Dec obj_qty,obj_price
- String obj_mtrlcode
-
- FOR i = 1 TO dw_child.RowCount()
- IF uo_ware.acceptmx( dw_child.Object.qty[i],&
- dw_child.Object.price[i],&
- dw_child.Object.amt[i],&
- dw_child.Object.dscrp[i],&
- i,&
- arg_msg,&
- dw_child.Object.mtrlid[i],&
- dw_child.Object.mtrlcode[i],&
- dw_child.Object.mtrlname[i],&
- dw_child.Object.mtrlmode[i],&
- dw_child.Object.saledate[i],&
- dw_child.Object.btype[i],&
- dw_child.Object.bqty[i],&
- dw_child.Object.bcode[i]) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
- NEXT
-
- IF uo_ware.Save(TRUE,arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
- // messagebox(publ_operator,'保存操作成功!')
-
- long ll_row
- ll_row = dw_pageretr.getrow()
- dw_pageretr.SelectRow(0,FALSE)
- dw_pageretr.SelectRow(ll_row,TRUE)
- wf_refresh_curuc(cur_scid,uo_ware.invoiceid) //刷新uc
- ELSE
- IF uo_ware.newbegin(cur_scid,arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
- cur_editfocus = 1
- END IF
- CALL SUPER::Clicked
- //read ini
- IF dw_edit_mode THEN
- PARENT.TriggerEvent("insert_childrow")
- dw_uc.SetColumn("cuscode")
- ELSE
- PARENT.TriggerEvent("retrieve_childdw")
- END IF
- //
- end event
- type cb_edit from w_publ_1ton_share_detail`cb_edit within w_invoice
- integer x = 507
- end type
- event cb_edit::clicked;if not f_power_ind(525) 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_ware.updatebegin(dw_pageretr.object.scid[uc_row],dw_pageretr.object.invoiceid[uc_row],arg_msg)=0 then
- messagebox('错误',arg_msg,stopsign!,OK!)
- return
- end if
- cur_editfocus=2
-
- else
- cur_editfocus=0
- end if
- call super::clicked
- PARENT.triggerevent('refresh_interface')
- end event
- type cb_delet from w_publ_1ton_share_detail`cb_delet within w_invoice
- integer x = 699
- end type
- event cb_delet::clicked;call super::clicked;if not f_power_ind(607) then
- messagebox('提示','你没有使用权限!',information!,OK!)
- return
- end if
- if dw_edit_mode then return
- string arg_msg=''
- long uc_row
- uc_row=dw_pageretr.getrow()
- if uc_row<=0 then
- messagebox('提示','请选定当前目标单据!',information!,OK!)
- return
- end if
- if messagebox ("询问","是否确定要删除当前单据?",question!,yesno! ) = 2 then return
- if uo_ware.del(dw_pageretr.object.scid[uc_row],dw_pageretr.object.invoiceid[uc_row],arg_msg,true)=0 then
- messagebox('错误',arg_msg,stopsign!,OK!)
- else
- //日志
- long ls_id
- string ls_code
- ls_id=dw_pageretr.object.invoiceid[uc_row]
- ls_code=dw_pageretr.object.invoicecode[uc_row]
- f_setsysoplog('发票','删除,id:'+string(ls_id)+',code:'+ls_code,arg_msg,true)
- //--
- messagebox('提示','删除单据'+string(dw_pageretr.object.invoicecode[uc_row])+'成功!',information!,OK!)
- dw_pageretr.deleterow(uc_row)
- dw_pageretr.postevent(rowfocuschanged!)
- end if
- end event
- type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_invoice
- integer x = 1193
- end type
- event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
- string menustr
- menustr="Text=增加备注~tEvent=ue_addzy"
- menustr = menustr + "|" + "Text=-"
- menustr = menustr + "|" + "Text=查看附件~tEvent=ue_fj_view"
- menustr = menustr + "|" + "Text=添加附件~tEvent=ue_fj_edit"
- if len(trim(menustr))<>0 then
- dmPopupMenu = Create m_Dfc_Control_PopupMenu
- dmPopupMenu.mf_BuildMenu(This, menustr)
- dmPopupMenu.mf_PopMenu()
- Destroy dmPopupMenu
- end if
- end event
- type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_invoice
- integer x = 850
- end type
- event cb_auditing::clicked;call super::clicked;
- IF dw_edit_mode THEN RETURN
- String arg_msg = '',ls_code
- Long pagerert_row,ls_id
- pagerert_row = dw_pageretr.GetRow()
- IF pagerert_row <= 0 THEN
- MessageBox('提示','请选定当前目标单据!',information!,OK!)
- RETURN
- END IF
- IF MessageBox ("询问","是否确定要"+THIS.Text+"当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
- IF uo_ware.getinfo(dw_pageretr.Object.scid[pagerert_row],dw_pageretr.Object.invoiceid[pagerert_row],arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
- IF dw_pageretr.Object.flag[pagerert_row] = 0 THEN
- IF NOT f_power_ind(526) THEN
- MessageBox('提示','你没有使用权限!',information!,OK!)
- RETURN
- END IF
-
- IF uo_ware.auditing(TRUE,arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- ELSE
- MessageBox('提示','审核成功!',information!,OK!)
- wf_refresh_curuc(dw_pageretr.Object.scid[pagerert_row],dw_pageretr.Object.invoiceid[pagerert_row])
- END IF
- ELSE
- IF NOT f_power_ind(1001) THEN
- MessageBox('提示','你没有使用权限!',information!,OK!)
- RETURN
- END IF
-
- IF uo_ware.secauditing(TRUE,arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- ELSE
- MessageBox('提示','审核成功!',information!,OK!)
- wf_refresh_curuc(dw_pageretr.Object.scid[pagerert_row],dw_pageretr.Object.invoiceid[pagerert_row])
- END IF
- END IF
- end event
- type cb_xm from w_publ_1ton_share_detail`cb_xm within w_invoice
- integer x = 1445
- end type
- type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_invoice
- integer width = 165
- end type
- type cb_xls from w_publ_1ton_share_detail`cb_xls within w_invoice
- integer x = 2231
- end type
- type cb_help from w_publ_1ton_share_detail`cb_help within w_invoice
- integer x = 1696
- end type
- type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_invoice
- integer x = 1042
- end type
- event cb_auditing_cancel::clicked;call super::clicked;
- IF dw_edit_mode THEN RETURN
- String arg_msg = '',ls_code,ls_opemp,ls_outpart
- Long pagerert_row,ls_id
- pagerert_row = dw_pageretr.GetRow()
- IF pagerert_row <= 0 THEN
- MessageBox('提示','请选定当前目标单据!',information!,OK!)
- RETURN
- END IF
- IF NOT KeyDown(KeyControl!) THEN
- IF MessageBox ("询问","是否确定要"+THIS.Text+"当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
- END IF
- IF uo_ware.getinfo(dw_pageretr.Object.scid[pagerert_row],dw_pageretr.Object.invoiceid[pagerert_row],arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- RETURN
- END IF
- IF dw_pageretr.Object.secflag[pagerert_row] = 0 THEN
- IF NOT f_power_ind(875) THEN
- MessageBox('提示','你没有使用权限!',information!,OK!)
- RETURN
- END IF
- IF uo_ware.c_auditing(TRUE,arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- ELSE
- MessageBox('提示','撤审成功!',information!,OK!)
- //日志
- ls_code = dw_pageretr.Object.invoicecode[pagerert_row]
- ls_opemp = dw_pageretr.Object.opemp[pagerert_row]
- ls_outpart = dw_pageretr.Object.relcode[pagerert_row]
- f_setsysoplog('发票','撤审'+',code:'+ls_code+',相关号码:'+ls_outpart+',建立人:'+ls_opemp,arg_msg,TRUE)
- //--
- wf_refresh_curuc(dw_pageretr.Object.scid[pagerert_row],dw_pageretr.Object.invoiceid[pagerert_row])
- END IF
- ELSE
- IF NOT f_power_ind(1002) THEN
- MessageBox('提示','你没有使用权限!',information!,OK!)
- RETURN
- END IF
- IF uo_ware.c_secauditing(TRUE,arg_msg) = 0 THEN
- MessageBox('错误',arg_msg,stopsign!,OK!)
- ELSE
- MessageBox('提示','撤审成功!',information!,OK!)
- //日志
- ls_code = dw_pageretr.Object.invoicecode[pagerert_row]
- ls_opemp = dw_pageretr.Object.opemp[pagerert_row]
- ls_outpart = dw_pageretr.Object.relcode[pagerert_row]
- f_setsysoplog('发票','撤审'+',code:'+ls_code+',相关号码:'+ls_outpart+',建立人:'+ls_opemp,arg_msg,TRUE)
- //--
- wf_refresh_curuc(dw_pageretr.Object.scid[pagerert_row],dw_pageretr.Object.invoiceid[pagerert_row])
- END IF
- END IF
- end event
- type p_msg from w_publ_1ton_share_detail`p_msg within w_invoice
- end type
- type p_help from w_publ_1ton_share_detail`p_help within w_invoice
- end type
- type p_encl from w_publ_1ton_share_detail`p_encl within w_invoice
- end type
- type p_other from w_publ_1ton_share_detail`p_other within w_invoice
- end type
- type gb_3 from w_publ_1ton_share_detail`gb_3 within w_invoice
- end type
- type ln_bar from w_publ_1ton_share_detail`ln_bar within w_invoice
- end type
- type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_invoice
- end type
- type r_bar from w_publ_1ton_share_detail`r_bar within w_invoice
- end type
- type ln_1 from w_publ_1ton_share_detail`ln_1 within w_invoice
- end type
- type ln_2 from w_publ_1ton_share_detail`ln_2 within w_invoice
- end type
- type ddlb_scid from uo_ddlb_scid within w_invoice
- integer x = 969
- integer y = 184
- integer width = 549
- integer height = 468
- integer taborder = 20
- boolean bringtotop = true
- end type
- event constructor;call super::constructor;cur_scid=this.uo_scid
- cur_scid_arr = THIS.uo_scid_arr
- end event
- event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid
- cur_scid_arr = THIS.uo_scid_arr
- parent.triggerevent("retrieve_pageretr")
- end event
- type ddlb_status from dropdownlistbox within w_invoice
- integer x = 1755
- integer y = 184
- integer width = 549
- integer height = 508
- 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
- cur_secflag = -1
- ELSEIF Index = 2 THEN
- cur_flag = 0
- cur_secflag = 0
- ELSEIF Index = 3 THEN
- cur_flag = 1
- cur_secflag = 0
- ELSEIF Index = 4 THEN
- cur_flag = 1
- cur_secflag = 1
- END IF
- PARENT.TriggerEvent('retrieve_pageretr')
- end event
- type st_3 from statictext within w_invoice
- integer x = 1577
- integer y = 200
- integer width = 219
- integer height = 48
- 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 st_2 from statictext within w_invoice
- integer x = 791
- integer y = 200
- integer width = 219
- integer height = 48
- 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
|