w_outware_wfjg_th.srw 66 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250
  1. $PBExportHeader$w_outware_wfjg_th.srw
  2. forward
  3. global type w_outware_wfjg_th from w_publ_1ton_share_detail
  4. end type
  5. type st_2 from statictext within w_outware_wfjg_th
  6. end type
  7. type st_3 from statictext within w_outware_wfjg_th
  8. end type
  9. type ddlb_scid from uo_ddlb_scid within w_outware_wfjg_th
  10. end type
  11. type ddlb_status from uo_ddlb_status within w_outware_wfjg_th
  12. end type
  13. end forward
  14. global type w_outware_wfjg_th from w_publ_1ton_share_detail
  15. integer height = 2300
  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. event ue_cmp_uqty ( )
  23. event ue_cmp_qty ( )
  24. st_2 st_2
  25. st_3 st_3
  26. ddlb_scid ddlb_scid
  27. ddlb_status ddlb_status
  28. end type
  29. global w_outware_wfjg_th w_outware_wfjg_th
  30. type variables
  31. uo_outware_wfjg uo_ware
  32. long cur_flag= -1 //-1:全部,0未审
  33. long cur_scid //分店ID
  34. string ol_cdw_str=''
  35. end variables
  36. forward prototypes
  37. public function integer wf_flagstatus_rf ()
  38. public function integer wf_refresh_curuc (long arg_scid, long arg_outwareid)
  39. public function integer wf_autoaddmx (long arg_scid, long arg_storageid, long arg_wrkgrpid, long arg_orderid, long arg_mtrlid, string arg_mtrlname, string arg_relcode, string arg_ordercode, string arg_msg)
  40. public subroutine wf_check_billfj ()
  41. 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)
  42. public function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg)
  43. public subroutine wf_change_sptid (long arg_sptid)
  44. end prototypes
  45. event insert_childrow();long li_row
  46. li_row=dw_child.insertrow(0)
  47. dw_child.scrolltorow(li_row)
  48. dw_child.object.ow_wfjgmx_out_ifrel[li_row] = sys_option_autoyes
  49. if li_row > 1 then
  50. dw_child.accepttext()
  51. dw_child.object.ow_wfjgmx_out_storageid[li_row] = dw_child.object.ow_wfjgmx_out_storageid[li_row - 1]
  52. end if
  53. dw_child.SetColumn ('ow_wfjgmx_out_ifrel')
  54. end event
  55. event ue_fj_edit();IF dw_edit_mode THEN
  56. MessageBox('提示','编辑状态下不可用',information!,OK!)
  57. RETURN
  58. END IF
  59. //IF NOT f_power_ind(1446) THEN
  60. // MessageBox(publ_operator,'你没有使用权限!')
  61. // RETURN
  62. //END IF
  63. s_edit_index_tran s_pic
  64. Long ll_ConnectionID
  65. String arg_msg
  66. Long ls_row
  67. ls_row = dw_uc.GetRow()
  68. IF ls_row <= 0 THEN
  69. RETURN
  70. END IF
  71. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  72. MessageBox('错误','没有指定附件数据库连接'+arg_msg,stopsign!,OK!)
  73. RETURN
  74. END IF
  75. s_pic.f_long = 904 //采购订单的mainID
  76. s_pic.f_string = dw_uc.Object.ow_wfjg_out_outwarecode[ls_row]
  77. s_pic.g_long = dw_uc.Object.ow_wfjg_out_outwareid[ls_row]
  78. s_pic.e_long = dw_uc.Object.ow_wfjg_out_scid[ls_row]
  79. s_pic.sqltransaction = sys_filedb_sqlca
  80. OpenWithParm(w_fj_bill_mng,s_pic)
  81. //wf_check_billfj()
  82. end event
  83. event ue_fj_view();IF dw_edit_mode THEN
  84. MessageBox('提示','编辑状态下不可用',information!,OK!)
  85. RETURN
  86. END IF
  87. s_edit_index_tran s_pic
  88. Long ll_ConnectionID
  89. String arg_msg
  90. Long ls_row
  91. ls_row = dw_uc.GetRow()
  92. IF ls_row <= 0 THEN
  93. RETURN
  94. END IF
  95. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  96. MessageBox('错误','没有指定附件数据库连接'+arg_msg,stopsign!,OK!)
  97. RETURN
  98. END IF
  99. s_pic.f_long = 904 //采购订单的mainID
  100. s_pic.f_string = dw_uc.Object.ow_wfjg_out_outwarecode[ls_row]
  101. s_pic.g_long = dw_uc.Object.ow_wfjg_out_outwareid[ls_row]
  102. s_pic.e_long = dw_uc.Object.ow_wfjg_out_scid[ls_row]
  103. s_pic.sqltransaction = sys_filedb_sqlca
  104. OpenWithParm(w_fj_bill_view,s_pic)
  105. end event
  106. event ue_cmp_uqty();IF NOT dw_edit_mode THEN RETURN
  107. Long ll_i
  108. dw_child.AcceptText()
  109. dw_child.SetRedraw(FALSE)
  110. FOR ll_i = 1 TO dw_child.RowCount()
  111. IF dw_child.Object.ow_wfjgmx_out_qty[ll_i] > 0 AND dw_child.Object.ow_wfjgmx_out_rate[ll_i] > 0 THEN
  112. dw_child.Object.ow_wfjgmx_out_uqty[ll_i] = Round(dw_child.Object.ow_wfjgmx_out_qty[ll_i] / dw_child.Object.ow_wfjgmx_out_rate[ll_i],sys_option_unit_dec)
  113. END IF
  114. NEXT
  115. dw_child.SetRedraw(TRUE)
  116. end event
  117. event ue_cmp_qty();IF NOT dw_edit_mode THEN RETURN
  118. Long ll_i
  119. dw_child.accepttext()
  120. dw_child.SetRedraw(FALSE)
  121. FOR ll_i = 1 TO dw_child.RowCount()
  122. IF dw_child.Object.ow_wfjgmx_out_uqty[ll_i] > 0 AND dw_child.Object.ow_wfjgmx_out_rate[ll_i] > 0 THEN
  123. dw_child.Object.ow_wfjgmx_out_qty[ll_i] = round(dw_child.Object.ow_wfjgmx_out_uqty[ll_i] * dw_child.Object.ow_wfjgmx_out_rate[ll_i],sys_option_unit_dec)
  124. END IF
  125. NEXT
  126. dw_child.SetRedraw(TRUE)
  127. end event
  128. public function integer wf_flagstatus_rf ();//====================================================================
  129. // Function: wf_flagstatus_rf()
  130. //--------------------------------------------------------------------
  131. // Description:
  132. //--------------------------------------------------------------------
  133. // Arguments:(None)
  134. //--------------------------------------------------------------------
  135. // Returns: integer
  136. //--------------------------------------------------------------------
  137. // Author: yyx Date: 2003.12.26
  138. //--------------------------------------------------------------------
  139. // Modify History:
  140. //
  141. //====================================================================
  142. long pagerert_row
  143. pagerert_row=dw_pageretr.getrow()
  144. if pagerert_row<=0 then
  145. cb_auditing.enabled=false
  146. goto ext
  147. end if
  148. if dw_edit_mode then
  149. cb_auditing.enabled=false
  150. cb_auditing_cancel.enabled=false
  151. else
  152. if dw_pageretr.object.ow_wfjg_out_flag[pagerert_row]=0 then
  153. cb_auditing.enabled=true
  154. cb_auditing_cancel.enabled=false
  155. elseif dw_pageretr.object.ow_wfjg_out_flag[pagerert_row]=1 then
  156. cb_auditing.enabled=false
  157. cb_auditing_cancel.enabled=true
  158. end if
  159. end if
  160. ext:
  161. return 0
  162. end function
  163. public function integer wf_refresh_curuc (long arg_scid, long arg_outwareid);//wf_refresh_curuc
  164. IF arg_outwareid <= 0 OR IsNull(arg_outwareid) THEN RETURN 0
  165. Long uc_row
  166. uc_row = dw_pageretr.GetRow()
  167. IF uc_row <= 0 THEN RETURN 0
  168. datetime outdate
  169. string outrep
  170. string cusname
  171. string part
  172. string dscrp
  173. string outwarecode
  174. datetime opdate
  175. string opemp
  176. datetime auditingdate
  177. int flag
  178. string auditingrep
  179. int balcflag,thflag
  180. string storagename
  181. string Modemp
  182. datetime moddate
  183. string u_spt_name
  184. string u_spt_code
  185. long sptid
  186. SELECT ow_wfjg_out.outdate,
  187. ow_wfjg_out.outrep,
  188. ow_wfjg_out.part,
  189. ow_wfjg_out.dscrp,
  190. ow_wfjg_out.outwarecode,
  191. ow_wfjg_out.opdate,
  192. ow_wfjg_out.opemp,
  193. ow_wfjg_out.auditingdate,
  194. ow_wfjg_out.flag,
  195. ow_wfjg_out.auditingemp,
  196. ow_wfjg_out.balcflag,
  197. ow_wfjg_out.Modemp,
  198. ow_wfjg_out.moddate,
  199. ow_wfjg_out.thflag,
  200. u_spt.name,
  201. u_spt.sptcode,
  202. ow_wfjg_out.sptid
  203. INTO :outdate,
  204. :outrep,
  205. :part,
  206. :dscrp,
  207. :outwarecode,
  208. :opdate,
  209. :opemp,
  210. :auditingdate,
  211. :flag,
  212. :auditingrep,
  213. :balcflag,
  214. :Modemp,
  215. :moddate,
  216. :thflag,
  217. :u_spt_name,
  218. :u_spt_code,
  219. :sptid
  220. FROM ow_wfjg_out INNER JOIN
  221. u_spt ON ow_wfjg_out.sptid = u_spt.sptid
  222. Where ( ow_wfjg_out.outwareid = :arg_outwareid )
  223. and ( ow_wfjg_out.scid = :arg_scid );
  224. IF sqlca.SQLCode <> 0 THEN
  225. MessageBox('提示',"查询操作失败(错误单据唯一码)",stopsign!,OK!)
  226. RETURN 0
  227. END IF
  228. dw_pageretr.Object.ow_wfjg_out_scid[uc_row] = arg_scid
  229. dw_pageretr.Object.ow_wfjg_out_outwareid[uc_row] = arg_outwareid
  230. dw_pageretr.Object.ow_wfjg_out_outdate[uc_row] = outdate
  231. dw_pageretr.Object.ow_wfjg_out_outrep[uc_row] = outrep
  232. dw_pageretr.Object.ow_wfjg_out_part[uc_row] = part
  233. dw_pageretr.Object.ow_wfjg_out_dscrp[uc_row] = dscrp
  234. dw_pageretr.Object.ow_wfjg_out_outwarecode[uc_row] = outwarecode
  235. dw_pageretr.Object.ow_wfjg_out_opdate[uc_row] = opdate
  236. dw_pageretr.Object.ow_wfjg_out_opemp[uc_row] = opemp
  237. dw_pageretr.Object.ow_wfjg_out_Auditingdate[uc_row] = auditingdate
  238. dw_pageretr.Object.ow_wfjg_out_flag[uc_row] = flag
  239. dw_pageretr.Object.ow_wfjg_out_Auditingemp[uc_row] = auditingrep
  240. dw_pageretr.Object.ow_wfjg_out_balcflag[uc_row] = balcflag
  241. dw_pageretr.Object.ow_wfjg_out_moddate[uc_row] = moddate
  242. dw_pageretr.Object.ow_wfjg_out_modemp[uc_row] = modemp
  243. dw_pageretr.Object.ow_wfjg_out_thflag[uc_row] =thflag
  244. dw_pageretr.Object.u_spt_name[uc_row] = u_spt_name
  245. dw_pageretr.Object.u_spt_code[uc_row] = u_spt_code
  246. dw_pageretr.Object.ow_wfjg_out_sptid[uc_row] = sptid
  247. dw_uc.Reset()
  248. dw_pageretr.RowsCopy(dw_pageretr.GetRow(),&
  249. dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
  250. dw_uc.ResetUpdate()
  251. dw_uc.SetRedraw(TRUE)
  252. wf_flagstatus_rf()
  253. RETURN 1
  254. end function
  255. public function integer wf_autoaddmx (long arg_scid, long arg_storageid, long arg_wrkgrpid, long arg_orderid, long arg_mtrlid, string arg_mtrlname, string arg_relcode, string arg_ordercode, string arg_msg);Int rslt = 1
  256. long childrow
  257. //
  258. //
  259. //
  260. //
  261. //
  262. //childrow = dw_child.GetRow()
  263. //
  264. //IF childrow > 0 THEN
  265. // DECLARE qq CURSOR FOR
  266. // SELECT cw_banktype.accsetid
  267. // FROM cw_banktype ;
  268. // IF dw_child.Object.u_outwaremx_mtrlid[child_row] <> 0 THEN
  269. // child_row = dw_child.InsertRow (0)
  270. // ELSE
  271. // child_row = dw_child.GetRow()
  272. // END IF
  273. //ELSE
  274. // child_row = dw_child.InsertRow (0)
  275. //END IF
  276. //
  277. //dw_child.Object.u_outwaremx_relid[childrow] = arg_orderid
  278. //dw_child.Object.u_outwaremx_olmtrlid[childrow] = arg_mtrlid
  279. //dw_child.Object.u_mtrldef_mtrlname_1[childrow] = arg_mtrlname
  280. //dw_child.Object.u_order_ml_relcode[childrow] = arg_relcode
  281. //dw_child.Object.u_order_ml_ordercode[childrow] = arg_ordercode
  282. RETURN rslt
  283. end function
  284. public subroutine wf_check_billfj ();String arg_msg
  285. Long ll_ConnectionID
  286. Long cur_billtype
  287. long ll_relid,ll_relid_mx,ll_scid
  288. Long ls_filecount = 0
  289. Int rslt = 1
  290. uo_fj_mng_billtype ls_uo_fjbt
  291. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  292. Long row,uc_relid
  293. row = dw_pageretr.GetRow()
  294. IF row > 0 THEN
  295. ll_relid = dw_pageretr.Object.ow_wfjg_out_outwareid[row]
  296. ll_scid = dw_pageretr.Object.ow_wfjg_out_scid[row]
  297. ll_relid_mx = 0
  298. ELSE
  299. rslt = 0
  300. GOTO ext
  301. END IF
  302. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  303. rslt = 0
  304. GOTO ext
  305. END IF
  306. cur_billtype = 904 //客户投拆单的 mainiD
  307. ls_uo_fjbt.uf_check_billfj( cur_billtype, ll_relid,ll_relid_mx,ll_scid, sys_fileDB_sqlca, arg_msg, ls_filecount)
  308. IF ls_filecount > 0 THEN
  309. rslt = 1
  310. GOTO ext
  311. ELSE
  312. rslt = 0
  313. GOTO ext
  314. END IF
  315. ext:
  316. wf_encl(rslt)
  317. DESTROY ls_uo_fjbt
  318. end subroutine
  319. 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);//==============================================================================
  320. // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata()
  321. //------------------------------------------------------------------------------
  322. // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可
  323. //------------------------------------------------------------------------------
  324. Long LS_ROW,ll_id,i,ll_scid
  325. LS_ROW = dw_uc.GetRow()
  326. IF LS_ROW <= 0 THEN
  327. arg_msg = '没有目标单据!'
  328. RETURN 0
  329. END IF
  330. //修改点:获取 指定retriev参数
  331. ll_id = dw_uc.Object.ow_wfjg_out_outwareid[LS_ROW]
  332. ll_scid = dw_uc.Object.ow_wfjg_out_scid[LS_ROW]
  333. //查询所选模版是否含有图片信息
  334. Long ll_ifpic
  335. Long ll_classid
  336. SELECT ifpic
  337. INTO :ll_ifpic
  338. FROM U_XLS_Templates
  339. Where id = :ll_xls_Templatesid;
  340. IF sqlca.SQLCode <> 0 THEN
  341. ll_ifpic = 0
  342. END IF
  343. Long ll_i,ll_j
  344. Long ll_mtrlid
  345. Long ll_fileid
  346. Blob ls_filedata
  347. SetNull(ls_filedata)
  348. String Pathname,ls_filename,ls_filetype
  349. String errmsg
  350. uo_fj_mng_billtype ls_uo_fjbt
  351. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  352. s_xls_pic_list s_pic //结构数组-用于保存图片路径
  353. IF ll_ifpic = 1 THEN //如果含有图片信息,则查询本类型单据需要带出哪类附件
  354. SELECT classid
  355. INTO :ll_classid
  356. FROM u_billpic_fileclass
  357. Where (billtype = 904);
  358. IF sqlca.SQLCode <> 0 THEN
  359. ll_classid = 0
  360. END IF
  361. IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
  362. FOR ll_i = 1 TO dw_child.RowCount()
  363. ll_mtrlid = dw_child.Object.ow_wfjgmx_out_mtrlid[ll_i]
  364. //取该附件类型中的第一个附件.
  365. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
  366. FROM u_file
  367. WHERE relid = :ll_mtrlid
  368. AND classid = :ll_classid
  369. AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
  370. OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
  371. USING sys_fileDB_sqlca;
  372. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  373. ll_fileid = 0
  374. END IF
  375. IF ll_fileid > 0 THEN
  376. Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
  377. IF Trim(Pathname) <> '' THEN
  378. IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
  379. RETURN 0
  380. END IF
  381. IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
  382. RETURN 0
  383. ELSE
  384. s_pic.path[ll_i] = Pathname
  385. //记录临时文件位置,本窗口退出后删除
  386. wf_addlog_tempfilepathname(Pathname)
  387. END IF
  388. ELSE
  389. s_pic.path[ll_i] = ''
  390. END IF
  391. ELSE
  392. s_pic.path[ll_i] = ''
  393. END IF
  394. NEXT
  395. END IF
  396. //
  397. END IF
  398. ////可选设置///
  399. arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码
  400. if sys_option_xls_ifuse_passwd = 1 then arg_obj_st.uo_const.pwd = trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码
  401. boolean xls_locked
  402. xls_locked = not (sys_option_xls_lock = 1)
  403. /// Excel 的可选设置
  404. if arg_obj_st.of_setoption(arg_ationid, xls_locked,true,arg_msg) <> 1 then
  405. return 0
  406. end if
  407. for i = 1 to arg_str_billlist.count
  408. ////可选操作///
  409. arg_str_billlist.bill[i].ds_data = create datastore //
  410. arg_str_billlist.bill[i].ds_data.dataobject = arg_str_billlist.bill[i].datawindow //
  411. arg_str_billlist.bill[i].ds_data.settransobject(sqlca)
  412. //修改点:注意retrieve 参数与上文对应
  413. arg_str_billlist.bill[i].ds_data.retrieve(ll_scid,ll_id)
  414. next
  415. return 1
  416. end function
  417. 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
  418. LS_ROW = dw_pageretr.GetRow()
  419. IF LS_ROW <= 0 THEN
  420. arg_msg = '没有目标单据!'
  421. RETURN 0
  422. END IF
  423. //修改点:获取 指定retriev参数
  424. ll_id = dw_pageretr.Object.ow_wfjg_out_outwareid[LS_ROW]
  425. ll_scid = dw_pageretr.Object.ow_wfjg_out_scid[LS_ROW]
  426. Long ll_i,ll_j
  427. Long ll_mtrlid
  428. Long ll_fileid
  429. Blob ls_filedata
  430. SetNull(ls_filedata)
  431. String Pathname,ls_filename,ls_filetype
  432. String errmsg
  433. uo_fj_mng_billtype ls_uo_fjbt
  434. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  435. Long ll_classid
  436. SELECT classid
  437. INTO :ll_classid
  438. FROM u_billpic_fileclass
  439. Where (billtype = 102);
  440. IF sqlca.SQLCode <> 0 THEN
  441. ll_classid = 0
  442. END IF
  443. IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
  444. FOR ll_i = 1 TO dw_child.RowCount()
  445. ll_mtrlid = dw_child.Object.ow_wfjgmx_out_mtrlid[ll_i]
  446. arg_s_pic.mtrlid[ll_i] = ll_mtrlid
  447. //取该附件类型中的第一个附件.
  448. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
  449. FROM u_file
  450. WHERE relid = :ll_mtrlid
  451. AND classid = :ll_classid
  452. AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
  453. OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
  454. USING sys_fileDB_sqlca;
  455. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  456. ll_fileid = 0
  457. END IF
  458. IF ll_fileid > 0 THEN
  459. Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
  460. IF Trim(Pathname) <> '' THEN
  461. IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
  462. RETURN 0
  463. END IF
  464. IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
  465. RETURN 0
  466. ELSE
  467. arg_s_pic.path[ll_i] = Pathname
  468. //记录临时文件位置,本窗口退出后删除
  469. wf_addlog_tempfilepathname(Pathname)
  470. END IF
  471. ELSE
  472. arg_s_pic.path[ll_i] = ''
  473. END IF
  474. ELSE
  475. arg_s_pic.path[ll_i] = ''
  476. END IF
  477. NEXT
  478. END IF
  479. RETURN 1
  480. end function
  481. public subroutine wf_change_sptid (long arg_sptid);Long ll_row
  482. ll_row = dw_uc.GetRow()
  483. IF ll_row <= 0 THEN RETURN
  484. IF dw_uc.Object.ow_wfjg_out_sptid[ll_row] > 0 And dw_uc.Object.ow_wfjg_out_sptid[ll_row] <> arg_sptid THEN
  485. dw_child.Reset()
  486. This.TriggerEvent("insert_childrow")
  487. END IF
  488. RETURN
  489. end subroutine
  490. on w_outware_wfjg_th.create
  491. int iCurrent
  492. call super::create
  493. this.st_2=create st_2
  494. this.st_3=create st_3
  495. this.ddlb_scid=create ddlb_scid
  496. this.ddlb_status=create ddlb_status
  497. iCurrent=UpperBound(this.Control)
  498. this.Control[iCurrent+1]=this.st_2
  499. this.Control[iCurrent+2]=this.st_3
  500. this.Control[iCurrent+3]=this.ddlb_scid
  501. this.Control[iCurrent+4]=this.ddlb_status
  502. end on
  503. on w_outware_wfjg_th.destroy
  504. call super::destroy
  505. destroy(this.st_2)
  506. destroy(this.st_3)
  507. destroy(this.ddlb_scid)
  508. destroy(this.ddlb_status)
  509. end on
  510. event open;THIS.TriggerEvent('ue_before_open')
  511. wf_movetocenter()
  512. OLD_TITLE = THIS.Title
  513. s_tran = Message.PowerObjectParm
  514. IF NOT IsNull(s_tran) THEN
  515. retrieve_all = s_tran.if_retrieve_all
  516. mode = s_tran.work_mode
  517. arg_pkid = s_tran.arg_pkid
  518. arg_string_code = s_tran.arg_string_code
  519. if_sharedata = s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效
  520. ds_share = s_tran.ds_share
  521. END IF
  522. dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关
  523. dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关
  524. dw_pageretr.SetTransObject (sqlca)
  525. pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
  526. ori_oldselect = dw_pageretr.Describe("DataWindow.Table.Select")
  527. ls_newselect = ori_oldselect
  528. ds_curquery = CREATE DATASTORE
  529. ds_curquery.DataObject = 'd_extr_find'
  530. ds_curquery.SetTransObject (sqlca)
  531. wf_editindex_lockf()
  532. IF s_tran.d_long = 2 THEN
  533. cur_scid = s_tran.c_long
  534. Int li_item
  535. li_item = ddlb_scid.FindItem(s_tran.d_string,0)
  536. IF li_item > 0 THEN
  537. ddlb_scid.SelectItem(li_item)
  538. END IF
  539. END IF
  540. sle_usual_query.Text = Trim(arg_string_code)
  541. IF NOT retrieve_all THEN
  542. THIS.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve
  543. ELSE
  544. IF if_sharedata THEN
  545. ds_share.ShareData(dw_pageretr)
  546. ELSE
  547. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  548. THIS.TriggerEvent('RETRIEVE_pageretr')
  549. END IF
  550. END IF
  551. IF retrieve_all THEN
  552. THIS.TriggerEvent("ue_usual_query_filt")
  553. END IF
  554. uc_column_int = 8 //uc dw前5列可以编辑
  555. child_column_int =12 //子dw前5列可以编辑
  556. uo_ware = CREATE uo_outware_wfjg
  557. uo_ware.commit_transaction = sqlca
  558. s_hide_col s_col
  559. s_col.col_1 = 'ow_wfjgmx_out_fprice'
  560. s_col.col_2 = 'enamt'
  561. s_col.col_3 = 'ow_wfjgmx_out_uprice'
  562. f_hide_col(1473,dw_child,s_col)
  563. s_hide_col s_col_mtrlsectype
  564. s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype'
  565. f_hide_col(1308,dw_child,s_col_mtrlsectype)
  566. s_hide_col s_col_zxmtrlmode
  567. s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode'
  568. f_hide_col(1309,dw_child,s_col_zxmtrlmode)
  569. end event
  570. event close;call super::close;
  571. destroy uo_ware
  572. wf_del_tempfilepathname()
  573. end event
  574. event refresh_interface;call super::refresh_interface;wf_flagstatus_rf()
  575. ddlb_status.Enabled = NOT dw_edit_mode
  576. IF dw_edit_mode THEN
  577. ddlb_scid.Enabled = FALSE
  578. ELSE
  579. IF sys_scid > 0 THEN
  580. ddlb_scid.Enabled = FALSE
  581. ELSE
  582. ddlb_scid.Enabled = TRUE
  583. END IF
  584. END IF
  585. end event
  586. event retrieve_childdw;call super::retrieve_childdw;long row,uc_relid
  587. row=dw_pageretr.getrow()
  588. if row>0 then
  589. uc_relid=dw_pageretr.object.ow_wfjg_out_outwareid[row]
  590. dw_child.SetRedraw (false)
  591. dw_child.retrieve(cur_scid,uc_relid,sys_option_2unit)
  592. dw_child.SetRedraw (true)
  593. else
  594. dw_child.reset()
  595. end if
  596. end event
  597. event retrieve_pageretr;boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled
  598. boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled
  599. cb_nextpage_enabled=cb_nextpage.enabled
  600. cb_retrieveall_enabled=cb_retrieveall.enabled
  601. cb_func_enabled=cb_func.enabled
  602. cb_nextpage.enabled=false
  603. cb_retrieveall.enabled=false
  604. cb_func.enabled=false
  605. dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数
  606. dw_pageretr.Retrieve(cur_scid,cur_flag,sys_user_spttype)
  607. IF dw_pageretr.RowCount() > 0 THEN
  608. dw_pageretr.SetRow(1)
  609. dw_pageretr.triggerevent(rowfocuschanged!)
  610. end if
  611. this.triggerevent('retrieve_childdw')
  612. cb_nextpage.enabled=cb_nextpage_enabled
  613. cb_retrieveall.enabled=cb_retrieveall_enabled
  614. cb_func.enabled=cb_func_enabled
  615. //只显未自已管的仓库
  616. datawindowchild childdw
  617. string new_sqlstr,modify_str
  618. dw_uc.SetTransObject (sqlca)
  619. dw_uc.getchild("u_outware_storageid",childdw)
  620. childdw.SetTransObject (sqlca)
  621. new_sqlstr=childdw.Describe("DataWindow.Table.Select")
  622. if len(ol_cdw_str) = 0 then ol_cdw_str = new_sqlstr
  623. new_sqlstr=f_modify_selectstr(ol_cdw_str)
  624. modify_str="DataWindow.Table.Select='" + new_sqlstr +"'"
  625. childdw.modify ( modify_str )
  626. childdw.retrieve(cur_scid)
  627. //childdw.retrieve()
  628. end event
  629. event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
  630. if trim(sle_usual_query.text)<>'' then
  631. IF POS(trim(sle_usual_query.text),'%')=0 THEN
  632. obj_expr=obj_expr+'( u_outware_outwarecode LIKE "%'+trim(sle_usual_query.text)+'%" )'
  633. ELSE
  634. obj_expr=obj_expr+'( u_outware_outwarecode LIKE "'+trim(sle_usual_query.text)+'" )'
  635. END IF
  636. end if
  637. dw_pageretr.setfilter(obj_expr)
  638. dw_pageretr.SetRedraw(False)
  639. dw_pageretr.filter()
  640. if dw_pageretr.rowcount()>=1 then
  641. dw_pageretr.selectrow(0,false)
  642. dw_pageretr.selectrow(1,true)
  643. dw_pageretr.SetRow(1)
  644. dw_pageretr.triggerevent(rowfocuschanged!)
  645. end if
  646. dw_pageretr.SetRedraw(TRUE)
  647. end event
  648. event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
  649. ls_newselect=lower(ori_oldselect)
  650. if trim(sle_usual_query.text)<>'' then
  651. if pos(trim(sle_usual_query.text),'%')=0 then
  652. ls_querystrpart="(ow_wfjg_out.outwarecode like '%"+trim(sle_usual_query.text)+"%')"
  653. else
  654. ls_querystrpart="(ow_wfjg_out.outwarecode like '"+trim(sle_usual_query.text)+"')"
  655. end if
  656. if Pos(ls_newselect," where ") <> 0 then
  657. ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
  658. else
  659. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  660. end if
  661. end if
  662. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  663. this.triggerevent('retrieve_pageretr')
  664. end event
  665. event ue_f8;call super::ue_f8;//用于选择明细内容,被f8[默认]\dw_child.doubleclicked调用
  666. IF NOT dw_edit_mode THEN RETURN
  667. Long child_row,ins_storageid = 0,ls_sptid
  668. dw_child.AcceptText()
  669. ins_storageid = dw_child.Object.ow_wfjgmx_out_storageid[dw_child.GetRow()]
  670. String ls_unit_buy,ls_unit_scll,ls_unit_sale
  671. Decimal ld_rate_buy,ld_rate_scll,ld_rate_sale
  672. Int li_wfjgunit,li_wfjgdec
  673. string ls_unit
  674. long li_dec
  675. Decimal ld_rate
  676. Int li_statusflag,li_woodcodeflag,li_pcodeflag
  677. s_mtrldef_array arg_s_mtrldef
  678. child_row = dw_child.GetRow()
  679. IF dw_child.Object.ow_wfjgmx_out_ifrel[child_row] = 0 THEN
  680. IF ins_storageid = 0 OR IsNull(ins_storageid) THEN
  681. MessageBox('提示','请先选择仓库',information!,OK!)
  682. RETURN
  683. END IF
  684. THIS.Enabled = FALSE
  685. IF NOT IsValid(w_mtrlware_storageid_ch) THEN
  686. s_edit_index_tran s_tranf8 //传递参数使用
  687. s_tranf8.if_retrieve_all = FALSE //是否一次retrieve所有行
  688. s_tranf8.arg_pkid = 0 //目标定位pkid (备用)
  689. s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  690. s_tranf8.b_long = 1 //只选择原料
  691. s_tranf8.d_long = ins_storageid
  692. Long chc = 1,ls_j
  693. IF dw_child.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
  694. OpenWithParm(w_mtrlware_storageid_ch,s_tranf8) //调用
  695. s_mtrlware_noalloc_array s_inscust
  696. s_inscust = Message.PowerObjectParm //接受返回结构
  697. FOR ls_j = 1 TO UpperBound(s_inscust.mtrlwareid)
  698. IF s_inscust.mtrlwareid[ls_j] > 0 THEN
  699. IF dw_child.GetRow() > 0 THEN
  700. IF dw_child.Object.ow_wfjgmx_out_mtrlid[child_row] <> 0 THEN
  701. child_row = dw_child.InsertRow (0)
  702. ELSE
  703. child_row = dw_child.GetRow()
  704. END IF
  705. ELSE
  706. child_row = dw_child.InsertRow (0)
  707. END IF
  708. IF f_find_mtrl(s_inscust.u_mtrldef_mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN
  709. li_statusflag = 0
  710. li_woodcodeflag = 0
  711. li_pcodeflag = 0
  712. li_wfjgunit = 0
  713. ls_unit_buy = ''
  714. ls_unit_scll = ''
  715. ls_unit_sale = ''
  716. ld_rate_buy = 1
  717. ld_rate_scll = 1
  718. ld_rate_sale = 1
  719. li_wfjgdec = 5
  720. ELSE
  721. li_statusflag = arg_s_mtrldef.statusflag[1]
  722. li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
  723. li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
  724. li_wfjgunit = arg_s_mtrldef.wfjgunit[1]
  725. ls_unit_buy = arg_s_mtrldef.unit_buy[1]
  726. ls_unit_scll = arg_s_mtrldef.unit_scll[1]
  727. ls_unit_sale = arg_s_mtrldef.unit_sale[1]
  728. ld_rate_buy = arg_s_mtrldef.rate_buy[1]
  729. ld_rate_scll = arg_s_mtrldef.rate_scll[1]
  730. ld_rate_sale = arg_s_mtrldef.rate_sale[1]
  731. li_wfjgdec = arg_s_mtrldef.wfjgdec[1]
  732. END IF
  733. IF li_wfjgunit = 0 THEN
  734. ls_unit = s_inscust.u_mtrldef_unit[ls_j]
  735. ld_rate = 1
  736. li_dec = sys_option_unit_dec
  737. ELSEIF li_wfjgunit = 1 THEN
  738. ls_unit = ls_unit_buy
  739. ld_rate = ld_rate_buy
  740. li_dec = li_wfjgdec
  741. ELSEIF li_wfjgunit = 2 THEN
  742. ls_unit = ls_unit_scll
  743. ld_rate = ld_rate_scll
  744. li_dec = li_wfjgdec
  745. ELSEIF li_wfjgunit = 3 THEN
  746. ls_unit = ls_unit_sale
  747. ld_rate = ld_rate_sale
  748. li_dec = li_wfjgdec
  749. END IF
  750. dw_child.Object.ow_wfjgmx_out_mtrlwareid[child_row] = s_inscust.mtrlwareid[ls_j]
  751. dw_child.Object.ow_wfjgmx_out_mtrlid[child_row] = s_inscust.mtrlid[ls_j]
  752. dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.u_mtrldef_mtrlcode[ls_j]
  753. dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.u_mtrldef_mtrlname[ls_j]
  754. dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.u_mtrldef_mtrlmode[ls_j]
  755. dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.u_mtrldef_unit[ls_j]
  756. dw_child.Object.ow_wfjgmx_out_qty[child_row] = s_inscust.noallocqty[ls_j] - s_inscust.noauditingqty[ls_j]
  757. dw_child.Object.ow_wfjgmx_out_fprice[child_row] = s_inscust.cost[ls_j]
  758. dw_child.Object.ow_wfjgmx_out_storageid[child_row] = s_inscust.storageid[ls_j]
  759. dw_child.Object.ow_wfjgmx_out_plancode[child_row] = s_inscust.plancode[ls_j]
  760. dw_child.Object.ow_wfjgmx_out_status[child_row] = s_inscust.status[ls_j]
  761. dw_child.Object.ow_wfjgmx_out_woodcode[child_row] = s_inscust.woodcode[ls_j]
  762. dw_child.Object.ow_wfjgmx_out_pcode[child_row] = s_inscust.pcode[ls_j]
  763. dw_child.Object.ow_wfjgmx_out_addqty[child_row] = s_inscust.noallocaddqty[ls_j]
  764. IF dw_child.Object.ow_wfjgmx_out_uunit[child_row] = '' OR sys_option_2unit = 0 THEN
  765. dw_child.Object.ow_wfjgmx_out_uunit[child_row] = ls_unit
  766. dw_child.Object.ow_wfjgmx_out_uqty[child_row] = (s_inscust.noallocqty[ls_j] - s_inscust.noauditingqty[ls_j])/ld_rate
  767. dw_child.Object.ow_wfjgmx_out_rate[child_row] = ld_rate
  768. END IF
  769. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.u_mtrldef_mtrlsectype[ls_j]
  770. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.u_mtrldef_zxmtrlmode[ls_j]
  771. dw_child.SetColumn('ow_wfjgmx_out_qty')
  772. END IF
  773. NEXT
  774. END IF
  775. THIS.Enabled = TRUE
  776. ELSE
  777. dw_child.AcceptText()
  778. dw_uc.AcceptText()
  779. Long childrow
  780. ls_sptid = dw_uc.Object.ow_wfjg_out_sptid[dw_uc.GetRow()]
  781. IF ls_sptid <= 0 THEN
  782. MessageBox("提示","请先选择供应商",information!,OK!)
  783. RETURN
  784. END IF
  785. s_mtrldef_wfjg_array s_inscust8
  786. s_edit_index_tran s_tranf88
  787. s_tranf88.if_retrieve_all = FALSE
  788. s_tranf88.arg_pkid = 0
  789. s_tranf88.arg_string_code = dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()]
  790. s_tranf88.b_long = 2
  791. s_tranf88.d_long = ls_sptid
  792. s_tranf88.e_long = ins_storageid
  793. s_tranf88.f_long = 1
  794. THIS.Enabled = FALSE
  795. IF NOT IsValid(w_outware_wfjg_ch) THEN
  796. OpenWithParm(w_outware_wfjg_ch,s_tranf88)
  797. s_inscust8 = Message.PowerObjectParm //接受返回结构
  798. dw_child.SetRedraw(FALSE)
  799. childrow = dw_child.GetRow()
  800. FOR ls_j = 1 TO UpperBound(s_inscust8.wfjgid)
  801. IF s_inscust8.wfjgid[ls_j] > 0 THEN //正常返回值则可以取以下值
  802. IF dw_child.GetRow() > 0 THEN
  803. IF dw_child.Object.ow_wfjgmx_out_relid[childrow] <> 0 THEN
  804. childrow = dw_child.InsertRow (0)
  805. ELSE
  806. childrow = dw_child.GetRow()
  807. END IF
  808. ELSE
  809. childrow = dw_child.InsertRow (0)
  810. END IF
  811. IF f_find_mtrl(s_inscust8.mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN
  812. li_statusflag = 0
  813. li_woodcodeflag = 0
  814. li_pcodeflag = 0
  815. li_wfjgunit = 0
  816. ls_unit_buy = ''
  817. ls_unit_scll = ''
  818. ls_unit_sale = ''
  819. ld_rate_buy = 1
  820. ld_rate_scll = 1
  821. ld_rate_sale = 1
  822. li_wfjgdec = 5
  823. ELSE
  824. li_statusflag = arg_s_mtrldef.statusflag[1]
  825. li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
  826. li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
  827. li_wfjgunit = arg_s_mtrldef.wfjgunit[1]
  828. ls_unit_buy = arg_s_mtrldef.unit_buy[1]
  829. ls_unit_scll = arg_s_mtrldef.unit_scll[1]
  830. ls_unit_sale = arg_s_mtrldef.unit_sale[1]
  831. ld_rate_buy = arg_s_mtrldef.rate_buy[1]
  832. ld_rate_scll = arg_s_mtrldef.rate_scll[1]
  833. ld_rate_sale = arg_s_mtrldef.rate_sale[1]
  834. li_wfjgdec = arg_s_mtrldef.wfjgdec[1]
  835. END IF
  836. IF li_wfjgunit = 0 THEN
  837. ls_unit = s_inscust8.unit[ls_j]
  838. ld_rate = 1
  839. li_dec = sys_option_unit_dec
  840. ELSEIF li_wfjgunit = 1 THEN
  841. ls_unit = ls_unit_buy
  842. ld_rate = ld_rate_buy
  843. li_dec = li_wfjgdec
  844. ELSEIF li_wfjgunit = 2 THEN
  845. ls_unit = ls_unit_scll
  846. ld_rate = ld_rate_scll
  847. li_dec = li_wfjgdec
  848. ELSEIF li_wfjgunit = 3 THEN
  849. ls_unit = ls_unit_sale
  850. ld_rate = ld_rate_sale
  851. li_dec = li_wfjgdec
  852. END IF
  853. dw_child.Object.ow_wfjgmx_out_ifrel[childrow] = 1
  854. dw_child.Object.ow_wfjgmx_out_mtrlwareid[childrow] = s_inscust8.mtrlwareid[ls_j]
  855. dw_child.Object.ow_wfjgmx_out_relid[childrow] = s_inscust8.wfjgid[ls_j]
  856. dw_child.Object.ow_wfjgmx_out_mtrlid[childrow] = s_inscust8.mtrlid[ls_j]
  857. dw_child.Object.u_mtrldef_mtrlcode[childrow] = s_inscust8.mtrlcode[ls_j]
  858. dw_child.Object.ow_wfjgmx_out_relcode[childrow] = s_inscust8.taskcode[ls_j]
  859. dw_child.Object.ow_wfjgmx_out_price[childrow] = s_inscust8.price[ls_j]
  860. dw_child.Object.u_mtrldef_mtrlname[childrow] = s_inscust8.mtrlname[ls_j]
  861. dw_child.Object.u_mtrldef_mtrlmode[childrow] = s_inscust8.mtrlmode[ls_j]
  862. dw_child.Object.u_mtrldef_unit[childrow] = s_inscust8.unit[ls_j]
  863. dw_child.Object.ow_wfjgmx_out_qty[childrow] = s_inscust8.qty[ls_j]
  864. dw_child.Object.ow_wfjgmx_out_status[childrow] = s_inscust8.status[ls_j]
  865. dw_child.Object.ow_wfjgmx_out_fprice[childrow] = s_inscust8.price[ls_j]
  866. dw_child.Object.ow_wfjgmx_out_woodcode[childrow] = s_inscust8.woodcode[ls_j]
  867. dw_child.Object.ow_wfjgmx_out_printid[childrow] = s_inscust8.printid[ls_j]
  868. dw_child.Object.ow_wfjgmx_out_storageid[childrow] = s_inscust8.storageid[ls_j]
  869. dw_child.Object.ow_wfjgmx_out_uunit[childrow] = ls_unit
  870. dw_child.Object.ow_wfjgmx_out_uqty[childrow] = s_inscust8.consignedqty[ls_j]/ld_rate
  871. dw_child.Object.ow_wfjgmx_out_rate[childrow] = ld_rate
  872. dw_child.Object.u_mtrldef_mtrlsectype[childrow] = s_inscust8.mtrlsectype[ls_j]
  873. dw_child.Object.u_mtrldef_zxmtrlmode[childrow] = s_inscust8.zxmtrlmode[ls_j]
  874. dw_child.Object.ow_wfjgmx_out_pcode[child_row] = s_inscust8.pcode[ls_j]
  875. dw_child.Object.ow_wfjgmx_out_mxdscrp[child_row] = s_inscust8.dscrp[ls_j]
  876. dw_child.Object.ow_wfjgmx_out_mxdscrp2[child_row] = s_inscust8.dscrp2[ls_j]
  877. END IF
  878. NEXT
  879. dw_child.SetColumn('ow_wfjgmx_out_qty')
  880. dw_child.SetRedraw(TRUE)
  881. END IF
  882. THIS.Enabled = TRUE
  883. END IF
  884. end event
  885. event ue_addzy;call super::ue_addzy;IF dw_edit_mode THEN
  886. MessageBox('提示',"编辑状态下不可以使用!",information!,OK!)
  887. return
  888. END IF
  889. IF NOT (f_power_ind(807) or f_power_ind(808)) THEN
  890. MessageBox('提示','你没有使用权限!',information!,OK!)
  891. RETURN
  892. END IF
  893. string arg_msg='',LS_STR
  894. long uc_row
  895. s_inputbox S_SREU
  896. uc_row=dw_pageretr.getrow()
  897. if uc_row<=0 then
  898. messagebox('提示','请选定当前目标单据!',information!,OK!)
  899. return
  900. end if
  901. S_SREU.TITLE='请输入要补充到备注的内容'
  902. S_SREU.OLD_TEXT=''
  903. openwithparm(w_inputbox,S_SREU)
  904. LS_STR=Message.StringParm
  905. if trim(LS_STR)='' or isnull(LS_STR) then return
  906. if uo_ware.add_dscrp(dw_pageretr.Object.ow_wfjg_out_scid[uc_row],dw_pageretr.object.ow_wfjg_out_outwareid[uc_row],LS_STR,arg_msg)=0 then
  907. messagebox('错误',arg_msg,stopsign!,OK!)
  908. return
  909. else
  910. messagebox('提示','添加备注操作成功!',information!,OK!)
  911. wf_refresh_curuc(dw_pageretr.Object.ow_wfjg_out_scid[uc_row],dw_pageretr.object.ow_wfjg_out_outwareid[uc_row])
  912. end if
  913. end event
  914. event ue_f9;call super::ue_f9;//用于选择明细内容,被F10[默认]
  915. IF NOT dw_edit_mode THEN RETURN
  916. Long uc_row
  917. uc_row = dw_uc.GetRow()
  918. IF uc_row = 0 THEN
  919. MessageBox('提示','请选定出仓单!',information!,OK!)
  920. RETURN
  921. END IF
  922. dw_uc.AcceptText()
  923. THIS.Enabled = FALSE
  924. IF NOT IsValid(W_spt_edit) THEN
  925. s_edit_index_tran s_ch_tran //传递参数使用
  926. s_ch_tran.if_retrieve_all = FALSE //是否一次RETRIEVE所有行
  927. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  928. s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
  929. //查询列(物料编码)部分内容,用于初步筛选
  930. s_ch_tran.arg_string_code = Upper(Trim(dw_uc.Object.u_spt_code[dw_uc.GetRow()]))
  931. OpenWithParm(W_spt_edit,s_ch_tran) //调用
  932. S_spt S_INSCUST
  933. S_INSCUST = Message.PowerObjectParm //接受返回结构
  934. IF S_INSCUST.sptid > 0 THEN //正常返回值则可以取以下值
  935. //重置dw_child
  936. wf_change_sptid(S_INSCUST.sptid)
  937. dw_uc.SetRedraw(FALSE)
  938. dw_uc.Object.ow_wfjg_out_sptid[uc_row] = S_INSCUST.sptid
  939. dw_uc.Object.u_spt_name[uc_row] = S_INSCUST.Name
  940. dw_uc.Object.u_spt_code[uc_row] = S_INSCUST.sptcode
  941. dw_uc.SetRedraw(TRUE)
  942. dw_uc.SetColumn("ow_wfjg_out_outdate")
  943. END IF
  944. END IF
  945. THIS.Enabled = TRUE
  946. end event
  947. event ue_viewprint;call super::ue_viewprint;if not f_power_ind(728) then
  948. messagebox('提示','你没有使用权限!',information!,OK!)
  949. return
  950. end if
  951. lONG LS_ROW
  952. LS_ROW=dw_pageretr.getrow()
  953. IF LS_ROW<=0 THEN
  954. MESSAGEBOX('提示','没有打印目标单据!',information!,OK!)
  955. RETURN
  956. END IF
  957. S_print_MSG LS_PRMSG
  958. IF ls_newname <> '' THEN
  959. IF li_auditprint = 1 THEN
  960. IF dw_pageretr.Object.ow_wfjg_out_flag[dw_pageretr.GetRow()] = 0 THEN
  961. MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!)
  962. RETURN
  963. END IF
  964. END IF
  965. ls_prmsg.obj_dwNAME = ls_newname
  966. ELSE
  967. ls_prmsg.obj_dwNAME = 'dw_rp_outware_wfjg_edit'
  968. END IF
  969. LS_PRMSG.TAG_TEXT='外协发出单'
  970. LS_PRMSG.FILTER_STRING = ''
  971. LS_PRMSG.retr_pram_falg=15
  972. LS_PRMSG.PAGECH_FLAG=0
  973. LS_PRMSG.retr_scid=dw_pageretr.object.ow_wfjg_out_scid[LS_ROW]
  974. LS_PRMSG.retr_pramnmb=dw_pageretr.object.ow_wfjg_out_outwareid[LS_ROW]
  975. LS_PRMSG.rowcnt = dw_child.rowcount()
  976. IF ifpic = 1 THEN
  977. String ls_msg
  978. IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
  979. MessageBox('提示','下载图片失败!',information!,OK!)
  980. RETURN
  981. END IF
  982. END IF
  983. Openwithparm(w_publ_preview,LS_PRMSG)
  984. IF ifpic = 1 THEN
  985. Long li
  986. FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
  987. IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
  988. FileDelete(LS_PRMSG.s_pic.path[li])
  989. END IF
  990. NEXT
  991. END IF
  992. //**更新打印次料
  993. string arg_msg
  994. printnum = message.doubleparm
  995. f_update_printnum('ow_wfjg_out',printnum,dw_pageretr.object.ow_wfjg_out_scid[LS_ROW],dw_pageretr.object.ow_wfjg_out_outwareid[LS_ROW],'','',arg_msg,true)
  996. end event
  997. event ue_print;call super::ue_print;IF NOT f_power_ind(728) THEN
  998. MessageBox('提示','你没有使用权限!',information!,OK!)
  999. RETURN
  1000. END IF
  1001. uo_print_preview uo_print
  1002. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1003. Long LS_ROW
  1004. LS_ROW = dw_pageretr.GetRow()
  1005. IF LS_ROW <= 0 THEN
  1006. MessageBox('提示','没有打印目标单据!',information!,OK!)
  1007. RETURN
  1008. END IF
  1009. S_print_MSG LS_PRMSG
  1010. IF ls_newname <> '' THEN
  1011. IF li_auditprint = 1 THEN
  1012. IF dw_pageretr.Object.ow_wfjg_out_flag[dw_pageretr.GetRow()] = 0 THEN
  1013. MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!)
  1014. RETURN
  1015. END IF
  1016. END IF
  1017. LS_PRMSG.obj_dwNAME = ls_newname
  1018. ELSE
  1019. LS_PRMSG.obj_dwNAME = 'dw_rp_outware_wfjg_edit'
  1020. END IF
  1021. LS_PRMSG.TAG_TEXT = '外协发出单'
  1022. LS_PRMSG.FILTER_STRING = ''
  1023. LS_PRMSG.retr_pram_falg = 15
  1024. LS_PRMSG.PAGECH_FLAG = 0
  1025. LS_PRMSG.retr_scid = dw_pageretr.Object.ow_wfjg_out_scid[LS_ROW]
  1026. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.ow_wfjg_out_outwareid[LS_ROW]
  1027. LS_PRMSG.rowcnt = dw_child.rowcount()
  1028. IF ifpic = 1 THEN
  1029. String ls_msg
  1030. IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
  1031. MessageBox('提示','下载图片失败!',information!,OK!)
  1032. RETURN
  1033. END IF
  1034. END IF
  1035. uo_print.FACT_PRINT_MSG = LS_PRMSG
  1036. String arg_msg
  1037. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  1038. MessageBox("错误",arg_msg,stopsign!,OK!)
  1039. RETURN
  1040. END IF
  1041. uo_print.ds_print()
  1042. IF ifpic = 1 THEN
  1043. Long li
  1044. FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
  1045. IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
  1046. FileDelete(LS_PRMSG.s_pic.path[li])
  1047. END IF
  1048. NEXT
  1049. END IF
  1050. //**更新打印次料
  1051. printnum = Message.DoubleParm
  1052. f_update_printnum('ow_wfjg_out',printnum,dw_pageretr.Object.ow_wfjg_out_scid[LS_ROW],dw_pageretr.Object.ow_wfjg_out_outwareid[LS_ROW],'','',arg_msg,TRUE)
  1053. end event
  1054. event ue_rpt_print;call super::ue_rpt_print;IF NOT f_power_ind(728) THEN
  1055. MessageBox('提示','你没有使用权限!',information!,OK!)
  1056. RETURN
  1057. END IF
  1058. Long row,uc_relid,ll_scid
  1059. row = dw_pageretr.GetRow()
  1060. IF row = 0 THEN RETURN
  1061. uo_rpt_print_preview uo_print
  1062. S_rpt_print_MSG LS_PRMSG
  1063. IF dw_pageretr.RowCount() = 0 THEN
  1064. MessageBox('提示','没有可打印的单据!',information!,OK!)
  1065. RETURN
  1066. END IF
  1067. IF ls_rpname = '' THEN RETURN
  1068. IF li_auditprint = 1 THEN
  1069. IF dw_pageretr.Object.ow_wfjg_out_flag[row] = 0 THEN
  1070. MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!)
  1071. RETURN
  1072. END IF
  1073. END IF
  1074. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1075. LS_PRMSG.retr_pram_falg = 15
  1076. LS_PRMSG.TAG_TEXT = THIS.Title
  1077. LS_PRMSG.rpname = ls_rpname
  1078. LS_PRMSG.FILTER_STRING = ''
  1079. LS_PRMSG.PAGECH_FLAG = 0
  1080. LS_PRMSG.rpid = ls_msgprintid_rpt
  1081. LS_PRMSG.retr_scid = dw_pageretr.Object.ow_wfjg_out_scid[row]
  1082. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.ow_wfjg_out_outwareid[row]
  1083. LS_PRMSG.rowcnt = dw_child.RowCount()
  1084. uo_print.FACT_PRINT_MSG = LS_PRMSG
  1085. String arg_msg
  1086. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  1087. MessageBox("提示",arg_msg,stopsign!,OK!)
  1088. RETURN
  1089. END IF
  1090. uo_print.ds_print()
  1091. //**更新打印次料
  1092. printnum = message.doubleparm
  1093. f_update_printnum('ow_wfjg_out',printnum,dw_pageretr.object.ow_wfjg_out_scid[row],dw_pageretr.object.ow_wfjg_out_outwareid[row],'','',arg_msg,true)
  1094. end event
  1095. event ue_rpt_viewprint;call super::ue_rpt_viewprint;IF NOT f_power_ind(728) THEN
  1096. MessageBox('提示','你没有使用权限!',information!,OK!)
  1097. RETURN
  1098. END IF
  1099. Long row,uc_relid,ll_scid
  1100. row = dw_pageretr.GetRow()
  1101. IF row = 0 THEN RETURN
  1102. IF ls_rpname = '' THEN RETURN
  1103. IF li_auditprint = 1 THEN
  1104. IF dw_pageretr.Object.ow_wfjg_out_flag[row] = 0 THEN
  1105. MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!)
  1106. RETURN
  1107. END IF
  1108. END IF
  1109. s_rpt_print_msg s_print
  1110. s_print.retr_pram_falg = 15
  1111. s_print.rpid = ls_msgprintid_rpt
  1112. s_print.retr_flag = TRUE
  1113. s_print.tag_text = THIS.Title
  1114. s_print.rpname = ls_rpname
  1115. s_print.retr_scid = dw_pageretr.Object.ow_wfjg_out_scid[row]
  1116. s_print.retr_pramnmb = dw_pageretr.Object.ow_wfjg_out_outwareid[row]
  1117. s_print.rowcnt = dw_child.RowCount()
  1118. OpenWithParm(w_rpt_preview,s_print)
  1119. //**更新打印次料
  1120. string arg_msg
  1121. printnum = message.doubleparm
  1122. f_update_printnum('ow_wfjg_out',printnum,dw_pageretr.object.ow_wfjg_out_scid[row],dw_pageretr.object.ow_wfjg_out_outwareid[row],'','',arg_msg,true)
  1123. end event
  1124. event ue_f6;call super::ue_f6;IF NOT dw_edit_mode THEN RETURN
  1125. Long ls_mtrlid
  1126. s_unit s_inscust
  1127. IF sys_option_2unit <> 0 THEN
  1128. s_edit_index_tran s_tran_unit
  1129. IF sys_option_2unit_ch = 1 THEN
  1130. IF NOT IsValid(w_unit_ch) THEN
  1131. IF dw_child.GetRow() < 1 THEN RETURN
  1132. ls_mtrlid = dw_child.Object.ow_wfjgmx_out_mtrlid[dw_child.GetRow()]
  1133. OpenWithParm(w_unit_ch,ls_mtrlid)
  1134. s_inscust = Message.PowerObjectParm //接受返回结构
  1135. IF s_inscust.unit <> '' THEN
  1136. dw_child.Object.ow_wfjgmx_out_uunit[dw_child.GetRow()] = s_inscust.unit
  1137. dw_child.Object.ow_wfjgmx_out_rate[dw_child.GetRow()] = s_inscust.rate
  1138. IF s_inscust.ReturnType = 0 THEN
  1139. IF dw_child.Object.ow_wfjgmx_out_uqty[dw_child.GetRow()] > 0 THEN
  1140. dw_child.Object.ow_wfjgmx_out_qty[dw_child.GetRow()] = Round(s_inscust.rate * dw_child.Object.ow_wfjgmx_out_uqty[dw_child.GetRow()],sys_option_unit_dec)
  1141. END IF
  1142. ELSE
  1143. IF s_inscust.rate > 0 THEN
  1144. dw_child.Object.ow_wfjgmx_out_uqty[dw_child.GetRow()] = Round(dw_child.Object.ow_wfjgmx_out_qty[dw_child.GetRow()] / s_inscust.rate , sys_option_unit_dec )
  1145. END IF
  1146. END IF
  1147. dw_child.SetColumn( 'ow_wfjgmx_out_qty')
  1148. END IF
  1149. END IF
  1150. ELSE
  1151. IF NOT IsValid(w_unit_def_ch) THEN
  1152. IF dw_child.GetRow() < 1 THEN RETURN
  1153. Open(w_unit_def_ch)
  1154. s_inscust = Message.PowerObjectParm //接受返回结构
  1155. IF s_inscust.unit <> '' THEN
  1156. dw_child.Object.ow_wfjgmx_out_uunit[dw_child.GetRow()] = s_inscust.unit
  1157. dw_child.SetColumn( 'ow_wfjgmx_out_qty')
  1158. END IF
  1159. END IF
  1160. END IF
  1161. ELSEIF sys_option_2unit = 0 THEN
  1162. IF NOT IsValid(w_unit_ch) THEN
  1163. IF dw_child.GetRow() < 1 THEN RETURN
  1164. dw_child.AcceptText()
  1165. ls_mtrlid = dw_child.Object.ow_wfjgmx_out_mtrlid[dw_child.GetRow()]
  1166. OpenWithParm(w_unit_ch,ls_mtrlid)
  1167. s_inscust = Message.PowerObjectParm //接受返回结构
  1168. IF s_inscust.unit <> '' THEN
  1169. dw_child.Object.ow_wfjgmx_out_uunit[dw_child.GetRow()] = s_inscust.unit
  1170. dw_child.Object.ow_wfjgmx_out_rate[dw_child.GetRow()] = s_inscust.rate
  1171. IF s_inscust.ReturnType = 0 THEN
  1172. IF dw_child.Object.ow_wfjgmx_out_uqty[dw_child.GetRow()] > 0 THEN
  1173. dw_child.Object.ow_wfjgmx_out_qty[dw_child.GetRow()] = Round(s_inscust.rate * dw_child.Object.ow_wfjgmx_out_uqty[dw_child.GetRow()],sys_option_unit_dec)
  1174. END IF
  1175. ELSE
  1176. IF s_inscust.rate > 0 THEN
  1177. dw_child.Object.ow_wfjgmx_out_uqty[dw_child.GetRow()] = Round(dw_child.Object.ow_wfjgmx_out_qty[dw_child.GetRow()] / s_inscust.rate , sys_option_unit_dec )
  1178. END IF
  1179. END IF
  1180. END IF
  1181. END IF
  1182. END IF
  1183. end event
  1184. type cb_func from w_publ_1ton_share_detail`cb_func within w_outware_wfjg_th
  1185. end type
  1186. type cb_exit from w_publ_1ton_share_detail`cb_exit within w_outware_wfjg_th
  1187. end type
  1188. type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_outware_wfjg_th
  1189. integer x = 183
  1190. integer width = 549
  1191. end type
  1192. type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_outware_wfjg_th
  1193. integer x = 3072
  1194. end type
  1195. type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_outware_wfjg_th
  1196. integer x = 2743
  1197. integer y = 44
  1198. integer width = 320
  1199. end type
  1200. type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_outware_wfjg_th
  1201. integer x = 1993
  1202. integer width = 1545
  1203. integer height = 848
  1204. string dataobject = "dw_outware_wfjg_th_index"
  1205. end type
  1206. event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_flagstatus_rf()
  1207. wf_check_billfj()
  1208. end event
  1209. type st_1 from w_publ_1ton_share_detail`st_1 within w_outware_wfjg_th
  1210. integer x = 0
  1211. integer y = 208
  1212. string text = "编码含"
  1213. end type
  1214. type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_outware_wfjg_th
  1215. integer x = 3223
  1216. end type
  1217. type dw_uc from w_publ_1ton_share_detail`dw_uc within w_outware_wfjg_th
  1218. integer width = 1989
  1219. integer height = 848
  1220. string dataobject = "dw_outware_wfjg_th_edit"
  1221. end type
  1222. event dw_uc::dwnkey;Parent.TriggerEvent('user_key')
  1223. IF Key = KeyDownArrow! THEN RETURN 1
  1224. IF dw_edit_mode THEN
  1225. IF dw_uc.GetColumnName ( ) = 'ow_wfjg_out_dscrp' And Key = KeyEnter! THEN
  1226. dw_child.SetFocus()
  1227. dw_child.ScrollToRow(1)
  1228. dw_child.SetColumn ('ow_wfjgmx_out_ifrel')
  1229. RETURN 1
  1230. ELSEIF dw_uc.GetColumnName ( ) = 'u_spt_code' And Key = KeyEnter! THEN
  1231. String ls_code,ls_name,ls_find_code
  1232. Long ls_sptid
  1233. Long cnt = 0
  1234. Boolean if_find = False
  1235. dw_uc.AcceptText()
  1236. ls_code = Upper(Trim(dw_uc.Object.u_spt_code[dw_uc.GetRow()]))
  1237. SELECT u_spt.sptid,
  1238. u_spt.name,
  1239. u_spt.sptcode
  1240. INTO :ls_sptid,:ls_name,:ls_code
  1241. FROM u_spt
  1242. Where ( sptcode = :ls_code Or Name = :ls_code );
  1243. IF sqlca.SQLCode <> 0 THEN
  1244. IF Pos(Trim(ls_code),'%') = 0 THEN
  1245. ls_find_code = '%'+ Trim(ls_code) + '%'
  1246. ELSE
  1247. ls_find_code = Trim(ls_code)
  1248. END IF
  1249. SELECT count(*) INTO :cnt
  1250. FROM u_spt
  1251. Where ( sptcode Like :ls_find_code Or Name Like :ls_find_code );
  1252. IF sqlca.SQLCode <> 0 THEN
  1253. Parent.TriggerEvent('ue_f9')
  1254. RETURN 1
  1255. END IF
  1256. IF cnt <> 1 THEN
  1257. Parent.TriggerEvent('ue_f9')
  1258. RETURN 1
  1259. ELSE
  1260. SELECT u_spt.sptid,
  1261. u_spt.sptcode,
  1262. u_spt.name
  1263. INTO :ls_sptid,:ls_code,:ls_name
  1264. FROM u_spt
  1265. Where ( sptcode Like :ls_find_code Or Name Like :ls_find_code );
  1266. IF sqlca.SQLCode <> 0 THEN
  1267. Parent.TriggerEvent('ue_f9')
  1268. RETURN 1
  1269. ELSE
  1270. if_find = True
  1271. END IF
  1272. END IF
  1273. ELSE
  1274. if_find = True
  1275. END IF
  1276. IF if_find THEN
  1277. //重置dw_child
  1278. wf_change_sptid(ls_sptid)
  1279. dw_uc.SetRedraw(False)
  1280. dw_uc.Object.ow_wfjg_out_sptid[dw_uc.GetRow()] = ls_sptid
  1281. dw_uc.Object.u_spt_code[dw_uc.GetRow()] = ls_code
  1282. dw_uc.Object.u_spt_name[dw_uc.GetRow()] = ls_name
  1283. dw_uc.SetRedraw(True)
  1284. dw_uc.SetColumn("ow_wfjg_out_outdate")
  1285. RETURN 1
  1286. END IF
  1287. ELSE
  1288. IF Key = KeyEnter! THEN //
  1289. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1290. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1291. RETURN 1
  1292. END IF
  1293. END IF
  1294. END IF
  1295. end event
  1296. event dw_uc::itemchanged;call super::itemchanged;IF NOT dw_edit_mode THEN RETURN
  1297. IF dwo.Name = 'u_outware_storageid' THEN
  1298. dw_child.Reset()
  1299. PARENT.TriggerEvent("insert_childrow")
  1300. END IF
  1301. end event
  1302. event dw_uc::clicked;call super::clicked;if not dw_edit_mode then return
  1303. if row <= 0 then return
  1304. if dwo.name='p_p' then
  1305. parent.TRIGGEREVENT('ue_f9')
  1306. end if
  1307. end event
  1308. type gb_2 from w_publ_1ton_share_detail`gb_2 within w_outware_wfjg_th
  1309. end type
  1310. type dw_child from w_publ_1ton_share_detail`dw_child within w_outware_wfjg_th
  1311. integer y = 1148
  1312. integer height = 1000
  1313. string dataobject = "dw_outwaremx_wfjg_th_edit"
  1314. end type
  1315. event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key')
  1316. String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode
  1317. String ls_plancode,ls_status,ls_woodcode,ls_pcode
  1318. Long ls_mtrlwareid,ls_mtrlid,ls_storageid,ls_orderid
  1319. Dec ls_noallocqty,ls_noauditingqty,ls_cost,ls_planprice
  1320. s_mtrlware_noalloc_array arg_s_mtrlware
  1321. String ls_unit_buy,ls_unit_scll,ls_unit_sale
  1322. Decimal ld_rate_buy,ld_rate_scll,ld_rate_sale
  1323. Int li_wfjgunit,li_wfjgdec
  1324. long ld_rate,li_dec
  1325. s_mtrldef_array arg_s_mtrldef
  1326. Long child_row
  1327. Long ls_null
  1328. SetNull(ls_null)
  1329. Long ls_sptid
  1330. IF dw_edit_mode THEN
  1331. dw_uc.AcceptText()
  1332. dw_child.accepttext()
  1333. child_row=dw_child.getrow()
  1334. ls_orderid = dw_child.Object.ow_wfjgmx_out_relid[child_row]
  1335. ls_sptid = dw_uc.Object.ow_wfjg_out_sptid[dw_uc.GetRow()]
  1336. IF IsNull(ls_sptid) OR ls_sptid = 0 THEN
  1337. THIS.TriggerEvent("ue_f10")
  1338. END IF
  1339. IF KeyDown(Keydownarrow!) THEN
  1340. Long li_row
  1341. IF dw_child.GetRow() = dw_child.RowCount() THEN
  1342. PARENT.TriggerEvent("insert_childrow")
  1343. END IF
  1344. ELSE
  1345. If KeyDown(KeyEnter!) AND NOT KeyDown(KeyControl!) AND NOT KeyDown(KeyShift!) THEN
  1346. IF dw_child.GetColumnName( ) = 'u_mtrldef_mtrlcode' THEN
  1347. dw_child.AcceptText()
  1348. child_row = dw_child.GetRow()
  1349. if dw_child.Object.ow_wfjgmx_out_ifrel[child_row]=1 then
  1350. PARENT.TriggerEvent('ue_f8')
  1351. RETURN 1
  1352. end if
  1353. ls_storageid = dw_child.Object.ow_wfjgmx_out_storageid[child_row]
  1354. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[child_row]
  1355. IF f_find_mtrlware(ls_mtrlcode,ls_storageid,-1,arg_s_mtrlware) = 0 THEN
  1356. PARENT.TriggerEvent('ue_f8')
  1357. RETURN 1
  1358. ELSE
  1359. ls_mtrlwareid = arg_s_mtrlware.mtrlwareid[1]
  1360. ls_mtrlid = arg_s_mtrlware.mtrlid[1]
  1361. ls_mtrlcode = arg_s_mtrlware.u_mtrldef_mtrlcode[1]
  1362. ls_mtrlname = arg_s_mtrlware.u_mtrldef_mtrlname[1]
  1363. ls_unit = arg_s_mtrlware.u_mtrldef_unit[1]
  1364. ls_mtrlmode = arg_s_mtrlware.u_mtrldef_mtrlmode[1]
  1365. ls_planprice = arg_s_mtrlware.planprice[1]
  1366. ls_noallocqty = arg_s_mtrlware.noallocqty[1]
  1367. ls_storageid = arg_s_mtrlware.storageid[1]
  1368. ls_plancode = arg_s_mtrlware.plancode[1]
  1369. ls_noauditingqty = arg_s_mtrlware.noauditingqty[1]
  1370. ls_status = arg_s_mtrlware.status[1]
  1371. ls_woodcode = arg_s_mtrlware.woodcode[1]
  1372. ls_pcode = arg_s_mtrlware.pcode[1]
  1373. ls_cost = arg_s_mtrlware.cost[1]
  1374. END IF
  1375. IF f_find_mtrl(ls_mtrlcode,-1,arg_s_mtrldef) = 0 THEN
  1376. else
  1377. li_wfjgunit = arg_s_mtrldef.wfjgunit[1]
  1378. ls_unit_buy = arg_s_mtrldef.unit_buy[1]
  1379. ls_unit_scll = arg_s_mtrldef.unit_scll[1]
  1380. ls_unit_sale = arg_s_mtrldef.unit_sale[1]
  1381. ld_rate_buy = arg_s_mtrldef.rate_buy[1]
  1382. ld_rate_scll = arg_s_mtrldef.rate_scll[1]
  1383. ld_rate_sale = arg_s_mtrldef.rate_sale[1]
  1384. li_wfjgdec = arg_s_mtrldef.wfjgdec[1]
  1385. end if
  1386. IF li_wfjgunit = 0 THEN
  1387. ls_unit = ls_unit
  1388. ld_rate = 1
  1389. li_dec = sys_option_unit_dec
  1390. ELSEIF li_wfjgunit = 1 THEN
  1391. ls_unit = ls_unit_buy
  1392. ld_rate = ld_rate_buy
  1393. li_dec = li_wfjgdec
  1394. ELSEIF li_wfjgunit = 2 THEN
  1395. ls_unit = ls_unit_scll
  1396. ld_rate = ld_rate_scll
  1397. li_dec = li_wfjgdec
  1398. ELSEIF li_wfjgunit = 3 THEN
  1399. ls_unit = ls_unit_sale
  1400. ld_rate = ld_rate_sale
  1401. li_dec = li_wfjgdec
  1402. END IF
  1403. dw_child.Object.ow_wfjgmx_out_mtrlwareid[child_row] = ls_mtrlwareid
  1404. dw_child.Object.ow_wfjgmx_out_mtrlid[child_row] = ls_mtrlid
  1405. dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname
  1406. dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
  1407. dw_child.Object.u_mtrldef_unit[child_row] = ls_unit
  1408. dw_child.Object.ow_wfjgmx_out_qty[child_row] = ls_noallocqty - ls_noauditingqty
  1409. dw_child.Object.ow_wfjgmx_out_fprice[child_row] = ls_cost
  1410. dw_child.Object.ow_wfjgmx_out_storageid[child_row] = ls_storageid
  1411. dw_child.Object.ow_wfjgmx_out_plancode[child_row] = ls_plancode
  1412. dw_child.Object.ow_wfjgmx_out_status[child_row] = ls_status
  1413. dw_child.Object.ow_wfjgmx_out_woodcode[child_row] = ls_woodcode
  1414. dw_child.Object.ow_wfjgmx_out_pcode[child_row] = ls_pcode
  1415. dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode
  1416. dw_child.Object.ow_wfjgmx_out_uunit[child_row] = ls_unit
  1417. dw_child.Object.ow_wfjgmx_out_rate[child_row] = ld_rate
  1418. IF dw_child.Object.ow_wfjgmx_out_uunit[child_row] = '' OR sys_option_2unit = 0 THEN
  1419. dw_child.Object.ow_wfjgmx_out_uunit[child_row] = ls_unit
  1420. dw_child.Object.ow_wfjgmx_out_uqty[child_row] = ls_noallocqty - ls_noauditingqty
  1421. dw_child.Object.ow_wfjgmx_out_rate[child_row] = ld_rate
  1422. END IF
  1423. IF Key = KeyEnter! THEN //
  1424. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1425. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1426. RETURN 1
  1427. END IF
  1428. ELSEIF dw_child.GetColumnName( ) = 'ow_wfjgmx_out_rate' THEN
  1429. dw_child.AcceptText()
  1430. child_row = dw_child.GetRow()
  1431. dw_child.Object.ow_wfjgmx_out_qty[child_row] = dw_child.Object.ow_wfjgmx_out_uqty[child_row] * dw_child.Object.ow_wfjgmx_out_rate[child_row]
  1432. IF Key = KeyEnter! THEN //
  1433. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1434. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1435. RETURN 1
  1436. END IF
  1437. ELSEIF dw_child.GetColumnName( ) = 'ow_wfjgmx_out_uqty' THEN
  1438. dw_child.AcceptText()
  1439. child_row = dw_child.GetRow()
  1440. dw_child.Object.ow_wfjgmx_out_qty[child_row] = dw_child.Object.ow_wfjgmx_out_uqty[child_row] * dw_child.Object.ow_wfjgmx_out_rate[child_row]
  1441. IF Key = KeyEnter! THEN //
  1442. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1443. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1444. RETURN 1
  1445. END IF
  1446. ELSEIF dw_child.GetColumnName( ) = 'ow_wfjgmx_out_mxdscrp' AND dw_child.GetRow() = dw_child.RowCount() THEN
  1447. PARENT.TriggerEvent("insert_childrow")
  1448. RETURN 1
  1449. ELSE
  1450. IF Key = KeyEnter! THEN //
  1451. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1452. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1453. RETURN 1
  1454. END IF
  1455. END IF
  1456. END IF
  1457. END IF
  1458. END IF
  1459. end event
  1460. event dw_child::doubleclicked;dw_child.AcceptText()
  1461. IF dw_edit_mode AND row > 0 THEN
  1462. IF dwo.Name = 'ow_wfjgmx_out_uunit' THEN
  1463. PARENT.TriggerEvent('ue_f6')
  1464. ELSE
  1465. PARENT.TriggerEvent('ue_f8')
  1466. END IF
  1467. END IF
  1468. end event
  1469. event dw_child::itemchanged;call super::itemchanged;if not dw_edit_mode then return
  1470. this.accepttext()
  1471. if dwo.name = 'ow_wfjgmx_out_uqty' and sys_option_2unit = 0 then
  1472. this.Object.ow_wfjgmx_out_qty[this.GetRow()] = Round(this.Object.ow_wfjgmx_out_rate[this.GetRow()] * this.Object.ow_wfjgmx_out_uqty[this.GetRow()],sys_option_unit_dec)
  1473. elseif dwo.name = 'ow_wfjgmx_out_qty' and sys_option_2unit = 0 and this.Object.ow_wfjgmx_out_rate[this.GetRow()]<>0 then
  1474. this.Object.ow_wfjgmx_out_uqty[this.GetRow()] = Round(this.Object.ow_wfjgmx_out_qty[this.GetRow()]/this.Object.ow_wfjgmx_out_rate[this.GetRow()] ,sys_option_unit_dec)
  1475. end if
  1476. end event
  1477. type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_outware_wfjg_th
  1478. end type
  1479. type cb_print from w_publ_1ton_share_detail`cb_print within w_outware_wfjg_th
  1480. end type
  1481. type cb_add from w_publ_1ton_share_detail`cb_add within w_outware_wfjg_th
  1482. end type
  1483. event cb_add::clicked;IF Not (f_power_ind(755) OR f_power_ind(725)) THEN
  1484. MessageBox('提示','你没有使用权限!',information!,OK!)
  1485. RETURN
  1486. END IF
  1487. String arg_msg = ''
  1488. Long uc_row,i,j
  1489. Long relid_pageretr,reld_uc
  1490. IF dw_edit_mode THEN
  1491. dw_uc.AcceptText()
  1492. dw_child.AcceptText()
  1493. uc_row = dw_uc.GetRow()
  1494. IF uc_row <= 0 THEN
  1495. MessageBox('提示','请选定当前目标单据!',information!,OK!)
  1496. RETURN
  1497. END IF
  1498. IF NOT dw_uc.Object.ow_wfjg_out_outdate[uc_row] > DateTime(2000-01-01,Now()) THEN
  1499. MessageBox('提示','不合理发生时间',information!,OK!)
  1500. dw_uc.SetFocus()
  1501. dw_uc.SetColumn('u_outware_outdate')
  1502. RETURN
  1503. END IF
  1504. IF NOT Len(String(dw_uc.Object.ow_wfjg_out_outrep[uc_row])) > 0 THEN
  1505. MessageBox('提示','请填写经手人',information!,OK!)
  1506. dw_uc.SetFocus()
  1507. dw_uc.SetColumn('ow_wfjg_out_outrep')
  1508. RETURN
  1509. END IF
  1510. FOR j = 1 TO dw_child.RowCount()
  1511. IF dw_child.Object.ow_wfjgmx_out_qty[j] = 0 THEN CONTINUE
  1512. IF NOT f_power_ind(125) THEN
  1513. IF dw_child.Object.ow_wfjgmx_out_ifrel[j] = 1 AND dw_child.Object.ow_wfjgmx_out_relid[j] = 0 THEN
  1514. MessageBox('提示','用户权限限制,请选择外协订单,第'+String(j)+'行',information!,OK!)
  1515. RETURN
  1516. END IF
  1517. IF dw_child.Object.ow_wfjgmx_out_ifrel[j] = 0 AND dw_child.Object.ow_wfjgmx_out_qty[j] > 0 THEN
  1518. MessageBox('提示','用户权限限制,请选择外协订单,第'+String(j)+'行',information!,OK!)
  1519. RETURN
  1520. END IF
  1521. END IF
  1522. IF dw_child.Object.ow_wfjgmx_out_mtrlwareid[j] > 0 AND dw_child.Object.ow_wfjgmx_out_qty[j] > 0 THEN
  1523. dw_child.Object.ow_wfjgmx_out_qty[j] = 0 - dw_child.Object.ow_wfjgmx_out_qty[j]
  1524. END IF
  1525. IF dw_child.Object.ow_wfjgmx_out_mtrlwareid[j] > 0 AND dw_child.Object.ow_wfjgmx_out_uqty[j] > 0 THEN
  1526. dw_child.Object.ow_wfjgmx_out_uqty[j] = 0 - dw_child.Object.ow_wfjgmx_out_uqty[j]
  1527. END IF
  1528. IF dw_child.Object.ow_wfjgmx_out_mtrlwareid[j] > 0 AND dw_child.Object.ow_wfjgmx_out_addqty[j] > 0 THEN
  1529. dw_child.Object.ow_wfjgmx_out_addqty[j] = 0 - dw_child.Object.ow_wfjgmx_out_addqty[j]
  1530. END IF
  1531. NEXT
  1532. Long cnt
  1533. IF sys_option_2unit_ch = 1 THEN
  1534. cnt = 0
  1535. FOR i = 1 TO dw_child.RowCount()
  1536. IF dw_child.Object.ow_wfjgmx_out_rate[i] > 0 THEN
  1537. IF dw_child.Object.ow_wfjgmx_out_qty[i] <> dw_child.Object.ow_wfjgmx_out_rate[i] * dw_child.Object.ow_wfjgmx_out_uqty[i] THEN
  1538. cnt++
  1539. arg_msg = arg_msg + '第'+String(i)+'行,库存单位数量:'+String(dw_child.Object.ow_wfjgmx_out_qty[i],'#,##0.##########')+'计价单位数量:'+String(dw_child.Object.ow_wfjgmx_out_uqty[i],'#,##0.##########')+',转换率:'+String(dw_child.Object.ow_wfjgmx_out_rate[i],'#,##0.00##')+'~r~n'
  1540. END IF
  1541. END IF
  1542. NEXT
  1543. IF cnt > 0 THEN
  1544. IF MessageBox('询问',arg_msg + '以上内容计价单位数量与库存单位数量不符合转换率,是否继续保存?',question!,yesno! ) = 2 THEN RETURN
  1545. END IF
  1546. END IF
  1547. uo_ware.outdate = dw_uc.Object.ow_wfjg_out_outdate[uc_row]
  1548. uo_ware.outrep = dw_uc.Object.ow_wfjg_out_outrep[uc_row]
  1549. uo_ware.dscrp = dw_uc.Object.ow_wfjg_out_dscrp[uc_row]
  1550. uo_ware.sptid = dw_uc.Object.ow_wfjg_out_sptid[uc_row]
  1551. uo_ware.part = dw_uc.Object.ow_wfjg_out_part[uc_row]
  1552. uo_ware.thflag = 1
  1553. FOR i = 1 TO dw_child.RowCount()
  1554. IF dw_child.Object.ow_wfjgmx_out_mtrlwareid[i] > 0 THEN
  1555. IF uo_ware.acceptmx(dw_child.Object.ow_wfjgmx_out_mtrlwareid[i],&
  1556. dw_child.Object.ow_wfjgmx_out_uqty[i],&
  1557. dw_child.Object.ow_wfjgmx_out_uunit[i],&
  1558. dw_child.Object.ow_wfjgmx_out_qty[i],&
  1559. dw_child.Object.ow_wfjgmx_out_mxdscrp[i],&
  1560. dw_child.Object.printid[i],&
  1561. arg_msg,&
  1562. dw_child.Object.ow_wfjgmx_out_ifrel[i],&
  1563. dw_child.Object.ow_wfjgmx_out_relid[i],&
  1564. dw_child.Object.ow_wfjgmx_out_relprintid[i],&
  1565. dw_child.Object.ow_wfjgmx_out_rate[i],&
  1566. dw_child.Object.ow_wfjgmx_out_addqty[i],&
  1567. dw_child.Object.ow_wfjgmx_out_jgdscrp[i],&
  1568. dw_child.Object.ow_wfjgmx_out_mxdscrp2[i]) = 0 THEN
  1569. MessageBox('错误',arg_msg,stopsign!,OK!)
  1570. RETURN
  1571. END IF
  1572. END IF
  1573. NEXT
  1574. IF uo_ware.Save(TRUE,arg_msg) = 0 THEN
  1575. MessageBox('错误',arg_msg,stopsign!,OK!)
  1576. RETURN
  1577. END IF
  1578. // MessageBox(publ_operator,'保存操作成功!')
  1579. f_SetProfileString (sys_empid,dw_uc.DataObject, "dft_outrep", String(dw_uc.Object.ow_wfjg_out_outrep[dw_uc.GetRow()]))
  1580. Long ll_row
  1581. ll_row = dw_pageretr.GetRow()
  1582. dw_pageretr.SelectRow(0,FALSE)
  1583. dw_pageretr.SelectRow(ll_row,TRUE)
  1584. wf_refresh_curuc(cur_scid,uo_ware.outwareid)
  1585. ELSE
  1586. IF uo_ware.newbegin(cur_scid,4,arg_msg) = 0 THEN
  1587. MessageBox('错误',arg_msg,stopsign!,OK!)
  1588. RETURN
  1589. END IF
  1590. END IF
  1591. CALL SUPER::Clicked
  1592. //read ini
  1593. IF dw_edit_mode THEN
  1594. PARENT.TriggerEvent("insert_childrow")
  1595. dw_uc.SetRedraw(FALSE)
  1596. String ls_outrep
  1597. ls_outrep = f_ProfileString (sys_empid,dw_uc.DataObject, "dft_outrep",'')
  1598. dw_uc.Object.ow_wfjg_out_outrep[dw_uc.GetRow()] = ls_outrep
  1599. dw_uc.SetColumn("u_spt_code")
  1600. dw_uc.SetRedraw(TRUE)
  1601. ELSE
  1602. PARENT.TriggerEvent("retrieve_childdw")
  1603. END IF
  1604. //
  1605. end event
  1606. type cb_edit from w_publ_1ton_share_detail`cb_edit within w_outware_wfjg_th
  1607. end type
  1608. event cb_edit::clicked;IF NOT (f_power_ind(755) or f_power_ind(725)) THEN
  1609. MessageBox('提示','你没有使用权限!',information!,OK!)
  1610. RETURN
  1611. END IF
  1612. string arg_msg=''
  1613. long uc_row
  1614. uc_row=dw_pageretr.getrow()
  1615. if uc_row<=0 then
  1616. messagebox('提示','请选定当前目标单据!',information!,OK!)
  1617. return
  1618. end if
  1619. if not dw_edit_mode then
  1620. if uo_ware.updatebegin(dw_pageretr.Object.ow_wfjg_out_scid[uc_row],dw_pageretr.object.ow_wfjg_out_outwareid[uc_row],4,arg_msg)=0 then
  1621. messagebox('错误',arg_msg,stopsign!,OK!)
  1622. return
  1623. end if
  1624. end if
  1625. call super::clicked
  1626. end event
  1627. type cb_delet from w_publ_1ton_share_detail`cb_delet within w_outware_wfjg_th
  1628. end type
  1629. event cb_delet::clicked;IF NOT (f_power_ind(757) or f_power_ind(727)) THEN
  1630. MessageBox('提示','你没有使用权限!',information!,OK!)
  1631. RETURN
  1632. END IF
  1633. if dw_edit_mode then return
  1634. string arg_msg=''
  1635. long uc_row
  1636. uc_row=dw_pageretr.getrow()
  1637. if uc_row<=0 then
  1638. messagebox('提示','请选定当前目标单据!',information!,OK!)
  1639. return
  1640. end if
  1641. IF MessageBox ("询问","是否确定要删除当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1642. if uo_ware.del(dw_pageretr.Object.ow_wfjg_out_scid[uc_row],dw_pageretr.object.ow_wfjg_out_outwareid[uc_row],arg_msg,true)=0 then
  1643. messagebox('错误',arg_msg,stopsign!,OK!)
  1644. ELSE
  1645. //日志
  1646. long ls_id
  1647. string ls_code
  1648. ls_id=dw_pageretr.object.ow_wfjg_out_outwareid[uc_row]
  1649. ls_code=dw_pageretr.object.ow_wfjg_out_outwarecode[uc_row]
  1650. f_setsysoplog('仓库外协退回单','删除,ID:'+string(LS_id)+',code:'+ls_code,arg_msg,true)
  1651. //--
  1652. MESSAGEBOX('提示','删除单据'+string(dw_pageretr.object.ow_wfjg_out_outwarecode[uc_row])+'成功!',information!,OK!)
  1653. dw_pageretr.deleterow(uc_row)
  1654. dw_pageretr.postevent(rowfocuschanged!)
  1655. end if
  1656. end event
  1657. type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_outware_wfjg_th
  1658. end type
  1659. event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  1660. string menustr
  1661. menustr="Text=增加备注~tEvent=ue_addzy"
  1662. menustr=menustr + "|" + "Text=-"
  1663. menustr=menustr + "|" + "Text=复制单据~tEvent=ue_bill_copy"
  1664. menustr=menustr + "|" + "Text=粘贴单据~tEvent=ue_bill_paste"
  1665. menustr = menustr + "|" + "Text=-"
  1666. menustr = menustr + "|" + "Text=查看附件~tEvent=ue_fj_view"
  1667. menustr = menustr + "|" + "Text=添加附件~tEvent=ue_fj_edit"
  1668. if len(trim(menustr))<>0 then
  1669. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  1670. dmPopupMenu.mf_BuildMenu(This, menustr)
  1671. dmPopupMenu.mf_PopMenu()
  1672. Destroy dmPopupMenu
  1673. end if
  1674. end event
  1675. type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_outware_wfjg_th
  1676. end type
  1677. event cb_auditing::clicked;call super::clicked;IF NOT (f_power_ind(756) or f_power_ind(726)) THEN
  1678. MessageBox('提示','你没有使用权限!',information!,OK!)
  1679. RETURN
  1680. END IF
  1681. if dw_edit_mode then return
  1682. string arg_msg=''
  1683. long pagerert_row
  1684. pagerert_row=dw_pageretr.getrow()
  1685. if pagerert_row<=0 then
  1686. messagebox('提示','请选定当前目标单据!',information!,OK!)
  1687. return
  1688. end if
  1689. IF MessageBox ("询问","是否确定要审核当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1690. if uo_ware.getinfo(dw_pageretr.Object.ow_wfjg_out_scid[pagerert_row],dw_pageretr.object.ow_wfjg_out_outwareid[pagerert_row],arg_msg)=0 then
  1691. messagebox('错误',arg_msg,stopsign!,OK!)
  1692. return
  1693. end if
  1694. if uo_ware.auditing(true,arg_msg)=0 then
  1695. messagebox('错误',arg_msg,stopsign!,OK!)
  1696. ELSE
  1697. messagebox('提示','审核成功!',information!,OK!)
  1698. wf_refresh_curuc(dw_pageretr.Object.ow_wfjg_out_scid[pagerert_row],dw_pageretr.object.ow_wfjg_out_outwareid[pagerert_row])
  1699. end if
  1700. end event
  1701. type cb_xm from w_publ_1ton_share_detail`cb_xm within w_outware_wfjg_th
  1702. end type
  1703. event cb_xm::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  1704. String menustr
  1705. menustr = "Text=增明细~tEvent=ue_addmx"
  1706. menustr = menustr + "|" + "Text=删明细~tEvent=ue_deletemx"
  1707. menustr = menustr + "|" + "Text=-"
  1708. menustr = menustr + "|" + "Text=按转换率计算库存数量~tEvent=ue_cmp_qty"
  1709. menustr = menustr + "|" + "Text=按转换率计算计价数量~tEvent=ue_cmp_uqty"
  1710. IF Trim(is_mx_menustr) <> '' THEN
  1711. menustr = menustr + "|" + "Text=-"
  1712. menustr = menustr + is_mx_menustr
  1713. END IF
  1714. if if_MtrlPicView then
  1715. if Trim(menustr) <> "" then
  1716. menustr = menustr + "|" + "Text=-"
  1717. menustr = menustr + "|" + "Text=明细物料图片查看~tEvent=ue_MtrlPicView"
  1718. else
  1719. menustr = "Text=明细物料图片查看~tEvent=ue_MtrlPicView"
  1720. end if
  1721. end if
  1722. IF Len(Trim(menustr)) <> 0 THEN
  1723. dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  1724. dmPopupMenu.mf_BuildMenu(THIS, menustr)
  1725. dmPopupMenu.mf_PopMenu()
  1726. DESTROY dmPopupMenu
  1727. END IF
  1728. end event
  1729. type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_outware_wfjg_th
  1730. end type
  1731. type cb_xls from w_publ_1ton_share_detail`cb_xls within w_outware_wfjg_th
  1732. end type
  1733. type cb_help from w_publ_1ton_share_detail`cb_help within w_outware_wfjg_th
  1734. end type
  1735. type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_outware_wfjg_th
  1736. end type
  1737. event cb_auditing_cancel::clicked;call super::clicked;IF NOT (f_power_ind(890) or f_power_ind(891)) THEN
  1738. MessageBox('提示','你没有使用权限!',information!,OK!)
  1739. RETURN
  1740. END IF
  1741. if dw_edit_mode then return
  1742. string arg_msg=''
  1743. long pagerert_row
  1744. pagerert_row=dw_pageretr.getrow()
  1745. if pagerert_row<=0 then
  1746. messagebox('提示','请选定当前目标单据!',information!,OK!)
  1747. return
  1748. end if
  1749. if uo_ware.getinfo(dw_pageretr.Object.ow_wfjg_out_scid[pagerert_row],dw_pageretr.object.ow_wfjg_out_outwareid[pagerert_row],arg_msg)=0 then
  1750. messagebox('错误',arg_msg,stopsign!,OK!)
  1751. return
  1752. end if
  1753. IF MessageBox ("询问","是否确定要撤消审核当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1754. if uo_ware.c_auditing(true,arg_msg)=0 then
  1755. messagebox('错误',arg_msg,stopsign!,OK!)
  1756. ELSE
  1757. messagebox('提示','撤消审核成功!',information!,OK!)
  1758. //日志
  1759. String ls_code,ls_opemp,ls_outpart
  1760. ls_code = dw_pageretr.Object.ow_wfjg_out_outwarecode[pagerert_row]
  1761. ls_opemp = dw_pageretr.Object.ow_wfjg_out_opemp[pagerert_row]
  1762. ls_outpart = dw_pageretr.Object.ow_wfjg_out_part[pagerert_row]
  1763. f_setsysoplog('仓库外协退回单','撤审'+',code:'+ls_code+',相关号码:'+ls_outpart+',建立人:'+ls_opemp,arg_msg,TRUE)
  1764. //--
  1765. wf_refresh_curuc(dw_pageretr.Object.ow_wfjg_out_scid[pagerert_row],dw_pageretr.object.ow_wfjg_out_outwareid[pagerert_row])
  1766. end if
  1767. end event
  1768. type p_msg from w_publ_1ton_share_detail`p_msg within w_outware_wfjg_th
  1769. end type
  1770. type p_help from w_publ_1ton_share_detail`p_help within w_outware_wfjg_th
  1771. end type
  1772. type p_encl from w_publ_1ton_share_detail`p_encl within w_outware_wfjg_th
  1773. end type
  1774. type p_other from w_publ_1ton_share_detail`p_other within w_outware_wfjg_th
  1775. end type
  1776. type gb_3 from w_publ_1ton_share_detail`gb_3 within w_outware_wfjg_th
  1777. end type
  1778. type ln_bar from w_publ_1ton_share_detail`ln_bar within w_outware_wfjg_th
  1779. end type
  1780. type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_outware_wfjg_th
  1781. end type
  1782. type r_bar from w_publ_1ton_share_detail`r_bar within w_outware_wfjg_th
  1783. end type
  1784. type ln_1 from w_publ_1ton_share_detail`ln_1 within w_outware_wfjg_th
  1785. end type
  1786. type ln_2 from w_publ_1ton_share_detail`ln_2 within w_outware_wfjg_th
  1787. end type
  1788. type st_2 from statictext within w_outware_wfjg_th
  1789. integer x = 1536
  1790. integer y = 204
  1791. integer width = 219
  1792. integer height = 48
  1793. integer textsize = -9
  1794. integer weight = 400
  1795. fontcharset fontcharset = gb2312charset!
  1796. fontpitch fontpitch = variable!
  1797. string facename = "宋体"
  1798. long textcolor = 33554432
  1799. long backcolor = 134217739
  1800. string text = "状 态"
  1801. boolean focusrectangle = false
  1802. end type
  1803. type st_3 from statictext within w_outware_wfjg_th
  1804. integer x = 795
  1805. integer y = 204
  1806. integer width = 219
  1807. integer height = 48
  1808. boolean bringtotop = true
  1809. integer textsize = -9
  1810. integer weight = 400
  1811. fontcharset fontcharset = gb2312charset!
  1812. fontpitch fontpitch = variable!
  1813. string facename = "宋体"
  1814. long textcolor = 33554432
  1815. long backcolor = 134217739
  1816. string text = "分 部"
  1817. boolean focusrectangle = false
  1818. end type
  1819. type ddlb_scid from uo_ddlb_scid within w_outware_wfjg_th
  1820. integer x = 978
  1821. integer y = 188
  1822. integer width = 549
  1823. integer height = 1120
  1824. boolean bringtotop = true
  1825. end type
  1826. event constructor;call super::constructor;cur_scid=this.uo_scid
  1827. end event
  1828. event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid
  1829. parent.triggerevent("retrieve_pageretr")
  1830. end event
  1831. type ddlb_status from uo_ddlb_status within w_outware_wfjg_th
  1832. integer x = 1719
  1833. integer y = 188
  1834. integer width = 402
  1835. integer taborder = 40
  1836. boolean bringtotop = true
  1837. end type
  1838. event selectionchanged;call super::selectionchanged;parent.triggerevent("retrieve_pageretr")
  1839. end event
  1840. event uof_getvalue;call super::uof_getvalue;cur_flag = this.uo_status
  1841. end event