w_reissue_bj.srw 42 KB

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