w_cust_exchange.srw 44 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595
  1. $PBExportHeader$w_cust_exchange.srw
  2. forward
  3. global type w_cust_exchange from w_publ_1ton_share_detail
  4. end type
  5. type ddlb_scid from uo_ddlb_scid within w_cust_exchange
  6. end type
  7. type ddlb_status from dropdownlistbox within w_cust_exchange
  8. end type
  9. type st_3 from statictext within w_cust_exchange
  10. end type
  11. type st_2 from statictext within w_cust_exchange
  12. end type
  13. end forward
  14. global type w_cust_exchange from w_publ_1ton_share_detail
  15. integer height = 2300
  16. string title = "客户积分换礼品单"
  17. boolean maxbox = true
  18. windowstate windowstate = maximized!
  19. event insert_childrow ( )
  20. event ue_fj_edit ( )
  21. event ue_fj_view ( )
  22. ddlb_scid ddlb_scid
  23. ddlb_status ddlb_status
  24. st_3 st_3
  25. st_2 st_2
  26. end type
  27. global w_cust_exchange w_cust_exchange
  28. type variables
  29. long cur_scid //分店ID
  30. long copy_storageid = 0
  31. int cur_flag=-1
  32. uo_cust_exchange uo_ware
  33. string ol_cdw_str =''
  34. end variables
  35. forward prototypes
  36. public function integer wf_flagstatus_rf ()
  37. public subroutine wf_check_billfj ()
  38. 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)
  39. public function integer wf_refresh_curuc (long arg_scid, long arg_billid)
  40. end prototypes
  41. event insert_childrow();long li_row
  42. li_row=dw_child.insertrow(0)
  43. dw_child.scrolltorow(li_row)
  44. dw_child.SetColumn ('u_mtrldef_mtrlcode')
  45. end event
  46. event ue_fj_edit();IF dw_edit_mode THEN
  47. MessageBox('提示','编辑状态下不可用',information!,ok!)
  48. RETURN
  49. END IF
  50. s_edit_index_tran s_pic
  51. Long ll_ConnectionID
  52. String arg_msg
  53. Long ls_row
  54. ls_row = dw_uc.GetRow()
  55. IF ls_row <= 0 THEN
  56. RETURN
  57. END IF
  58. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  59. MessageBox('提示','没有指定附件数据库连接'+arg_msg,information!,ok!)
  60. RETURN
  61. END IF
  62. s_pic.f_long = 303 //销售订单的mainID
  63. s_pic.f_string = dw_uc.Object.billcode[ls_row]
  64. s_pic.g_long = dw_uc.Object.billid[ls_row]
  65. s_pic.e_long = dw_uc.Object.scid[ls_row]
  66. s_pic.sqltransaction = sys_filedb_sqlca
  67. OpenWithParm(w_fj_bill_mng,s_pic)
  68. wf_check_billfj()
  69. end event
  70. event ue_fj_view();IF dw_edit_mode THEN
  71. MessageBox('提示','编辑状态下不可用',information!,ok!)
  72. RETURN
  73. END IF
  74. s_edit_index_tran s_pic
  75. Long ll_ConnectionID
  76. String arg_msg
  77. Long ls_row
  78. ls_row = dw_uc.GetRow()
  79. IF ls_row <= 0 THEN
  80. RETURN
  81. END IF
  82. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  83. MessageBox('提示','没有指定附件数据库连接'+arg_msg,information!,ok!)
  84. RETURN
  85. END IF
  86. s_pic.f_long = 303 //销售订单的mainID
  87. s_pic.f_string = dw_uc.Object.billcode[ls_row]
  88. s_pic.g_long = dw_uc.Object.billid[ls_row]
  89. s_pic.e_long = dw_uc.Object.scid[ls_row]
  90. s_pic.sqltransaction = sys_filedb_sqlca
  91. OpenWithParm(w_fj_bill_view,s_pic)
  92. end event
  93. public function integer wf_flagstatus_rf ();//====================================================================
  94. // Function: wf_flagstatus_rf()
  95. //--------------------------------------------------------------------
  96. // Description:
  97. //--------------------------------------------------------------------
  98. // Arguments:(None)
  99. //--------------------------------------------------------------------
  100. // Returns: integer
  101. //--------------------------------------------------------------------
  102. // Author: yyx Date: 2003.12.26
  103. //--------------------------------------------------------------------
  104. // Modify History:
  105. //
  106. //====================================================================
  107. long pagerert_row
  108. pagerert_row=dw_pageretr.getrow()
  109. if pagerert_row<=0 then
  110. cb_auditing.enabled=false
  111. goto ext
  112. end if
  113. if dw_edit_mode then
  114. cb_auditing.enabled=false
  115. cb_auditing_cancel.enabled=false
  116. else
  117. if dw_pageretr.object.flag[pagerert_row]=0 then
  118. cb_auditing.enabled=true
  119. cb_auditing_cancel.enabled=false
  120. elseif dw_pageretr.object.flag[pagerert_row]=1 then
  121. cb_auditing.enabled=false
  122. cb_auditing_cancel.enabled=true
  123. end if
  124. end if
  125. ext:
  126. return 0
  127. end function
  128. public subroutine wf_check_billfj ();String arg_msg
  129. Long ll_ConnectionID
  130. Long cur_billtype
  131. long ll_relid,ll_relid_mx,ll_scid
  132. Long ls_filecount = 0
  133. Int rslt = 1
  134. uo_fj_mng_billtype ls_uo_fjbt
  135. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  136. Long row,uc_relid
  137. row = dw_pageretr.GetRow()
  138. IF row > 0 THEN
  139. ll_relid = dw_pageretr.Object.billid[row]
  140. ll_scid = dw_pageretr.Object.scid[row]
  141. ll_relid_mx = 0
  142. ELSE
  143. rslt = 0
  144. GOTO ext
  145. END IF
  146. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  147. rslt = 0
  148. GOTO ext
  149. END IF
  150. cur_billtype = 169
  151. ls_uo_fjbt.uf_check_billfj( cur_billtype, ll_relid,ll_relid_mx,ll_scid, sys_fileDB_sqlca, arg_msg, ls_filecount)
  152. IF ls_filecount > 0 THEN
  153. rslt = 1
  154. GOTO ext
  155. ELSE
  156. rslt = 0
  157. GOTO ext
  158. END IF
  159. ext:
  160. DESTROY ls_uo_fjbt
  161. end subroutine
  162. 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);//==============================================================================
  163. // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata()
  164. //------------------------------------------------------------------------------
  165. // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可
  166. //------------------------------------------------------------------------------
  167. Long LS_ROW,ll_id,i,ll_scid
  168. LS_ROW = dw_uc.GetRow()
  169. IF LS_ROW <= 0 THEN
  170. arg_msg = '没有目标单据!'
  171. RETURN 0
  172. END IF
  173. //修改点:获取 指定retriev参数
  174. ll_id = dw_uc.Object.#1[LS_ROW]
  175. ll_scid = dw_uc.Object.u_outware_scid[LS_ROW]
  176. //查询所选模版是否含有图片信息
  177. Long ll_ifpic
  178. Long ll_classid
  179. SELECT ifpic
  180. INTO :ll_ifpic
  181. FROM U_XLS_Templates
  182. Where id = :ll_xls_Templatesid;
  183. IF sqlca.SQLCode <> 0 THEN
  184. ll_ifpic = 0
  185. END IF
  186. Long ll_i,ll_j
  187. Long ll_mtrlid
  188. Long ll_fileid
  189. Blob ls_filedata
  190. SetNull(ls_filedata)
  191. String Pathname,ls_filename,ls_filetype
  192. String errmsg
  193. uo_fj_mng_billtype ls_uo_fjbt
  194. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  195. s_xls_pic_list s_pic //结构数组-用于保存图片路径
  196. IF ll_ifpic = 1 THEN //如果含有图片信息,则查询本类型单据需要带出哪类附件
  197. SELECT classid
  198. INTO :ll_classid
  199. FROM u_billpic_fileclass
  200. Where (billtype = 303);
  201. IF sqlca.SQLCode <> 0 THEN
  202. ll_classid = 0
  203. END IF
  204. IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
  205. FOR ll_i = 1 TO dw_child.RowCount()
  206. ll_mtrlid = dw_child.Object.mtrlid[ll_i]
  207. //取该附件类型中的第一个附件.
  208. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
  209. FROM u_file
  210. WHERE relid = :ll_mtrlid
  211. AND classid = :ll_classid
  212. AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
  213. OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
  214. USING sys_fileDB_sqlca;
  215. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  216. ll_fileid = 0
  217. END IF
  218. IF ll_fileid > 0 THEN
  219. Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
  220. IF Trim(Pathname) <> '' THEN
  221. IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
  222. RETURN 0
  223. END IF
  224. IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
  225. RETURN 0
  226. ELSE
  227. s_pic.path[ll_i] = Pathname
  228. //记录临时文件位置,本窗口退出后删除
  229. wf_addlog_tempfilepathname(Pathname)
  230. END IF
  231. ELSE
  232. s_pic.path[ll_i] = ''
  233. END IF
  234. ELSE
  235. s_pic.path[ll_i] = ''
  236. END IF
  237. NEXT
  238. END IF
  239. //
  240. END IF
  241. ////可选设置///
  242. arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码
  243. if sys_option_xls_ifuse_passwd = 1 then arg_obj_st.uo_const.pwd = trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码
  244. boolean xls_locked
  245. xls_locked = not (sys_option_xls_lock = 1)
  246. /// Excel 的可选设置
  247. if arg_obj_st.of_setoption(arg_ationid, xls_locked,true,arg_msg) <> 1 then
  248. return 0
  249. end if
  250. for i = 1 to arg_str_billlist.count
  251. ////可选操作///
  252. arg_str_billlist.bill[i].ds_data = create datastore //
  253. arg_str_billlist.bill[i].ds_data.dataobject = arg_str_billlist.bill[i].datawindow //
  254. arg_str_billlist.bill[i].ds_data.settransobject(sqlca)
  255. //修改点:注意retrieve 参数与上文对应
  256. arg_str_billlist.bill[i].ds_data.retrieve(ll_scid,ll_id)
  257. next
  258. return 1
  259. end function
  260. public function integer wf_refresh_curuc (long arg_scid, long arg_billid);//wf_refresh_curuc
  261. IF arg_billid <= 0 OR IsNull(arg_billid) THEN RETURN 0
  262. Long uc_row
  263. uc_row = dw_pageretr.GetRow()
  264. IF uc_row <= 0 THEN RETURN 0
  265. Long billid
  266. DateTime outdate
  267. String part
  268. String outrep
  269. String dscrp
  270. String billcode
  271. DateTime opdate
  272. String opemp
  273. DateTime moddate
  274. String modemp
  275. Int flag
  276. DateTime auditdate
  277. String auditemp
  278. int storageid
  279. dec amt
  280. string cuscode
  281. string cusname
  282. long cusid
  283. string rep
  284. SELECT u_cust_exchange.billcode,
  285. u_cust_exchange.cusid,
  286. u_cust_exchange.billdate,
  287. u_cust_exchange.rep,
  288. u_cust_exchange.part,
  289. u_cust_exchange.dscrp,
  290. u_cust_exchange.flag,
  291. u_cust_exchange.exchangeamt,
  292. u_cust_exchange.storageid ,
  293. u_cust_exchange.opemp,
  294. u_cust_exchange.opdate,
  295. u_cust_exchange.moddate,
  296. u_cust_exchange.modemp,
  297. u_cust_exchange.flag,
  298. u_cust_exchange.auditemp,
  299. u_cust_exchange.auditdate,
  300. u_cust.cuscode,
  301. u_cust.name
  302. INTO :billcode,
  303. :cusid,
  304. :outdate,
  305. :rep,
  306. :part,
  307. :dscrp,
  308. :flag,
  309. :amt,
  310. :storageid,
  311. :opemp,
  312. :opdate,
  313. :moddate,
  314. :modemp,
  315. :flag,
  316. :auditemp,
  317. :auditdate,
  318. :cuscode,
  319. :cusname
  320. FROM u_cust_exchange,
  321. u_cust
  322. WHERE ( u_cust_exchange.cusid = u_cust.cusid )
  323. and u_cust_exchange.billid = :arg_billid
  324. and u_cust_exchange.scid=:arg_scid;
  325. IF sqlca.SQLCode <> 0 THEN
  326. MessageBox('提示',"查询操作失败(错误单据唯一码)",information!,ok!)
  327. RETURN 0
  328. END IF
  329. dw_pageretr.Object.scid[uc_row] = arg_scid
  330. dw_pageretr.Object.billid[uc_row] = arg_billid
  331. dw_pageretr.Object.billdate[uc_row] = outdate
  332. dw_pageretr.Object.part[uc_row] = part
  333. dw_pageretr.Object.rep[uc_row] = rep
  334. dw_pageretr.Object.dscrp[uc_row] = dscrp
  335. dw_pageretr.Object.billcode[uc_row] = billcode
  336. dw_pageretr.Object.opdate[uc_row] = opdate
  337. dw_pageretr.Object.opemp[uc_row] = opemp
  338. dw_pageretr.Object.moddate[uc_row] = moddate
  339. dw_pageretr.Object.modemp[uc_row] = modemp
  340. dw_pageretr.Object.flag[uc_row] = flag
  341. dw_pageretr.Object.Auditdate[uc_row] = auditdate
  342. dw_pageretr.Object.Auditemp[uc_row] = Auditemp
  343. dw_pageretr.Object.storageid[uc_row] = storageid
  344. dw_pageretr.Object.exchangeamt[uc_row] = amt
  345. dw_pageretr.Object.u_cust_cuscode[uc_row] = cuscode
  346. dw_pageretr.Object.u_cust_name[uc_row] = cusname
  347. dw_uc.Reset()
  348. dw_pageretr.RowsCopy(dw_pageretr.GetRow(),dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
  349. dw_uc.ResetUpdate()
  350. dw_uc.SetRedraw(TRUE)
  351. wf_flagstatus_rf()
  352. RETURN 1
  353. end function
  354. on w_cust_exchange.create
  355. int iCurrent
  356. call super::create
  357. this.ddlb_scid=create ddlb_scid
  358. this.ddlb_status=create ddlb_status
  359. this.st_3=create st_3
  360. this.st_2=create st_2
  361. iCurrent=UpperBound(this.Control)
  362. this.Control[iCurrent+1]=this.ddlb_scid
  363. this.Control[iCurrent+2]=this.ddlb_status
  364. this.Control[iCurrent+3]=this.st_3
  365. this.Control[iCurrent+4]=this.st_2
  366. end on
  367. on w_cust_exchange.destroy
  368. call super::destroy
  369. destroy(this.ddlb_scid)
  370. destroy(this.ddlb_status)
  371. destroy(this.st_3)
  372. destroy(this.st_2)
  373. end on
  374. event close;call super::close;destroy uo_ware
  375. wf_del_tempfilepathname()
  376. end event
  377. event open;this.triggerevent('ue_before_open')
  378. wf_movetocenter()
  379. OLD_TITLE=THIS.TITLE
  380. s_tran=Message.PowerObjectParm
  381. IF not ISNULL(s_tran) then
  382. retrieve_all=s_tran.if_retrieve_all
  383. mode=s_tran.work_mode
  384. arg_pkid=s_tran.arg_pkid
  385. arg_string_code=s_tran.arg_string_code
  386. if_sharedata=s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效
  387. ds_share=s_tran.ds_share
  388. end if
  389. dw_pageretr.RBUTTON_FILTER_USE=true //右键查询功能开关
  390. dw_pageretr.titleclick_sort_use=true //单击标题排序功能开关
  391. dw_pageretr.SetTransObject (sqlca)
  392. pkcolumndbtname=wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
  393. ori_oldselect=dw_pageretr.Describe("DataWindow.Table.Select")
  394. //====================================================================
  395. // Script - w_outware_other inherited from w_publ_1ton_share_detail for open
  396. // Reason:
  397. //--------------------------------------------------------------------
  398. // Modified By: yyx Date: 2003.12.01
  399. //--------------------------------------------------------------------
  400. ori_oldselect=f_modify_selectstr(ori_oldselect)//只显示所管的仓库单据
  401. //====================================================================
  402. ls_newselect=ori_oldselect
  403. ds_curquery=CREATE DATASTORE
  404. ds_curquery.DATAOBJECT='d_extr_find'
  405. ds_curquery.SetTransObject (sqlca)
  406. wf_editindex_lockf()
  407. sle_usual_query.text=trim(arg_string_code)
  408. if NOT retrieve_all then
  409. THIS.TRIGGEREVENT("ue_usual_query_RETR") //修改ls_newselect,retrieve
  410. else
  411. if if_sharedata then
  412. ds_share.sharedata(dw_pageretr)
  413. else
  414. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  415. this.TRIGGEREVENT('RETRIEVE_pageretr')
  416. end if
  417. end if
  418. IF retrieve_all THEN
  419. THIS.TRIGGEREVENT("ue_usual_query_filt")
  420. END IF
  421. uc_column_int=8 //uc dw前7列可以编辑
  422. child_column_int=5 //子dw前8列可以编辑
  423. uo_ware=create uo_cust_exchange
  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;wf_flagstatus_rf()
  433. ddlb_status.enabled=not dw_edit_mode
  434. if dw_edit_mode then
  435. ddlb_scid.enabled=false
  436. else
  437. if sys_scid > 0 then
  438. ddlb_scid.enabled=false
  439. else
  440. ddlb_scid.enabled=true
  441. end if
  442. end if
  443. end event
  444. event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid,ll_scid
  445. row = dw_pageretr.GetRow()
  446. IF row > 0 THEN
  447. ll_scid = dw_pageretr.Object.scid[row]
  448. uc_relid = dw_pageretr.Object.billid[row]
  449. dw_child.SetRedraw (FALSE)
  450. dw_child.Retrieve(ll_scid,uc_relid)
  451. dw_child.SetRedraw (TRUE)
  452. ELSE
  453. dw_child.Reset()
  454. END IF
  455. end event
  456. event retrieve_pageretr;boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled
  457. boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled
  458. cb_nextpage_enabled=cb_nextpage.enabled
  459. cb_retrieveall_enabled=cb_retrieveall.enabled
  460. cb_func_enabled=cb_func.enabled
  461. cb_nextpage.enabled=false
  462. cb_retrieveall.enabled=false
  463. cb_func.enabled=false
  464. //只显未自已管的仓库
  465. datawindowchild childdw
  466. string new_sqlstr,modify_str
  467. dw_uc.SetTransObject (sqlca)
  468. dw_uc.getchild("storageid",childdw)
  469. childdw.SetTransObject (sqlca)
  470. new_sqlstr=childdw.Describe("DataWindow.Table.Select")
  471. if len(ol_cdw_str) = 0 then ol_cdw_str = new_sqlstr
  472. new_sqlstr=f_modify_selectstr(ol_cdw_str)
  473. modify_str="DataWindow.Table.Select='" + new_sqlstr +"'"
  474. childdw.modify ( modify_str )
  475. if childdw.retrieve(cur_scid) = 0 then
  476. childdw.InsertRow(0)
  477. END IF
  478. //childdw.retrieve()
  479. dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数
  480. dw_pageretr.Retrieve(cur_scid,cur_flag)
  481. IF dw_pageretr.RowCount() > 0 THEN
  482. dw_pageretr.SetRow(1)
  483. dw_pageretr.triggerevent(rowfocuschanged!)
  484. end if
  485. this.triggerevent('retrieve_childdw')
  486. cb_nextpage.enabled=cb_nextpage_enabled
  487. cb_retrieveall.enabled=cb_retrieveall_enabled
  488. cb_func.enabled=cb_func_enabled
  489. end event
  490. event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
  491. if trim(sle_usual_query.text)<>'' then
  492. IF POS(trim(sle_usual_query.text),'%')=0 THEN
  493. obj_expr=obj_expr+'( billcode LIKE "%'+trim(sle_usual_query.text)+'%" )'
  494. ELSE
  495. obj_expr=obj_expr+'( billcode LIKE "'+trim(sle_usual_query.text)+'" )'
  496. END IF
  497. end if
  498. dw_pageretr.setfilter(obj_expr)
  499. dw_pageretr.SetRedraw(False)
  500. dw_pageretr.filter()
  501. if dw_pageretr.rowcount()>=1 then
  502. dw_pageretr.selectrow(0,false)
  503. dw_pageretr.selectrow(1,true)
  504. end if
  505. dw_pageretr.SetRedraw(TRUE)
  506. end event
  507. event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
  508. ls_newselect=lower(ori_oldselect)
  509. if trim(sle_usual_query.text)<>'' then
  510. if pos(trim(sle_usual_query.text),'%')=0 then
  511. ls_querystrpart="(u_cust_exchange.billcode like '%"+trim(sle_usual_query.text)+"%')"
  512. else
  513. ls_querystrpart="(u_cust_exchange.billcode like '"+trim(sle_usual_query.text)+"')"
  514. end if
  515. if Pos(ls_newselect," where ") <> 0 then
  516. ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
  517. else
  518. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  519. end if
  520. end if
  521. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  522. this.triggerevent('retrieve_pageretr')
  523. end event
  524. event ue_f8;call super::ue_f8;//用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用
  525. if not dw_edit_mode then return
  526. long child_row,ins_storageid=0
  527. ins_storageid=dw_uc.object.storageid[dw_uc.getrow()]
  528. if ins_storageid=0 or isnull(ins_storageid) then
  529. messagebox('提示','请先选择仓库',information!,ok!)
  530. return
  531. end if
  532. child_row=dw_child.getrow()
  533. if not isvalid(w_mtrlware_storageid_ch) then
  534. s_edit_index_tran s_tranf8 //传递参数使用
  535. s_tranf8.if_retrieve_all=false //是否一次RETRIEVE所有行
  536. s_tranf8.arg_pkid=0 //目标定位PKID (备用)
  537. s_tranf8.arg_string_code='' //查询列(物料编码)部分内容,用于初步筛选
  538. s_tranf8.b_long= - 1 //选择原料或产品
  539. s_tranf8.d_long=ins_storageid
  540. s_tranf8.c_long = -1
  541. long chc=1,ls_j
  542. dw_child.accepttext()
  543. if dw_child.getrow()>0 then s_tranf8.arg_string_code=trim(dw_child.object.u_mtrldef_mtrlcode[dw_child.getrow()])
  544. OPENwithparm(w_mtrlware_storageid_ch,s_tranf8) //调用
  545. s_mtrlware_noalloc_array S_INSCUST
  546. S_INSCUST=Message.PowerObjectParm //接受返回结构
  547. for ls_j=1 to UpperBound(S_INSCUST.mtrlwareid)
  548. if S_INSCUST.mtrlwareid[ls_j]>0 then
  549. if dw_child.getrow()>0 then
  550. if dw_child.object.u_cust_exchangemx_mtrlid[child_row]<>0 then
  551. child_row = dw_child.InsertRow (0)
  552. else
  553. child_row=dw_child.getrow()
  554. end if
  555. else
  556. child_row = dw_child.InsertRow (0)
  557. end if
  558. dw_child.object.u_cust_exchangemx_mtrlwareid[child_row]=S_INSCUST.mtrlwareid[ls_j]
  559. dw_child.object.u_cust_exchangemx_mtrlid[child_row]=S_INSCUST.mtrlid[ls_j]
  560. dw_child.object.u_mtrldef_mtrlcode[child_row] =S_INSCUST.u_mtrldef_mtrlcode[ls_j]
  561. dw_child.object.u_mtrldef_mtrlname[child_row] =S_INSCUST.u_mtrldef_mtrlname[ls_j]
  562. dw_child.object.u_mtrldef_mtrlmode[child_row] =S_INSCUST.u_mtrldef_mtrlmode[ls_j]
  563. dw_child.object.u_mtrldef_unit[child_row] =S_INSCUST.u_mtrldef_unit[ls_j]
  564. dw_child.object.u_cust_exchangemx_qty[child_row] =S_INSCUST.noallocqty[ls_j]
  565. dw_child.object.u_cust_exchangemx_price[child_row] =S_INSCUST.cost[ls_j]
  566. dw_child.object.u_mtrlware_plancode[child_row] =S_INSCUST.plancode[ls_j]
  567. dw_child.object.u_mtrlware_status[child_row] =S_INSCUST.status[ls_j]
  568. dw_child.object.u_mtrlware_woodcode[child_row] =S_INSCUST.woodcode[ls_j]
  569. dw_child.object.u_mtrlware_pcode[child_row] =S_INSCUST.pcode[ls_j]
  570. dw_child.setcolumn('u_cust_exchangemx_qty')
  571. end if
  572. next
  573. end if
  574. end event
  575. event ue_viewprint;call super::ue_viewprint;IF NOT f_power_ind(962) THEN
  576. MessageBox('提示','你没有使用权限!',information!,ok!)
  577. RETURN
  578. END IF
  579. Long LS_ROW
  580. LS_ROW = dw_pageretr.GetRow()
  581. IF LS_ROW <= 0 THEN
  582. MessageBox('提示','没有打印目标单据!',information!,ok!)
  583. RETURN
  584. END IF
  585. S_print_MSG LS_PRMSG
  586. IF ls_newname <> '' THEN
  587. IF li_auditprint = 1 THEN
  588. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  589. MessageBox('提示','目标单据还未审核,不能打印!',information!,ok!)
  590. RETURN
  591. END IF
  592. END IF
  593. LS_PRMSG.obj_dwNAME = ls_newname
  594. ELSE
  595. LS_PRMSG.obj_dwNAME = ''
  596. END IF
  597. if LS_PRMSG.obj_dwNAME = '' then return
  598. LS_PRMSG.TAG_TEXT = '客户积分换礼品单'
  599. LS_PRMSG.FILTER_STRING = ''
  600. LS_PRMSG.retr_pram_falg = 15
  601. LS_PRMSG.PAGECH_FLAG = 0
  602. LS_PRMSG.retr_scid = cur_scid
  603. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.billid[LS_ROW]
  604. LS_PRMSG.rowcnt = dw_child.RowCount()
  605. OpenWithParm(w_publ_preview,LS_PRMSG)
  606. end event
  607. event ue_print;call super::ue_print;//--直接打印
  608. IF NOT f_power_ind(962) THEN
  609. MessageBox('提示','你没有使用权限!',information!,ok!)
  610. RETURN
  611. END IF
  612. uo_print_preview uo_print
  613. S_print_MSG LS_PRMSG
  614. IF dw_pageretr.RowCount() = 0 THEN
  615. MessageBox('提示','没有可打印的单据!',information!,ok!)
  616. RETURN
  617. END IF
  618. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  619. IF ls_newname <> '' THEN
  620. IF li_auditprint = 1 THEN
  621. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  622. MessageBox('提示','目标单据还未审核,不能打印!',information!,ok!)
  623. RETURN
  624. END IF
  625. END IF
  626. LS_PRMSG.obj_dwNAME = ls_newname
  627. ELSE
  628. LS_PRMSG.obj_dwNAME = ''
  629. END IF
  630. if LS_PRMSG.obj_dwNAME = '' then return
  631. LS_PRMSG.retr_pram_falg = 15
  632. LS_PRMSG.TAG_TEXT = '客户积分换礼品单'
  633. LS_PRMSG.FILTER_STRING = ''
  634. LS_PRMSG.PAGECH_FLAG = 0
  635. LS_PRMSG.retr_scid = cur_scid
  636. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.billid[dw_pageretr.GetRow()]
  637. LS_PRMSG.rowcnt = dw_child.RowCount()
  638. uo_print.FACT_PRINT_MSG = LS_PRMSG
  639. String arg_msg
  640. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  641. MessageBox("错误",arg_msg,stopsign!,ok!)
  642. RETURN
  643. END IF
  644. uo_print.ds_print()
  645. end event
  646. event ue_addzy;call super::ue_addzy;IF dw_edit_mode THEN
  647. MessageBox('提示',"编辑状态下不可以使用!",information!,ok!)
  648. return
  649. END IF
  650. if not f_power_ind(961) then
  651. messagebox('提示','你没有使用权限!',information!,ok!)
  652. return
  653. end if
  654. string arg_msg='',LS_STR
  655. long uc_row
  656. s_inputbox S_SREU
  657. uc_row=dw_pageretr.getrow()
  658. if uc_row<=0 then
  659. messagebox('提示','请选定当前目标单据!',information!,ok!)
  660. return
  661. end if
  662. S_SREU.TITLE='请输入要补充到备注的内容'
  663. S_SREU.OLD_TEXT=''
  664. openwithparm(w_inputbox,S_SREU)
  665. LS_STR=Message.StringParm
  666. if trim(LS_STR)='' or isnull(LS_STR) then return
  667. if uo_ware.add_dscrp(dw_pageretr.Object.scid[uc_row],dw_pageretr.object.billid[uc_row],LS_STR,arg_msg)=0 then
  668. messagebox('Error!',arg_msg)
  669. return
  670. else
  671. messagebox('提示','添加备注操作成功!',information!,ok!)
  672. wf_refresh_curuc(dw_pageretr.Object.scid[uc_row],dw_pageretr.object.billid[uc_row])
  673. end if
  674. end event
  675. event ue_f10;call super::ue_f10;//IF NOT dw_edit_mode THEN RETURN
  676. //
  677. //Long child_row
  678. //Int if_addmxdscrp
  679. //String ls_mxdscrp
  680. //s_addqty_input s_input
  681. //
  682. //dw_child.AcceptText( )
  683. //
  684. //child_row = dw_child.GetRow()
  685. //
  686. //IF child_row <= 0 THEN RETURN
  687. //
  688. //IF dw_child.Object.u_cust_exchangemx_mtrlid[child_row] <= 0 THEN RETURN
  689. //
  690. //ls_mxdscrp = dw_child.Object.u_cust_exchangemx_mxdscrp[child_row]
  691. //
  692. //IF NOT IsValid(w_addqty_input) THEN
  693. // OpenWithParm(w_addqty_input,ls_mxdscrp)
  694. //
  695. // s_input = Message.PowerObjectParm
  696. //
  697. // IF s_input.addqty = -1 THEN RETURN
  698. //
  699. // if_addmxdscrp = Integer(f_ProfileString (sys_empid,'addqty_input', "if_addmxdscrp", '0'))
  700. // IF if_addmxdscrp = 1 THEN
  701. // dw_child.Object.u_cust_exchangemx_mxdscrp[child_row] = s_input.addqtystr
  702. // END IF
  703. // dw_child.Object.u_cust_exchangemx_addqty[child_row] = s_input.addqty
  704. // dw_child.Object.u_cust_exchangemx_qty[child_row] = s_input.qty
  705. //END IF
  706. //
  707. //
  708. end event
  709. event ue_f9;call super::ue_f9;IF NOT dw_edit_mode THEN RETURN
  710. Long child_row
  711. child_row = dw_uc.GetRow()
  712. IF child_row = 0 THEN
  713. MessageBox('提示','请选定出仓单!',information!,ok!)
  714. RETURN
  715. END IF
  716. IF NOT IsValid(W_cust_edit) THEN
  717. s_edit_index_tran s_ch_tran //传递参数使用
  718. s_ch_tran.if_retrieve_all = FALSE //是否一次RETRIEVE所有行
  719. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  720. s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
  721. //查询列(物料编码)部分内容,用于初步筛选
  722. dw_uc.AcceptText()
  723. s_ch_tran.arg_string_code = Trim(dw_uc.Object.u_cust_cuscode[child_row])
  724. OpenWithParm(W_cust_edit,s_ch_tran) //调用
  725. s_custom S_INSCUST
  726. S_INSCUST = Message.PowerObjectParm //接受返回结构
  727. IF S_INSCUST.cusid > 0 THEN //正常返回值则可以取以下值
  728. dw_uc.SetRedraw(FALSE)
  729. dw_uc.Object.cusid[child_row] = S_INSCUST.cusid
  730. dw_uc.Object.u_cust_name[child_row] = S_INSCUST.Name
  731. dw_uc.Object.u_cust_cuscode[child_row] = S_INSCUST.cuscode
  732. dw_uc.SetRedraw(TRUE)
  733. dw_uc.SetColumn("exchangeamt")
  734. END IF
  735. END IF
  736. end event
  737. type cb_func from w_publ_1ton_share_detail`cb_func within w_cust_exchange
  738. end type
  739. type cb_exit from w_publ_1ton_share_detail`cb_exit within w_cust_exchange
  740. end type
  741. type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_cust_exchange
  742. integer x = 187
  743. integer y = 188
  744. integer width = 549
  745. end type
  746. type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_cust_exchange
  747. integer x = 3049
  748. end type
  749. type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_cust_exchange
  750. integer x = 2725
  751. integer y = 52
  752. integer width = 320
  753. end type
  754. type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_cust_exchange
  755. integer x = 1957
  756. integer width = 1582
  757. integer height = 980
  758. string dataobject = "dw_cust_exchange_index"
  759. end type
  760. event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_flagstatus_rf()
  761. wf_check_billfj()
  762. end event
  763. type st_1 from w_publ_1ton_share_detail`st_1 within w_cust_exchange
  764. integer x = 14
  765. integer y = 208
  766. end type
  767. type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_cust_exchange
  768. integer x = 3200
  769. end type
  770. type dw_uc from w_publ_1ton_share_detail`dw_uc within w_cust_exchange
  771. integer width = 1943
  772. integer height = 980
  773. string dataobject = "dw_cust_exchange_edit"
  774. end type
  775. event dw_uc::dwnkey;
  776. PARENT.TriggerEvent('user_key')
  777. IF Key = KeyDownArrow! THEN RETURN 1
  778. IF dw_edit_mode THEN
  779. IF dw_uc.GetColumnName ( ) = 'dscrp' AND Key = KeyEnter! THEN
  780. dw_child.SetFocus()
  781. dw_child.ScrollToRow(dw_child.RowCount())
  782. dw_child.SetColumn ('u_mtrldef_mtrlcode')
  783. RETURN 1
  784. ELSEIF dw_uc.GetColumnName ( ) = 'u_cust_cuscode' AND Key = KeyEnter! THEN
  785. String ls_code,ls_name,ls_custype,ls_find_code
  786. String ls_freight,ls_freight_tele
  787. String ls_rel_address,ls_rel_tele,ls_rel_fax,ls_rel_rep
  788. Long ls_cusid
  789. Long cnt = 0
  790. Boolean if_find = FALSE
  791. dw_uc.AcceptText()
  792. ls_code = Trim(dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()])
  793. SELECT u_cust.cusid,
  794. u_cust.name,
  795. u_cust.custype,
  796. u_cust.cuscode,
  797. u_cust.freight,
  798. u_cust.freight_tele,
  799. u_cust.address,
  800. u_cust.tele,
  801. u_cust.faxno,
  802. u_cust.rep
  803. INTO :ls_cusid,:ls_name,:ls_custype,:ls_code,
  804. :ls_freight,:ls_freight_tele,
  805. :ls_rel_address,:ls_rel_tele,:ls_rel_fax,:ls_rel_rep
  806. FROM u_cust
  807. Where ( cuscode = :ls_code OR Name = :ls_code );
  808. IF sqlca.SQLCode <> 0 THEN
  809. IF Pos(Trim(ls_code),'%') = 0 THEN
  810. ls_find_code = '%'+ Trim(ls_code) + '%'
  811. ELSE
  812. ls_find_code = Trim(ls_code)
  813. END IF
  814. SELECT count(*) INTO :cnt
  815. FROM u_cust
  816. Where ( cuscode Like :ls_find_code OR Name Like :ls_find_code );
  817. IF sqlca.SQLCode <> 0 THEN
  818. PARENT.TriggerEvent('ue_f9')
  819. RETURN 1
  820. END IF
  821. IF cnt <> 1 THEN
  822. PARENT.TriggerEvent('ue_f9')
  823. RETURN 1
  824. ELSE
  825. SELECT u_cust.cusid,
  826. u_cust.cuscode,
  827. u_cust.name,
  828. u_cust.custype,
  829. u_cust.freight,
  830. u_cust.freight_tele,
  831. u_cust.address,
  832. u_cust.tele,
  833. u_cust.faxno,
  834. u_cust.rep
  835. INTO :ls_cusid,:ls_code,:ls_name,:ls_custype,
  836. :ls_freight,:ls_freight_tele,
  837. :ls_rel_address,:ls_rel_tele,:ls_rel_fax,:ls_rel_rep
  838. FROM u_cust
  839. Where ( cuscode Like :ls_find_code OR Name Like :ls_find_code );
  840. IF sqlca.SQLCode <> 0 THEN
  841. PARENT.TriggerEvent('ue_f9')
  842. RETURN 1
  843. ELSE
  844. if_find = TRUE
  845. END IF
  846. END IF
  847. ELSE
  848. if_find = TRUE
  849. END IF
  850. IF if_find THEN
  851. dw_uc.SetRedraw(FALSE)
  852. dw_uc.Object.cusid[dw_uc.GetRow()] = ls_cusid
  853. dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()] = ls_code
  854. dw_uc.Object.u_cust_name[dw_uc.GetRow()] = ls_name
  855. dw_uc.SetRedraw(TRUE)
  856. dw_uc.SetColumn("exchangeamt")
  857. RETURN 1
  858. END IF
  859. ELSE
  860. IF Key = KeyEnter! THEN //
  861. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  862. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  863. RETURN 1
  864. END IF
  865. END IF
  866. END IF
  867. end event
  868. event dw_uc::itemchanged;call super::itemchanged;IF NOT dw_edit_mode THEN RETURN
  869. IF dwo.Name = 'storageid' THEN
  870. dw_child.Reset()
  871. PARENT.TriggerEvent("insert_childrow")
  872. END IF
  873. end event
  874. type gb_2 from w_publ_1ton_share_detail`gb_2 within w_cust_exchange
  875. end type
  876. type dw_child from w_publ_1ton_share_detail`dw_child within w_cust_exchange
  877. integer y = 1276
  878. integer height = 876
  879. string dataobject = "dw_cust_exchangemx_index"
  880. end type
  881. event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key')
  882. String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode,ls_prdpackcode
  883. String ls_plancode,ls_status,ls_woodcode,ls_pcode,ls_mtrlsectype,ls_zxmtrlmode
  884. Long ls_mtrlwareid,ls_mtrlid,ls_storageid
  885. Dec ls_noallocqty,ls_noauditingqty,ls_cost,ls_planprice,ls_packqty
  886. Long child_row
  887. Long ls_null
  888. SetNull(ls_null)
  889. s_mtrlware_noalloc_array arg_s_mtrlware
  890. IF dw_edit_mode THEN
  891. dw_uc.AcceptText()
  892. ls_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
  893. IF ls_storageid = 0 OR IsNull(ls_storageid) THEN
  894. MessageBox('提示','请先选择仓库',information!,ok!)
  895. RETURN
  896. END IF
  897. IF KeyDown(Keydownarrow!) THEN
  898. Long li_row
  899. IF dw_child.GetRow() = dw_child.RowCount() THEN
  900. PARENT.TriggerEvent("insert_childrow")
  901. END IF
  902. ELSE
  903. If KeyDown(KeyEnter!) AND NOT KeyDown(KeyControl!) AND NOT KeyDown(KeyShift!) THEN
  904. IF dw_child.GetColumnName( ) = 'u_mtrldef_mtrlcode' THEN
  905. dw_child.AcceptText()
  906. child_row = dw_child.GetRow()
  907. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[child_row]
  908. IF f_find_mtrlware(ls_mtrlcode,ls_storageid,-1,arg_s_mtrlware) = 0 THEN
  909. PARENT.TriggerEvent('ue_f8')
  910. RETURN 1
  911. ELSE
  912. ls_mtrlwareid = arg_s_mtrlware.mtrlwareid[1]
  913. ls_mtrlid = arg_s_mtrlware.mtrlid[1]
  914. ls_mtrlcode = arg_s_mtrlware.u_mtrldef_mtrlcode[1]
  915. ls_mtrlname = arg_s_mtrlware.u_mtrldef_mtrlname[1]
  916. ls_unit = arg_s_mtrlware.u_mtrldef_unit[1]
  917. ls_mtrlmode = arg_s_mtrlware.u_mtrldef_mtrlmode[1]
  918. ls_planprice = arg_s_mtrlware.planprice[1]
  919. ls_noallocqty = arg_s_mtrlware.noallocqty[1]
  920. ls_storageid = arg_s_mtrlware.storageid[1]
  921. ls_plancode = arg_s_mtrlware.plancode[1]
  922. ls_cost = arg_s_mtrlware.cost[1]
  923. ls_noauditingqty = arg_s_mtrlware.noauditingqty[1]
  924. ls_status = arg_s_mtrlware.status[1]
  925. ls_woodcode = arg_s_mtrlware.woodcode[1]
  926. ls_pcode = arg_s_mtrlware.pcode[1]
  927. ls_mtrlsectype = arg_s_mtrlware.u_mtrldef_mtrlsectype[][1]
  928. ls_zxmtrlmode = arg_s_mtrlware.u_mtrldef_zxmtrlmode[][1]
  929. END IF
  930. dw_child.Object.u_cust_exchangemx_mtrlwareid[child_row] = ls_mtrlwareid
  931. dw_child.Object.u_cust_exchangemx_mtrlid[child_row] = ls_mtrlid
  932. dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname
  933. dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
  934. dw_child.Object.u_mtrldef_unit[child_row] = ls_unit
  935. dw_child.Object.u_cust_exchangemx_qty[child_row] = ls_noallocqty - ls_noauditingqty
  936. dw_child.Object.u_cust_exchangemx_price[child_row] = ls_cost
  937. dw_child.Object.u_mtrlware_plancode[child_row] = ls_plancode
  938. dw_child.Object.u_mtrlware_status[child_row] = ls_status
  939. dw_child.Object.u_mtrlware_woodcode[child_row] = ls_woodcode
  940. dw_child.Object.u_mtrlware_pcode[child_row] = ls_pcode
  941. dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode
  942. IF Key = KeyEnter! THEN //
  943. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  944. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  945. RETURN 1
  946. END IF
  947. ELSEIF dw_child.GetColumnName( ) = 'u_cust_exchangemx_mxdscrp' AND dw_child.GetRow() = dw_child.RowCount() THEN
  948. PARENT.TriggerEvent("insert_childrow")
  949. RETURN 1
  950. ELSE
  951. IF Key = KeyEnter! THEN //
  952. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  953. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  954. RETURN 1
  955. END IF
  956. END IF
  957. END IF
  958. END IF
  959. END IF
  960. end event
  961. event dw_child::doubleclicked;if dw_edit_mode then
  962. if dwo.name = 'u_cust_exchangemx_addqty' then
  963. parent.triggerevent('ue_f10')
  964. else
  965. parent.triggerevent('ue_f8')
  966. end if
  967. end if
  968. end event
  969. type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_cust_exchange
  970. end type
  971. type cb_print from w_publ_1ton_share_detail`cb_print within w_cust_exchange
  972. end type
  973. type cb_add from w_publ_1ton_share_detail`cb_add within w_cust_exchange
  974. end type
  975. event cb_add::clicked;IF NOT f_power_ind(957) THEN
  976. MessageBox('提示','你没有使用权限!',information!,ok!)
  977. RETURN
  978. END IF
  979. String arg_msg = ''
  980. Long uc_row,i
  981. IF dw_edit_mode THEN
  982. dw_uc.AcceptText()
  983. dw_child.AcceptText()
  984. uc_row = dw_uc.GetRow()
  985. IF uc_row <= 0 THEN
  986. MessageBox('提示','请选定当前目标单据!',information!,ok!)
  987. RETURN
  988. END IF
  989. IF NOT dw_uc.Object.billdate[uc_row] > DateTime(2000-01-01,Now()) THEN
  990. MessageBox('提示','不合理发生时间',information!,ok!)
  991. dw_uc.SetFocus()
  992. dw_uc.SetColumn("billdate")
  993. RETURN
  994. END IF
  995. IF NOT Len(String(dw_uc.Object.rep[uc_row])) > 0 THEN
  996. MessageBox('提示','请填写经手人',information!,ok!)
  997. dw_uc.SetFocus()
  998. dw_uc.SetColumn("rep")
  999. RETURN
  1000. END IF
  1001. uo_ware.outdate = dw_uc.Object.billdate[uc_row] // 发生时间
  1002. uo_ware.rep = dw_uc.Object.rep[uc_row] // 经手人
  1003. uo_ware.part = dw_uc.Object.part[uc_row] //相关部门
  1004. uo_ware.dscrp = dw_uc.Object.dscrp[uc_row] //备注
  1005. uo_ware.storageid = dw_uc.Object.storageid[uc_row]
  1006. uo_ware.cusid = dw_uc.Object.cusid[uc_row]
  1007. uo_ware.sum_amt = dw_uc.Object.exchangeamt[uc_row]
  1008. FOR i = 1 TO dw_child.RowCount()
  1009. IF dw_child.Object.u_cust_exchangemx_mtrlwareid[i] > 0 THEN
  1010. IF uo_ware.acceptmx(dw_child.Object.u_cust_exchangemx_mtrlwareid[i],&
  1011. dw_child.Object.u_cust_exchangemx_mtrlid[i],&
  1012. dw_child.Object.u_mtrldef_mtrlcode[i],&
  1013. dw_child.Object.u_cust_exchangemx_qty[i],&
  1014. dw_child.Object.u_cust_exchangemx_addqty[i],&
  1015. dw_child.Object.u_cust_exchangemx_price[i],&
  1016. dw_child.Object.u_cust_exchangemx_mxdscrp[i],&
  1017. dw_child.Object.printid[i],&
  1018. arg_msg) = 0 THEN
  1019. MessageBox('错误',arg_msg,stopsign!,ok!)
  1020. RETURN
  1021. END IF
  1022. END IF
  1023. NEXT
  1024. IF uo_ware.Save(true,arg_msg) = 0 THEN
  1025. MessageBox('错误!',arg_msg,stopsign!,ok!)
  1026. RETURN
  1027. END IF
  1028. MessageBox('提示','保存操作成功!',information!,ok!)
  1029. //write ini
  1030. f_SetProfileString (sys_empid,dw_uc.DataObject, "ddlb_storageid",String(dw_uc.Object.storageid[dw_uc.GetRow()]))
  1031. //
  1032. long ll_row
  1033. ll_row = dw_pageretr.getrow()
  1034. dw_pageretr.SelectRow(0,FALSE)
  1035. dw_pageretr.SelectRow(ll_row,TRUE)
  1036. wf_refresh_curuc(cur_scid,uo_ware.billid)
  1037. ELSE
  1038. IF uo_ware.newbegin(cur_scid,8,arg_msg) = 0 THEN
  1039. MessageBox('错误',arg_msg,stopsign!,ok!)
  1040. RETURN
  1041. END IF
  1042. END IF
  1043. CALL SUPER::Clicked
  1044. //read ini
  1045. IF dw_edit_mode THEN
  1046. PARENT.TriggerEvent("insert_childrow")
  1047. dw_uc.SetRedraw(FALSE)
  1048. String ls_storageid
  1049. ls_storageid = f_ProfileString (sys_empid,dw_uc.DataObject, "ddlb_storageid",'0')
  1050. IF f_find_storageid(ls_storageid) = '' THEN
  1051. ls_storageid = '0'
  1052. END IF
  1053. dw_uc.Object.storageid[dw_uc.GetRow()] = Long(ls_storageid)
  1054. dw_uc.SetColumn("storageid")
  1055. dw_uc.SetRedraw(TRUE)
  1056. ELSE
  1057. PARENT.TriggerEvent("retrieve_childdw")
  1058. END IF
  1059. //
  1060. end event
  1061. type cb_edit from w_publ_1ton_share_detail`cb_edit within w_cust_exchange
  1062. end type
  1063. event cb_edit::clicked;if not f_power_ind(957) then
  1064. messagebox('提示','你没有使用权限!',information!,ok!)
  1065. return
  1066. end if
  1067. string arg_msg=''
  1068. long uc_row
  1069. uc_row=dw_pageretr.getrow()
  1070. if uc_row<=0 then
  1071. messagebox('提示','请选定当前目标单据!',information!,ok!)
  1072. return
  1073. end if
  1074. if not dw_edit_mode then
  1075. if uo_ware.updatebegin(dw_pageretr.Object.scid[uc_row],dw_pageretr.object.billid[uc_row],arg_msg)=0 then
  1076. messagebox('错误!',arg_msg,stopsign!,ok!)
  1077. return
  1078. end if
  1079. end if
  1080. call super::clicked
  1081. end event
  1082. type cb_delet from w_publ_1ton_share_detail`cb_delet within w_cust_exchange
  1083. end type
  1084. event cb_delet::clicked;if not f_power_ind(958) then
  1085. messagebox('提示','你没有使用权限!',information!,ok!)
  1086. return
  1087. end if
  1088. if dw_edit_mode then return
  1089. string arg_msg=''
  1090. long uc_row
  1091. uc_row=dw_pageretr.getrow()
  1092. if uc_row<=0 then
  1093. messagebox('提示','请选定当前目标单据!',information!,ok!)
  1094. return
  1095. end if
  1096. IF MessageBox ("询问","是否确定要删除当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1097. if uo_ware.del(dw_pageretr.Object.scid[uc_row],dw_pageretr.object.billid[uc_row],arg_msg,true)=0 then
  1098. messagebox('错误!',arg_msg,stopsign!,ok!)
  1099. ELSE
  1100. //日志
  1101. long ls_id
  1102. string ls_code
  1103. ls_id=dw_pageretr.object.billid[uc_row]
  1104. ls_code=dw_pageretr.object.billcode[uc_row]
  1105. f_setsysoplog('客户积分换礼品单','删除,ID:'+string(LS_id)+',code:'+ls_code,arg_msg,true)
  1106. //--
  1107. MESSAGEBOX('提示','删除单据'+string(dw_pageretr.object.billcode[uc_row])+'成功!',information!,ok!)
  1108. dw_pageretr.deleterow(uc_row)
  1109. dw_pageretr.postevent(rowfocuschanged!)
  1110. end if
  1111. end event
  1112. type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_cust_exchange
  1113. end type
  1114. event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  1115. string menustr
  1116. menustr="Text=增加备注~tEvent=ue_addzy"
  1117. menustr=menustr + "|" + "Text=复制单据~tEvent=ue_copy"
  1118. menustr=menustr + "|" + "Text=粘贴单据~tEvent=ue_paste"
  1119. menustr = menustr + "|" + "Text=-"
  1120. menustr = menustr + "|" + "Text=查看附件~tEvent=ue_fj_view"
  1121. menustr = menustr + "|" + "Text=添加附件~tEvent=ue_fj_edit"
  1122. if len(trim(menustr))<>0 then
  1123. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  1124. dmPopupMenu.mf_BuildMenu(This, menustr)
  1125. dmPopupMenu.mf_PopMenu()
  1126. Destroy dmPopupMenu
  1127. end if
  1128. end event
  1129. type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_cust_exchange
  1130. end type
  1131. event cb_auditing::clicked;IF NOT f_power_ind(959) THEN
  1132. MessageBox('提示','你没有使用权限!',information!,ok!)
  1133. RETURN
  1134. END IF
  1135. IF dw_edit_mode THEN RETURN
  1136. IF NOT KeyDown(KeyControl!) THEN
  1137. String arg_msg = ''
  1138. Long pagerert_row
  1139. pagerert_row = dw_pageretr.GetRow()
  1140. IF pagerert_row <= 0 THEN
  1141. MessageBox('提示','请选定当前目标单据!',information!,ok!)
  1142. RETURN
  1143. END IF
  1144. IF MessageBox ("询问","是否确定要审核当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1145. IF uo_ware.getinfo(dw_pageretr.Object.scid[pagerert_row],dw_pageretr.Object.billid[pagerert_row],arg_msg) = 0 THEN
  1146. MessageBox('错误',arg_msg,stopsign!,ok!)
  1147. RETURN
  1148. END IF
  1149. IF uo_ware.auditing(TRUE,arg_msg) = 0 THEN
  1150. MessageBox('错误',arg_msg,stopsign!,ok!)
  1151. ELSE
  1152. MessageBox('提示','审核成功!',information!,ok!)
  1153. wf_refresh_curuc(dw_pageretr.Object.scid[pagerert_row],dw_pageretr.Object.billid[pagerert_row])
  1154. END IF
  1155. ELSE
  1156. IF MessageBox ("询问","是否确定要批审核列表中未审核的单据?",Question!,YesNo! ) = 2 THEN RETURN
  1157. Long ll_i,ll_billid
  1158. Int li_flag
  1159. Long ll_suc,ll_fail
  1160. dw_pageretr.AcceptText()
  1161. OPEN(w_sys_wait_jdt) //初始化进度条
  1162. w_sys_wait_jdt.Show()
  1163. w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
  1164. FOR ll_i = 1 TO dw_pageretr.RowCount()
  1165. w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.billcode[ll_i] + " 正在审核..." //进度信息
  1166. li_flag = dw_pageretr.Object.flag[ll_i]
  1167. IF li_flag = 1 THEN CONTINUE
  1168. ll_billid = dw_pageretr.Object.billid[ll_i]
  1169. IF uo_ware.getinfo(cur_scid,ll_billid,arg_msg) = 0 THEN
  1170. ll_fail++
  1171. CONTINUE
  1172. END IF
  1173. IF uo_ware.auditing(TRUE,arg_msg) = 0 THEN
  1174. ll_fail++
  1175. CONTINUE
  1176. END IF
  1177. ll_suc++
  1178. w_sys_wait_jdt.wf_inc(ll_i) //进度
  1179. NEXT
  1180. CLOSE(w_sys_wait_jdt)
  1181. MessageBox('提示','批审核成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail),information!,ok!)
  1182. PARENT.TriggerEvent('retrieve_pageretr')
  1183. END IF
  1184. end event
  1185. type cb_xm from w_publ_1ton_share_detail`cb_xm within w_cust_exchange
  1186. end type
  1187. type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_cust_exchange
  1188. end type
  1189. type cb_xls from w_publ_1ton_share_detail`cb_xls within w_cust_exchange
  1190. end type
  1191. type cb_help from w_publ_1ton_share_detail`cb_help within w_cust_exchange
  1192. end type
  1193. type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_cust_exchange
  1194. end type
  1195. event cb_auditing_cancel::clicked;call super::clicked;IF NOT f_power_ind(960) THEN
  1196. MessageBox('提示','你没有使用权限!',information!,ok!)
  1197. RETURN
  1198. END IF
  1199. IF dw_edit_mode THEN RETURN
  1200. String arg_msg = ''
  1201. Long pagerert_row
  1202. pagerert_row = dw_pageretr.GetRow()
  1203. IF pagerert_row <= 0 THEN
  1204. MessageBox('提示','请选定当前目标单据!',information!,ok!)
  1205. RETURN
  1206. END IF
  1207. IF MessageBox ("询问","是否确定要撤消审核当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1208. IF uo_ware.getinfo(dw_pageretr.Object.scid[pagerert_row],dw_pageretr.Object.billid[pagerert_row],arg_msg) = 0 THEN
  1209. MessageBox('错误',arg_msg,stopsign!,ok!)
  1210. RETURN
  1211. END IF
  1212. IF uo_ware.c_auditing(TRUE,arg_msg) = 0 THEN
  1213. MessageBox('错误',arg_msg,stopsign!,ok!)
  1214. ELSE
  1215. MessageBox('提示','撤消审核成功!',information!,ok!)
  1216. //日志
  1217. String ls_code,ls_opemp,ls_outpart
  1218. ls_code = dw_pageretr.Object.billcode[pagerert_row]
  1219. ls_opemp = dw_pageretr.Object.opemp[pagerert_row]
  1220. ls_outpart = dw_pageretr.Object.part[pagerert_row]
  1221. f_setsysoplog('客户积分换礼品单','撤审'+',code:'+ls_code+',相关号码:'+ls_outpart+',建立人:'+ls_opemp,arg_msg,TRUE)
  1222. //--
  1223. wf_refresh_curuc(dw_pageretr.Object.scid[pagerert_row],dw_pageretr.Object.billid[pagerert_row])
  1224. END IF
  1225. end event
  1226. type p_msg from w_publ_1ton_share_detail`p_msg within w_cust_exchange
  1227. end type
  1228. type p_help from w_publ_1ton_share_detail`p_help within w_cust_exchange
  1229. end type
  1230. type p_encl from w_publ_1ton_share_detail`p_encl within w_cust_exchange
  1231. end type
  1232. type p_other from w_publ_1ton_share_detail`p_other within w_cust_exchange
  1233. end type
  1234. type gb_3 from w_publ_1ton_share_detail`gb_3 within w_cust_exchange
  1235. end type
  1236. type ln_bar from w_publ_1ton_share_detail`ln_bar within w_cust_exchange
  1237. integer beginx = 14
  1238. integer endx = 3616
  1239. end type
  1240. type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_cust_exchange
  1241. integer beginx = 14
  1242. integer endx = 3616
  1243. end type
  1244. type r_bar from w_publ_1ton_share_detail`r_bar within w_cust_exchange
  1245. end type
  1246. type ln_1 from w_publ_1ton_share_detail`ln_1 within w_cust_exchange
  1247. end type
  1248. type ln_2 from w_publ_1ton_share_detail`ln_2 within w_cust_exchange
  1249. end type
  1250. type ddlb_scid from uo_ddlb_scid within w_cust_exchange
  1251. integer x = 1001
  1252. integer y = 188
  1253. integer width = 549
  1254. integer height = 668
  1255. integer taborder = 20
  1256. boolean bringtotop = true
  1257. end type
  1258. event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid
  1259. parent.triggerevent("retrieve_pageretr")
  1260. end event
  1261. event constructor;call super::constructor;cur_scid=this.uo_scid
  1262. end event
  1263. type ddlb_status from dropdownlistbox within w_cust_exchange
  1264. integer x = 1787
  1265. integer y = 188
  1266. integer width = 517
  1267. integer height = 300
  1268. integer taborder = 30
  1269. boolean bringtotop = true
  1270. integer textsize = -9
  1271. integer weight = 400
  1272. fontcharset fontcharset = gb2312charset!
  1273. fontpitch fontpitch = variable!
  1274. string facename = "宋体"
  1275. long textcolor = 33554432
  1276. string text = "[全部]"
  1277. boolean sorted = false
  1278. string item[] = {"[全部]","待审核","已审核"}
  1279. borderstyle borderstyle = stylelowered!
  1280. end type
  1281. event selectionchanged;if index=1 then
  1282. cur_flag=-1
  1283. elseif index=2 then
  1284. cur_flag=0
  1285. elseif index=3 then
  1286. cur_flag=1
  1287. end if
  1288. parent.triggerevent('retrieve_pageretr')
  1289. end event
  1290. type st_3 from statictext within w_cust_exchange
  1291. integer x = 1618
  1292. integer y = 204
  1293. integer width = 219
  1294. integer height = 48
  1295. integer textsize = -9
  1296. integer weight = 400
  1297. fontcharset fontcharset = gb2312charset!
  1298. fontpitch fontpitch = variable!
  1299. string facename = "宋体"
  1300. long textcolor = 33554432
  1301. long backcolor = 134217739
  1302. string text = "状 态"
  1303. boolean focusrectangle = false
  1304. end type
  1305. type st_2 from statictext within w_cust_exchange
  1306. integer x = 827
  1307. integer y = 204
  1308. integer width = 219
  1309. integer height = 48
  1310. integer textsize = -9
  1311. integer weight = 400
  1312. fontcharset fontcharset = gb2312charset!
  1313. fontpitch fontpitch = variable!
  1314. string facename = "宋体"
  1315. long textcolor = 33554432
  1316. long backcolor = 134217739
  1317. string text = "分 部"
  1318. boolean focusrectangle = false
  1319. end type