w_invoice.srw 48 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818
  1. $PBExportHeader$w_invoice.srw
  2. forward
  3. global type w_invoice from w_publ_1ton_share_detail
  4. end type
  5. type ddlb_scid from uo_ddlb_scid within w_invoice
  6. end type
  7. type ddlb_status from dropdownlistbox within w_invoice
  8. end type
  9. type st_3 from statictext within w_invoice
  10. end type
  11. type st_2 from statictext within w_invoice
  12. end type
  13. end forward
  14. global type w_invoice from w_publ_1ton_share_detail
  15. integer width = 3621
  16. string title = "发票单"
  17. boolean maxbox = true
  18. windowstate windowstate = maximized!
  19. event insert_childrow ( )
  20. event ue_fj_edit ( )
  21. event ue_fj_view ( )
  22. ddlb_scid ddlb_scid
  23. ddlb_status ddlb_status
  24. st_3 st_3
  25. st_2 st_2
  26. end type
  27. global w_invoice w_invoice
  28. type variables
  29. uo_invoice uo_ware
  30. uo_cusprice uo_cus_price
  31. long cur_scid //分店ID
  32. long cur_scid_arr[]
  33. int cur_editfocus=0 //1:新建2:修改
  34. long cur_flag= -1 //-1:全部,0仓库未审,1仓库已审核
  35. long cur_secflag= -1
  36. end variables
  37. forward prototypes
  38. public function integer wf_flagstatus_rf ()
  39. public function integer wf_refresh_curuc (long arg_scid, long arg_invoiceid)
  40. public function integer wf_addmx (long arg_scid, long arg_outwareid, ref string arg_msg)
  41. public function integer wf_adduc (long arg_scid, long arg_outwareid, ref string arg_msg)
  42. public subroutine wf_check_billfj ()
  43. 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)
  44. public function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg)
  45. end prototypes
  46. event insert_childrow();long li_row
  47. li_row=dw_child.insertrow(0)
  48. dw_child.scrolltorow(li_row)
  49. dw_child.SetColumn ('mtrlcode')
  50. end event
  51. event ue_fj_edit();IF dw_edit_mode THEN
  52. MessageBox('提示','编辑状态下不可用',information!,OK!)
  53. RETURN
  54. END IF
  55. //IF NOT f_power_ind(1098) THEN
  56. // MessageBox(publ_operator,'你没有使用权限!')
  57. // RETURN
  58. //END IF
  59. s_edit_index_tran s_pic
  60. Long ll_ConnectionID
  61. String arg_msg
  62. Long ls_row
  63. ls_row = dw_pageretr.GetRow()
  64. IF ls_row <= 0 THEN
  65. RETURN
  66. END IF
  67. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  68. MessageBox('提示','没有指定附件数据库连接'+arg_msg,information!,OK!)
  69. RETURN
  70. END IF
  71. s_pic.f_long = 131 //销售订单的mainID
  72. s_pic.f_string = dw_pageretr.Object.invoicecode[ls_row]
  73. s_pic.g_long = dw_pageretr.Object.invoiceid[ls_row]
  74. s_pic.e_long = dw_pageretr.Object.scid[ls_row]
  75. s_pic.sqltransaction = sys_filedb_sqlca
  76. OpenWithParm(w_fj_bill_mng,s_pic)
  77. wf_check_billfj()
  78. end event
  79. event ue_fj_view();IF dw_edit_mode THEN
  80. MessageBox('提示','编辑状态下不可用',information!,OK!)
  81. RETURN
  82. END IF
  83. s_edit_index_tran s_pic
  84. Long ll_ConnectionID
  85. String arg_msg
  86. Long ls_row
  87. ls_row = dw_pageretr.GetRow()
  88. IF ls_row <= 0 THEN
  89. RETURN
  90. END IF
  91. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  92. MessageBox('提示','没有指定附件数据库连接'+arg_msg,information!,OK!)
  93. RETURN
  94. END IF
  95. s_pic.f_long = 131 //销售订单的mainID
  96. s_pic.f_string = dw_pageretr.Object.invoicecode[ls_row]
  97. s_pic.g_long = dw_pageretr.Object.invoiceid[ls_row]
  98. s_pic.e_long = dw_pageretr.Object.scid[ls_row]
  99. s_pic.sqltransaction = sys_filedb_sqlca
  100. OpenWithParm(w_fj_bill_view,s_pic)
  101. end event
  102. public function integer wf_flagstatus_rf ();
  103. Long pagerert_row
  104. pagerert_row = dw_pageretr.GetRow()
  105. IF pagerert_row <= 0 THEN
  106. cb_auditing.Text = '审核&F'
  107. cb_auditing.Enabled = FALSE
  108. cb_auditing_cancel.Text = '撤审'
  109. cb_auditing_cancel.Enabled = FALSE
  110. cur_flag = -1
  111. cur_secflag = -1
  112. GOTO ext
  113. END IF
  114. cur_flag = dw_pageretr.Object.flag[pagerert_row]
  115. cur_secflag = dw_pageretr.Object.secflag[pagerert_row]
  116. IF dw_edit_mode THEN
  117. cb_auditing.Text = '初审&F'
  118. cb_auditing.Enabled = FALSE
  119. cb_auditing_cancel.Enabled = FALSE
  120. ELSE
  121. IF cur_flag = 0 THEN
  122. cb_auditing.Enabled = TRUE
  123. cb_auditing.Text = '初审&F'
  124. cb_auditing_cancel.Enabled = FALSE
  125. ELSEIF cur_flag = 1 AND cur_secflag = 0 THEN
  126. cb_auditing.Enabled = TRUE
  127. cb_auditing.Text = '终审&F'
  128. cb_auditing_cancel.Enabled = TRUE
  129. cb_auditing_cancel.Text = '初撤'
  130. ELSE
  131. cb_auditing.Text = '初审&F'
  132. cb_auditing.Enabled = FALSE
  133. cb_auditing_cancel.Enabled = TRUE
  134. cb_auditing_cancel.Text = '终撤'
  135. END IF
  136. END IF
  137. cb_auditing.TriggerEvent('ue_textchange')
  138. cb_auditing_cancel.TriggerEvent('ue_textchange')
  139. ext:
  140. RETURN 0
  141. end function
  142. public function integer wf_refresh_curuc (long arg_scid, long arg_invoiceid);//====================================================================
  143. // Function: wf_refresh_curuc(arg_scid,arg_inwareid)
  144. //--------------------------------------------------------------------
  145. // Description: 刷新dw_uc
  146. //--------------------------------------------------------------------
  147. // Arguments:
  148. // value long arg_scid
  149. // value long arg_inwareid
  150. //--------------------------------------------------------------------
  151. // Returns: integer
  152. //--------------------------------------------------------------------
  153. // Author: yyx Date: 2003.11.14
  154. //--------------------------------------------------------------------
  155. // Modify History:
  156. //
  157. //====================================================================
  158. //wf_refresh_curuc
  159. if arg_invoiceid<=0 or isnull(arg_invoiceid) then return 0
  160. long uc_row
  161. uc_row=dw_pageretr.getrow()
  162. if uc_row<=0 then return 0
  163. long cusid
  164. datetime invoicedate
  165. string cuscode,cusname
  166. string dscrp
  167. string invoicecode
  168. datetime opdate
  169. string operator
  170. int li_flag
  171. datetime auditingdate ,moddate
  172. string Auditingrep ,modemp
  173. string currencyname,bankname,relcode
  174. long relid
  175. long secflag
  176. string secemp
  177. datetime secdate
  178. SELECT u_invoice.invoicecode,
  179. u_invoice.cusid,
  180. u_invoice.cuscode,
  181. u_invoice.cusname,
  182. u_invoice.invoicedate,
  183. u_invoice.currencyname,
  184. u_invoice.bankname,
  185. u_invoice.relid,
  186. u_invoice.relcode,
  187. u_invoice.dscrp,
  188. u_invoice.opemp,
  189. u_invoice.opdate,
  190. u_invoice.modemp,
  191. u_invoice.moddate,
  192. u_invoice.auditingrep,
  193. u_invoice.auditingdate,
  194. u_invoice.flag ,
  195. u_invoice.secflag,
  196. u_invoice.secemp,
  197. u_invoice.secdate
  198. into :invoicecode,
  199. :cusid,
  200. :cuscode,
  201. :cusname,
  202. :invoicedate,
  203. :currencyname,
  204. :bankname,
  205. :relid,
  206. :relcode,
  207. :dscrp,
  208. :operator,
  209. :opdate,
  210. :modemp,
  211. :moddate,
  212. :Auditingrep,
  213. :Auditingdate,
  214. :li_flag,
  215. :secflag,
  216. :secemp,
  217. :secdate
  218. FROM u_invoice
  219. WHERE ( u_invoice.invoiceid = :arg_invoiceid ) and
  220. ( u_invoice.scid=:arg_scid);
  221. if sqlca.sqlcode<>0 then
  222. messagebox('错误',"查询操作失败(错误单据唯一码)",stopsign!,OK!)
  223. return 0
  224. end if
  225. dw_pageretr.object.scid[uc_row]=arg_scid
  226. dw_pageretr.object.invoiceid[uc_row]=arg_invoiceid
  227. dw_pageretr.object.invoicedate[uc_row]=invoicedate
  228. dw_pageretr.object.currencyname[uc_row]= currencyname
  229. dw_pageretr.object.bankname[uc_row]= bankname
  230. dw_pageretr.object.dscrp[uc_row]= dscrp
  231. dw_pageretr.object.invoicecode[uc_row]=invoicecode
  232. dw_pageretr.object.opdate[uc_row]= opdate
  233. dw_pageretr.object.opemp[uc_row]= operator
  234. dw_pageretr.object.flag[uc_row]= li_flag
  235. dw_pageretr.object.relid[uc_row]=relid
  236. dw_pageretr.object.relcode[uc_row]=relcode
  237. dw_pageretr.object.Auditingdate[uc_row]= Auditingdate
  238. dw_pageretr.object.Auditingrep[uc_row]=Auditingrep
  239. dw_pageretr.object.cusid[uc_row]=cusid
  240. dw_pageretr.object.cuscode[uc_row]=cuscode
  241. dw_pageretr.object.cusname[uc_row]=cusname
  242. dw_pageretr.object.moddate[uc_row]= moddate
  243. dw_pageretr.object.modemp[uc_row]=modemp
  244. dw_pageretr.object.secflag[uc_row]=secflag
  245. dw_pageretr.object.secemp[uc_row]=secemp
  246. dw_pageretr.object.secdate[uc_row]=secdate
  247. dw_pageretr.resetupdate()
  248. dw_pageretr.setredraw(true)
  249. dw_uc.Reset()
  250. dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
  251. dw_uc.ResetUpdate()
  252. dw_uc.SetRedraw(TRUE)
  253. wf_flagstatus_rf()
  254. return 1
  255. end function
  256. 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)
  257. //查询合同物料资料
  258. //把物料资料写入数组
  259. long rslt=1
  260. long ls_mtrlid
  261. string ls_mtrlcode,ls_mtrlname,ls_mtrlmode
  262. dec ls_qty , ls_fprice , ls_rebate
  263. Long child_row
  264. child_row = dw_child.GetRow()
  265. //查询合同物料
  266. DECLARE pf_cur CURSOR FOR
  267. SELECT u_mtrldef.mtrlid AS mtrlid, u_mtrldef.mtrlcode AS mtrlcode,
  268. u_mtrldef.mtrlname AS mtrlname,u_outwaremx.qty,u_outwaremx.fprice,
  269. u_outwaremx.rebate,u_mtrldef.mtrlmode AS mtrlmode
  270. FROM u_outwaremx INNER JOIN
  271. u_mtrldef ON u_outwaremx.mtrlid = u_mtrldef.mtrlid
  272. WHERE ( u_outwaremx.outwareid = :arg_outwareid )
  273. and ( u_outwaremx.scid = :arg_scid );
  274. open pf_cur;
  275. fetch pf_cur into :ls_mtrlid,:ls_mtrlcode,:ls_mtrlname,:ls_fprice,:ls_rebate,:ls_qty,:ls_mtrlmode;
  276. do while sqlca.sqlcode=0
  277. IF dw_child.GetRow() > 0 THEN
  278. IF dw_child.Object.mtrlid[child_row] <> 0 THEN
  279. child_row = dw_child.InsertRow (0)
  280. ELSE
  281. child_row = dw_child.GetRow()
  282. END IF
  283. ELSE
  284. child_row = dw_child.InsertRow (0)
  285. END IF
  286. dw_child.object.mtrlid[child_row]=ls_mtrlid
  287. dw_child.object.mtrlcode[child_row]=ls_mtrlcode
  288. dw_child.object.mtrlmode[child_row]=ls_mtrlmode
  289. dw_child.object.mtrlname[child_row]=ls_mtrlname
  290. dw_child.object.qty[child_row]=ls_qty
  291. dw_child.object.amt[child_row] = ls_fprice * ls_rebate * ls_qty
  292. fetch pf_cur into :ls_mtrlid,:ls_mtrlcode,:ls_mtrlname,:ls_fprice,:ls_rebate,:ls_qty,:ls_mtrlmode;
  293. loop
  294. close pf_cur;
  295. dw_child.accepttext()
  296. return rslt
  297. end function
  298. 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)
  299. //查询合同物料资料
  300. //把物料资料写入数组
  301. Long rslt = 1
  302. Long ls_cusid
  303. String ls_cuscode,ls_cusname,ls_relcode
  304. Long li_row
  305. SELECT u_cust.cusid, u_cust.cuscode, u_cust.name,u_outware.outwarecode
  306. INTO :ls_cusid,:ls_cuscode,:ls_cusname,:ls_relcode
  307. FROM u_outware INNER JOIN
  308. u_cust ON u_outware.cusid = u_cust.cusid
  309. WHERE u_outware.outwareid = :arg_outwareid AND
  310. u_outware.scid = :arg_scid USING sqlca;
  311. IF sqlca.SQLCode <> 0 THEN
  312. rslt = 0
  313. arg_msg = "查询操作失败,销售单客户"
  314. GOTO ext
  315. END IF
  316. dw_uc.Object.cusid[dw_uc.GetRow()] = ls_cusid
  317. dw_uc.Object.cuscode[dw_uc.GetRow()] = ls_cuscode
  318. dw_uc.Object.cusname[dw_uc.GetRow()] = ls_cusname
  319. dw_uc.Object.relid[dw_uc.GetRow()] = arg_outwareid
  320. dw_uc.Object.relcode[dw_uc.GetRow()] = ls_relcode
  321. dw_uc.AcceptText()
  322. wf_addmx(arg_scid,arg_outwareid,arg_msg)
  323. ext:
  324. RETURN rslt
  325. end function
  326. public subroutine wf_check_billfj ();String arg_msg
  327. Long ll_ConnectionID
  328. Long cur_billtype
  329. long ll_relid,ll_relid_mx,ll_scid
  330. Long ls_filecount = 0
  331. Int rslt = 1
  332. uo_fj_mng_billtype ls_uo_fjbt
  333. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  334. Long row,uc_relid
  335. row = dw_pageretr.GetRow()
  336. IF row > 0 THEN
  337. ll_relid = dw_pageretr.Object.invoiceid[row]
  338. ll_scid = dw_pageretr.Object.scid[row]
  339. ll_relid_mx = 0
  340. ELSE
  341. rslt = 0
  342. GOTO ext
  343. END IF
  344. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  345. rslt = 0
  346. GOTO ext
  347. END IF
  348. cur_billtype = 131 //客户投拆单的 mainiD
  349. ls_uo_fjbt.uf_check_billfj( cur_billtype, ll_relid,ll_relid_mx,ll_scid, sys_fileDB_sqlca, arg_msg, ls_filecount)
  350. IF ls_filecount > 0 THEN
  351. rslt = 1
  352. GOTO ext
  353. ELSE
  354. rslt = 0
  355. GOTO ext
  356. END IF
  357. ext:
  358. wf_encl(rslt)
  359. DESTROY ls_uo_fjbt
  360. end subroutine
  361. 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);//==============================================================================
  362. // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata()
  363. //------------------------------------------------------------------------------
  364. // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可
  365. //------------------------------------------------------------------------------
  366. Long LS_ROW,ll_id,i,ll_scid
  367. LS_ROW = dw_uc.GetRow()
  368. IF LS_ROW <= 0 THEN
  369. arg_msg = '没有目标单据!'
  370. RETURN 0
  371. END IF
  372. //修改点:获取 指定retriev参数
  373. ll_id = dw_uc.Object.invoiceid[LS_ROW]
  374. ll_scid = dw_uc.Object.scid[LS_ROW]
  375. //查询所选模版是否含有图片信息
  376. Long ll_ifpic
  377. Long ll_classid
  378. SELECT ifpic
  379. INTO :ll_ifpic
  380. FROM U_XLS_Templates
  381. Where id = :ll_xls_Templatesid;
  382. IF sqlca.SQLCode <> 0 THEN
  383. ll_ifpic = 0
  384. END IF
  385. Long ll_i,ll_j
  386. Long ll_mtrlid
  387. Long ll_fileid
  388. Blob ls_filedata
  389. SetNull(ls_filedata)
  390. String Pathname,ls_filename,ls_filetype
  391. String errmsg
  392. uo_fj_mng_billtype ls_uo_fjbt
  393. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  394. s_xls_pic_list s_pic //结构数组-用于保存图片路径
  395. IF ll_ifpic = 1 THEN //如果含有图片信息,则查询本类型单据需要带出哪类附件
  396. SELECT classid
  397. INTO :ll_classid
  398. FROM u_billpic_fileclass
  399. Where (billtype = 131);
  400. IF sqlca.SQLCode <> 0 THEN
  401. ll_classid = 0
  402. END IF
  403. IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
  404. FOR ll_i = 1 TO dw_child.RowCount()
  405. ll_mtrlid = dw_child.Object.mtrlid[ll_i]
  406. //取该附件类型中的第一个附件.
  407. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
  408. FROM u_file
  409. WHERE relid = :ll_mtrlid
  410. AND classid = :ll_classid
  411. AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
  412. OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
  413. USING sys_fileDB_sqlca;
  414. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  415. ll_fileid = 0
  416. END IF
  417. IF ll_fileid > 0 THEN
  418. Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
  419. IF Trim(Pathname) <> '' THEN
  420. IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
  421. RETURN 0
  422. END IF
  423. IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
  424. RETURN 0
  425. ELSE
  426. s_pic.path[ll_i] = Pathname
  427. //记录临时文件位置,本窗口退出后删除
  428. wf_addlog_tempfilepathname(Pathname)
  429. END IF
  430. ELSE
  431. s_pic.path[ll_i] = ''
  432. END IF
  433. ELSE
  434. s_pic.path[ll_i] = ''
  435. END IF
  436. NEXT
  437. END IF
  438. //
  439. END IF
  440. ////可选设置///
  441. arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码
  442. if sys_option_xls_ifuse_passwd = 1 then arg_obj_st.uo_const.pwd = trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码
  443. boolean xls_locked
  444. xls_locked = not (sys_option_xls_lock = 1)
  445. /// Excel 的可选设置
  446. if arg_obj_st.of_setoption(arg_ationid, xls_locked,true,arg_msg) <> 1 then
  447. return 0
  448. end if
  449. for i = 1 to arg_str_billlist.count
  450. ////可选操作///
  451. arg_str_billlist.bill[i].ds_data = create datastore //
  452. arg_str_billlist.bill[i].ds_data.dataobject = arg_str_billlist.bill[i].datawindow //
  453. arg_str_billlist.bill[i].ds_data.settransobject(sqlca)
  454. //修改点:注意retrieve 参数与上文对应
  455. arg_str_billlist.bill[i].ds_data.retrieve(ll_scid,ll_id)
  456. next
  457. return 1
  458. end function
  459. 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
  460. LS_ROW = dw_pageretr.GetRow()
  461. IF LS_ROW <= 0 THEN
  462. arg_msg = '没有目标单据!'
  463. RETURN 0
  464. END IF
  465. //修改点:获取 指定retriev参数
  466. ll_id = dw_pageretr.Object.invoiceid[LS_ROW]
  467. ll_scid = dw_pageretr.Object.scid[LS_ROW]
  468. Long ll_i,ll_j
  469. Long ll_mtrlid
  470. Long ll_fileid
  471. Blob ls_filedata
  472. SetNull(ls_filedata)
  473. String Pathname,ls_filename,ls_filetype
  474. String errmsg
  475. uo_fj_mng_billtype ls_uo_fjbt
  476. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  477. Long ll_classid
  478. SELECT classid
  479. INTO :ll_classid
  480. FROM u_billpic_fileclass
  481. Where (billtype = 102);
  482. IF sqlca.SQLCode <> 0 THEN
  483. ll_classid = 0
  484. END IF
  485. IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
  486. FOR ll_i = 1 TO dw_child.RowCount()
  487. ll_mtrlid = dw_child.Object.mtrlid[ll_i]
  488. arg_s_pic.mtrlid[ll_i] = ll_mtrlid
  489. //取该附件类型中的第一个附件.
  490. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
  491. FROM u_file
  492. WHERE relid = :ll_mtrlid
  493. AND classid = :ll_classid
  494. AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
  495. OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
  496. USING sys_fileDB_sqlca;
  497. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  498. ll_fileid = 0
  499. END IF
  500. IF ll_fileid > 0 THEN
  501. Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
  502. IF Trim(Pathname) <> '' THEN
  503. IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
  504. RETURN 0
  505. END IF
  506. IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
  507. RETURN 0
  508. ELSE
  509. arg_s_pic.path[ll_i] = Pathname
  510. //记录临时文件位置,本窗口退出后删除
  511. wf_addlog_tempfilepathname(Pathname)
  512. END IF
  513. ELSE
  514. arg_s_pic.path[ll_i] = ''
  515. END IF
  516. ELSE
  517. arg_s_pic.path[ll_i] = ''
  518. END IF
  519. NEXT
  520. END IF
  521. RETURN 1
  522. end function
  523. on w_invoice.create
  524. int iCurrent
  525. call super::create
  526. this.ddlb_scid=create ddlb_scid
  527. this.ddlb_status=create ddlb_status
  528. this.st_3=create st_3
  529. this.st_2=create st_2
  530. iCurrent=UpperBound(this.Control)
  531. this.Control[iCurrent+1]=this.ddlb_scid
  532. this.Control[iCurrent+2]=this.ddlb_status
  533. this.Control[iCurrent+3]=this.st_3
  534. this.Control[iCurrent+4]=this.st_2
  535. end on
  536. on w_invoice.destroy
  537. call super::destroy
  538. destroy(this.ddlb_scid)
  539. destroy(this.ddlb_status)
  540. destroy(this.st_3)
  541. destroy(this.st_2)
  542. end on
  543. event retrieve_pageretr;Boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled
  544. Boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled
  545. cb_nextpage_enabled = cb_nextpage.Enabled
  546. cb_retrieveall_enabled = cb_retrieveall.Enabled
  547. cb_func_enabled = cb_func.Enabled
  548. cb_nextpage.Enabled = FALSE
  549. cb_retrieveall.Enabled = FALSE
  550. cb_func.Enabled = FALSE
  551. dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数
  552. dw_pageretr.Retrieve(cur_scid_arr,cur_flag,cur_secflag)
  553. IF dw_pageretr.RowCount() > 0 THEN
  554. dw_pageretr.SetRow(1)
  555. dw_pageretr.triggerevent(rowfocuschanged!)
  556. end if
  557. THIS.TriggerEvent('retrieve_childdw')
  558. cb_nextpage.Enabled = cb_nextpage_enabled
  559. cb_retrieveall.Enabled = cb_retrieveall_enabled
  560. cb_func.Enabled = cb_func_enabled
  561. end event
  562. event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
  563. if trim(sle_usual_query.text)<>'' then
  564. IF POS(trim(sle_usual_query.text),'%')=0 THEN
  565. obj_expr=obj_expr+'( invoicecode LIKE "%'+trim(sle_usual_query.text)+'%" )'
  566. ELSE
  567. obj_expr=obj_expr+'( invoicecode LIKE "'+trim(sle_usual_query.text)+'" )'
  568. END IF
  569. end if
  570. dw_pageretr.setfilter(obj_expr)
  571. dw_pageretr.SetRedraw(False)
  572. dw_pageretr.filter()
  573. if dw_pageretr.rowcount()>=1 then
  574. dw_pageretr.selectrow(0,false)
  575. dw_pageretr.selectrow(1,true)
  576. end if
  577. dw_pageretr.SetRedraw(TRUE)
  578. end event
  579. event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
  580. ls_newselect=lower(ori_oldselect)
  581. if trim(sle_usual_query.text)<>'' then
  582. if pos(trim(sle_usual_query.text),'%')=0 then
  583. ls_querystrpart="(u_invoice.invoicecode like '%"+trim(sle_usual_query.text)+"%')"
  584. else
  585. ls_querystrpart="(u_invoice.invoicecode like '"+trim(sle_usual_query.text)+"')"
  586. end if
  587. if Pos(ls_newselect," where ") <> 0 then
  588. ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
  589. else
  590. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  591. end if
  592. end if
  593. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  594. this.triggerevent('retrieve_pageretr')
  595. end event
  596. event open;THIS.TriggerEvent('ue_before_open')
  597. wf_movetocenter()
  598. ds_copy_bill = CREATE datastore
  599. ds_copy_bill.DataObject = dw_child.dataobject
  600. ds_copy_bill.SetTransObject(sqlca)
  601. OLD_TITLE = THIS.Title
  602. s_tran = Message.PowerObjectParm
  603. IF NOT IsNull(s_tran) THEN
  604. retrieve_all = s_tran.if_retrieve_all
  605. mode = s_tran.work_mode
  606. arg_pkid = s_tran.arg_pkid
  607. arg_string_code = s_tran.arg_string_code
  608. if_sharedata = s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效
  609. ds_share = s_tran.ds_share
  610. END IF
  611. dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关
  612. dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关
  613. dw_pageretr.SetTransObject (sqlca)
  614. pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
  615. ori_oldselect = dw_pageretr.Describe("DataWindow.Table.Select")
  616. //====================================================================
  617. // Script - w_outware_sale inherited from w_publ_1ton_share_detail for open
  618. // Reason:
  619. //--------------------------------------------------------------------
  620. // Modified By: yyx Date: 2003.12.01
  621. //--------------------------------------------------------------------
  622. ori_oldselect = f_modify_selectstr(ori_oldselect)//只显示所管的仓库单据
  623. //====================================================================
  624. ls_newselect = ori_oldselect
  625. ds_curquery = CREATE DATASTORE
  626. ds_curquery.DataObject = 'd_extr_find'
  627. ds_curquery.SetTransObject (sqlca)
  628. wf_editindex_lockf()
  629. sle_usual_query.Text = Trim(arg_string_code)
  630. IF NOT retrieve_all THEN
  631. THIS.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve
  632. ELSE
  633. IF if_sharedata THEN
  634. ds_share.ShareData(dw_pageretr)
  635. ELSE
  636. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  637. THIS.TriggerEvent('RETRIEVE_pageretr')
  638. END IF
  639. END IF
  640. IF retrieve_all THEN
  641. THIS.TriggerEvent("ue_usual_query_filt")
  642. END IF
  643. uc_column_int = 11 //uc dw前7列可以编辑
  644. child_column_int = 13 //子dw前8列可以编辑
  645. uo_ware = CREATE uo_invoice
  646. uo_ware.commit_transaction = sqlca
  647. uo_cus_price=create uo_cusprice
  648. s_hide_col s_col_mtrlsectype
  649. s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype'
  650. f_hide_col(1308,dw_child,s_col_mtrlsectype)
  651. s_hide_col s_col_zxmtrlmode
  652. s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode'
  653. f_hide_col(1309,dw_child,s_col_zxmtrlmode)
  654. end event
  655. event refresh_interface;call super::refresh_interface;ddlb_status.enabled=not dw_edit_mode
  656. if dw_edit_mode then
  657. ddlb_scid.enabled=false
  658. else
  659. if sys_scid > 0 then
  660. ddlb_scid.enabled=false
  661. else
  662. ddlb_scid.enabled=true
  663. end if
  664. end if
  665. end event
  666. event close;call super::close;destroy uo_ware
  667. wf_del_tempfilepathname()
  668. end event
  669. event ue_f8;call super::ue_f8;//用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用
  670. IF NOT dw_edit_mode THEN RETURN
  671. Long child_row
  672. long ls_cusid
  673. child_row = dw_child.GetRow()
  674. dw_uc.AcceptText()
  675. ls_cusid = dw_uc.object.cusid[dw_uc.getrow()]
  676. if isnull(ls_cusid) or ls_cusid = 0 then
  677. this.triggerevent("ue_f9")
  678. ls_cusid = dw_uc.object.cusid[dw_uc.getrow()]
  679. end if
  680. this.enabled = false
  681. IF NOT IsValid(W_mtrldef_edit) THEN
  682. s_edit_index_tran s_ch_tran //传递参数使用
  683. s_ch_tran.if_retrieve_all = FALSE //是否一次RETRIEVE所有行
  684. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  685. s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
  686. s_ch_tran.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  687. s_ch_tran.if_select_all = TRUE
  688. s_ch_tran.b_long = -1
  689. Long chc = 1,ls_j
  690. dw_child.AcceptText()
  691. IF dw_child.GetRow() > 0 THEN s_ch_tran.arg_string_code = Trim(dw_child.Object.mtrlcode[dw_child.GetRow()])
  692. OpenWithParm(W_mtrldef_edit,s_ch_tran)
  693. s_mtrldef_array S_INSCUST
  694. S_INSCUST = Message.PowerObjectParm
  695. FOR ls_j = 1 TO UpperBound(S_INSCUST.mtrlid)
  696. IF S_INSCUST.mtrlid[ls_j] > 0 THEN
  697. IF dw_child.GetRow() > 0 THEN
  698. IF dw_child.Object.mtrlid[child_row] <> 0 THEN
  699. child_row = dw_child.InsertRow (0)
  700. ELSE
  701. child_row = dw_child.GetRow()
  702. END IF
  703. ELSE
  704. child_row = dw_child.InsertRow (0)
  705. END IF
  706. dw_child.Object.mtrlid[child_row] = S_INSCUST.mtrlid[ls_j]
  707. dw_child.Object.mtrlcode[child_row] = S_INSCUST.mtrlcode[ls_j]
  708. dw_child.Object.mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j]
  709. dw_child.Object.mtrlname[child_row] = S_INSCUST.mtrlname[ls_j]
  710. end if
  711. NEXT
  712. dw_child.SetFocus()
  713. END IF
  714. this.enabled = true
  715. end event
  716. event retrieve_childdw;call super::retrieve_childdw;long row,uc_relid
  717. row=dw_pageretr.getrow()
  718. if row>0 then
  719. uc_relid=dw_pageretr.object.invoiceid[row]
  720. dw_child.SetRedraw (false)
  721. dw_child.retrieve(cur_scid,uc_relid)
  722. dw_child.SetRedraw (true)
  723. else
  724. dw_child.reset()
  725. end if
  726. end event
  727. event ue_f9;call super::ue_f9;if not dw_edit_mode then return
  728. long child_row
  729. child_row=dw_uc.getrow()
  730. if child_row=0 then
  731. messagebox('提示','请选定发票单!',information!,OK!)
  732. return
  733. end if
  734. this.enabled = false
  735. if not isvalid(W_cust_edit) then
  736. s_edit_index_tran s_ch_tran //传递参数使用
  737. s_ch_tran.if_retrieve_all=false //是否一次RETRIEVE所有行
  738. s_ch_tran.work_mode=1 //0-单纯编辑模式 1-选择\编辑模式
  739. s_ch_tran.arg_pkid=0 //目标定位PKID (备用)
  740. //查询列(物料编码)部分内容,用于初步筛选
  741. dw_uc.accepttext()
  742. s_ch_tran.arg_string_code=upper(trim(dw_uc.object.cuscode[dw_uc.getrow()]))
  743. OPENwithparm(W_cust_edit,s_ch_tran) //调用
  744. s_custom S_INSCUST
  745. S_INSCUST=Message.PowerObjectParm //接受返回结构
  746. IF S_INSCUST.cusid>0 THEN //正常返回值则可以取以下值
  747. dw_uc.setredraw(false)
  748. dw_uc.object.cusid[child_row]=S_INSCUST.cusid
  749. dw_uc.object.cusname[child_row]=S_INSCUST.name
  750. dw_uc.object.cuscode[child_row]=S_INSCUST.cuscode
  751. dw_uc.setredraw(true)
  752. dw_uc.setcolumn("invoicedate")
  753. END IF
  754. end if
  755. this.enabled = true
  756. end event
  757. event ue_viewprint;call super::ue_viewprint;
  758. IF NOT f_power_ind(608) THEN
  759. MessageBox('提示','你没有使用权限!',information!,OK!)
  760. RETURN
  761. END IF
  762. s_print_msg ls_prmsg
  763. ls_prmsg.retr_pram_falg = 15
  764. IF dw_uc.RowCount() = 0 THEN
  765. MessageBox('提示','没有可打印的单据!',information!,OK!)
  766. RETURN
  767. END IF
  768. IF ls_newname <> '' THEN
  769. IF li_auditprint = 1 THEN
  770. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  771. MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!)
  772. RETURN
  773. END IF
  774. END IF
  775. ls_prmsg.obj_dwNAME = ls_newname
  776. ELSE
  777. ls_prmsg.obj_dwNAME = 'dw_rp_invoice_edit'
  778. END IF
  779. ls_prmsg.tag_text = '发票单'
  780. ls_prmsg.filter_string = ''
  781. ls_prmsg.pagech_flag = 0
  782. ls_prmsg.retr_scid = dw_pageretr.Object.scid[dw_pageretr.GetRow()]
  783. ls_prmsg.retr_pramnmb = dw_pageretr.Object.invoiceid[dw_pageretr.GetRow()]
  784. ls_prmsg.rowcnt = dw_child.RowCount()
  785. IF ifpic = 1 THEN
  786. String ls_msg
  787. IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
  788. MessageBox('提示','下载图片失败!',information!,OK!)
  789. RETURN
  790. END IF
  791. END IF
  792. OpenWithParm(w_publ_preview,ls_prmsg)
  793. IF ifpic = 1 THEN
  794. Long li
  795. FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
  796. IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
  797. FileDelete(LS_PRMSG.s_pic.path[li])
  798. END IF
  799. NEXT
  800. END IF
  801. //**更新打印次料
  802. String arg_msg
  803. printnum = Message.DoubleParm
  804. f_update_printnum('u_invoice',printnum,dw_pageretr.Object.scid[dw_pageretr.GetRow()],dw_uc.Object.invoiceid[dw_uc.GetRow()],'','',arg_msg,TRUE)
  805. end event
  806. event resize;call super::resize;long w_width,w_height
  807. //w_width = 3600
  808. //w_height = 2300
  809. //
  810. //
  811. //if newwidth < w_width then this.width = w_width
  812. //if newheight < w_height then this.height = w_height
  813. //
  814. //
  815. //dw_child.width=this.width - (w_width - 3557)
  816. //dw_child.height=this.height - (w_height - 932)
  817. //
  818. //cb_add.y=this.height - (w_height - 2030)
  819. //cb_edit.y=this.height - (w_height - 2030)
  820. //cb_delet.y=this.height - (w_height - 2030)
  821. //cb_addzy.y=this.height - (w_height - 2030)
  822. //cb_add_xm.y=this.height - (w_height - 2030)
  823. //cb_dele_xm.y=this.height - (w_height - 2030)
  824. //cb_exit.y=this.height - (w_height - 2030)
  825. //cb_auditing.y=this.height - (w_height - 2030)
  826. //cb_cancelauditing.y=this.height - (w_height - 2030)
  827. //
  828. end event
  829. event ue_print;call super::ue_print;//--直接打印
  830. IF NOT f_power_ind(608) THEN
  831. MessageBox('提示','你没有使用权限!',information!,OK!)
  832. RETURN
  833. END IF
  834. uo_print_preview uo_print
  835. S_print_MSG LS_PRMSG
  836. IF dw_pageretr.RowCount() = 0 THEN
  837. MessageBox('提示','没有可打印的单据!',information!,OK!)
  838. RETURN
  839. END IF
  840. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  841. IF ls_newname <> '' THEN
  842. IF li_auditprint = 1 THEN
  843. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  844. MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!)
  845. RETURN
  846. END IF
  847. END IF
  848. LS_PRMSG.obj_dwNAME = ls_newname
  849. ELSE
  850. LS_PRMSG.obj_dwNAME = 'dw_rp_invoice_edit'
  851. END IF
  852. LS_PRMSG.retr_pram_falg = 15
  853. LS_PRMSG.TAG_TEXT = '发票单'
  854. LS_PRMSG.FILTER_STRING = ''
  855. LS_PRMSG.PAGECH_FLAG = 0
  856. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.invoiceid[dw_pageretr.GetRow()]
  857. IF ifpic = 1 THEN
  858. String ls_msg
  859. IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
  860. MessageBox('提示','下载图片失败!',information!,OK!)
  861. RETURN
  862. END IF
  863. END IF
  864. uo_print.FACT_PRINT_MSG = LS_PRMSG
  865. String arg_msg
  866. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  867. MessageBox("错误",arg_msg,stopsign!,OK!)
  868. RETURN
  869. END IF
  870. uo_print.ds_print()
  871. IF ifpic = 1 THEN
  872. Long li
  873. FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
  874. IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
  875. FileDelete(LS_PRMSG.s_pic.path[li])
  876. END IF
  877. NEXT
  878. END IF
  879. end event
  880. event ue_f7;IF NOT dw_edit_mode THEN RETURN
  881. Long ls_outwareid
  882. String ls_outwarecode
  883. Long ls_j
  884. THIS.Enabled = FALSE
  885. IF NOT IsValid(w_outware_sale_ch) THEN
  886. s_outware_tsale_array s_outware
  887. s_edit_index_tran s_tranf8 //传递参数使用
  888. s_tranf8.if_retrieve_all = FALSE //是否一次RETRIEVE所有行
  889. s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
  890. s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  891. s_tranf8.b_long = cur_scid
  892. s_tranf8.if_select_all = TRUE //多选
  893. OpenWithParm(w_outware_sale_invoice_ch,s_tranf8)
  894. s_outware = Message.PowerObjectParm
  895. FOR ls_j = 1 TO UpperBound(s_outware.outwareid)
  896. IF s_outware.outwareid[ls_j] > 0 THEN
  897. dw_uc.SetRedraw(FALSE)
  898. ls_outwareid = s_outware.outwareid[ls_j]
  899. ls_outwarecode = s_outware.outwarecode[ls_j]
  900. String errmsg = ''
  901. IF wf_adduc(cur_scid,ls_outwareid,errmsg) = 0 THEN
  902. MessageBox('错误',errmsg,stopsign!,OK!)
  903. CONTINUE
  904. END IF
  905. dw_uc.SetRedraw(TRUE)
  906. END IF
  907. dw_uc.SetColumn("dscrp")
  908. NEXT
  909. END IF
  910. THIS.Enabled = TRUE
  911. end event
  912. event ue_addzy;call super::ue_addzy;IF dw_edit_mode THEN
  913. MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
  914. return
  915. END IF
  916. if not f_power_ind(768) then
  917. messagebox('提示','你没有使用权限!',information!,OK!)
  918. return
  919. end if
  920. String arg_msg = ''
  921. String ls_str
  922. Long uc_row
  923. s_inputbox s_sreu
  924. uc_row = dw_pageretr.GetRow()
  925. IF uc_row <= 0 THEN
  926. MessageBox('提示','请选定当前目标单据!',information!,OK!)
  927. RETURN
  928. END IF
  929. s_sreu.Title = '请输入要补充到备注的内容'
  930. s_sreu.old_text = ''
  931. OpenWithParm(w_inputbox,s_sreu)
  932. ls_str = Message.StringParm
  933. IF Trim(ls_str) = '' OR IsNull(ls_str) THEN RETURN
  934. IF uo_ware.add_dscrp(dw_pageretr.object.scid[uc_row],dw_pageretr.Object.invoiceid[uc_row],ls_str,arg_msg) = 0 THEN
  935. MessageBox('错误',arg_msg,stopsign!,OK!)
  936. RETURN
  937. ELSE
  938. MessageBox('提示','添加备注操作成功!',information!,OK!)
  939. wf_refresh_curuc(dw_pageretr.object.scid[uc_row],dw_pageretr.Object.invoiceid[uc_row])
  940. END IF
  941. end event
  942. type cb_func from w_publ_1ton_share_detail`cb_func within w_invoice
  943. integer x = 165
  944. end type
  945. type cb_exit from w_publ_1ton_share_detail`cb_exit within w_invoice
  946. integer x = 2533
  947. end type
  948. type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_invoice
  949. integer x = 192
  950. integer y = 180
  951. integer width = 549
  952. end type
  953. type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_invoice
  954. integer x = 2935
  955. end type
  956. type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_invoice
  957. integer x = 2683
  958. integer y = 36
  959. integer width = 256
  960. end type
  961. type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_invoice
  962. integer x = 1637
  963. integer y = 280
  964. integer width = 1906
  965. integer height = 860
  966. string dataobject = "dw_invoice_index"
  967. end type
  968. event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_flagstatus_rf()
  969. wf_check_billfj()
  970. if dw_edit_mode then return
  971. if currentrow <=0 then
  972. dw_child.reset()
  973. return
  974. end if
  975. this.selectrow(0,false)
  976. this.selectrow(currentrow,true)
  977. dw_uc.setrow(currentrow)
  978. dw_uc.scrolltorow (currentrow)
  979. if not dw_edit_mode then parent.triggerevent('retrieve_childdw')
  980. end event
  981. type st_1 from w_publ_1ton_share_detail`st_1 within w_invoice
  982. integer x = 14
  983. integer y = 200
  984. end type
  985. type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_invoice
  986. integer x = 3086
  987. end type
  988. type dw_uc from w_publ_1ton_share_detail`dw_uc within w_invoice
  989. integer width = 1632
  990. integer height = 848
  991. string dataobject = "dw_invoice_edit"
  992. end type
  993. event dw_uc::dwnkey;parent.triggerevent('user_key')
  994. if key = KeyDownArrow! then return 1
  995. if dw_edit_mode then
  996. if dw_uc.GetColumnName ( )='dscrp' and key = KeyEnter! then
  997. dw_child.setfocus()
  998. dw_child.scrolltorow(dw_child.rowcount())
  999. dw_child.SetColumn ('mtrlcode')
  1000. return 1
  1001. elseif dw_uc.GetColumnName ( )='cuscode' and key = KeyEnter! then
  1002. String ls_code,ls_name,ls_custype,ls_find_code
  1003. Long ls_cusid
  1004. Long cnt = 0
  1005. Boolean if_find = FALSE
  1006. dw_uc.AcceptText()
  1007. ls_code = Trim(dw_uc.Object.cuscode[dw_uc.GetRow()])
  1008. SELECT u_cust.cusid,
  1009. u_cust.name,
  1010. u_cust.custype,
  1011. u_cust.cuscode
  1012. INTO :ls_cusid,:ls_name,:ls_custype,:ls_code
  1013. FROM u_cust
  1014. Where (cuscode = :ls_code OR Name = :ls_code);
  1015. IF sqlca.SQLCode <> 0 THEN
  1016. IF Pos(Trim(ls_code),'%') = 0 THEN
  1017. ls_find_code = '%'+ Trim(ls_code) + '%'
  1018. ELSE
  1019. ls_find_code = Trim(ls_code)
  1020. END IF
  1021. SELECT count(*) INTO :cnt
  1022. FROM u_cust
  1023. Where ( cuscode Like :ls_find_code OR Name Like :ls_find_code );
  1024. IF sqlca.SQLCode <> 0 THEN
  1025. PARENT.TriggerEvent('ue_f9')
  1026. RETURN 1
  1027. END IF
  1028. IF cnt <> 1 THEN
  1029. PARENT.TriggerEvent('ue_f9')
  1030. RETURN 1
  1031. ELSE
  1032. SELECT u_cust.cusid,
  1033. u_cust.cuscode,
  1034. u_cust.name
  1035. INTO :ls_cusid,:ls_code,:ls_name
  1036. FROM u_cust
  1037. Where ( cuscode Like :ls_find_code OR Name Like :ls_find_code );
  1038. IF sqlca.SQLCode <> 0 THEN
  1039. PARENT.TriggerEvent('ue_f9')
  1040. RETURN 1
  1041. ELSE
  1042. if_find = TRUE
  1043. END IF
  1044. END IF
  1045. ELSE
  1046. if_find = TRUE
  1047. END IF
  1048. IF if_find THEN
  1049. dw_uc.setredraw(false)
  1050. dw_uc.object.cusid[dw_uc.getrow()]=ls_cusid
  1051. dw_uc.object.cuscode[dw_uc.getrow()]=ls_code
  1052. dw_uc.object.cusname[dw_uc.getrow()]=ls_name
  1053. dw_uc.setredraw(true)
  1054. dw_uc.setcolumn("invoicedate")
  1055. return 1
  1056. end if
  1057. else
  1058. if key = KeyEnter! Then //
  1059. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1060. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1061. Return 1
  1062. end If
  1063. end if
  1064. end if
  1065. end event
  1066. event dw_uc::doubleclicked;IF dw_edit_mode and row >0 THEN
  1067. parent.triggerevent('ue_f9')
  1068. END IF
  1069. end event
  1070. event dw_uc::clicked;call super::clicked;if not dw_edit_mode then return
  1071. if row <= 0 then return
  1072. if dwo.name='p_p' then
  1073. parent.TRIGGEREVENT('ue_f9')
  1074. elseif dwo.name='p_b' Or dwo.Name = 'outware_sale_t' THEN
  1075. parent.TRIGGEREVENT('ue_f7')
  1076. end if
  1077. end event
  1078. type gb_2 from w_publ_1ton_share_detail`gb_2 within w_invoice
  1079. end type
  1080. type dw_child from w_publ_1ton_share_detail`dw_child within w_invoice
  1081. integer y = 1128
  1082. integer height = 1112
  1083. string dataobject = "dw_invoicemx_index"
  1084. end type
  1085. event dw_child::dwnkey;call super::dwnkey;parent.triggerevent('user_key')
  1086. string ls_mtrlcode,ls_mtrlname,ls_mtrlmode
  1087. long ls_mtrlid
  1088. long child_row
  1089. long ls_null
  1090. setnull(ls_null)
  1091. s_mtrldef_array arg_s_mtrldef
  1092. if dw_edit_mode then
  1093. If keydown(Keydownarrow!) Then
  1094. long li_row
  1095. if dw_child.getrow()=dw_child.rowcount() then
  1096. parent.triggerevent("insert_childrow")
  1097. end if
  1098. else
  1099. if (keydown(KeyEnter!) or keydown(KeyTab!)) and not keydown(KeyControl!) and not keydown(KeyShift!) then
  1100. if dw_child.getcolumnname()='mtrlcode' then
  1101. dw_child.accepttext()
  1102. child_row=dw_child.getrow()
  1103. ls_mtrlcode=dw_child.object.mtrlcode[child_row]
  1104. IF f_find_mtrl(ls_mtrlcode,-1,arg_s_mtrldef) = 0 THEN
  1105. PARENT.TriggerEvent('ue_f8')
  1106. RETURN 1
  1107. else
  1108. ls_mtrlid = arg_s_mtrldef.mtrlid[1]
  1109. ls_mtrlcode = arg_s_mtrldef.mtrlcode[1]
  1110. ls_mtrlname = arg_s_mtrldef.mtrlname[1]
  1111. ls_mtrlmode = arg_s_mtrldef.mtrlmode[1]
  1112. end if
  1113. dw_child.object.mtrlid[child_row] =ls_mtrlid
  1114. dw_child.object.mtrlname[child_row] =ls_mtrlname
  1115. dw_child.object.mtrlmode[child_row] =ls_mtrlmode
  1116. If key = KeyEnter! Then
  1117. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1118. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1119. return 1
  1120. end if
  1121. ELSEIF dw_child.GetColumnName( ) = 'dscrp' AND dw_child.GetRow() = dw_child.RowCount() THEN
  1122. PARENT.TriggerEvent("insert_childrow")
  1123. RETURN 1
  1124. else
  1125. If key = KeyEnter! Then
  1126. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1127. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1128. return 1
  1129. end if
  1130. end if
  1131. end if
  1132. end if
  1133. end if
  1134. end event
  1135. type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_invoice
  1136. integer x = 2039
  1137. end type
  1138. type cb_print from w_publ_1ton_share_detail`cb_print within w_invoice
  1139. integer x = 1847
  1140. end type
  1141. type cb_add from w_publ_1ton_share_detail`cb_add within w_invoice
  1142. integer x = 315
  1143. end type
  1144. event cb_add::clicked;IF NOT f_power_ind(525) THEN
  1145. MessageBox('提示','你没有使用权限!',information!,OK!)
  1146. RETURN
  1147. END IF
  1148. String arg_msg = ''
  1149. Long uc_row,pagerert_row
  1150. Long relid_pageretr,reld_uc,j
  1151. IF dw_edit_mode THEN
  1152. dw_uc.AcceptText()
  1153. dw_child.AcceptText()
  1154. uc_row = dw_uc.GetRow()
  1155. IF uc_row <= 0 THEN
  1156. MessageBox('提示','请选定当前目标单据!',information!,OK!)
  1157. RETURN
  1158. END IF
  1159. IF NOT dw_uc.Object.invoicedate[uc_row] > DateTime(2000-01-01,Now()) THEN
  1160. MessageBox('提示','不合理发生时间',information!,OK!)
  1161. dw_uc.SetFocus()
  1162. dw_uc.SetColumn("invoicedate")
  1163. RETURN
  1164. END IF
  1165. uo_ware.invoicedate = dw_uc.Object.invoicedate[uc_row] // 发生时间
  1166. uo_ware.bankname = dw_uc.Object.bankname[uc_row] // 经手人
  1167. uo_ware.currencyname = dw_uc.Object.currencyname[uc_row] //相关部门
  1168. uo_ware.dscrp = dw_uc.Object.dscrp[uc_row] //备注
  1169. uo_ware.cusid = dw_uc.Object.cusid[uc_row]
  1170. uo_ware.cuscode = dw_uc.Object.cuscode[uc_row]
  1171. uo_ware.cusname = dw_uc.Object.cusname[uc_row]
  1172. uo_ware.relcode = dw_uc.Object.relcode[uc_row]
  1173. IF IsNull(dw_uc.Object.relid[uc_row]) THEN dw_uc.Object.relid[uc_row] = 0
  1174. uo_ware.relid = dw_uc.Object.relid[uc_row]
  1175. Long obj_mtrlid,i
  1176. Dec obj_qty,obj_price
  1177. String obj_mtrlcode
  1178. FOR i = 1 TO dw_child.RowCount()
  1179. IF uo_ware.acceptmx( dw_child.Object.qty[i],&
  1180. dw_child.Object.price[i],&
  1181. dw_child.Object.amt[i],&
  1182. dw_child.Object.dscrp[i],&
  1183. i,&
  1184. arg_msg,&
  1185. dw_child.Object.mtrlid[i],&
  1186. dw_child.Object.mtrlcode[i],&
  1187. dw_child.Object.mtrlname[i],&
  1188. dw_child.Object.mtrlmode[i],&
  1189. dw_child.Object.saledate[i],&
  1190. dw_child.Object.btype[i],&
  1191. dw_child.Object.bqty[i],&
  1192. dw_child.Object.bcode[i]) = 0 THEN
  1193. MessageBox('错误',arg_msg,stopsign!,OK!)
  1194. RETURN
  1195. END IF
  1196. NEXT
  1197. IF uo_ware.Save(TRUE,arg_msg) = 0 THEN
  1198. MessageBox('错误',arg_msg,stopsign!,OK!)
  1199. RETURN
  1200. END IF
  1201. // messagebox(publ_operator,'保存操作成功!')
  1202. long ll_row
  1203. ll_row = dw_pageretr.getrow()
  1204. dw_pageretr.SelectRow(0,FALSE)
  1205. dw_pageretr.SelectRow(ll_row,TRUE)
  1206. wf_refresh_curuc(cur_scid,uo_ware.invoiceid) //刷新uc
  1207. ELSE
  1208. IF uo_ware.newbegin(cur_scid,arg_msg) = 0 THEN
  1209. MessageBox('错误',arg_msg,stopsign!,OK!)
  1210. RETURN
  1211. END IF
  1212. cur_editfocus = 1
  1213. END IF
  1214. CALL SUPER::Clicked
  1215. //read ini
  1216. IF dw_edit_mode THEN
  1217. PARENT.TriggerEvent("insert_childrow")
  1218. dw_uc.SetColumn("cuscode")
  1219. ELSE
  1220. PARENT.TriggerEvent("retrieve_childdw")
  1221. END IF
  1222. //
  1223. end event
  1224. type cb_edit from w_publ_1ton_share_detail`cb_edit within w_invoice
  1225. integer x = 507
  1226. end type
  1227. event cb_edit::clicked;if not f_power_ind(525) then
  1228. messagebox('提示','你没有使用权限!',information!,OK!)
  1229. return
  1230. end if
  1231. string arg_msg=''
  1232. long uc_row
  1233. uc_row=dw_pageretr.getrow()
  1234. if uc_row<=0 then
  1235. messagebox('提示','请选定当前目标单据!',information!,OK!)
  1236. return
  1237. end if
  1238. if not dw_edit_mode then
  1239. if uo_ware.updatebegin(dw_pageretr.object.scid[uc_row],dw_pageretr.object.invoiceid[uc_row],arg_msg)=0 then
  1240. messagebox('错误',arg_msg,stopsign!,OK!)
  1241. return
  1242. end if
  1243. cur_editfocus=2
  1244. else
  1245. cur_editfocus=0
  1246. end if
  1247. call super::clicked
  1248. PARENT.triggerevent('refresh_interface')
  1249. end event
  1250. type cb_delet from w_publ_1ton_share_detail`cb_delet within w_invoice
  1251. integer x = 699
  1252. end type
  1253. event cb_delet::clicked;call super::clicked;if not f_power_ind(607) then
  1254. messagebox('提示','你没有使用权限!',information!,OK!)
  1255. return
  1256. end if
  1257. if dw_edit_mode then return
  1258. string arg_msg=''
  1259. long uc_row
  1260. uc_row=dw_pageretr.getrow()
  1261. if uc_row<=0 then
  1262. messagebox('提示','请选定当前目标单据!',information!,OK!)
  1263. return
  1264. end if
  1265. if messagebox ("询问","是否确定要删除当前单据?",question!,yesno! ) = 2 then return
  1266. if uo_ware.del(dw_pageretr.object.scid[uc_row],dw_pageretr.object.invoiceid[uc_row],arg_msg,true)=0 then
  1267. messagebox('错误',arg_msg,stopsign!,OK!)
  1268. else
  1269. //日志
  1270. long ls_id
  1271. string ls_code
  1272. ls_id=dw_pageretr.object.invoiceid[uc_row]
  1273. ls_code=dw_pageretr.object.invoicecode[uc_row]
  1274. f_setsysoplog('发票','删除,id:'+string(ls_id)+',code:'+ls_code,arg_msg,true)
  1275. //--
  1276. messagebox('提示','删除单据'+string(dw_pageretr.object.invoicecode[uc_row])+'成功!',information!,OK!)
  1277. dw_pageretr.deleterow(uc_row)
  1278. dw_pageretr.postevent(rowfocuschanged!)
  1279. end if
  1280. end event
  1281. type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_invoice
  1282. integer x = 1193
  1283. end type
  1284. event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  1285. string menustr
  1286. menustr="Text=增加备注~tEvent=ue_addzy"
  1287. menustr = menustr + "|" + "Text=-"
  1288. menustr = menustr + "|" + "Text=查看附件~tEvent=ue_fj_view"
  1289. menustr = menustr + "|" + "Text=添加附件~tEvent=ue_fj_edit"
  1290. if len(trim(menustr))<>0 then
  1291. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  1292. dmPopupMenu.mf_BuildMenu(This, menustr)
  1293. dmPopupMenu.mf_PopMenu()
  1294. Destroy dmPopupMenu
  1295. end if
  1296. end event
  1297. type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_invoice
  1298. integer x = 850
  1299. end type
  1300. event cb_auditing::clicked;call super::clicked;
  1301. IF dw_edit_mode THEN RETURN
  1302. String arg_msg = '',ls_code
  1303. Long pagerert_row,ls_id
  1304. pagerert_row = dw_pageretr.GetRow()
  1305. IF pagerert_row <= 0 THEN
  1306. MessageBox('提示','请选定当前目标单据!',information!,OK!)
  1307. RETURN
  1308. END IF
  1309. IF MessageBox ("询问","是否确定要"+THIS.Text+"当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1310. IF uo_ware.getinfo(dw_pageretr.Object.scid[pagerert_row],dw_pageretr.Object.invoiceid[pagerert_row],arg_msg) = 0 THEN
  1311. MessageBox('错误',arg_msg,stopsign!,OK!)
  1312. RETURN
  1313. END IF
  1314. IF dw_pageretr.Object.flag[pagerert_row] = 0 THEN
  1315. IF NOT f_power_ind(526) THEN
  1316. MessageBox('提示','你没有使用权限!',information!,OK!)
  1317. RETURN
  1318. END IF
  1319. IF uo_ware.auditing(TRUE,arg_msg) = 0 THEN
  1320. MessageBox('错误',arg_msg,stopsign!,OK!)
  1321. ELSE
  1322. MessageBox('提示','审核成功!',information!,OK!)
  1323. wf_refresh_curuc(dw_pageretr.Object.scid[pagerert_row],dw_pageretr.Object.invoiceid[pagerert_row])
  1324. END IF
  1325. ELSE
  1326. IF NOT f_power_ind(1001) THEN
  1327. MessageBox('提示','你没有使用权限!',information!,OK!)
  1328. RETURN
  1329. END IF
  1330. IF uo_ware.secauditing(TRUE,arg_msg) = 0 THEN
  1331. MessageBox('错误',arg_msg,stopsign!,OK!)
  1332. ELSE
  1333. MessageBox('提示','审核成功!',information!,OK!)
  1334. wf_refresh_curuc(dw_pageretr.Object.scid[pagerert_row],dw_pageretr.Object.invoiceid[pagerert_row])
  1335. END IF
  1336. END IF
  1337. end event
  1338. type cb_xm from w_publ_1ton_share_detail`cb_xm within w_invoice
  1339. integer x = 1445
  1340. end type
  1341. type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_invoice
  1342. integer width = 165
  1343. end type
  1344. type cb_xls from w_publ_1ton_share_detail`cb_xls within w_invoice
  1345. integer x = 2231
  1346. end type
  1347. type cb_help from w_publ_1ton_share_detail`cb_help within w_invoice
  1348. integer x = 1696
  1349. end type
  1350. type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_invoice
  1351. integer x = 1042
  1352. end type
  1353. event cb_auditing_cancel::clicked;call super::clicked;
  1354. IF dw_edit_mode THEN RETURN
  1355. String arg_msg = '',ls_code,ls_opemp,ls_outpart
  1356. Long pagerert_row,ls_id
  1357. pagerert_row = dw_pageretr.GetRow()
  1358. IF pagerert_row <= 0 THEN
  1359. MessageBox('提示','请选定当前目标单据!',information!,OK!)
  1360. RETURN
  1361. END IF
  1362. IF NOT KeyDown(KeyControl!) THEN
  1363. IF MessageBox ("询问","是否确定要"+THIS.Text+"当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1364. END IF
  1365. IF uo_ware.getinfo(dw_pageretr.Object.scid[pagerert_row],dw_pageretr.Object.invoiceid[pagerert_row],arg_msg) = 0 THEN
  1366. MessageBox('错误',arg_msg,stopsign!,OK!)
  1367. RETURN
  1368. END IF
  1369. IF dw_pageretr.Object.secflag[pagerert_row] = 0 THEN
  1370. IF NOT f_power_ind(875) THEN
  1371. MessageBox('提示','你没有使用权限!',information!,OK!)
  1372. RETURN
  1373. END IF
  1374. IF uo_ware.c_auditing(TRUE,arg_msg) = 0 THEN
  1375. MessageBox('错误',arg_msg,stopsign!,OK!)
  1376. ELSE
  1377. MessageBox('提示','撤审成功!',information!,OK!)
  1378. //日志
  1379. ls_code = dw_pageretr.Object.invoicecode[pagerert_row]
  1380. ls_opemp = dw_pageretr.Object.opemp[pagerert_row]
  1381. ls_outpart = dw_pageretr.Object.relcode[pagerert_row]
  1382. f_setsysoplog('发票','撤审'+',code:'+ls_code+',相关号码:'+ls_outpart+',建立人:'+ls_opemp,arg_msg,TRUE)
  1383. //--
  1384. wf_refresh_curuc(dw_pageretr.Object.scid[pagerert_row],dw_pageretr.Object.invoiceid[pagerert_row])
  1385. END IF
  1386. ELSE
  1387. IF NOT f_power_ind(1002) THEN
  1388. MessageBox('提示','你没有使用权限!',information!,OK!)
  1389. RETURN
  1390. END IF
  1391. IF uo_ware.c_secauditing(TRUE,arg_msg) = 0 THEN
  1392. MessageBox('错误',arg_msg,stopsign!,OK!)
  1393. ELSE
  1394. MessageBox('提示','撤审成功!',information!,OK!)
  1395. //日志
  1396. ls_code = dw_pageretr.Object.invoicecode[pagerert_row]
  1397. ls_opemp = dw_pageretr.Object.opemp[pagerert_row]
  1398. ls_outpart = dw_pageretr.Object.relcode[pagerert_row]
  1399. f_setsysoplog('发票','撤审'+',code:'+ls_code+',相关号码:'+ls_outpart+',建立人:'+ls_opemp,arg_msg,TRUE)
  1400. //--
  1401. wf_refresh_curuc(dw_pageretr.Object.scid[pagerert_row],dw_pageretr.Object.invoiceid[pagerert_row])
  1402. END IF
  1403. END IF
  1404. end event
  1405. type p_msg from w_publ_1ton_share_detail`p_msg within w_invoice
  1406. end type
  1407. type p_help from w_publ_1ton_share_detail`p_help within w_invoice
  1408. end type
  1409. type p_encl from w_publ_1ton_share_detail`p_encl within w_invoice
  1410. end type
  1411. type p_other from w_publ_1ton_share_detail`p_other within w_invoice
  1412. end type
  1413. type gb_3 from w_publ_1ton_share_detail`gb_3 within w_invoice
  1414. end type
  1415. type ln_bar from w_publ_1ton_share_detail`ln_bar within w_invoice
  1416. end type
  1417. type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_invoice
  1418. end type
  1419. type r_bar from w_publ_1ton_share_detail`r_bar within w_invoice
  1420. end type
  1421. type ln_1 from w_publ_1ton_share_detail`ln_1 within w_invoice
  1422. end type
  1423. type ln_2 from w_publ_1ton_share_detail`ln_2 within w_invoice
  1424. end type
  1425. type ddlb_scid from uo_ddlb_scid within w_invoice
  1426. integer x = 969
  1427. integer y = 184
  1428. integer width = 549
  1429. integer height = 468
  1430. integer taborder = 20
  1431. boolean bringtotop = true
  1432. end type
  1433. event constructor;call super::constructor;cur_scid=this.uo_scid
  1434. cur_scid_arr = THIS.uo_scid_arr
  1435. end event
  1436. event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid
  1437. cur_scid_arr = THIS.uo_scid_arr
  1438. parent.triggerevent("retrieve_pageretr")
  1439. end event
  1440. type ddlb_status from dropdownlistbox within w_invoice
  1441. integer x = 1755
  1442. integer y = 184
  1443. integer width = 549
  1444. integer height = 508
  1445. integer taborder = 30
  1446. boolean bringtotop = true
  1447. integer textsize = -9
  1448. integer weight = 400
  1449. fontcharset fontcharset = gb2312charset!
  1450. fontpitch fontpitch = variable!
  1451. string facename = "宋体"
  1452. long textcolor = 33554432
  1453. string text = "[全部]"
  1454. boolean sorted = false
  1455. string item[] = {"[全部]","待初审","待终审","审核完毕"}
  1456. borderstyle borderstyle = stylelowered!
  1457. end type
  1458. event selectionchanged;IF Index = 1 THEN
  1459. cur_flag = -1
  1460. cur_secflag = -1
  1461. ELSEIF Index = 2 THEN
  1462. cur_flag = 0
  1463. cur_secflag = 0
  1464. ELSEIF Index = 3 THEN
  1465. cur_flag = 1
  1466. cur_secflag = 0
  1467. ELSEIF Index = 4 THEN
  1468. cur_flag = 1
  1469. cur_secflag = 1
  1470. END IF
  1471. PARENT.TriggerEvent('retrieve_pageretr')
  1472. end event
  1473. type st_3 from statictext within w_invoice
  1474. integer x = 1577
  1475. integer y = 200
  1476. integer width = 219
  1477. integer height = 48
  1478. integer textsize = -9
  1479. integer weight = 400
  1480. fontcharset fontcharset = gb2312charset!
  1481. fontpitch fontpitch = variable!
  1482. string facename = "宋体"
  1483. long textcolor = 33554432
  1484. long backcolor = 134217739
  1485. string text = "状 态"
  1486. boolean focusrectangle = false
  1487. end type
  1488. type st_2 from statictext within w_invoice
  1489. integer x = 791
  1490. integer y = 200
  1491. integer width = 219
  1492. integer height = 48
  1493. integer textsize = -9
  1494. integer weight = 400
  1495. fontcharset fontcharset = gb2312charset!
  1496. fontpitch fontpitch = variable!
  1497. string facename = "宋体"
  1498. long textcolor = 33554432
  1499. long backcolor = 134217739
  1500. string text = "分 部"
  1501. boolean focusrectangle = false
  1502. end type