w_reissue_spt.srw 42 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622
  1. $PBExportHeader$w_reissue_spt.srw
  2. forward
  3. global type w_reissue_spt from w_publ_1ton_share_detail
  4. end type
  5. type ddlb_scid from uo_ddlb_scid within w_reissue_spt
  6. end type
  7. type ddlb_status from dropdownlistbox within w_reissue_spt
  8. end type
  9. type st_3 from statictext within w_reissue_spt
  10. end type
  11. type st_2 from statictext within w_reissue_spt
  12. end type
  13. end forward
  14. global type w_reissue_spt from w_publ_1ton_share_detail
  15. string title = "供应商费用单"
  16. boolean maxbox = true
  17. windowstate windowstate = maximized!
  18. event insert_childrow ( )
  19. ddlb_scid ddlb_scid
  20. ddlb_status ddlb_status
  21. st_3 st_3
  22. st_2 st_2
  23. end type
  24. global w_reissue_spt w_reissue_spt
  25. type variables
  26. uo_reissue uo_ware
  27. Long cur_scid
  28. Long cur_scid_arr[]
  29. Long cur_flag = -1
  30. uo_ljfieb uo_fieb
  31. end variables
  32. forward prototypes
  33. public function integer wf_flagstatus_rf ()
  34. public function integer wf_refresh_curuc (long arg_scid, long arg_reissueid)
  35. public function integer wf_addmx (long arg_scid, long arg_outwareid, ref string arg_msg)
  36. public function integer wf_adduc (long arg_scid, long arg_outwareid, ref string arg_msg)
  37. 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)
  38. end prototypes
  39. event insert_childrow();Long li_row
  40. li_row = dw_child.InsertRow(0)
  41. dw_child.ScrollToRow(li_row)
  42. dw_child.SetColumn ('u_expenses_expensescode')
  43. end event
  44. public function integer wf_flagstatus_rf ();Long pagerert_row
  45. pagerert_row = dw_pageretr.GetRow()
  46. IF pagerert_row <= 0 THEN
  47. cb_auditing.Enabled = FALSE
  48. cb_auditing_cancel.Enabled = FALSE
  49. GOTO ext
  50. END IF
  51. IF dw_edit_mode THEN
  52. cb_auditing.Enabled = FALSE
  53. cb_auditing_cancel.Enabled = FALSE
  54. ELSE
  55. IF dw_pageretr.Object.flag[pagerert_row] = 0 THEN
  56. cb_auditing.Enabled = TRUE
  57. cb_auditing_cancel.Enabled = FALSE
  58. ELSEIF dw_pageretr.Object.flag[pagerert_row] = 1 THEN
  59. cb_auditing.Enabled = FALSE
  60. cb_auditing_cancel.Enabled = TRUE
  61. END IF
  62. END IF
  63. ext:
  64. RETURN 0
  65. end function
  66. public function integer wf_refresh_curuc (long arg_scid, long arg_reissueid);IF arg_reissueid <= 0 OR IsNull(arg_reissueid) THEN RETURN 0
  67. Long uc_row
  68. uc_row = dw_pageretr.GetRow()
  69. IF uc_row <= 0 THEN RETURN 0
  70. Long cusid
  71. DateTime reissuedate
  72. String dscrp
  73. String reissuecode
  74. DateTime opdate
  75. String operator
  76. Int flag
  77. DateTime auditingdate ,moddate
  78. String Auditingrep ,modemp
  79. String relcode
  80. Long relid,moneyid
  81. Long r_type
  82. string reissueemp,cusname,cuscode
  83. long ll_printnum
  84. long itemid
  85. string ls_itemcode,ls_itemname
  86. Decimal mrate
  87. SELECT u_reissue.reissuecode,
  88. u_reissue.cusid,
  89. u_reissue.reissuedate,
  90. u_reissue.relid,
  91. u_reissue.relcode,
  92. u_reissue.dscrp,
  93. u_reissue.opemp,
  94. u_reissue.opdate,
  95. u_reissue.modemp,
  96. u_reissue.moddate,
  97. u_reissue.auditingrep,
  98. u_reissue.auditingdate,
  99. u_reissue.flag ,
  100. u_reissue.type,
  101. u_reissue.moneyid,
  102. u_reissue.mrate,
  103. u_reissue.reissueemp,
  104. u_reissue.printnum ,
  105. u_spt.name,
  106. u_spt.sptcode,
  107. u_reissue.itemid,
  108. u_itemdef.itemcode,
  109. u_itemdef.itemname
  110. INTO :reissuecode,
  111. :cusid,
  112. :reissuedate,
  113. :relid,
  114. :relcode,
  115. :dscrp,
  116. :operator,
  117. :opdate,
  118. :modemp,
  119. :moddate,
  120. :Auditingrep,
  121. :Auditingdate,
  122. :flag,
  123. :r_type,
  124. :moneyid,
  125. :mrate,
  126. :reissueemp,
  127. :ll_printnum,
  128. :cusname,
  129. :cuscode,
  130. :itemid,
  131. :ls_itemcode,
  132. :ls_itemname
  133. FROM u_reissue left outer join u_spt
  134. on u_reissue.cusid = u_spt.sptid LEFT OUTER JOIN
  135. u_itemdef ON u_reissue.itemid = u_itemdef.itemid
  136. WHERE ( u_reissue.reissueid = :arg_reissueid ) AND
  137. ( u_reissue.scid = :arg_scid);
  138. IF sqlca.SQLCode <> 0 THEN
  139. MessageBox('提示',"查询操作失败(错误单据唯一码)", Information!, OK! )
  140. RETURN 0
  141. END IF
  142. dw_pageretr.Object.scid[uc_row] = arg_scid
  143. dw_pageretr.Object.reissueid[uc_row] = arg_reissueid
  144. dw_pageretr.Object.reissuedate[uc_row] = reissuedate
  145. dw_pageretr.Object.dscrp[uc_row] = dscrp
  146. dw_pageretr.Object.reissuecode[uc_row] = reissuecode
  147. dw_pageretr.Object.opdate[uc_row] = opdate
  148. dw_pageretr.Object.opemp[uc_row] = operator
  149. dw_pageretr.Object.flag[uc_row] = flag
  150. dw_pageretr.Object.relid[uc_row] = relid
  151. dw_pageretr.Object.relcode[uc_row] = relcode
  152. dw_pageretr.Object.auditingdate[uc_row] = auditingdate
  153. dw_pageretr.Object.Auditingrep[uc_row] = Auditingrep
  154. dw_pageretr.Object.cusid[uc_row] = cusid
  155. dw_pageretr.Object.moddate[uc_row] = moddate
  156. dw_pageretr.Object.modemp[uc_row] = modemp
  157. dw_pageretr.Object.TYPE[uc_row] = r_type
  158. dw_pageretr.Object.moneyid[uc_row] = moneyid
  159. dw_pageretr.Object.reissueemp[uc_row] = reissueemp
  160. dw_pageretr.Object.printnum[uc_row] = printnum
  161. dw_pageretr.Object.u_spt_sptcode[uc_row] = cuscode
  162. dw_pageretr.Object.u_spt_name[uc_row] = cusname
  163. dw_pageretr.Object.u_itemdef_itemcode[uc_row] = ls_itemcode
  164. dw_pageretr.Object.u_itemdef_itemname[uc_row] = ls_itemname
  165. dw_pageretr.Object.u_reissue_itemid[uc_row] = itemid
  166. dw_pageretr.Object.u_reissue_mrate[uc_row] = mrate
  167. dw_uc.Reset()
  168. dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
  169. dw_uc.ResetUpdate()
  170. dw_uc.SetRedraw(TRUE)
  171. wf_flagstatus_rf()
  172. RETURN 1
  173. end function
  174. 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)
  175. //查询合同物料资料
  176. //把物料资料写入数组
  177. long rslt=1
  178. long ls_mtrlid
  179. string ls_mtrlcode,ls_mtrlname
  180. dec ls_qty
  181. Long child_row
  182. child_row = dw_child.GetRow()
  183. //查询合同物料
  184. DECLARE pf_cur CURSOR FOR
  185. SELECT u_mtrldef.mtrlid AS mtrlid, u_mtrldef.mtrlcode AS mtrlcode,
  186. u_mtrldef.mtrlname AS mtrlname,u_outwaremx.qty
  187. FROM u_outwaremx INNER JOIN
  188. u_mtrldef ON u_outwaremx.mtrlid = u_mtrldef.mtrlid
  189. WHERE ( u_outwaremx.outwareid = :arg_outwareid )
  190. and ( u_outwaremx.scid = :arg_scid );
  191. open pf_cur;
  192. fetch pf_cur into :ls_mtrlid,:ls_mtrlcode,:ls_mtrlname,:ls_qty;
  193. do while sqlca.sqlcode=0
  194. IF dw_child.GetRow() > 0 THEN
  195. IF dw_child.Object.mtrlid[child_row] <> 0 THEN
  196. child_row = dw_child.InsertRow (0)
  197. ELSE
  198. child_row = dw_child.GetRow()
  199. END IF
  200. ELSE
  201. child_row = dw_child.InsertRow (0)
  202. END IF
  203. dw_child.object.mtrlid[child_row]=ls_mtrlid
  204. dw_child.object.mtrlcode[child_row]=ls_mtrlcode
  205. dw_child.object.mtrlname[child_row]=ls_mtrlname
  206. dw_child.object.qty[child_row]=ls_qty
  207. fetch pf_cur into :ls_mtrlid,:ls_mtrlcode,:ls_mtrlname,:ls_qty;
  208. loop
  209. close pf_cur;
  210. dw_child.accepttext()
  211. return rslt
  212. end function
  213. 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)
  214. //查询合同物料资料
  215. //把物料资料写入数组
  216. long rslt=1
  217. long ls_cusid
  218. string ls_cuscode,ls_cusname,ls_relcode
  219. long li_row
  220. SELECT u_cust.cusid, u_cust.cuscode, u_cust.name,u_outware.outwarecode
  221. into :ls_cusid,:ls_cuscode,:ls_cusname,:ls_relcode
  222. FROM u_outware INNER JOIN
  223. u_cust ON u_outware.cusid = u_cust.cusid
  224. where u_outware.outwareid=:arg_outwareid and
  225. u_outware.scid=:arg_scid using sqlca;
  226. if sqlca.sqlcode<>0 then
  227. rslt=0
  228. arg_msg="查询操作失败,销售单客户"
  229. goto ext
  230. end if
  231. dw_uc.object.cusid[dw_uc.getrow()]=ls_cusid
  232. dw_uc.object.cuscode[dw_uc.getrow()]=ls_cuscode
  233. dw_uc.object.cusname[dw_uc.getrow()]=ls_cusname
  234. dw_uc.object.relid[dw_uc.getrow()]=arg_outwareid
  235. dw_uc.object.relcode[dw_uc.getrow()]=ls_relcode
  236. dw_uc.accepttext()
  237. wf_addmx(arg_scid,arg_outwareid,arg_msg)
  238. ext:
  239. return rslt
  240. end function
  241. 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);//==============================================================================
  242. // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata()
  243. //------------------------------------------------------------------------------
  244. // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可
  245. //------------------------------------------------------------------------------
  246. Long LS_ROW,ll_id,i,ll_scid
  247. LS_ROW = dw_pageretr.GetRow()
  248. IF LS_ROW <= 0 THEN
  249. arg_msg = '没有目标单据!'
  250. RETURN 0
  251. END IF
  252. //修改点:获取 指定retriev参数
  253. ll_id = dw_pageretr.Object.#1[LS_ROW]
  254. ll_scid = dw_pageretr.Object.scid[LS_ROW]
  255. ////可选设置///
  256. arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码
  257. if sys_option_xls_ifuse_passwd = 1 then arg_obj_st.uo_const.pwd = trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码
  258. boolean xls_locked
  259. xls_locked = not (sys_option_xls_lock = 1)
  260. /// Excel 的可选设置
  261. if arg_obj_st.of_setoption(arg_ationid, xls_locked,true,arg_msg) <> 1 then
  262. return 0
  263. end if
  264. for i = 1 to arg_str_billlist.count
  265. ////可选操作///
  266. arg_str_billlist.bill[i].ds_data = create datastore //
  267. arg_str_billlist.bill[i].ds_data.dataobject = arg_str_billlist.bill[i].datawindow //
  268. arg_str_billlist.bill[i].ds_data.settransobject(sqlca)
  269. //修改点:注意retrieve 参数与上文对应
  270. arg_str_billlist.bill[i].ds_data.retrieve(ll_scid,ll_id)
  271. next
  272. return 1
  273. end function
  274. on w_reissue_spt.create
  275. int iCurrent
  276. call super::create
  277. this.ddlb_scid=create ddlb_scid
  278. this.ddlb_status=create ddlb_status
  279. this.st_3=create st_3
  280. this.st_2=create st_2
  281. iCurrent=UpperBound(this.Control)
  282. this.Control[iCurrent+1]=this.ddlb_scid
  283. this.Control[iCurrent+2]=this.ddlb_status
  284. this.Control[iCurrent+3]=this.st_3
  285. this.Control[iCurrent+4]=this.st_2
  286. end on
  287. on w_reissue_spt.destroy
  288. call super::destroy
  289. destroy(this.ddlb_scid)
  290. destroy(this.ddlb_status)
  291. destroy(this.st_3)
  292. destroy(this.st_2)
  293. end on
  294. event retrieve_pageretr;Boolean cb_nextpage_enabled,cb_retrieveall_enabled
  295. Boolean cb_func_enabled,cb_retrieve_enabled
  296. cb_nextpage_enabled = cb_nextpage.Enabled
  297. cb_retrieveall_enabled = cb_retrieveall.Enabled
  298. cb_func_enabled = cb_func.Enabled
  299. cb_nextpage.Enabled = FALSE
  300. cb_retrieveall.Enabled = FALSE
  301. cb_func.Enabled = FALSE
  302. dw_uc.Retrieve()
  303. dw_pageretr.Retrieve(cur_scid_arr,cur_flag)
  304. IF dw_pageretr.RowCount() > 0 THEN
  305. dw_pageretr.SetRow(1)
  306. dw_pageretr.triggerevent(rowfocuschanged!)
  307. end if
  308. wf_flagstatus_rf()
  309. THIS.TriggerEvent('retrieve_childdw')
  310. cb_nextpage.Enabled = cb_nextpage_enabled
  311. cb_retrieveall.Enabled = cb_retrieveall_enabled
  312. cb_func.Enabled = cb_func_enabled
  313. end event
  314. event ue_usual_query_filt;call super::ue_usual_query_filt;String obj_expr = ''
  315. IF Trim(sle_usual_query.Text) <> '' THEN
  316. IF Pos(Trim(sle_usual_query.Text),'%') = 0 THEN
  317. obj_expr = obj_expr+'( reissuecode LIKE "%'+Trim(sle_usual_query.Text)+'%" )'
  318. ELSE
  319. obj_expr = obj_expr+'( reissuecode LIKE "'+Trim(sle_usual_query.Text)+'" )'
  320. END IF
  321. END IF
  322. dw_pageretr.SetFilter(obj_expr)
  323. dw_pageretr.SetRedraw(False)
  324. dw_pageretr.Filter()
  325. IF dw_pageretr.RowCount() >= 1 THEN
  326. dw_pageretr.SelectRow(0,False)
  327. dw_pageretr.SetRow(1)
  328. dw_pageretr.SelectRow(1,True)
  329. END IF
  330. dw_pageretr.TriggerEvent(RowFocusChanged!)
  331. dw_pageretr.SetRedraw(True)
  332. end event
  333. event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
  334. ls_newselect=lower(ori_oldselect)
  335. if trim(sle_usual_query.text)<>'' then
  336. if pos(trim(sle_usual_query.text),'%')=0 then
  337. ls_querystrpart="(u_reissue.reissuecode like '%"+trim(sle_usual_query.text)+"%')"
  338. else
  339. ls_querystrpart="(u_reissue.reissuecode like '"+trim(sle_usual_query.text)+"')"
  340. end if
  341. if Pos(ls_newselect," where ") <> 0 then
  342. ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
  343. else
  344. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  345. end if
  346. end if
  347. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  348. this.triggerevent('retrieve_pageretr')
  349. end event
  350. event open;call super::open;uc_column_int = 10 //uc dw前7列可以编辑
  351. child_column_int = 5 //子dw前8列可以编辑
  352. uo_ware = CREATE uo_reissue
  353. uo_ware.commit_transaction = sqlca
  354. uo_fieb = create uo_ljfieb
  355. uo_fieb.commit_transaction = sys_email_sqlca
  356. IF s_tran.d_long = 1 THEN
  357. cur_scid = s_tran.c_long
  358. Int li_item
  359. li_item = ddlb_scid.FindItem(s_tran.d_string,0)
  360. IF li_item > 0 THEN
  361. ddlb_scid.SelectItem(li_item)
  362. END IF
  363. String arg_msg
  364. cb_add.TriggerEvent(Clicked!)
  365. IF dw_uc.GetRow() > 0 THEN
  366. IF s_tran.e_long > 0 THEN
  367. String ls_sptcode,ls_sptname
  368. SELECT sptcode,name
  369. INTO :ls_sptcode,:ls_sptname
  370. FROM u_spt
  371. Where sptid = :s_tran.e_long;
  372. IF sqlca.SQLCode = 0 THEN
  373. dw_uc.Object.cusid[dw_uc.GetRow()] = s_tran.e_long
  374. dw_uc.Object.u_spt_name[dw_uc.GetRow()] = ls_sptname
  375. dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()] = ls_sptcode
  376. END IF
  377. END IF
  378. END IF
  379. END IF
  380. end event
  381. event refresh_interface;call super::refresh_interface;ddlb_status.Enabled = NOT dw_edit_mode
  382. ddlb_scid.Enabled = NOT dw_edit_mode
  383. end event
  384. event close;call super::close;destroy uo_ware
  385. end event
  386. event ue_f8;call super::ue_f8;//用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用
  387. IF NOT dw_edit_mode THEN RETURN
  388. Long child_row
  389. child_row = dw_child.GetRow()
  390. IF NOT IsValid(w_expensesdef_spt) THEN
  391. s_edit_index_tran s_ch_tran //传递参数使用
  392. s_ch_tran.if_retrieve_all = FALSE //是否一次RETRIEVE所有行
  393. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  394. s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
  395. s_ch_tran.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  396. s_ch_tran.if_select_all = TRUE
  397. s_ch_tran.b_long = -1
  398. Long chc = 1,ls_j
  399. dw_child.AcceptText()
  400. IF dw_child.GetRow() > 0 THEN s_ch_tran.arg_string_code = Trim(dw_child.Object.u_expenses_expensescode[dw_child.GetRow()])
  401. OpenWithParm(w_expensesdef_spt,s_ch_tran)
  402. s_mtrldef_array S_INSCUST
  403. S_INSCUST = Message.PowerObjectParm
  404. FOR ls_j = 1 TO UpperBound(S_INSCUST.mtrlid)
  405. IF S_INSCUST.mtrlid[ls_j] > 0 THEN
  406. IF dw_child.GetRow() > 0 THEN
  407. IF dw_child.Object.mtrlid[child_row] <> 0 THEN
  408. child_row = dw_child.InsertRow (0)
  409. ELSE
  410. child_row = dw_child.GetRow()
  411. END IF
  412. ELSE
  413. child_row = dw_child.InsertRow (0)
  414. END IF
  415. dw_child.Object.mtrlid[child_row] = S_INSCUST.mtrlid[ls_j]
  416. dw_child.Object.u_expenses_expensescode[child_row] = S_INSCUST.mtrlcode[ls_j]
  417. dw_child.Object.expensesname[child_row] = S_INSCUST.mtrlname[ls_j]
  418. dw_child.Object.qty[child_row] = 1
  419. END IF
  420. NEXT
  421. dw_child.SetFocus()
  422. END IF
  423. end event
  424. event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid,uc_scid
  425. row = dw_pageretr.GetRow()
  426. IF row > 0 THEN
  427. uc_relid = dw_pageretr.Object.reissueid[row]
  428. uc_scid = dw_pageretr.Object.scid[row]
  429. dw_child.SetRedraw (FALSE)
  430. dw_child.Retrieve(uc_scid,uc_relid)
  431. dw_child.SetRedraw (TRUE)
  432. IF dw_child.RowCount() > 0 THEN
  433. dw_child.SelectRow(0,FALSE)
  434. dw_child.SelectRow(1,TRUE)
  435. dw_child.SetRow(1)
  436. END IF
  437. ELSE
  438. dw_child.Reset()
  439. END IF
  440. end event
  441. event ue_f9;call super::ue_f9;IF NOT dw_edit_mode THEN RETURN
  442. Long child_row
  443. child_row = dw_uc.GetRow()
  444. IF child_row = 0 THEN
  445. MessageBox('提示','请选定补件单!', Information!, OK! )
  446. RETURN
  447. END IF
  448. IF NOT IsValid(W_spt_edit) THEN
  449. s_edit_index_tran s_ch_tran //传递参数使用
  450. s_ch_tran.if_retrieve_all = FALSE //是否一次RETRIEVE所有行
  451. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  452. s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
  453. //查询列(物料编码)部分内容,用于初步筛选
  454. s_ch_tran.arg_string_code = Upper(Trim(dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()]))
  455. THIS.Enabled = FALSE
  456. OpenWithParm(W_spt_edit,s_ch_tran) //调用
  457. THIS.Enabled = TRUE
  458. S_spt S_INSCUST
  459. S_INSCUST = Message.PowerObjectParm
  460. IF S_INSCUST.sptid > 0 THEN //正常返回值则可以取以下值以下值
  461. dw_uc.SetRedraw(FALSE)
  462. dw_uc.Object.cusid[child_row] = S_INSCUST.sptid
  463. dw_uc.Object.u_spt_sptcode[child_row] = S_INSCUST.sptcode
  464. dw_uc.Object.u_spt_name[child_row] = S_INSCUST.Name
  465. // IF S_INSCUST.banktypeid > 0 THEN
  466. // dw_uc.Object.relid[child_row] = S_INSCUST.banktypeid
  467. // END IF
  468. dw_uc.Object.relid[child_row] = S_INSCUST.dftbanktypeid
  469. dw_uc.Object.moneyid[child_row] = S_INSCUST.dftmoneyid
  470. dw_uc.SetRedraw(TRUE)
  471. dw_uc.SetFocus()
  472. dw_uc.SetColumn("moneyid")
  473. END IF
  474. END IF
  475. end event
  476. event ue_viewprint;call super::ue_viewprint;
  477. IF NOT f_power_ind(1032) THEN
  478. MessageBox('提示','你没有使用权限!', Information!, OK! )
  479. RETURN
  480. END IF
  481. Long LS_ROW
  482. LS_ROW = dw_pageretr.GetRow()
  483. IF LS_ROW <= 0 THEN
  484. MessageBox('提示','没有打印目标单据!', Information!, OK! )
  485. RETURN
  486. END IF
  487. S_print_MSG LS_PRMSG
  488. IF ls_newname <> '' THEN
  489. IF li_auditprint = 1 THEN
  490. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  491. MessageBox('提示','目标单据还未审核,不能打印!', Information!, OK! )
  492. RETURN
  493. END IF
  494. END IF
  495. LS_PRMSG.obj_dwNAME = ls_newname
  496. ELSE
  497. IF NOT f_power_ind(1032) THEN
  498. MessageBox('提示','你没有使用权限!', Information!, OK! )
  499. RETURN
  500. END IF
  501. LS_PRMSG.obj_dwNAME = 'dw_rp_reissue_spt_print'
  502. END IF
  503. IF LS_PRMSG.obj_dwNAME = '' THEN RETURN
  504. LS_PRMSG.printrow = ll_prownum
  505. LS_PRMSG.TAG_TEXT = '供应商费用单'
  506. LS_PRMSG.FILTER_STRING = ''
  507. LS_PRMSG.retr_pram_falg = 15
  508. LS_PRMSG.PAGECH_FLAG = 0
  509. LS_PRMSG.retr_scid = dw_pageretr.Object.scid[LS_ROW]
  510. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.reissueid[LS_ROW]
  511. LS_PRMSG.rowcnt = dw_child.RowCount()
  512. OpenWithParm(w_publ_preview,LS_PRMSG)
  513. //更新打印次数
  514. String arg_msg
  515. printnum = Message.DoubleParm
  516. Long ll_scid
  517. String ls_code
  518. ll_scid = dw_pageretr.Object.scid[dw_pageretr.GetRow()]
  519. ls_code = dw_pageretr.Object.reissuecode[dw_pageretr.GetRow()]
  520. //f_update_printnum(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE)
  521. end event
  522. event ue_print;call super::ue_print;//--直接打印
  523. IF NOT f_power_ind(1032) THEN
  524. MessageBox('提示','你没有使用权限!', Information!, OK! )
  525. RETURN
  526. END IF
  527. uo_print_preview uo_print
  528. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  529. S_print_MSG LS_PRMSG
  530. Long LS_ROW
  531. LS_ROW = dw_pageretr.GetRow()
  532. IF LS_ROW <= 0 THEN
  533. MessageBox('提示','没有打印目标单据!', Information!, OK! )
  534. RETURN
  535. END IF
  536. IF ls_newname <> '' THEN
  537. IF li_auditprint = 1 THEN
  538. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  539. MessageBox('提示','目标单据还未审核,不能打印!', Information!, OK! )
  540. RETURN
  541. END IF
  542. END IF
  543. LS_PRMSG.obj_dwNAME = ls_newname
  544. ELSE
  545. LS_PRMSG.obj_dwNAME = 'dw_rp_reissue_spt_print'
  546. END IF
  547. if LS_PRMSG.obj_dwNAME = '' then return
  548. LS_PRMSG.retr_pram_falg = 15
  549. LS_PRMSG.printrow = ll_prownum
  550. LS_PRMSG.TAG_TEXT = '供应商费用单'
  551. LS_PRMSG.FILTER_STRING = ''
  552. LS_PRMSG.PAGECH_FLAG = 0
  553. LS_PRMSG.retr_scid = dw_pageretr.Object.scid[LS_ROW]
  554. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.reissueid[LS_ROW]
  555. LS_PRMSG.rowcnt = dw_child.RowCount()
  556. uo_print.FACT_PRINT_MSG = LS_PRMSG
  557. String arg_msg
  558. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  559. MessageBox("提示",arg_msg, Information!, OK! )
  560. RETURN
  561. END IF
  562. uo_print.ds_print()
  563. //**更新打印次数
  564. printnum = Message.DoubleParm
  565. f_update_printnum('u_reissue',printnum,dw_pageretr.Object.scid[dw_pageretr.GetRow()],dw_pageretr.Object.reissueid[dw_pageretr.GetRow()],'','',arg_msg,TRUE)
  566. end event
  567. event ue_addzy;call super::ue_addzy;if not f_power_ind(1033) then
  568. messagebox('提示','你没有使用权限!')
  569. return
  570. end if
  571. IF dw_edit_mode THEN RETURN
  572. String arg_msg = ''
  573. String ls_str
  574. Long uc_row
  575. s_inputbox s_sreu
  576. uc_row = dw_pageretr.GetRow()
  577. IF uc_row <= 0 THEN
  578. MessageBox('系统提示','请选定当前目标单据!', Information!, OK! )
  579. RETURN
  580. END IF
  581. s_sreu.Title = '请输入要补充到备注的内容'
  582. s_sreu.old_text = ''
  583. OpenWithParm(w_inputbox,s_sreu)
  584. ls_str = Message.StringParm
  585. IF Trim(ls_str) = '' OR IsNull(ls_str) THEN RETURN
  586. IF uo_ware.add_dscrp(dw_pageretr.object.scid[uc_row],dw_pageretr.Object.reissueid[uc_row],ls_str,arg_msg) = 0 THEN
  587. MessageBox('错误',arg_msg, StopSign!, OK! )
  588. RETURN
  589. ELSE
  590. MessageBox('提示','添加备注操作成功!', Information!, OK! )
  591. wf_refresh_curuc(dw_pageretr.object.scid[uc_row],dw_pageretr.Object.reissueid[uc_row])
  592. END IF
  593. end event
  594. event ue_rpt_print;call super::ue_rpt_print;Long row,uc_relid,ll_scid
  595. row = dw_pageretr.GetRow()
  596. IF row = 0 THEN RETURN
  597. uo_rpt_print_preview uo_print
  598. S_rpt_print_MSG LS_PRMSG
  599. IF dw_pageretr.RowCount() = 0 THEN
  600. MessageBox('提示','没有可打印的单据!')
  601. RETURN
  602. END IF
  603. IF ls_rpname = '' THEN RETURN
  604. IF li_auditprint = 1 THEN
  605. IF dw_pageretr.Object.flag[row] = 0 THEN
  606. MessageBox('提示','目标单据还未审核,不能打印!', Information!, OK! )
  607. RETURN
  608. END IF
  609. END IF
  610. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  611. LS_PRMSG.retr_pram_falg = 15
  612. LS_PRMSG.TAG_TEXT = THIS.Title
  613. LS_PRMSG.rpname = ls_rpname
  614. LS_PRMSG.FILTER_STRING = ''
  615. LS_PRMSG.PAGECH_FLAG = 0
  616. LS_PRMSG.rpid = ls_msgprintid_rpt
  617. LS_PRMSG.retr_scid = dw_pageretr.Object.scid[row]
  618. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.reissueid[row]
  619. LS_PRMSG.rowcnt = dw_child.RowCount()
  620. uo_print.FACT_PRINT_MSG = LS_PRMSG
  621. String arg_msg
  622. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  623. MessageBox("提示",arg_msg, Information!, OK! )
  624. RETURN
  625. END IF
  626. uo_print.ds_print()
  627. //**更新打印次数
  628. printnum = Message.DoubleParm
  629. f_update_printnum('u_reissue',printnum,dw_pageretr.Object.scid[dw_pageretr.GetRow()],dw_pageretr.Object.reissueid[dw_pageretr.GetRow()],'','',arg_msg,TRUE)
  630. end event
  631. event ue_rpt_viewprint;call super::ue_rpt_viewprint;
  632. Long row,uc_relid,ll_scid
  633. row = dw_pageretr.GetRow()
  634. IF row = 0 THEN RETURN
  635. IF ls_rpname = '' THEN RETURN
  636. IF li_auditprint = 1 THEN
  637. IF dw_pageretr.Object.flag[row] = 0 THEN
  638. MessageBox('NO','目标单据还未审核,不能打印!')
  639. RETURN
  640. END IF
  641. END IF
  642. s_rpt_print_msg s_print
  643. s_print.retr_pram_falg = 15
  644. s_print.rpid = ls_msgprintid_rpt
  645. s_print.retr_flag = TRUE
  646. s_print.tag_text = THIS.Title
  647. s_print.rpname = ls_rpname
  648. s_print.retr_scid = dw_pageretr.Object.scid[row]
  649. s_print.retr_pramnmb = dw_pageretr.Object.reissueid[row]
  650. s_print.rowcnt = dw_child.RowCount()
  651. OpenWithParm(w_rpt_preview,s_print)
  652. //**更新打印次数
  653. string arg_msg
  654. printnum = Message.DoubleParm
  655. f_update_printnum('u_reissue',printnum,dw_pageretr.Object.scid[dw_pageretr.GetRow()],dw_pageretr.Object.reissueid[dw_pageretr.GetRow()],'','',arg_msg,TRUE)
  656. end event
  657. event ue_f7;call super::ue_f7;//用于选择明细内容,被F9[默认]
  658. IF NOT dw_edit_mode THEN RETURN
  659. Long uc_row
  660. String ls_itemcode
  661. uc_row = dw_uc.GetRow()
  662. ls_itemcode = Trim(dw_uc.Object.u_itemdef_itemcode[uc_row])
  663. IF uc_row = 0 THEN
  664. MessageBox('提示','请选定单据!', Information!, OK! )
  665. RETURN
  666. END IF
  667. dw_uc.AcceptText()
  668. IF NOT IsValid(w_itemdef_ch) THEN
  669. s_edit_index_tran s_ch_tran //传递参数使用
  670. s_ch_tran.if_retrieve_all = local_retrieve_all //是否一次retrieve所有行
  671. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  672. s_ch_tran.arg_pkid = 0 //目标定位pkid (备用)
  673. s_ch_tran.arg_string_code = ls_itemcode //查询列(物料编码)部分内容,用于初步筛选
  674. OpenWithParm(w_itemdef_ch,s_ch_tran) //调用
  675. s_itemdef s_inscust
  676. s_inscust = Message.PowerObjectParm //接受返回结构
  677. IF s_inscust.itemid > 0 THEN //正常返回值则可以取以下值
  678. dw_uc.SetRedraw(FALSE)
  679. dw_uc.Object.u_reissue_itemid[uc_row] = s_inscust.itemid
  680. dw_uc.Object.u_itemdef_itemcode[uc_row] = s_inscust.itemcode
  681. dw_uc.Object.u_itemdef_itemname[uc_row] = s_inscust.itemname
  682. dw_uc.SetColumn("dscrp")
  683. dw_uc.SetRedraw(TRUE)
  684. END IF
  685. END IF
  686. end event
  687. event ue_send_ljfieb;IF dw_edit_mode THEN RETURN
  688. IF sys_email_sqlca.DBHandle() = 0 THEN
  689. MessageBox('Error','电子商务数据库连接失败,请检查')
  690. RETURN
  691. END IF
  692. IF MessageBox('询问','是否确认要发送单据给供应商?',question!,yesno!) = 2 THEN RETURN
  693. Long ll_scid,ll_reissueid
  694. String ls_taskcode
  695. Long ll_row
  696. Int li_ifecomm
  697. String arg_summary,arg_postscript,arg_remark
  698. String arg_msg
  699. ll_row = dw_pageretr.GetRow()
  700. IF ll_row <= 0 THEN
  701. MessageBox('系统提示','请选择要发送的单据')
  702. RETURN
  703. END IF
  704. ll_scid = dw_pageretr.Object.scid[ll_row]
  705. ll_reissueid = dw_pageretr.Object.reissueid[ll_row]
  706. ls_taskcode = dw_pageretr.Object.reissuecode[ll_row]
  707. SELECT u_spt.ifecomm
  708. INTO :li_ifecomm
  709. FROM u_reissue LEFT OUTER JOIN
  710. u_spt ON u_reissue.cusid = u_spt.sptid
  711. WHERE u_reissue.scid = :ll_scid
  712. And u_reissue.reissueid = :ll_reissueid Using sqlca;
  713. IF sqlca.SQLCode <> 0 THEN
  714. MessageBox('Error','查询费用单相关供应商通信信息失败,请检查设置,'+sqlca.SQLErrText)
  715. RETURN
  716. END IF
  717. IF li_ifecomm = 0 THEN
  718. MessageBox('系统提示','供应商没有使用电子商务,不能发送单据')
  719. RETURN
  720. END IF
  721. s_packet_ljfieb s_pack,s_return
  722. s_pack.summary = '发送供应商费用单:'+ls_taskcode
  723. OpenWithParm(w_dscrp_edit_ljfieb,s_pack)
  724. s_return = Message.PowerObjectParm
  725. IF s_return.returnflag <> 1 THEN RETURN
  726. arg_summary = s_return.summary
  727. arg_postscript = s_return.postscript
  728. arg_remark = s_return.remark
  729. IF uo_fieb.send_reissue_spt(ll_scid,ll_reissueid,arg_summary,arg_postscript,arg_remark,arg_msg,True) = 0 THEN
  730. MessageBox('Erorr',arg_msg)
  731. RETURN
  732. END IF
  733. UPDATE u_reissue
  734. SET senduser = :publ_operator,
  735. sendtime = getdate(),
  736. sendcnt = sendcnt + 1
  737. WHERE reissueid = :ll_reissueid
  738. And scid = :ll_scid Using sqlca;
  739. IF sqlca.SQLCode <> 0 THEN
  740. ROLLBACK Using sqlca;
  741. MessageBox('Error','更新发送次数失败,'+sqlca.SQLErrText)
  742. RETURN
  743. ELSE
  744. COMMIT Using sqlca;
  745. END IF
  746. wf_refresh_curuc(ll_scid,ll_reissueid)
  747. MessageBox('系统提示','提交成功!')
  748. end event
  749. event ue_jdview_ljfieb;long ll_row
  750. ll_row = dw_pageretr.getrow()
  751. if ll_row <= 0 then return
  752. string ls_taskcode
  753. ls_taskcode = dw_pageretr.object.reissuecode[ll_row]
  754. openwithparm(w_ljfieb_buytask_hisview,ls_taskcode)
  755. end event
  756. type cb_func from w_publ_1ton_share_detail`cb_func within w_reissue_spt
  757. end type
  758. type cb_exit from w_publ_1ton_share_detail`cb_exit within w_reissue_spt
  759. integer x = 2514
  760. integer width = 146
  761. end type
  762. type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_reissue_spt
  763. integer x = 192
  764. integer width = 549
  765. end type
  766. type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_reissue_spt
  767. integer x = 2962
  768. end type
  769. type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_reissue_spt
  770. integer x = 2661
  771. end type
  772. type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_reissue_spt
  773. integer x = 1710
  774. integer width = 1829
  775. integer height = 1124
  776. string dataobject = "dw_reissue_index_spt"
  777. end type
  778. event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_flagstatus_rf()
  779. end event
  780. type st_1 from w_publ_1ton_share_detail`st_1 within w_reissue_spt
  781. integer x = 18
  782. end type
  783. type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_reissue_spt
  784. integer x = 3113
  785. end type
  786. type dw_uc from w_publ_1ton_share_detail`dw_uc within w_reissue_spt
  787. integer width = 1710
  788. integer height = 1124
  789. string dataobject = "dw_reissue_edit_spt"
  790. end type
  791. event dw_uc::dwnkey;PARENT.TriggerEvent('user_key')
  792. IF Key = KeyDownArrow! THEN RETURN 1
  793. IF dw_edit_mode THEN
  794. IF dw_uc.GetColumnName ( ) = 'dscrp' AND Key = KeyEnter! THEN
  795. dw_child.SetFocus()
  796. dw_child.ScrollToRow(1)
  797. dw_child.SetColumn ('u_expenses_expensescode')
  798. RETURN 1
  799. ELSEIF dw_uc.GetColumnName ( ) = 'u_spt_sptcode' AND Key = KeyEnter! THEN
  800. String ls_code
  801. dw_uc.AcceptText()
  802. ls_code = Trim(dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()])
  803. s_spt arg_s_spt
  804. IF f_find_spt(ls_code,arg_s_spt) = 0 THEN
  805. PARENT.TriggerEvent('ue_f9')
  806. RETURN 1
  807. ELSE
  808. dw_uc.SetRedraw(FALSE)
  809. dw_uc.Object.cusid[dw_uc.GetRow()] = arg_s_spt.sptid
  810. dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()] = arg_s_spt.sptcode
  811. dw_uc.Object.u_spt_name[dw_uc.GetRow()] = arg_s_spt.Name
  812. dw_uc.setfocus()
  813. dw_uc.SetRedraw(TRUE)
  814. dw_uc.SetColumn("moneyid")
  815. RETURN 1
  816. END IF
  817. ELSEIF dw_uc.GetColumnName ( ) = 'u_itemdef_itemcode' AND Key = KeyEnter! THEN
  818. String ls_itemcode,ls_itemname
  819. Long ls_itemid
  820. dw_uc.AcceptText()
  821. ls_itemcode = Upper(Trim(dw_uc.Object.u_itemdef_itemcode[dw_uc.GetRow()]))
  822. SELECT
  823. u_itemdef.itemid,
  824. u_itemdef.itemname
  825. INTO
  826. :ls_itemid,
  827. :ls_itemname
  828. FROM u_itemdef
  829. Where ( u_itemdef.itemcode = :ls_itemcode );
  830. IF sqlca.SQLCode <> 0 THEN
  831. PARENT.TriggerEvent('ue_f7')
  832. RETURN 1
  833. ELSE
  834. dw_uc.SetRedraw(FALSE)
  835. dw_uc.Object.u_reissue_itemid[dw_uc.GetRow()] = ls_itemid
  836. dw_uc.Object.u_itemdef_itemname[dw_uc.GetRow()] = ls_itemname
  837. dw_uc.SetRedraw(TRUE)
  838. dw_uc.SetColumn("dscrp")
  839. RETURN 1
  840. END IF
  841. ELSE
  842. IF Key = KeyEnter! THEN //
  843. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  844. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  845. RETURN 1
  846. END IF
  847. END IF
  848. END IF
  849. end event
  850. event dw_uc::buttonclicked;call super::buttonclicked;IF NOT dw_edit_mode THEN RETURN
  851. IF row <= 0 THEN RETURN
  852. IF dwo.Name = 'b_cus' THEN
  853. PARENT.TriggerEvent('ue_f9')
  854. END IF
  855. end event
  856. event dw_uc::doubleclicked;IF dw_edit_mode AND row > 0 THEN
  857. IF dwo.Name = 'u_itemdef_itemcode' OR dwo.Name = 'u_itemdef_itemname' THEN
  858. PARENT.TriggerEvent('ue_f7')
  859. ELSE
  860. PARENT.TriggerEvent('ue_f9')
  861. END IF
  862. END IF
  863. end event
  864. event dw_uc::itemchanged;call super::itemchanged;IF Not dw_edit_mode THEN RETURN
  865. This.AcceptText()
  866. IF This.GetRow() <= 0 THEN RETURN
  867. IF dwo.Name = 'moneyid' THEN
  868. Long ll_moneyid
  869. ll_moneyid = This.Object.moneyid[This.GetRow()]
  870. This.SetRedraw(False)
  871. This.Object.u_reissue_mrate[This.GetRow()] = f_get_mrate(ll_moneyid)
  872. This.SetRedraw(True)
  873. END IF
  874. end event
  875. type gb_2 from w_publ_1ton_share_detail`gb_2 within w_reissue_spt
  876. integer x = 585
  877. integer y = 456
  878. integer width = 293
  879. integer height = 156
  880. end type
  881. type dw_child from w_publ_1ton_share_detail`dw_child within w_reissue_spt
  882. integer y = 1448
  883. integer width = 3543
  884. integer height = 848
  885. string dataobject = "dw_reissuemx_index_spt"
  886. end type
  887. event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key')
  888. String ls_mtrlcode,ls_mtrlname
  889. Long ls_mtrlid
  890. Long child_row
  891. IF dw_edit_mode THEN
  892. IF KeyDown(Keydownarrow!) THEN
  893. Long li_row
  894. IF dw_child.GetRow() = dw_child.RowCount() THEN
  895. PARENT.TriggerEvent("insert_childrow")
  896. END IF
  897. ELSE
  898. If (KeyDown(KeyEnter!) OR KeyDown(KeyTab!)) AND NOT KeyDown(KeyControl!) AND NOT KeyDown(KeyShift!) THEN
  899. IF dw_child.GetColumnName() = 'u_expenses_expensescode' THEN
  900. dw_child.AcceptText()
  901. child_row = dw_child.GetRow()
  902. ls_mtrlcode = dw_child.Object.u_expenses_expensescode[child_row]
  903. SELECT U_Expenses.Expensesid,
  904. U_Expenses.Expensesname
  905. INTO :ls_mtrlid,:ls_mtrlname
  906. FROM U_Expenses
  907. Where ( U_Expenses.Expensescode = :ls_mtrlcode);
  908. IF sqlca.SQLCode = 100 THEN
  909. PARENT.TriggerEvent('ue_f8')
  910. RETURN
  911. END IF
  912. dw_child.Object.mtrlid[child_row] = ls_mtrlid
  913. dw_child.Object.expensesname[child_row] = ls_mtrlname
  914. dw_child.Object.qty[child_row] = 1
  915. IF Key = KeyEnter! THEN
  916. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  917. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  918. RETURN 1
  919. END IF
  920. ELSEIF dw_child.GetColumnName( ) = 'dscrp' AND dw_child.GetRow() = dw_child.RowCount() THEN
  921. PARENT.TriggerEvent("insert_childrow")
  922. RETURN 1
  923. ELSE
  924. IF Key = KeyEnter! THEN
  925. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  926. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  927. RETURN 1
  928. END IF
  929. END IF
  930. END IF
  931. END IF
  932. END IF
  933. end event
  934. type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_reissue_spt
  935. integer x = 1870
  936. end type
  937. type cb_print from w_publ_1ton_share_detail`cb_print within w_reissue_spt
  938. integer x = 1678
  939. end type
  940. type cb_add from w_publ_1ton_share_detail`cb_add within w_reissue_spt
  941. end type
  942. event cb_add::clicked;IF NOT f_power_ind(1028) THEN
  943. MessageBox('提示','你没有使用权限!', Information!, OK! )
  944. RETURN
  945. END IF
  946. String arg_msg = ''
  947. Long uc_row
  948. Long i
  949. IF dw_edit_mode THEN
  950. dw_uc.AcceptText()
  951. dw_child.AcceptText()
  952. uc_row = dw_uc.GetRow()
  953. IF uc_row <= 0 THEN
  954. MessageBox('提示','请选定当前目标单据!', Information!, OK! )
  955. RETURN
  956. END IF
  957. IF NOT dw_uc.Object.reissuedate[uc_row] > DateTime(2000-01-01,Now()) THEN
  958. MessageBox('提示','不合理发生时间', Information!, OK! )
  959. dw_uc.SetFocus()
  960. dw_uc.SetColumn("reissuedate")
  961. RETURN
  962. END IF
  963. IF trim(dw_uc.Object.reissueemp[uc_row]) = '' THEN
  964. MessageBox('提示','请输入经手人', Information!, OK! )
  965. dw_uc.SetFocus()
  966. dw_uc.SetColumn("reissueemp")
  967. RETURN
  968. END IF
  969. IF dw_uc.Object.relid[uc_row] = 0 THEN
  970. MessageBox('提示','请选择结算方式', Information!, OK! )
  971. dw_uc.SetFocus()
  972. dw_uc.SetColumn("relid")
  973. RETURN
  974. END IF
  975. IF dw_uc.Object.moneyid[uc_row] = 0 THEN
  976. MessageBox('提示','请选择币种', Information!, OK! )
  977. dw_uc.SetFocus()
  978. dw_uc.SetColumn("moneyid")
  979. RETURN
  980. END IF
  981. IF dw_uc.Object.u_reissue_itemid[uc_row] = 0 THEN
  982. MessageBox('提示','请选择项目', Information!, OK! )
  983. dw_uc.SetFocus()
  984. dw_uc.SetColumn("u_reissue_itemid")
  985. RETURN
  986. END IF
  987. uo_ware.reissuedate = dw_uc.Object.reissuedate[uc_row]
  988. uo_ware.dscrp = dw_uc.Object.dscrp[uc_row]
  989. uo_ware.cusid = dw_uc.Object.cusid[uc_row]
  990. uo_ware.relcode = dw_uc.Object.relcode[uc_row]
  991. uo_ware.r_type = 2
  992. uo_ware.relid = dw_uc.Object.relid[uc_row]
  993. uo_ware.moneyid = dw_uc.Object.moneyid[uc_row]
  994. uo_ware.reissueemp = dw_uc.Object.reissueemp[uc_row]
  995. uo_ware.itemid = dw_uc.Object.u_reissue_itemid[uc_row]
  996. uo_ware.mrate = dw_uc.Object.u_reissue_mrate[uc_row]
  997. FOR i = 1 TO dw_child.RowCount()
  998. IF uo_ware.acceptmx( dw_child.Object.qty[i],&
  999. dw_child.Object.price[i],&
  1000. dw_child.Object.amt1[i],&
  1001. dw_child.Object.dscrp[i],&
  1002. i,&
  1003. arg_msg,&
  1004. dw_child.Object.mtrlid[i],dw_child.Object.expensesname[i]) = 0 THEN
  1005. MessageBox('错误',arg_msg, StopSign!, OK! )
  1006. RETURN
  1007. END IF
  1008. NEXT
  1009. IF uo_ware.Save(TRUE,arg_msg) = 0 THEN
  1010. MessageBox('错误',arg_msg, StopSign!, OK! )
  1011. RETURN
  1012. END IF
  1013. MessageBox('提示','保存操作成功!', Information!, OK! )
  1014. //write ini
  1015. f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "moneyid",String(dw_uc.Object.moneyid[dw_uc.GetRow()]))
  1016. //
  1017. long ll_row
  1018. ll_row = dw_pageretr.getrow()
  1019. dw_pageretr.SelectRow(0,FALSE)
  1020. dw_pageretr.SelectRow(ll_row,TRUE)
  1021. wf_refresh_curuc(cur_scid,uo_ware.reissueid) //刷新uc
  1022. ELSE
  1023. IF uo_ware.newbegin(cur_scid,arg_msg) = 0 THEN
  1024. MessageBox('错误',arg_msg, StopSign!, OK! )
  1025. RETURN
  1026. END IF
  1027. END IF
  1028. CALL SUPER::Clicked
  1029. //read ini
  1030. IF dw_edit_mode THEN
  1031. PARENT.TriggerEvent("insert_childrow")
  1032. String ls_moneyid
  1033. ls_moneyid = f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "moneyid",'0')
  1034. dw_uc.SetRedraw(FALSE)
  1035. dw_uc.Object.moneyid[dw_uc.GetRow()] = Long(ls_moneyid)
  1036. dw_uc.Object.u_reissue_mrate[dw_uc.GetRow()] = f_get_mrate(Long(ls_moneyid))
  1037. dw_uc.SetColumn("u_spt_sptcode")
  1038. dw_uc.SetRedraw(TRUE)
  1039. ELSE
  1040. PARENT.TriggerEvent("retrieve_childdw")
  1041. END IF
  1042. //
  1043. end event
  1044. type cb_edit from w_publ_1ton_share_detail`cb_edit within w_reissue_spt
  1045. end type
  1046. event cb_edit::clicked;IF NOT f_power_ind(1028) THEN
  1047. MessageBox('提示','你没有使用权限!', Information!, OK! )
  1048. RETURN
  1049. END IF
  1050. String arg_msg = ''
  1051. Long uc_row
  1052. uc_row = dw_pageretr.GetRow()
  1053. IF uc_row <= 0 THEN
  1054. MessageBox('提示','请选定当前目标单据!', Information!, OK! )
  1055. RETURN
  1056. END IF
  1057. IF NOT dw_edit_mode THEN
  1058. IF uo_ware.updatebegin(dw_pageretr.Object.scid[uc_row],dw_pageretr.Object.reissueid[uc_row],arg_msg) = 0 THEN
  1059. MessageBox('错误',arg_msg, StopSign!, OK! )
  1060. RETURN
  1061. END IF
  1062. wf_refresh_curuc(dw_pageretr.Object.scid[uc_row],dw_pageretr.Object.reissueid[uc_row]) //刷新uc
  1063. PARENT.TriggerEvent("retrieve_childdw")
  1064. END IF
  1065. CALL SUPER::Clicked
  1066. end event
  1067. type cb_delet from w_publ_1ton_share_detail`cb_delet within w_reissue_spt
  1068. integer width = 146
  1069. end type
  1070. event cb_delet::clicked;call super::clicked;IF NOT f_power_ind(1029) THEN
  1071. MessageBox('提示','你没有使用权限!', Information!, OK! )
  1072. RETURN
  1073. END IF
  1074. String arg_msg = ''
  1075. IF dw_edit_mode THEN RETURN
  1076. Long uc_row
  1077. uc_row = dw_pageretr.GetRow()
  1078. IF uc_row <= 0 THEN
  1079. MessageBox('提示','请选定当前目标单据!', Information!, OK! )
  1080. RETURN
  1081. END IF
  1082. IF MessageBox ("询问","是否确定要删除当前单据?",question!,yesno! ) = 2 THEN RETURN
  1083. IF uo_ware.del(dw_pageretr.Object.scid[uc_row],dw_pageretr.Object.reissueid[uc_row],arg_msg,TRUE) = 0 THEN
  1084. MessageBox('错误',arg_msg, StopSign!, OK! )
  1085. ELSE
  1086. //日志
  1087. Long ls_id
  1088. String ls_code
  1089. ls_id = dw_pageretr.Object.reissueid[uc_row]
  1090. ls_code = dw_pageretr.Object.reissuecode[uc_row]
  1091. f_setsysoplog('供应商费用单','供应商费用单删除,id:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE)
  1092. //--
  1093. MessageBox('提示','删除单据'+String(dw_pageretr.Object.reissuecode[uc_row])+'成功!', Information!, OK! )
  1094. dw_pageretr.DeleteRow(uc_row)
  1095. dw_pageretr.Triggerevent(rowfocuschanged!)
  1096. END IF
  1097. end event
  1098. type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_reissue_spt
  1099. integer x = 1175
  1100. end type
  1101. event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  1102. string menustr
  1103. menustr="Text=增加备注~tEvent=ue_addzy"
  1104. if len(trim(menustr))<>0 then
  1105. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  1106. dmPopupMenu.mf_BuildMenu(This, menustr)
  1107. dmPopupMenu.mf_PopMenu()
  1108. Destroy dmPopupMenu
  1109. end if
  1110. end event
  1111. type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_reissue_spt
  1112. integer x = 832
  1113. end type
  1114. event cb_auditing::clicked;call super::clicked;IF NOT f_power_ind(1030) THEN
  1115. MessageBox('提示','你没有使用权限!', Information!, OK! )
  1116. RETURN
  1117. END IF
  1118. IF dw_edit_mode THEN RETURN
  1119. String arg_msg = '',ls_code
  1120. Long pagerert_row,ls_id
  1121. pagerert_row = dw_pageretr.GetRow()
  1122. IF pagerert_row <= 0 THEN
  1123. MessageBox('提示','请选定当前目标单据!', Information!, OK! )
  1124. RETURN
  1125. END IF
  1126. IF MessageBox ("询问","是否确定要"+THIS.Text+"当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1127. IF uo_ware.getinfo(dw_pageretr.Object.scid[pagerert_row],dw_pageretr.Object.reissueid[pagerert_row],arg_msg) = 0 THEN
  1128. MessageBox('错误',arg_msg, StopSign!, OK! )
  1129. RETURN
  1130. END IF
  1131. IF uo_ware.auditing(TRUE,arg_msg) = 0 THEN
  1132. MessageBox('错误',arg_msg, StopSign!, OK! )
  1133. ELSE
  1134. MessageBox('提示','审核成功!', Information!, OK! )
  1135. wf_refresh_curuc(dw_pageretr.Object.scid[pagerert_row],dw_pageretr.Object.reissueid[pagerert_row])
  1136. END IF
  1137. end event
  1138. type cb_xm from w_publ_1ton_share_detail`cb_xm within w_reissue_spt
  1139. integer x = 1426
  1140. end type
  1141. type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_reissue_spt
  1142. end type
  1143. type cb_xls from w_publ_1ton_share_detail`cb_xls within w_reissue_spt
  1144. integer x = 2062
  1145. end type
  1146. type cb_help from w_publ_1ton_share_detail`cb_help within w_reissue_spt
  1147. integer x = 2363
  1148. end type
  1149. type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_reissue_spt
  1150. integer x = 1024
  1151. end type
  1152. event cb_auditing_cancel::clicked;call super::clicked;IF NOT f_power_ind(1031) THEN
  1153. MessageBox('提示','你没有使用权限!', Information!, OK! )
  1154. RETURN
  1155. END IF
  1156. IF dw_edit_mode THEN RETURN
  1157. String arg_msg = '',ls_code,ls_opemp,ls_outpart
  1158. Long pagerert_row,ls_id
  1159. pagerert_row = dw_pageretr.GetRow()
  1160. IF pagerert_row <= 0 THEN
  1161. MessageBox('提示','请选定当前目标单据!', Information!, OK! )
  1162. RETURN
  1163. END IF
  1164. IF MessageBox ("询问","是否确定要"+THIS.Text+"当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1165. IF uo_ware.getinfo(dw_pageretr.Object.scid[pagerert_row],dw_pageretr.Object.reissueid[pagerert_row],arg_msg) = 0 THEN
  1166. MessageBox('错误',arg_msg, StopSign!, OK! )
  1167. RETURN
  1168. END IF
  1169. IF uo_ware.c_auditing(TRUE,arg_msg) = 0 THEN
  1170. MessageBox('错误',arg_msg, StopSign!, OK! )
  1171. ELSE
  1172. MessageBox('提示','撤审成功!', Information!, OK! )
  1173. //日志
  1174. ls_code = dw_pageretr.Object.reissuecode[pagerert_row]
  1175. ls_opemp = dw_pageretr.Object.opemp[pagerert_row]
  1176. ls_outpart = dw_pageretr.Object.relcode[pagerert_row]
  1177. f_setsysoplog('供应商费用单','供应商费用单撤审'+',code:'+ls_code+',相关号码:'+ls_outpart+',建立人:'+ls_opemp,arg_msg,TRUE)
  1178. //--
  1179. wf_refresh_curuc(dw_pageretr.Object.scid[pagerert_row],dw_pageretr.Object.reissueid[pagerert_row])
  1180. END IF
  1181. end event
  1182. type p_msg from w_publ_1ton_share_detail`p_msg within w_reissue_spt
  1183. end type
  1184. type p_help from w_publ_1ton_share_detail`p_help within w_reissue_spt
  1185. end type
  1186. type p_encl from w_publ_1ton_share_detail`p_encl within w_reissue_spt
  1187. end type
  1188. type p_other from w_publ_1ton_share_detail`p_other within w_reissue_spt
  1189. end type
  1190. type gb_3 from w_publ_1ton_share_detail`gb_3 within w_reissue_spt
  1191. end type
  1192. type ln_bar from w_publ_1ton_share_detail`ln_bar within w_reissue_spt
  1193. end type
  1194. type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_reissue_spt
  1195. end type
  1196. type r_bar from w_publ_1ton_share_detail`r_bar within w_reissue_spt
  1197. end type
  1198. type ln_1 from w_publ_1ton_share_detail`ln_1 within w_reissue_spt
  1199. end type
  1200. type ln_2 from w_publ_1ton_share_detail`ln_2 within w_reissue_spt
  1201. end type
  1202. type ddlb_scid from uo_ddlb_scid within w_reissue_spt
  1203. integer x = 896
  1204. integer y = 188
  1205. integer width = 549
  1206. integer height = 468
  1207. integer taborder = 20
  1208. boolean bringtotop = true
  1209. end type
  1210. event constructor;call super::constructor;cur_scid=this.uo_scid
  1211. cur_scid_arr = THIS.uo_scid_arr
  1212. end event
  1213. event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid
  1214. cur_scid_arr = THIS.uo_scid_arr
  1215. parent.triggerevent("retrieve_pageretr")
  1216. end event
  1217. type ddlb_status from dropdownlistbox within w_reissue_spt
  1218. integer x = 1586
  1219. integer y = 188
  1220. integer width = 384
  1221. integer height = 552
  1222. integer taborder = 30
  1223. boolean bringtotop = true
  1224. integer textsize = -9
  1225. integer weight = 400
  1226. fontcharset fontcharset = gb2312charset!
  1227. fontpitch fontpitch = variable!
  1228. string facename = "宋体"
  1229. long textcolor = 33554432
  1230. string text = "[全部]"
  1231. boolean sorted = false
  1232. string item[] = {"[全部]","待审核","已审核"}
  1233. borderstyle borderstyle = stylelowered!
  1234. end type
  1235. event selectionchanged;if index=1 then
  1236. cur_flag= -1
  1237. elseif index=2 then
  1238. cur_flag= 0
  1239. elseif index=3 then
  1240. cur_flag= 1
  1241. end if
  1242. parent.triggerevent('retrieve_pageretr')
  1243. end event
  1244. type st_3 from statictext within w_reissue_spt
  1245. integer x = 1413
  1246. integer y = 204
  1247. integer width = 160
  1248. integer height = 48
  1249. integer textsize = -9
  1250. integer weight = 400
  1251. fontcharset fontcharset = gb2312charset!
  1252. fontpitch fontpitch = variable!
  1253. string facename = "宋体"
  1254. long textcolor = 33554432
  1255. long backcolor = 134217739
  1256. string text = "状态"
  1257. alignment alignment = right!
  1258. boolean focusrectangle = false
  1259. end type
  1260. type st_2 from statictext within w_reissue_spt
  1261. integer x = 722
  1262. integer y = 204
  1263. integer width = 160
  1264. integer height = 48
  1265. integer textsize = -9
  1266. integer weight = 400
  1267. fontcharset fontcharset = gb2312charset!
  1268. fontpitch fontpitch = variable!
  1269. string facename = "宋体"
  1270. long textcolor = 33554432
  1271. long backcolor = 134217739
  1272. string text = "分部"
  1273. alignment alignment = right!
  1274. boolean focusrectangle = false
  1275. end type