w_outware_gj.srw 45 KB

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