w_assetdef_edit.srw 66 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590
  1. $PBExportHeader$w_assetdef_edit.srw
  2. forward
  3. global type w_assetdef_edit from w_publ_pageretr
  4. end type
  5. type cb_print from uo_imflatbutton within w_assetdef_edit
  6. end type
  7. type cb_retrieve from uo_imflatbutton within w_assetdef_edit
  8. end type
  9. type cb_addzy from uo_imflatbutton within w_assetdef_edit
  10. end type
  11. type cb_delet from uo_imflatbutton within w_assetdef_edit
  12. end type
  13. type cb_edit from uo_imflatbutton within w_assetdef_edit
  14. end type
  15. type cb_add from uo_imflatbutton within w_assetdef_edit
  16. end type
  17. type dw_uc from datawindow within w_assetdef_edit
  18. end type
  19. type cb_add_xm from uo_imflatbutton within w_assetdef_edit
  20. end type
  21. type cb_dele_xm from uo_imflatbutton within w_assetdef_edit
  22. end type
  23. type cb_showall from uo_imflatbutton within w_assetdef_edit
  24. end type
  25. type cb_auditing from uo_imflatbutton within w_assetdef_edit
  26. end type
  27. type dw_child from u_dw_rbtnfilter within w_assetdef_edit
  28. end type
  29. type cb_set_dft from uo_imflatbutton within w_assetdef_edit
  30. end type
  31. type st_dft from statictext within w_assetdef_edit
  32. end type
  33. type ddlb_1 from dropdownlistbox within w_assetdef_edit
  34. end type
  35. type st_2 from statictext within w_assetdef_edit
  36. end type
  37. type cb_credence from uo_imflatbutton within w_assetdef_edit
  38. end type
  39. type ln_1 from line within w_assetdef_edit
  40. end type
  41. type ln_2 from line within w_assetdef_edit
  42. end type
  43. type ln_3 from line within w_assetdef_edit
  44. end type
  45. type ln_4 from line within w_assetdef_edit
  46. end type
  47. type r_bar from rectangle within w_assetdef_edit
  48. end type
  49. end forward
  50. global type w_assetdef_edit from w_publ_pageretr
  51. integer width = 3611
  52. integer height = 2380
  53. string title = "固定资产增加"
  54. boolean maxbox = true
  55. windowstate windowstate = maximized!
  56. event retrieve_childdw ( )
  57. event retrieve_uc ( )
  58. event refresh_interface ( )
  59. event ue_f7 ( )
  60. event ue_f8 ( )
  61. event ue_f9 ( )
  62. event ue_f10 ( )
  63. event ue_f6 ( )
  64. event ue_f11 ( )
  65. event ue_f12 ( )
  66. event ue_setdft ( )
  67. event ue_canceldft ( )
  68. event ue_copy ( )
  69. event ue_view_cred ( )
  70. cb_print cb_print
  71. cb_retrieve cb_retrieve
  72. cb_addzy cb_addzy
  73. cb_delet cb_delet
  74. cb_edit cb_edit
  75. cb_add cb_add
  76. dw_uc dw_uc
  77. cb_add_xm cb_add_xm
  78. cb_dele_xm cb_dele_xm
  79. cb_showall cb_showall
  80. cb_auditing cb_auditing
  81. dw_child dw_child
  82. cb_set_dft cb_set_dft
  83. st_dft st_dft
  84. ddlb_1 ddlb_1
  85. st_2 st_2
  86. cb_credence cb_credence
  87. ln_1 ln_1
  88. ln_2 ln_2
  89. ln_3 ln_3
  90. ln_4 ln_4
  91. r_bar r_bar
  92. end type
  93. global w_assetdef_edit w_assetdef_edit
  94. type variables
  95. Int child_column_int = 1,uc_column_int = 1
  96. uo_asset uo_asset_in
  97. Boolean if_credence = FALSE
  98. Boolean if_mod_init = FALSE
  99. Int cur_editfocus = 0 //0:非编缉,1:新建,2:修改
  100. Long new_assetcardid = 0
  101. Decimal old_rawvalue,old_usedvalue
  102. Long old_credid //固定资产原对应凭证ID
  103. Long new_credid //固定资产新对应凭证ID
  104. uo_credence uo_cred
  105. Boolean if_dft = FALSE
  106. s_assetcard s_dft
  107. Int cur_clearflag = 0
  108. end variables
  109. forward prototypes
  110. public function integer wf_refresh_interface ()
  111. public function integer wf_lock_child ()
  112. public function integer wf_no_edit ()
  113. public function integer wf_lock_uc ()
  114. public function integer wf_del_credence ()
  115. public subroutine wf_refresh_depr ()
  116. public function integer wf_refresh_curuc (long arg_assetcardid)
  117. end prototypes
  118. event retrieve_childdw;long row,uc_relid
  119. row=dw_pageretr.getrow()
  120. if row>0 then
  121. uc_relid=dw_pageretr.object.assetcardid[row]
  122. dw_child.SetRedraw (false)
  123. dw_child.retrieve(sys_accsetid,uc_relid)
  124. dw_child.SetRedraw (true)
  125. else
  126. dw_child.reset()
  127. end if
  128. end event
  129. event refresh_interface();//被 wf_refresh_interface() 调用,用于界面刷新
  130. //IF sys_accsetbegin THEN
  131. // cb_credence.Enabled = dw_edit_mode
  132. //ELSE
  133. // cb_credence.Enabled = FALSE
  134. //END IF
  135. sle_usual_query.Enabled = NOT dw_edit_mode
  136. ddlb_1.Enabled = NOT dw_edit_mode
  137. end event
  138. event ue_f7;//cb_add_xm.triggerevent(clicked!)
  139. end event
  140. event ue_f8;////用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用
  141. //long child_row
  142. //if child_row=0 then
  143. // messagebox('系统提示','请选定目标明细行!')
  144. // return
  145. //end if
  146. //
  147. //s_edit_index_tran s_ch_tran //传递参数使用
  148. //s_ch_tran.if_retrieve_all=false //是否一次RETRIEVE所有行
  149. //s_ch_tran.work_mode=1 //0-单纯编辑模式 1-选择\编辑模式
  150. //s_ch_tran.arg_pkid=0 //目标定位PKID (备用)
  151. ////查询列(物料编码)部分内容,用于初步筛选
  152. //s_ch_tran.arg_string_code=trim(dw_child.object.u_mtrldef_mtrlcode[child_row])
  153. //
  154. //OPENwithparm(W_materiel,s_ch_tran) //调用
  155. //
  156. //S_materiel S_INSCUST
  157. //S_INSCUST=Message.PowerObjectParm //接受返回结构
  158. //IF S_INSCUST.mtrlid>0 THEN //正常返回值则可以取以下值
  159. //
  160. //dw_child.object.u_mtrldef_mtrlcode[child_row]
  161. //dw_child.object.u_mtrldef_unit[child_row]
  162. //dw_child.object.u_wasterinwaremx_mtrlid[child_row]
  163. //dw_child.object.u_wasterinwaremx_planprice[child_row]
  164. //dw_child.object.u_mtrldef_mtrlname[child_row]
  165. //
  166. ////S_INSCUST.mtrlid
  167. ////S_INSCUST.mtrlname
  168. ////S_INSCUST.mtrlcode
  169. ////S_INSCUST.unit
  170. ////S_INSCUST.mtrltype
  171. ////S_INSCUST.mtrlmode
  172. ////S_INSCUST.planprice
  173. //
  174. ////S_INSCUST.storageid
  175. ////S_INSCUST.cost
  176. ////S_INSCUST.price
  177. ////S_INSCUST.descrp
  178. ////S_INSCUST.source
  179. //END IF
  180. //
  181. end event
  182. event ue_setdft();if dw_edit_mode then return
  183. long uc_row
  184. uc_row = dw_pageretr.GetRow()
  185. IF uc_row <= 0 THEN
  186. MessageBox('系统提示','请选定当前固定资产!')
  187. RETURN
  188. END IF
  189. s_dft.assetcardcode = dw_uc.object.assetcardcode[uc_row]
  190. s_dft.assetcardname = dw_uc.object.assetcardname[uc_row]
  191. s_dft.assetypeid = dw_uc.object.assetypeid[uc_row]
  192. s_dft.spectype = dw_uc.object.spectype[uc_row]
  193. s_dft.deptid = dw_uc.object.deptid[uc_row]
  194. s_dft.incrdecrid = dw_uc.object.incrdecrid[uc_row]
  195. s_dft.usedtypeid = dw_uc.object.usedtypeid[uc_row]
  196. s_dft.rawvalue = dw_uc.object.rawvalue[uc_row]
  197. s_dft.usedvalue = dw_uc.object.usedvalue[uc_row]
  198. s_dft.startdate = dw_uc.object.startdate[uc_row]
  199. s_dft.remainrate = dw_uc.object.remainrate[uc_row]
  200. s_dft.remainvalue = dw_uc.object.remainvalue[uc_row]
  201. s_dft.deprediateid = dw_uc.object.deprediateid[uc_row]
  202. s_dft.workload = dw_uc.object.workload[uc_row]
  203. s_dft.usedall = dw_uc.object.usedall[uc_row]
  204. s_dft.unit = dw_uc.object.unit[uc_row]
  205. s_dft.subid = dw_uc.object.subid[uc_row]
  206. s_dft.location = dw_uc.object.location[uc_row]
  207. s_dft.dscrp = dw_uc.object.dscrp[uc_row]
  208. s_dft.othersubid = dw_uc.object.othersubid[uc_row]
  209. s_dft.assetsubid = dw_uc.object.assetsubid[uc_row]
  210. s_dft.deprsubid = dw_uc.object.deprsubid[uc_row]
  211. s_dft.deprrate = dw_uc.object.deprrate[uc_row]
  212. s_dft.deprvalue = dw_uc.object.deprvalue[uc_row]
  213. st_dft.text = '默认'
  214. if_dft = true
  215. end event
  216. event ue_canceldft;if_dft = false
  217. st_dft.text = ''
  218. end event
  219. event ue_copy;IF NOT sys_power_issuper THEN
  220. MessageBox('系统提示','不是帐套管理员,不能复制')
  221. RETURN
  222. END IF
  223. IF sys_accsetbegin THEN
  224. MessageBox('系统提示','帐套已启用,不能复制')
  225. RETURN
  226. END IF
  227. String msg
  228. msg = '注意:复制科目功能会将原帐套的所有固定资产删除,再加入要新的固定资产! ~n'
  229. msg = msg + '请确认帐套没有数据,是否确定要复制吗?'
  230. IF MessageBox ("IF",msg,Question!,YesNo! ) = 2 THEN RETURN
  231. OpenWithParm(w_accset_ch,sys_accsetid)
  232. Long ll_accsetid
  233. ll_accsetid = Message.DoubleParm
  234. IF ll_accsetid <= 0 THEN RETURN
  235. Long ll_copy_curyear,ll_copy_curmon,ll_yearmon
  236. SELECT curryear,currmon
  237. INTO :ll_copy_curyear,:ll_copy_curmon
  238. FROM cw_accset Where accsetid = :ll_accsetid;
  239. IF sqlca.SQLCode <> 0 THEN
  240. MessageBox('系统提示','查询复制帐套当前会计期间失败,原因:'+sqlca.SQLErrText)
  241. ROLLBACK;
  242. RETURN
  243. END IF
  244. ll_yearmon = ll_copy_curyear * 100 + ll_copy_curmon
  245. DELETE FROM cw_assettype Where accsetid = :sys_accsetid;
  246. IF sqlca.SQLCode <> 0 THEN
  247. MessageBox('系统提示','删除帐套原固定资产类别失败,原因:'+sqlca.SQLErrText)
  248. ROLLBACK;
  249. RETURN
  250. END IF
  251. INSERT INTO cw_assettype(
  252. accsetid,
  253. assettypeid,
  254. assettypename,
  255. deprediateid,
  256. remainrate)
  257. SELECT :sys_accsetid,
  258. assettypeid,
  259. assettypename,
  260. deprediateid,
  261. remainrate
  262. FROM cw_assettype Where accsetid = :ll_accsetid;
  263. IF sqlca.SQLCode <> 0 THEN
  264. MessageBox('系统提示','复制帐套固定资产类别失败,原因:'+sqlca.SQLErrText)
  265. ROLLBACK;
  266. RETURN
  267. END IF
  268. ///////////////////////////////////////////////////////////////////////////////////////////////
  269. DELETE FROM cw_usedtype Where accsetid = :sys_accsetid;
  270. IF sqlca.SQLCode <> 0 THEN
  271. MessageBox('系统提示','删除帐套原固定资产使用状况失败,原因:'+sqlca.SQLErrText)
  272. ROLLBACK;
  273. RETURN
  274. END IF
  275. INSERT INTO cw_usedtype(
  276. accsetid,
  277. usedtypeid,
  278. usedtypename,
  279. depr)
  280. SELECT :sys_accsetid,
  281. usedtypeid,
  282. usedtypename,
  283. depr
  284. FROM cw_usedtype Where accsetid = :ll_accsetid;
  285. IF sqlca.SQLCode <> 0 THEN
  286. MessageBox('系统提示','复制帐套固定资产使用状况失败,原因:'+sqlca.SQLErrText)
  287. ROLLBACK;
  288. RETURN
  289. END IF
  290. //////////////////////////////////////////////////
  291. DELETE FROM cw_incrdecr Where accsetid = :sys_accsetid;
  292. IF sqlca.SQLCode <> 0 THEN
  293. MessageBox('系统提示','删除帐套原固定资产增减方式失败,原因:'+sqlca.SQLErrText)
  294. ROLLBACK;
  295. RETURN
  296. END IF
  297. INSERT INTO cw_incrdecr(
  298. accsetid,
  299. incrdecrid,
  300. incrdecrname,
  301. incrordecr,
  302. subid)
  303. SELECT :sys_accsetid,
  304. incrdecrid,
  305. incrdecrname,
  306. incrordecr,
  307. subid
  308. FROM cw_incrdecr Where accsetid = :ll_accsetid;
  309. IF sqlca.SQLCode <> 0 THEN
  310. MessageBox('系统提示','复制帐套固定资产增减方式失败,原因:'+sqlca.SQLErrText)
  311. ROLLBACK;
  312. RETURN
  313. END IF
  314. //////////////////////////////////////////////////////////////
  315. DELETE FROM cw_assetcard Where accsetid = :sys_accsetid;
  316. IF sqlca.SQLCode <> 0 THEN
  317. MessageBox('系统提示','删除帐套原固定资产失败,原因:'+sqlca.SQLErrText)
  318. ROLLBACK;
  319. RETURN
  320. END IF
  321. IF ll_yearmon = 0 THEN
  322. INSERT INTO cw_assetcard(
  323. accsetid,
  324. assetcardid,
  325. assetcardcode,
  326. assetcardname,
  327. spectype,
  328. assetypeid,
  329. deptid,
  330. incrdecrid,
  331. location,
  332. usedtypeid,
  333. deprediateid,
  334. startdate,
  335. workload,
  336. usedall,
  337. unit,
  338. rawvalue,
  339. usedvalue,
  340. usedvalueago,
  341. remainrate,
  342. remainvalue,
  343. deprrate,
  344. deprvalue,
  345. subid,
  346. Initflag,
  347. clearflag)
  348. SELECT :sys_accsetid,
  349. cw_assetcard.assetcardid,
  350. cw_assetcard.assetcardcode,
  351. cw_assetcard.assetcardname,
  352. cw_assetcard.spectype,
  353. cw_assetcard.assetypeid,
  354. cw_assetcard.deptid,
  355. cw_assetcard.incrdecrid,
  356. cw_assetcard.location,
  357. cw_assetcard.usedtypeid,
  358. cw_assetcard.deprediateid,
  359. cw_assetcard.startdate,
  360. cw_assetcard.workload, //预计使用月份
  361. cw_assetcard.usedall, //已计月份
  362. cw_assetcard.unit,
  363. cw_assetcard.rawvalue, //原值
  364. cw_assetcard.usedvalue, //累计折旧
  365. cw_assetcard.usedvalueago,
  366. cw_assetcard.remainrate,
  367. cw_assetcard.remainvalue,
  368. cw_assetcard.deprrate, //折旧率
  369. cw_assetcard.deprvalue,//折旧额
  370. cw_assetcard.subid,
  371. 1,
  372. cw_assetcard.clearflag
  373. FROM cw_assetcard
  374. Where cw_assetcard.accsetid = :ll_accsetid;
  375. ELSE
  376. INSERT INTO cw_assetcard(
  377. accsetid,
  378. assetcardid,
  379. assetcardcode,
  380. assetcardname,
  381. spectype,
  382. assetypeid,
  383. deptid,
  384. incrdecrid,
  385. location,
  386. usedtypeid,
  387. deprediateid,
  388. startdate,
  389. workload,
  390. usedall,
  391. unit,
  392. rawvalue,
  393. usedvalue,
  394. usedvalueago,
  395. remainrate,
  396. remainvalue,
  397. deprrate,
  398. deprvalue,
  399. subid,
  400. Initflag,
  401. clearflag)
  402. SELECT :sys_accsetid,
  403. cw_assetcard.assetcardid,
  404. cw_assetcard.assetcardcode,
  405. cw_assetcard.assetcardname,
  406. cw_assetcard.spectype,
  407. cw_assetcard.assetypeid,
  408. cw_assetcard.deptid,
  409. cw_assetcard.incrdecrid,
  410. cw_assetcard.location,
  411. cw_assetcard.usedtypeid,
  412. cw_assetcard.deprediateid,
  413. cw_assetcard.startdate,
  414. cw_assetcard.workload + cw_assetcard.usedall - cw_astbalance.totalwl, //预计使用月份
  415. cw_astbalance.totalwl, //已计月份
  416. cw_assetcard.unit,
  417. cw_assetcard.rawvalue, //原值
  418. cw_astbalance.bdprcredit, //累计折旧
  419. cw_assetcard.usedvalueago,
  420. cw_assetcard.remainrate,
  421. cw_assetcard.remainvalue,
  422. case when cw_assetcard.workload + cw_assetcard.usedall - cw_astbalance.totalwl < 0 then 0 else cw_assetcard.deprrate END , //折旧率
  423. case when cw_assetcard.workload + cw_assetcard.usedall - cw_astbalance.totalwl < 0 then 0 else cw_assetcard.deprvalue END ,//折旧额
  424. cw_assetcard.subid,
  425. 1,
  426. cw_assetcard.clearflag
  427. FROM cw_assetcard,cw_astbalance
  428. WHERE cw_assetcard.accsetid = cw_astbalance.accsetid
  429. AND cw_assetcard.assetcardid = cw_astbalance.assetcardid
  430. AND cw_astbalance.yearmon = :ll_yearmon
  431. AND cw_astbalance.accsetid = :ll_accsetid;
  432. END IF
  433. IF sqlca.SQLCode <> 0 THEN
  434. MessageBox('系统提示','复制帐套固定资产失败,原因:'+sqlca.SQLErrText)
  435. ROLLBACK;
  436. RETURN
  437. END IF
  438. //////////////////////////////////////////////////////////////////////////
  439. DELETE FROM cw_attachast Where accsetid = :sys_accsetid;
  440. IF sqlca.SQLCode <> 0 THEN
  441. MessageBox('系统提示','删除帐套原固定资产附属设备失败,原因:'+sqlca.SQLErrText)
  442. ROLLBACK;
  443. RETURN
  444. END IF
  445. INSERT INTO cw_attachast(
  446. accsetid,
  447. assetcardid,
  448. attachastname,
  449. spectype,
  450. unit,
  451. amount,
  452. sumcount,
  453. startdate,
  454. memo )
  455. SELECT :sys_accsetid,
  456. assetcardid,
  457. attachastname,
  458. spectype,
  459. unit,
  460. amount,
  461. sumcount,
  462. startdate,
  463. memo
  464. FROM cw_attachast Where accsetid = :ll_accsetid;
  465. IF sqlca.SQLCode <> 0 THEN
  466. MessageBox('系统提示','复制帐套固定资产附属设备失败,原因:'+sqlca.SQLErrText)
  467. ROLLBACK;
  468. RETURN
  469. END IF
  470. ///////////////////////////////////////////////////////////////////
  471. COMMIT;
  472. MessageBox('系统提示','复制成功')
  473. THIS.TriggerEvent('retrieve_pageretr')
  474. end event
  475. event ue_view_cred;IF dw_edit_mode THEN
  476. MessageBox('系统提示','编辑状态下此功能不可用!')
  477. RETURN
  478. END IF
  479. Long uc_row,ll_assetcardid,ll_credid
  480. uc_row = dw_pageretr.GetRow()
  481. IF uc_row <= 0 THEN
  482. MessageBox('系统提示','请选定当前固定资产!')
  483. RETURN
  484. END IF
  485. ll_assetcardid = dw_pageretr.object.assetcardid[uc_row]
  486. SELECT credid
  487. INTO :ll_credid
  488. FROM cw_credence
  489. WHERE relevantbillid = :ll_assetcardid
  490. AND readtype = 200
  491. AND accsetid = :sys_accsetid;
  492. IF sqlca.sqlcode <> 0 THEN
  493. MessageBox('系统提示','查询当前固定资产对应凭证失败!')
  494. RETURN
  495. END IF
  496. s_edit_index_tran s_tran_open //翻页功能窗口 传递参数使用
  497. s_tran_open.if_retrieve_all = TRUE //是否一次RETRIEVE所有行
  498. s_tran_open.work_mode = 0 //0-单纯编辑模式, 1-选择模式
  499. s_tran_open.arg_pkid = 0 //目标定位PKID (备用)
  500. s_tran_open.arg_string_code = '' //查询列部分内容,用于初步筛选
  501. s_tran_open.e_long = ll_credid
  502. OpenWithParm(w_credence_edit,s_tran_open)
  503. end event
  504. public function integer wf_refresh_interface ();//wf_refresh_interface
  505. IF dw_edit_mode THEN
  506. cb_add_xm.Enabled = TRUE
  507. cb_dele_xm.Enabled = TRUE
  508. cb_addzy.Enabled = FALSE
  509. cb_retrieve.Enabled = FALSE
  510. cb_delet.Enabled = FALSE
  511. cb_print.Enabled = FALSE
  512. cb_showall.Enabled = FALSE
  513. cb_auditing.Enabled = FALSE
  514. dw_pageretr.RBUTTON_FILTER_USE = FALSE //右键查询功能开关
  515. dw_pageretr.titleclick_sort_use = FALSE //单击标题排序功能开关
  516. cb_edit.Enabled = TRUE
  517. cb_add.Enabled = TRUE
  518. cb_edit.Text = "放弃&E"
  519. cb_add.Text = "保存&S"
  520. cb_edit.normalpicname = 'Undo.bmp'
  521. cb_add.normalpicname = 'Save.bmp'
  522. ELSE
  523. cb_add_xm.Enabled = FALSE
  524. cb_dele_xm.Enabled = FALSE
  525. cb_addzy.Enabled = TRUE
  526. cb_retrieve.Enabled = TRUE
  527. cb_delet.Enabled = TRUE
  528. cb_print.Enabled = TRUE
  529. cb_showall.Enabled = TRUE
  530. cb_auditing.Enabled = TRUE
  531. cb_add.Enabled = TRUE
  532. cb_edit.Enabled = TRUE
  533. dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关
  534. dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关
  535. cb_edit.Text = "修改&E"
  536. cb_add.Text = "新建&S"
  537. cb_edit.normalpicname = 'OPEN.bmp'
  538. cb_add.normalpicname = 'new.bmp'
  539. IF dw_pageretr.GetRow() <= 0 THEN
  540. cb_edit.Enabled = FALSE
  541. cb_delet.Enabled = FALSE
  542. cb_addzy.Enabled = FALSE
  543. cb_auditing.Enabled = FALSE
  544. END IF
  545. END IF
  546. IF retrieve_all OR dw_edit_mode THEN
  547. cb_nextpage.Enabled = FALSE
  548. cb_retrieveall.Enabled = FALSE
  549. em_pagerowno.Enabled = FALSE
  550. sle_usual_query.Enabled = FALSE
  551. ELSE
  552. cb_nextpage.Enabled = TRUE
  553. cb_retrieveall.Enabled = TRUE
  554. em_pagerowno.Enabled = TRUE
  555. sle_usual_query.Enabled = TRUE
  556. END IF
  557. wf_lock_child()
  558. wf_lock_uc()
  559. cb_edit.of_init_draw()
  560. cb_add.of_init_draw()
  561. cb_edit.of_paint()
  562. cb_add.of_paint()
  563. cb_add.TriggerEvent('ue_textchange')
  564. cb_edit.TriggerEvent('ue_textchange')
  565. THIS.TriggerEvent('refresh_interface')
  566. RETURN 1
  567. end function
  568. public function integer wf_lock_child ();//wf_lock_child
  569. INT LS_INT
  570. IF dw_edit_mode THEN
  571. FOR LS_INT=1 TO child_column_int
  572. dw_child.SetTabOrder (LS_INT,LS_INT*10 )
  573. NEXT
  574. ELSE
  575. FOR LS_INT=1 TO child_column_int
  576. dw_child.SetTabOrder (LS_INT, 0)
  577. NEXT
  578. END IF
  579. RETURN 1
  580. end function
  581. public function integer wf_no_edit ();//wf_no_edit
  582. IF dw_edit_mode THEN
  583. cb_edit.Enabled = TRUE
  584. ELSE
  585. cb_edit.Enabled = FALSE
  586. END IF
  587. RETURN 1
  588. end function
  589. public function integer wf_lock_uc ();//wf_lock_uc
  590. INT LS_INT
  591. long ls_row
  592. ls_row=dw_uc.getrow()
  593. IF dw_edit_mode THEN
  594. FOR LS_INT=1 TO uc_column_int
  595. dw_uc.SetTabOrder (LS_INT,LS_INT*10 )
  596. NEXT
  597. ELSE
  598. FOR LS_INT=1 TO uc_column_int
  599. dw_uc.SetTabOrder (LS_INT, 0)
  600. NEXT
  601. END IF
  602. if ls_row>0 then dw_uc.setrow(ls_row)
  603. RETURN 1
  604. end function
  605. public function integer wf_del_credence ();//wf_del_credence()
  606. long ls_subaccsetid,ls_credid
  607. int ls_postflag
  608. string arg_msg
  609. uo_credence uo_asset_credence
  610. uo_asset_credence=create uo_credence
  611. if uo_asset_credence.get_asset_credinfo(200,new_assetcardid,ls_subaccsetid,ls_credid,ls_postflag,arg_msg)=0 then
  612. messagebox(publ_operator,arg_msg)
  613. return 0
  614. end if
  615. if uo_asset_credence.del(1,ls_subaccsetid,ls_credid,arg_msg,true)=0 then
  616. messagebox(publ_operator,arg_msg)
  617. return 0
  618. end if
  619. destroy uo_asset_credence
  620. return 1
  621. end function
  622. public subroutine wf_refresh_depr ();Long li_row
  623. Decimal ls_rawvalue,ls_remainvalue,ls_remainrate,ls_usedvalue
  624. Long ls_workload
  625. li_row = dw_uc.GetRow()
  626. IF li_row <= 0 THEN RETURN
  627. dw_uc.AcceptText()
  628. dw_uc.SetRedraw(FALSE)
  629. IF dw_uc.GetColumnName ( ) = 'remainrate' OR dw_uc.GetColumnName ( ) = 'rawvalue' OR dw_uc.GetColumnName ( ) = 'usedvalue' THEN
  630. ls_remainrate = dw_uc.Object.remainrate[li_row]
  631. ls_rawvalue = dw_uc.Object.rawvalue[li_row]
  632. ls_workload = dw_uc.Object.workload[li_row]
  633. ls_usedvalue = dw_uc.Object.usedvalue[li_row]
  634. ls_remainvalue = Round(ls_rawvalue * ls_remainrate/100,2)
  635. dw_uc.Object.remainvalue[li_row] = ls_remainvalue
  636. IF ls_workload <> 0 THEN
  637. CHOOSE CASE dw_uc.Object.deprediateid[li_row]
  638. CASE 3,0
  639. dw_uc.Object.deprrate[li_row] = 0
  640. dw_uc.Object.deprvalue[li_row] = 0
  641. CASE 1
  642. IF ls_workload > 0 THEN
  643. IF ls_rawvalue = 0 THEN
  644. dw_uc.Object.deprrate[li_row] = 0
  645. dw_uc.Object.deprvalue[li_row] = 0
  646. ELSE
  647. dw_uc.Object.deprrate[li_row] = (ls_rawvalue - ls_usedvalue - ls_remainvalue) * 100/(ls_rawvalue * ls_workload)
  648. dw_uc.Object.deprvalue[li_row] = (ls_rawvalue - ls_usedvalue - ls_remainvalue)/ls_workload
  649. END IF
  650. ELSE
  651. dw_uc.Object.deprrate[li_row] = 0
  652. dw_uc.Object.deprvalue[li_row] = 0
  653. END IF
  654. END CHOOSE
  655. END IF
  656. ELSEIF dw_uc.GetColumnName ( ) = 'remainvalue' THEN
  657. ls_remainvalue = dw_uc.Object.remainvalue[li_row]
  658. ls_rawvalue = dw_uc.Object.rawvalue[li_row]
  659. ls_workload = dw_uc.Object.workload[li_row]
  660. ls_usedvalue = dw_uc.Object.usedvalue[li_row]
  661. IF ls_rawvalue = 0 THEN
  662. dw_uc.Object.remainrate[li_row] = 0
  663. ELSE
  664. dw_uc.Object.remainrate[li_row] = Round(ls_remainvalue * 100/ls_rawvalue,4)
  665. END IF
  666. IF ls_workload <> 0 THEN
  667. CHOOSE CASE dw_uc.Object.deprediateid[li_row]
  668. CASE 3,0
  669. dw_uc.Object.deprrate[li_row] = 0
  670. dw_uc.Object.deprvalue[li_row] = 0
  671. CASE 1
  672. IF ls_workload > 0 THEN
  673. IF ls_rawvalue = 0 THEN
  674. dw_uc.Object.deprrate[li_row] = 0
  675. dw_uc.Object.deprvalue[li_row] = 0
  676. ELSE
  677. dw_uc.Object.deprrate[li_row] = (ls_rawvalue - ls_usedvalue - ls_remainvalue) * 100/(ls_rawvalue * ls_workload)
  678. dw_uc.Object.deprvalue[li_row] = (ls_rawvalue - ls_usedvalue - ls_remainvalue)/ls_workload
  679. END IF
  680. ELSE
  681. dw_uc.Object.deprrate[li_row] = 0
  682. dw_uc.Object.deprvalue[li_row] = 0
  683. END IF
  684. END CHOOSE
  685. END IF
  686. ELSEIF dw_uc.GetColumnName() = 'workload' THEN
  687. ls_remainvalue = dw_uc.Object.remainvalue[li_row]
  688. ls_rawvalue = dw_uc.Object.rawvalue[li_row]
  689. ls_workload = dw_uc.Object.workload[li_row]
  690. ls_usedvalue = dw_uc.Object.usedvalue[li_row]
  691. IF ls_workload <> 0 THEN
  692. CHOOSE CASE dw_uc.Object.deprediateid[li_row]
  693. CASE 3,0
  694. dw_uc.Object.deprrate[li_row] = 0
  695. dw_uc.Object.deprvalue[li_row] = 0
  696. CASE 1
  697. IF ls_workload > 0 THEN
  698. IF ls_rawvalue = 0 THEN
  699. dw_uc.Object.deprrate[li_row] = 0
  700. dw_uc.Object.deprvalue[li_row] = 0
  701. ELSE
  702. dw_uc.Object.deprrate[li_row] = (ls_rawvalue - ls_usedvalue - ls_remainvalue) * 100/(ls_rawvalue * ls_workload)
  703. dw_uc.Object.deprvalue[li_row] = (ls_rawvalue - ls_usedvalue - ls_remainvalue)/ls_workload
  704. END IF
  705. ELSE
  706. dw_uc.Object.deprrate[li_row] = 0
  707. dw_uc.Object.deprvalue[li_row] = 0
  708. END IF
  709. END CHOOSE
  710. END IF
  711. ELSEIF dw_uc.GetColumnName() = 'deprediateid' THEN
  712. ls_remainvalue = dw_uc.Object.remainvalue[li_row]
  713. ls_rawvalue = dw_uc.Object.rawvalue[li_row]
  714. ls_workload = dw_uc.Object.workload[li_row]
  715. ls_usedvalue = dw_uc.Object.usedvalue[li_row]
  716. IF ls_rawvalue = 0 THEN
  717. dw_uc.Object.remainrate[li_row] = 0
  718. ELSE
  719. dw_uc.Object.remainrate[li_row] = Round(ls_remainvalue * 100/ls_rawvalue,4)
  720. END IF
  721. IF ls_workload <> 0 THEN
  722. CHOOSE CASE dw_uc.Object.deprediateid[li_row]
  723. CASE 3,0
  724. dw_uc.Object.deprrate[li_row] = 0
  725. dw_uc.Object.deprvalue[li_row] = 0
  726. CASE 1
  727. IF ls_workload > 0 THEN
  728. IF ls_rawvalue = 0 THEN
  729. dw_uc.Object.deprrate[li_row] = 0
  730. dw_uc.Object.deprvalue[li_row] = 0
  731. ELSE
  732. dw_uc.Object.deprrate[li_row] = (ls_rawvalue - ls_usedvalue - ls_remainvalue) * 100/(ls_rawvalue * ls_workload)
  733. dw_uc.Object.deprvalue[li_row] = (ls_rawvalue - ls_usedvalue - ls_remainvalue)/ls_workload
  734. END IF
  735. ELSE
  736. dw_uc.Object.deprrate[li_row] = 0
  737. dw_uc.Object.deprvalue[li_row] = 0
  738. END IF
  739. END CHOOSE
  740. END IF
  741. END IF
  742. dw_uc.SetRedraw(TRUE)
  743. end subroutine
  744. public function integer wf_refresh_curuc (long arg_assetcardid);//wf_refresh_curuc
  745. IF arg_assetcardid <= 0 OR IsNull(arg_assetcardid) THEN RETURN 0
  746. Long uc_row
  747. Int initflag
  748. Long ll_credid
  749. String ls_assetcardcode
  750. String ls_assetcardname
  751. Long ll_assetypeid
  752. String ls_spectype
  753. Long ll_deptid
  754. Long ll_incrdecrid
  755. String ls_subid
  756. String ls_location
  757. String ls_dscrp
  758. String ls_othersubid
  759. uc_row = dw_uc.GetRow()
  760. IF uc_row <= 0 THEN RETURN 0
  761. SELECT cw_assetcard.initflag ,
  762. cw_assetcard.credid,
  763. cw_assetcard.assetcardcode,
  764. cw_assetcard.assetcardname,
  765. cw_assetcard.assetypeid,
  766. cw_assetcard.spectype,
  767. cw_assetcard.deptid,
  768. cw_assetcard.incrdecrid,
  769. cw_assetcard.subid,
  770. cw_assetcard.location,
  771. cw_assetcard.dscrp,
  772. cw_assetcard.othersubid
  773. INTO :initflag,
  774. :ll_credid,
  775. :ls_assetcardcode,
  776. :ls_assetcardname,
  777. :ll_assetypeid,
  778. :ls_spectype,
  779. :ll_deptid,
  780. :ll_incrdecrid,
  781. :ls_subid,
  782. :ls_location,
  783. :ls_dscrp,
  784. :ls_othersubid
  785. FROM cw_assetcard
  786. WHERE accsetid = :sys_accsetid
  787. AND assetcardid = :arg_assetcardid;
  788. IF sqlca.SQLCode <> 0 THEN
  789. MessageBox(publ_operator,'查询固定资产失败')
  790. RETURN 0
  791. END IF
  792. dw_uc.Object.assetcardid[uc_row] = arg_assetcardid
  793. dw_uc.Object.credid[uc_row] = ll_credid
  794. dw_uc.Object.initflag[uc_row] = initflag
  795. dw_uc.Object.assetcardcode[uc_row] = ls_assetcardcode
  796. dw_uc.Object.assetcardname[uc_row] = ls_assetcardname
  797. dw_uc.Object.assetypeid[uc_row] = ll_assetypeid
  798. dw_uc.Object.spectype[uc_row] = ls_spectype
  799. dw_uc.Object.deptid[uc_row] = ll_deptid
  800. dw_uc.Object.incrdecrid[uc_row] = ll_incrdecrid
  801. dw_uc.Object.subid[uc_row] = ls_subid
  802. dw_uc.Object.location[uc_row] = ls_location
  803. dw_uc.Object.dscrp[uc_row] = ls_dscrp
  804. dw_uc.Object.othersubid[uc_row] = ls_othersubid
  805. dw_uc.ResetUpdate()
  806. dw_uc.SetRedraw(TRUE)
  807. RETURN 1
  808. end function
  809. on w_assetdef_edit.create
  810. int iCurrent
  811. call super::create
  812. this.cb_print=create cb_print
  813. this.cb_retrieve=create cb_retrieve
  814. this.cb_addzy=create cb_addzy
  815. this.cb_delet=create cb_delet
  816. this.cb_edit=create cb_edit
  817. this.cb_add=create cb_add
  818. this.dw_uc=create dw_uc
  819. this.cb_add_xm=create cb_add_xm
  820. this.cb_dele_xm=create cb_dele_xm
  821. this.cb_showall=create cb_showall
  822. this.cb_auditing=create cb_auditing
  823. this.dw_child=create dw_child
  824. this.cb_set_dft=create cb_set_dft
  825. this.st_dft=create st_dft
  826. this.ddlb_1=create ddlb_1
  827. this.st_2=create st_2
  828. this.cb_credence=create cb_credence
  829. this.ln_1=create ln_1
  830. this.ln_2=create ln_2
  831. this.ln_3=create ln_3
  832. this.ln_4=create ln_4
  833. this.r_bar=create r_bar
  834. iCurrent=UpperBound(this.Control)
  835. this.Control[iCurrent+1]=this.cb_print
  836. this.Control[iCurrent+2]=this.cb_retrieve
  837. this.Control[iCurrent+3]=this.cb_addzy
  838. this.Control[iCurrent+4]=this.cb_delet
  839. this.Control[iCurrent+5]=this.cb_edit
  840. this.Control[iCurrent+6]=this.cb_add
  841. this.Control[iCurrent+7]=this.dw_uc
  842. this.Control[iCurrent+8]=this.cb_add_xm
  843. this.Control[iCurrent+9]=this.cb_dele_xm
  844. this.Control[iCurrent+10]=this.cb_showall
  845. this.Control[iCurrent+11]=this.cb_auditing
  846. this.Control[iCurrent+12]=this.dw_child
  847. this.Control[iCurrent+13]=this.cb_set_dft
  848. this.Control[iCurrent+14]=this.st_dft
  849. this.Control[iCurrent+15]=this.ddlb_1
  850. this.Control[iCurrent+16]=this.st_2
  851. this.Control[iCurrent+17]=this.cb_credence
  852. this.Control[iCurrent+18]=this.ln_1
  853. this.Control[iCurrent+19]=this.ln_2
  854. this.Control[iCurrent+20]=this.ln_3
  855. this.Control[iCurrent+21]=this.ln_4
  856. this.Control[iCurrent+22]=this.r_bar
  857. end on
  858. on w_assetdef_edit.destroy
  859. call super::destroy
  860. destroy(this.cb_print)
  861. destroy(this.cb_retrieve)
  862. destroy(this.cb_addzy)
  863. destroy(this.cb_delet)
  864. destroy(this.cb_edit)
  865. destroy(this.cb_add)
  866. destroy(this.dw_uc)
  867. destroy(this.cb_add_xm)
  868. destroy(this.cb_dele_xm)
  869. destroy(this.cb_showall)
  870. destroy(this.cb_auditing)
  871. destroy(this.dw_child)
  872. destroy(this.cb_set_dft)
  873. destroy(this.st_dft)
  874. destroy(this.ddlb_1)
  875. destroy(this.st_2)
  876. destroy(this.cb_credence)
  877. destroy(this.ln_1)
  878. destroy(this.ln_2)
  879. destroy(this.ln_3)
  880. destroy(this.ln_4)
  881. destroy(this.r_bar)
  882. end on
  883. event closequery;IF dw_edit_mode THEN
  884. Int ls_row = 0
  885. dw_UC.AcceptText()
  886. ls_row = dw_UC.GetNextModified(0, Primary!)+&
  887. dw_UC.GetNextModified(0, Filter!)+dw_UC.DeletedCount()
  888. IF ls_row > 0 THEN
  889. IF MessageBox('是否保存','单据数据已经改变,是否确定要放弃保存?',Question!,YesNo!,2 ) = 2 THEN
  890. RETURN 1
  891. END IF
  892. ELSE
  893. ls_row = dw_child.GetNextModified(0, Primary!)+&
  894. dw_child.GetNextModified(0, Filter!)+dw_child.DeletedCount()
  895. IF ls_row > 0 THEN
  896. IF MessageBox('是否保存','单据明细数据已经改变,是否确定要放弃保存?',Question!,YesNo!,2 ) = 2 THEN
  897. RETURN 1
  898. END IF
  899. END IF
  900. END IF
  901. END IF
  902. end event
  903. event user_key;call super::user_key;IF KeyDown(KeyF6!) THEN
  904. this.TRIGGEREVENT('ue_f6')
  905. ELSEIF KeyDown(KeyF7!) THEN
  906. this.TRIGGEREVENT('ue_f7')
  907. ELSEIF KeyDown(KeyF8!) or KeyDown(KeyShift!) and KeyDown(KeyEnter!) THEN
  908. this.TRIGGEREVENT('ue_f8')
  909. ELSEIF KeyDown(KeyF9!) THEN
  910. this.TRIGGEREVENT('ue_f9')
  911. ELSEIF KeyDown(KeyF10!) THEN
  912. this.TRIGGEREVENT('ue_f10')
  913. ELSEIF KeyDown(KeyF11!) THEN
  914. this.TRIGGEREVENT('ue_f11')
  915. ELSEIF KeyDown(KeyF12!) THEN
  916. this.TRIGGEREVENT('ue_f12')
  917. ELSEIF KeyDown(KeyF4!) THEN
  918. if cb_add.enabled then cb_add.TRIGGEREVENT(CLICKED!)
  919. ELSEIF KeyDown(KeyF5!) THEN
  920. if cb_edit.enabled then cb_edit.TRIGGEREVENT(CLICKED!)
  921. end if
  922. end event
  923. event open;THIS.TriggerEvent('ue_before_open')
  924. wf_movetocenter()
  925. OLD_TITLE = THIS.Title
  926. s_tran = Message.PowerObjectParm
  927. IF NOT IsNull(s_tran) THEN
  928. retrieve_all = s_tran.if_retrieve_all
  929. mode = s_tran.work_mode
  930. arg_pkid = s_tran.arg_pkid
  931. arg_string_code = s_tran.arg_string_code
  932. END IF
  933. //CHOOSE CASE MODE
  934. // CASE 0
  935. // THIS.TITLE=OLD_TITLE+' 编辑模式 [F4-新建/保存 F5-编辑/放弃]'
  936. // CASE 1
  937. // THIS.TITLE=OLD_TITLE+' 选择模式 [F4-新建/保存 F5-编辑/放弃]'
  938. //END CHOOSE
  939. dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关
  940. dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关
  941. dw_pageretr.SetTransObject (sqlca)
  942. //pkcolumndbtname=dw_pageretr.Describe("#1.dbname") //取第一列为关键字
  943. pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
  944. ori_oldselect = dw_pageretr.DESCRIBE("DataWindow.Table.Select")
  945. ls_newselect = ori_oldselect
  946. ds_curquery = CREATE DATASTORE
  947. ds_curquery.DataObject = 'd_extr_find'
  948. ds_curquery.SetTransObject (sqlca)
  949. //if mode=1 then cb_mode_itfchg.TRIGGEREVENT(CLICKED!)
  950. wf_editindex_lockf()
  951. sle_usual_query.Text = Trim(arg_string_code)
  952. IF NOT retrieve_all THEN
  953. THIS.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve
  954. ELSE
  955. IF if_sharedata THEN
  956. ds_share.ShareData(dw_pageretr)
  957. ELSE
  958. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  959. THIS.TriggerEvent('RETRIEVE_pageretr')
  960. END IF
  961. END IF
  962. IF retrieve_all THEN
  963. THIS.TriggerEvent("ue_usual_query_filt")
  964. END IF
  965. uc_column_int = 23 //uc dw前22列可以编辑
  966. child_column_int = 9 //子dw前9列可以编辑
  967. uo_asset_in = CREATE uo_asset
  968. uo_cred = CREATE uo_credence
  969. end event
  970. event ue_before_open;dw_child.SetTransObject(sqlca)
  971. dw_uc.SetTransObject(sqlca)
  972. dw_pageretr.SetTransObject(sqlca)
  973. //1.类别
  974. datawindowchild childdw_assetypeid,childdw_assetypeid_uc
  975. dw_pageretr.GetChild("assetypeid",childdw_assetypeid)
  976. dw_uc.GetChild("assetypeid",childdw_assetypeid_uc)
  977. childdw_assetypeid.SetTransObject (sqlca)
  978. childdw_assetypeid_uc.SetTransObject (sqlca)
  979. childdw_assetypeid.Retrieve(sys_accsetid)
  980. IF childdw_assetypeid.RowCount() <= 0 THEN
  981. childdw_assetypeid.InsertRow(0)
  982. END IF
  983. childdw_assetypeid.ShareData(childdw_assetypeid_uc)
  984. //2.部门
  985. datawindowchild childdw_deptid,childdw_deptid_uc
  986. dw_pageretr.GetChild("deptid",childdw_deptid)
  987. dw_uc.GetChild("deptid",childdw_deptid_uc)
  988. childdw_deptid.SetTransObject (sqlca)
  989. childdw_deptid_uc.SetTransObject (sqlca)
  990. IF sys_system_mode = -1 THEN
  991. childdw_deptid.Retrieve(sys_accsetid)
  992. ELSE
  993. childdw_deptid.Retrieve(-1)
  994. END IF
  995. IF childdw_deptid.RowCount() <= 0 THEN
  996. childdw_deptid.InsertRow(0)
  997. END IF
  998. childdw_deptid.ShareData(childdw_deptid_uc)
  999. //3.增减方式
  1000. datawindowchild childdw_incrdecrid,childdw_incrdecrid_uc
  1001. dw_pageretr.GetChild("incrdecrid",childdw_incrdecrid)
  1002. dw_uc.GetChild("incrdecrid",childdw_incrdecrid_uc)
  1003. childdw_incrdecrid.SetTransObject (sqlca)
  1004. childdw_incrdecrid_uc.SetTransObject (sqlca)
  1005. childdw_incrdecrid.Retrieve(sys_accsetid)
  1006. IF childdw_incrdecrid.RowCount() <= 0 THEN
  1007. childdw_incrdecrid.InsertRow(0)
  1008. END IF
  1009. childdw_incrdecrid.ShareData(childdw_incrdecrid_uc)
  1010. //4.使用状况
  1011. datawindowchild childdw_usedtypeid,childdw_usedtypeid_uc
  1012. dw_pageretr.GetChild("usedtypeid",childdw_usedtypeid)
  1013. dw_uc.GetChild("usedtypeid",childdw_usedtypeid_uc)
  1014. childdw_usedtypeid.SetTransObject (sqlca)
  1015. childdw_usedtypeid_uc.SetTransObject (sqlca)
  1016. childdw_usedtypeid.Retrieve(sys_accsetid)
  1017. IF childdw_usedtypeid.RowCount() <= 0 THEN
  1018. childdw_usedtypeid.InsertRow(0)
  1019. END IF
  1020. childdw_usedtypeid.ShareData(childdw_usedtypeid_uc)
  1021. // assetypeid
  1022. // deptid
  1023. // incrdecrid
  1024. // usedtypeid
  1025. end event
  1026. event retrieve_pageretr;Boolean cb_nextpage_enabled,cb_retrieveall_enabled
  1027. Boolean cb_func_enabled
  1028. cb_nextpage_enabled = cb_nextpage.Enabled
  1029. cb_retrieveall_enabled = cb_retrieveall.Enabled
  1030. cb_func_enabled = cb_func.Enabled
  1031. cb_nextpage.Enabled = FALSE
  1032. cb_retrieveall.Enabled = FALSE
  1033. cb_func.Enabled = FALSE
  1034. dw_pageretr.ShareDataOff()
  1035. dw_pageretr.Retrieve(sys_accsetid,cur_clearflag)
  1036. IF dw_pageretr.RowCount() > 0 AND dw_pageretr.GetRow() = 0 THEN dw_pageretr.SetRow(1)
  1037. dw_pageretr.ShareData(dw_uc)
  1038. THIS.TriggerEvent('retreve_childdw')
  1039. cb_nextpage.Enabled = cb_nextpage_enabled
  1040. cb_retrieveall.Enabled = cb_retrieveall_enabled
  1041. cb_func.Enabled = cb_func_enabled
  1042. end event
  1043. event key;this.triggerevent('user_key')
  1044. end event
  1045. event close;destroy uo_asset_in
  1046. destroy uo_cred
  1047. end event
  1048. event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
  1049. if trim(sle_usual_query.text)<>'' then
  1050. IF POS(trim(sle_usual_query.text),'%')=0 THEN
  1051. obj_expr=obj_expr+'( assetcardcode LIKE "%'+trim(sle_usual_query.text)+'%" )'
  1052. ELSE
  1053. obj_expr=obj_expr+'( assetcardcode LIKE "'+trim(sle_usual_query.text)+'" )'
  1054. END IF
  1055. end if
  1056. dw_pageretr.setfilter(obj_expr)
  1057. dw_pageretr.SetRedraw(False)
  1058. dw_pageretr.filter()
  1059. if dw_pageretr.rowcount()>=1 then
  1060. dw_pageretr.selectrow(0,false)
  1061. dw_pageretr.selectrow(1,true)
  1062. end if
  1063. dw_pageretr.SetRedraw(TRUE)
  1064. end event
  1065. event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
  1066. ls_newselect=lower(ori_oldselect)
  1067. if trim(sle_usual_query.text)<>'' then
  1068. if pos(trim(sle_usual_query.text),'%')=0 then
  1069. ls_querystrpart="(cw_assetcard.assetcardcode like '%"+trim(sle_usual_query.text)+"%')"
  1070. else
  1071. ls_querystrpart="(cw_assetcard.assetcardcode like '"+trim(sle_usual_query.text)+"')"
  1072. end if
  1073. if Pos(ls_newselect," where ") <> 0 then
  1074. ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
  1075. else
  1076. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  1077. end if
  1078. end if
  1079. //wf_retrieveuc(1) //注意必须有此句
  1080. end event
  1081. event ue_filter;OPENWITHPARM(w_filter_query,dw_uc)
  1082. STRING LS_EXPR
  1083. LS_EXPR=Message.StringParm
  1084. if len(LS_EXPR)>2 and trim(LS_EXPR)='' then return
  1085. dw_uc.setfilter(LS_EXPR)
  1086. dw_uc.SetRedraw (false)
  1087. dw_uc.filter()
  1088. dw_pageretr.triggerevent('ue_after_filter')
  1089. dw_uc.SetRedraw (true)
  1090. end event
  1091. event ue_sort;OPENwithparm(w_sortrow,dw_uc)
  1092. STRING LS_EXPR
  1093. LS_EXPR=Message.StringParm
  1094. IF ISNULL(LS_EXPR) THEN LS_EXPR=' '
  1095. if len(LS_EXPR)>2 and trim(LS_EXPR)='' then return
  1096. dw_uc.setsort(LS_EXPR)
  1097. dw_uc.SetRedraw (false)
  1098. dw_uc.sort()
  1099. dw_uc.SetRedraw (true)
  1100. end event
  1101. event resize;call super::resize;ln_3.EndX = This.Width
  1102. ln_4.EndX = This.Width
  1103. ln_1.EndX = This.Width
  1104. ln_2.EndX = This.Width
  1105. r_bar.Width = This.Width
  1106. Long w_width,w_height
  1107. w_width = 3600
  1108. w_height = 2300
  1109. IF newwidth < w_width THEN This.Width = w_width
  1110. IF newheight < w_height THEN This.Height = w_height
  1111. dw_pageretr.Width = This.Width - dw_pageretr.X - 50
  1112. dw_pageretr.Height = This.Height - dw_pageretr.Y - 150
  1113. dw_child.Height = This.Height - dw_child.Y - 150
  1114. end event
  1115. type cb_func from w_publ_pageretr`cb_func within w_assetdef_edit
  1116. integer x = 160
  1117. integer width = 160
  1118. integer height = 164
  1119. end type
  1120. type cb_exit from w_publ_pageretr`cb_exit within w_assetdef_edit
  1121. integer x = 2327
  1122. integer y = 0
  1123. integer width = 160
  1124. integer height = 164
  1125. integer taborder = 280
  1126. integer picsize = 16
  1127. toolbaralignment pic_align = alignattop!
  1128. boolean border = false
  1129. end type
  1130. type sle_usual_query from w_publ_pageretr`sle_usual_query within w_assetdef_edit
  1131. integer x = 215
  1132. integer y = 180
  1133. integer width = 462
  1134. boolean bringtotop = true
  1135. end type
  1136. type cb_retrieveall from w_publ_pageretr`cb_retrieveall within w_assetdef_edit
  1137. boolean visible = false
  1138. integer x = 3131
  1139. integer y = 172
  1140. integer width = 146
  1141. integer taborder = 240
  1142. end type
  1143. type em_pagerowno from w_publ_pageretr`em_pagerowno within w_assetdef_edit
  1144. boolean visible = false
  1145. integer x = 2647
  1146. integer y = 188
  1147. integer taborder = 220
  1148. boolean bringtotop = true
  1149. end type
  1150. type dw_pageretr from w_publ_pageretr`dw_pageretr within w_assetdef_edit
  1151. integer x = 2071
  1152. integer y = 288
  1153. integer width = 1477
  1154. integer height = 1860
  1155. boolean bringtotop = true
  1156. string title = "固定资产摘要内容"
  1157. string dataobject = "dw_assetdef_index"
  1158. end type
  1159. event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;DW_UC.SETROW(currentrow)
  1160. DW_UC.ScrollToRow (currentrow)
  1161. if not dw_edit_mode then parent.triggerevent('retrieve_childdw')
  1162. end event
  1163. event dw_pageretr::ue_after_filter;IF NOT dw_edit_mode THEN PARENT.TriggerEvent('retrieve_childdw')
  1164. end event
  1165. type st_1 from w_publ_pageretr`st_1 within w_assetdef_edit
  1166. integer y = 200
  1167. integer width = 215
  1168. string text = "编号含:"
  1169. alignment alignment = center!
  1170. end type
  1171. type cb_nextpage from w_publ_pageretr`cb_nextpage within w_assetdef_edit
  1172. boolean visible = false
  1173. integer x = 3291
  1174. integer y = 176
  1175. integer width = 146
  1176. integer taborder = 270
  1177. end type
  1178. type cb_print from uo_imflatbutton within w_assetdef_edit
  1179. integer x = 2053
  1180. integer width = 274
  1181. integer height = 164
  1182. integer taborder = 190
  1183. string text = "打印清单"
  1184. string normalpicname = "print.bmp"
  1185. integer picsize = 16
  1186. toolbaralignment pic_align = alignattop!
  1187. boolean border = false
  1188. end type
  1189. event clicked;open(w_rp_assetcard)
  1190. end event
  1191. type cb_retrieve from uo_imflatbutton within w_assetdef_edit
  1192. integer width = 160
  1193. integer height = 164
  1194. integer taborder = 160
  1195. string text = "刷新"
  1196. string normalpicname = "refresh.bmp"
  1197. integer picsize = 16
  1198. toolbaralignment pic_align = alignattop!
  1199. boolean border = false
  1200. end type
  1201. event clicked;parent.triggerevent('retrieve_pageretr')
  1202. end event
  1203. type cb_addzy from uo_imflatbutton within w_assetdef_edit
  1204. boolean visible = false
  1205. integer x = 3122
  1206. integer y = 28
  1207. integer width = 256
  1208. integer height = 112
  1209. integer taborder = 210
  1210. boolean bringtotop = true
  1211. string text = "补充备注"
  1212. end type
  1213. event clicked;//if dw_edit_mode then return
  1214. //
  1215. //string arg_msg='',LS_STR
  1216. //long uc_row
  1217. //s_inputbox S_SREU
  1218. //
  1219. //uc_row=dw_uc.getrow()
  1220. //if uc_row<=0 then
  1221. // messagebox('系统提示','请选定当前目标单据!')
  1222. // return
  1223. //end if
  1224. //S_SREU.TITLE='请输入要补充到备注的内容'
  1225. //S_SREU.OLD_TEXT=''
  1226. //openwithparm(w_inputbox,S_SREU)
  1227. //LS_STR=Message.StringParm
  1228. //if trim(LS_STR)='' or isnull(LS_STR) then return
  1229. //
  1230. //if uo_ware.getinfo(dw_uc.object.inwareid[uc_row],arg_msg)=0 then
  1231. // messagebox('Error!',arg_msg)
  1232. // return
  1233. //end if
  1234. //if uo_ware.add_dscrp(LS_STR,arg_msg)=0 then
  1235. // messagebox('Error!',arg_msg)
  1236. // return
  1237. //else
  1238. // messagebox(publ_operator,'添加备注操作成功!')
  1239. // wf_refresh_curuc(dw_uc.object.inwareid[uc_row])
  1240. //end if
  1241. //
  1242. end event
  1243. type cb_delet from uo_imflatbutton within w_assetdef_edit
  1244. integer x = 873
  1245. integer width = 160
  1246. integer height = 164
  1247. integer taborder = 200
  1248. string text = "删除"
  1249. string normalpicname = "delete.bmp"
  1250. integer picsize = 16
  1251. toolbaralignment pic_align = alignattop!
  1252. boolean border = false
  1253. end type
  1254. event clicked;IF Not (f_power_ind(1940,sys_msg_pow) or f_power_ind(1961,sys_msg_pow)) THEN
  1255. MessageBox(publ_operator,'你没有使用权限!')
  1256. RETURN
  1257. END IF
  1258. IF dw_edit_mode THEN RETURN
  1259. IF MessageBox ("IF","是否确定要删除当前固定资产吗?",Question!,YesNo! ) = 2 THEN RETURN
  1260. String arg_msg = ''
  1261. Long uc_row,cnt
  1262. Long ls_assetcardid
  1263. Long ls_credid
  1264. Int ls_postflag
  1265. uc_row = dw_pageretr.GetRow()
  1266. IF uc_row <= 0 THEN
  1267. MessageBox('系统提示','请选定当前固定资产!')
  1268. RETURN
  1269. END IF
  1270. ls_assetcardid = dw_uc.Object.assetcardid[uc_row]
  1271. ////检查对应凭证是否已登帐
  1272. //IF dw_uc.Object.initflag[uc_row] = 0 THEN
  1273. // IF uo_cred.get_asset_credinfo(200,ls_assetcardid,0,ls_credid,ls_postflag,arg_msg) = 0 THEN
  1274. // IF sys_power_issuper AND sys_option_super_del_asset = 1 THEN
  1275. // GOTO del_
  1276. // END IF
  1277. //
  1278. // MessageBox(publ_operator,arg_msg)
  1279. // RETURN
  1280. // END IF
  1281. //
  1282. //
  1283. // IF ls_postflag = 1 THEN
  1284. // MessageBox(publ_operator,'该固定资产对应的记帐凭证已登帐,不能被删除!')
  1285. // RETURN
  1286. // END IF
  1287. //
  1288. // //删除旧凭证
  1289. // IF uo_cred.del(1,0,ls_credid,arg_msg,FALSE) = 0 THEN
  1290. // MessageBox(publ_operator,arg_msg)
  1291. // RETURN
  1292. // END IF
  1293. //END IF
  1294. //del_:
  1295. //检查是否已计提折旧
  1296. SELECT count(*) INTO :cnt FROM cw_astbalance
  1297. WHERE accsetid = :sys_accsetid
  1298. AND assetcardid = :ls_assetcardid
  1299. and yearmon <> :sys_curyearmon;
  1300. IF sqlca.SQLCode <> 0 THEN
  1301. MessageBox(publ_operator,'查询固定资产失败,不能被删除!')
  1302. RETURN
  1303. END IF
  1304. IF cnt > 0 THEN
  1305. MessageBox(publ_operator,'该固定资产已计提折旧,不能被删除!')
  1306. RETURN
  1307. END IF
  1308. ///////////////
  1309. IF uo_asset_in.del(dw_uc.Object.assetcardid[uc_row],arg_msg,TRUE) = 0 THEN
  1310. MessageBox('Error!',arg_msg)
  1311. ELSE
  1312. MessageBox(publ_operator,'删除固定资产'+String(dw_uc.Object.assetcardcode[uc_row])+'成功!')
  1313. dw_uc.DeleteRow(uc_row)
  1314. dw_uc.PostEvent(RowFocusChanged!)
  1315. END IF
  1316. end event
  1317. type cb_edit from uo_imflatbutton within w_assetdef_edit
  1318. integer x = 681
  1319. integer width = 192
  1320. integer height = 164
  1321. integer taborder = 60
  1322. string text = "修改&E"
  1323. string normalpicname = "open.bmp"
  1324. integer picsize = 16
  1325. toolbaralignment pic_align = alignattop!
  1326. boolean border = false
  1327. end type
  1328. event clicked;IF Not (f_power_ind(1940,sys_msg_pow) or f_power_ind(1961,sys_msg_pow)) THEN
  1329. MessageBox(publ_operator,'你没有使用权限!')
  1330. RETURN
  1331. END IF
  1332. String arg_msg = ''
  1333. Long uc_row
  1334. Boolean if_postedit = FALSE
  1335. Long ls_credid
  1336. Int ls_postflag
  1337. uc_row = dw_pageretr.GetRow()
  1338. IF uc_row <= 0 THEN
  1339. MessageBox('系统提示','请选定当前目标固定资产!')
  1340. RETURN
  1341. END IF
  1342. IF NOT dw_edit_mode THEN
  1343. IF sys_accsetbegin THEN
  1344. Long ll_assetcardid
  1345. dw_uc.AcceptText()
  1346. ll_assetcardid = dw_uc.Object.assetcardid[uc_row]
  1347. IF NOT IsValid(w_assetdef_mod) THEN
  1348. OpenWithParm(w_assetdef_mod,ll_assetcardid)
  1349. wf_refresh_curuc(ll_assetcardid)
  1350. RETURN
  1351. END IF
  1352. IF dw_pageretr.Object.initflag[uc_row] = 1 THEN
  1353. if_mod_init = TRUE
  1354. ELSE
  1355. // IF uo_cred.get_asset_credinfo(200,Long(dw_uc.Object.assetcardid[uc_row]),0,ls_credid,ls_postflag,arg_msg) = 0 THEN
  1356. // MessageBox(publ_operator,arg_msg)
  1357. // RETURN
  1358. // END IF
  1359. //
  1360. // old_credid = ls_credid
  1361. //
  1362. // IF ls_postflag = 1 THEN
  1363. // IF MessageBox ("IF","该固定资产对应的记帐凭证已登帐,或已计提折旧,有关的折旧要素将不能修改,是否继续?",Question!,YesNo! ) = 2 THEN
  1364. // RETURN
  1365. // ELSE
  1366. // if_postedit = TRUE
  1367. // END IF
  1368. // END IF
  1369. END IF
  1370. END IF
  1371. IF uo_asset_in.updatebegin(dw_uc.Object.assetcardid[uc_row],arg_msg) = 0 THEN
  1372. MessageBox('Error!',arg_msg)
  1373. RETURN
  1374. END IF
  1375. old_rawvalue = dw_uc.GetItemDecimal ( uc_row, 'rawvalue')
  1376. old_usedvalue = dw_uc.GetItemDecimal ( uc_row, 'usedvalue')
  1377. ELSE
  1378. IF MessageBox ("IF","是否确定要放弃保存当前单据?",Question!,YesNo! ) = 2 THEN RETURN
  1379. // //如果放弃删除凭证
  1380. // IF sys_accsetbegin AND new_assetcardid <> 0 THEN
  1381. // IF uo_cred.del(1,0,new_credid,arg_msg,TRUE) = 0 THEN
  1382. // MessageBox(publ_operator,'不能放弃保存,原因:'+arg_msg)
  1383. // RETURN
  1384. // END IF
  1385. // END IF
  1386. // //
  1387. END IF
  1388. dw_edit_mode = NOT dw_edit_mode
  1389. wf_refresh_interface()
  1390. IF dw_edit_mode THEN
  1391. cur_editfocus = 2
  1392. dw_uc.SetFocus()
  1393. ELSE
  1394. PARENT.TriggerEvent('retrieve_pageretr')
  1395. cur_editfocus = 0
  1396. new_assetcardid = 0
  1397. old_credid = 0
  1398. new_credid = 0
  1399. if_credence = FALSE
  1400. if_mod_init = FALSE
  1401. END IF
  1402. end event
  1403. type cb_add from uo_imflatbutton within w_assetdef_edit
  1404. integer x = 489
  1405. integer width = 192
  1406. integer height = 164
  1407. integer taborder = 50
  1408. string text = "新建&S"
  1409. string normalpicname = "new.bmp"
  1410. integer picsize = 16
  1411. toolbaralignment pic_align = alignattop!
  1412. boolean border = false
  1413. end type
  1414. event clicked;IF Not (f_power_ind(1940,sys_msg_pow) or f_power_ind(1961,sys_msg_pow)) THEN
  1415. MessageBox(publ_operator,'你没有使用权限!')
  1416. RETURN
  1417. END IF
  1418. String arg_msg = ''
  1419. Long uc_row,pagerert_row
  1420. Long relid_pageretr,reld_uc
  1421. Long i
  1422. IF dw_edit_mode THEN
  1423. uc_row = dw_uc.GetRow()
  1424. IF uc_row <= 0 THEN
  1425. MessageBox('系统提示','请选定当前目标固定资产!')
  1426. RETURN
  1427. END IF
  1428. dw_uc.AcceptText()
  1429. dw_child.AcceptText()
  1430. IF Trim(dw_uc.Object.assetcardcode[uc_row]) = '' THEN
  1431. MessageBox('系统提示','请输入固定资产编号!')
  1432. dw_uc.SetFocus()
  1433. dw_uc.SetColumn('assetcardcode')
  1434. RETURN
  1435. END IF
  1436. IF Trim(dw_uc.Object.assetcardname[uc_row]) = '' THEN
  1437. MessageBox('系统提示','请输入固定资产名称!')
  1438. dw_uc.SetFocus()
  1439. dw_uc.SetColumn('assetcardname')
  1440. RETURN
  1441. END IF
  1442. IF Trim(dw_uc.Object.assetsubid[uc_row]) = '' THEN
  1443. MessageBox('系统提示','请输入固定资产科目!')
  1444. dw_uc.SetFocus()
  1445. dw_uc.SetColumn('assetsubid')
  1446. RETURN
  1447. END IF
  1448. IF Trim(dw_uc.Object.deprsubid[uc_row]) = '' THEN
  1449. MessageBox('系统提示','请输入累计折旧科目!')
  1450. dw_uc.SetFocus()
  1451. dw_uc.SetColumn('deprsubid')
  1452. RETURN
  1453. END IF
  1454. uo_asset_in.assetcardid = dw_uc.Object.assetcardid[uc_row]
  1455. uo_asset_in.assetcardcode = Trim(dw_uc.Object.assetcardcode[uc_row])
  1456. uo_asset_in.assetcardname = Trim(dw_uc.Object.assetcardname[uc_row])
  1457. uo_asset_in.spectype = dw_uc.Object.spectype[uc_row]
  1458. uo_asset_in.assetypeid = dw_uc.Object.assetypeid[uc_row]
  1459. uo_asset_in.deptid = dw_uc.Object.deptid[uc_row]
  1460. uo_asset_in.incrdecrid = dw_uc.Object.incrdecrid[uc_row]
  1461. uo_asset_in.Location = dw_uc.Object.Location[uc_row]
  1462. uo_asset_in.usedtypeid = dw_uc.Object.usedtypeid[uc_row]
  1463. uo_asset_in.deprediateid = dw_uc.Object.deprediateid[uc_row]
  1464. uo_asset_in.startdate = dw_uc.Object.startdate[uc_row]
  1465. uo_asset_in.workload = dw_uc.Object.workload[uc_row]
  1466. uo_asset_in.usedall = dw_uc.Object.usedall[uc_row]
  1467. uo_asset_in.unit = dw_uc.Object.unit[uc_row]
  1468. uo_asset_in.rawvalue = dw_uc.Object.rawvalue[uc_row]
  1469. uo_asset_in.usedvalue = dw_uc.Object.usedvalue[uc_row]
  1470. uo_asset_in.remainrate = dw_uc.Object.remainrate[uc_row]
  1471. uo_asset_in.remainvalue = dw_uc.Object.remainvalue[uc_row]
  1472. uo_asset_in.deprrate = dw_uc.Object.deprrate[uc_row]
  1473. uo_asset_in.deprvalue = dw_uc.Object.deprvalue[uc_row]
  1474. uo_asset_in.subid = Trim(dw_uc.Object.subid[uc_row])
  1475. uo_asset_in.dscrp = Trim(dw_uc.Object.dscrp[uc_row])
  1476. uo_asset_in.othersubid = Trim(dw_uc.Object.othersubid[uc_row])
  1477. uo_asset_in.assetsubid = Trim(dw_uc.Object.assetsubid[uc_row])
  1478. uo_asset_in.deprsubid = Trim(dw_uc.Object.deprsubid[uc_row])
  1479. dw_uc.Object.credid[uc_row] = new_credid
  1480. dw_uc.AcceptText()
  1481. uo_asset_in.credid = dw_uc.Object.credid[uc_row]
  1482. FOR i = 1 To dw_child.RowCount()
  1483. IF Trim(dw_child.Object.attachastname[i]) <> '' THEN
  1484. IF uo_asset_in.acceptmx(dw_child.Object.attachastname[i],&
  1485. dw_child.Object.spectype[i],&
  1486. dw_child.Object.unit[i],&
  1487. dw_child.Object.amount[i],&
  1488. dw_child.Object.sumcount[i],&
  1489. dw_child.Object.startdate[i],&
  1490. dw_child.Object.memo[i],&
  1491. arg_msg) = 0 THEN
  1492. MessageBox('error!',arg_msg)
  1493. RETURN
  1494. END IF
  1495. END IF
  1496. NEXT
  1497. //是否要建立记帐凭证,已启用帐套不建凭证
  1498. IF sys_accsetbegin THEN //已启用帐套
  1499. uo_asset_in.initflag = 0 //不是初始化固定资产
  1500. IF uo_asset_in.Save(new_assetcardid,arg_msg,True) = 0 THEN
  1501. MessageBox('error!',arg_msg)
  1502. RETURN
  1503. END IF
  1504. // IF cur_editfocus = 1 THEN //新建
  1505. // IF NOT if_credence THEN
  1506. // MessageBox (publ_operator,"相应的记帐凭证还没有完成,请先单击'记帐凭证'将其完成")
  1507. // RETURN
  1508. // END IF
  1509. //
  1510. // uo_asset_in.initflag = 0 //不是初始化固定资产
  1511. // IF uo_asset_in.Save(new_assetcardid,arg_msg,TRUE) = 0 THEN
  1512. // MessageBox('error!',arg_msg)
  1513. // RETURN
  1514. // END IF
  1515. // ELSEIF cur_editfocus = 2 THEN //修改
  1516. // IF NOT if_credence AND (old_rawvalue <> dw_uc.Object.rawvalue[uc_row] OR old_usedvalue <> dw_uc.Object.usedvalue[uc_row]) THEN
  1517. // MessageBox (publ_operator,"资料已修改,相应的记帐凭证还没有完成,请先单击'记帐凭证'将其完成")
  1518. // RETURN
  1519. // END IF
  1520. //
  1521. // //删除旧凭证
  1522. // IF NOT if_mod_init THEN
  1523. // IF new_credid > 0 THEN
  1524. // IF uo_cred.del(1,0,old_credid,arg_msg,FALSE) = 0 THEN
  1525. // MessageBox(publ_operator,arg_msg)
  1526. // RETURN
  1527. // END IF
  1528. // END IF
  1529. //
  1530. // IF uo_asset_in.Save(new_assetcardid,arg_msg,TRUE) = 0 THEN
  1531. // MessageBox(publ_operator,arg_msg)
  1532. // RETURN
  1533. // END IF
  1534. // ELSE
  1535. // IF uo_asset_in.Save(dw_uc.Object.assetcardid[uc_row],arg_msg,TRUE) = 0 THEN
  1536. // MessageBox(publ_operator,arg_msg)
  1537. // RETURN
  1538. // END IF
  1539. // END IF
  1540. // END IF
  1541. MessageBox(publ_operator,'保存操作成功!')
  1542. ELSE //未启用帐套可以不建相应凭证
  1543. uo_asset_in.initflag = 1 //初始化固定资产
  1544. new_assetcardid = 0
  1545. IF uo_asset_in.Save(new_assetcardid,arg_msg,True) = 0 THEN
  1546. MessageBox(publ_operator,arg_msg)
  1547. RETURN
  1548. END IF
  1549. MessageBox(publ_operator,'保存操作成功!')
  1550. END IF
  1551. dw_pageretr.SelectRow(0,False)
  1552. dw_pageretr.SelectRow(uc_row,True)
  1553. wf_refresh_curuc(uo_asset_in.assetcardid) //刷新uc
  1554. ELSE
  1555. IF uo_asset_in.newbegin() = 0 THEN
  1556. MessageBox('error!','error!')
  1557. RETURN
  1558. END IF
  1559. END IF
  1560. IF Not dw_edit_mode THEN
  1561. Int li_row, li_cur_row
  1562. li_cur_row = dw_pageretr.GetRow()
  1563. li_row = dw_pageretr.InsertRow (li_cur_row)
  1564. dw_pageretr.ScrollToRow (li_row)
  1565. dw_child.Reset()
  1566. dw_uc.SetFocus()
  1567. END IF
  1568. dw_edit_mode = Not dw_edit_mode
  1569. wf_refresh_interface()
  1570. IF dw_edit_mode THEN
  1571. cur_editfocus = 1
  1572. ELSE
  1573. cur_editfocus = 0
  1574. if_mod_init = False
  1575. if_credence = False
  1576. new_assetcardid = 0
  1577. new_credid = 0
  1578. old_credid = 0
  1579. END IF
  1580. IF dw_edit_mode THEN
  1581. //加dft
  1582. IF if_dft THEN
  1583. dw_uc.SetRedraw(False)
  1584. dw_uc.Object.assetcardcode[li_row] = s_dft.assetcardcode
  1585. dw_uc.Object.assetcardname[li_row] = s_dft.assetcardname
  1586. dw_uc.Object.assetypeid[li_row] = s_dft.assetypeid
  1587. dw_uc.Object.spectype[li_row] = s_dft.spectype
  1588. dw_uc.Object.deptid[li_row] = s_dft.deptid
  1589. dw_uc.Object.incrdecrid[li_row] = s_dft.incrdecrid
  1590. dw_uc.Object.usedtypeid[li_row] = s_dft.usedtypeid
  1591. dw_uc.Object.rawvalue[li_row] = s_dft.rawvalue
  1592. dw_uc.Object.usedvalue[li_row] = s_dft.usedvalue
  1593. dw_uc.Object.startdate[li_row] = s_dft.startdate
  1594. dw_uc.Object.remainrate[li_row] = s_dft.remainrate
  1595. dw_uc.Object.remainvalue[li_row] = s_dft.remainvalue
  1596. dw_uc.Object.deprediateid[li_row] = s_dft.deprediateid
  1597. dw_uc.Object.workload[li_row] = s_dft.workload
  1598. dw_uc.Object.usedall[li_row] = s_dft.usedall
  1599. dw_uc.Object.unit[li_row] = s_dft.unit
  1600. dw_uc.Object.subid[li_row] = s_dft.subid
  1601. dw_uc.Object.Location[li_row] = s_dft.Location
  1602. dw_uc.Object.dscrp[li_row] = s_dft.dscrp
  1603. dw_uc.Object.othersubid[li_row] = s_dft.othersubid
  1604. dw_uc.Object.assetsubid[li_row] = s_dft.assetsubid
  1605. dw_uc.Object.deprsubid[li_row] = s_dft.deprsubid
  1606. dw_uc.Object.deprrate[li_row] = s_dft.deprrate
  1607. dw_uc.Object.deprvalue[li_row] = s_dft.deprvalue
  1608. dw_uc.SetColumn('assetcardcode')
  1609. dw_uc.SetRedraw(True)
  1610. END IF
  1611. //
  1612. END IF
  1613. //string assetcardcode //固定资产编号
  1614. //string assetcardname//固定资产名称
  1615. //string spectype//规格型号
  1616. //long assetypeid//固定资产类别
  1617. //long deptid//所属部门
  1618. //long incrdecrid//增减方式
  1619. //string location//存放位置
  1620. //long usedtypeid//使用状况
  1621. //long deprediateid//折旧方法
  1622. //datetime startdate//入帐日期
  1623. //long workload//预计使用月份
  1624. //long usedall//已计提月份
  1625. //string unit//工作量单位
  1626. //decimal rawvalue//入帐原值
  1627. //decimal usedvalue//累计折旧
  1628. //decimal remainrate//预计残值率
  1629. //decimal remainvalue//预计剩残值
  1630. //decimal deprrate//月折旧率
  1631. //decimal deprvalue//月折旧额
  1632. //string subid //对应折旧科目
  1633. end event
  1634. type dw_uc from datawindow within w_assetdef_edit
  1635. event dwnkey pbm_dwnkey
  1636. integer y = 288
  1637. integer width = 2071
  1638. integer height = 1384
  1639. integer taborder = 90
  1640. string dataobject = "dw_assetdef_edit"
  1641. boolean border = false
  1642. boolean livescroll = true
  1643. end type
  1644. event dwnkey;parent.triggerevent('user_key')
  1645. if key = KeyDownArrow! then return 1
  1646. If key = KeyEnter! Then //
  1647. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1648. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1649. Return 1
  1650. End If
  1651. end event
  1652. event rowfocuschanged;
  1653. IF not dw_edit_mode then
  1654. if currentrow >0 THEN
  1655. dw_pageretr.SETROW(currentrow)
  1656. dw_pageretr.ScrollToRow(currentrow)
  1657. dw_pageretr.selectrow(0,false)
  1658. dw_pageretr.selectrow(currentrow,true)
  1659. end if
  1660. // parent.triggerevent('retrieve_childdw')
  1661. end if
  1662. //if currentrow>0 and not dw_edit_mode then
  1663. // if dw_uc.object.flag[currentrow]=1 then
  1664. // cb_auditing.enabled=false
  1665. // cb_delet.enabled=false
  1666. // cb_edit.enabled=false
  1667. // cb_addzy.enabled=true
  1668. // else
  1669. // cb_auditing.enabled=true
  1670. // cb_delet.enabled=true
  1671. // cb_edit.enabled=true
  1672. // cb_addzy.enabled=false
  1673. // end if
  1674. //else
  1675. // cb_auditing.enabled=false
  1676. // cb_delet.enabled=false
  1677. // cb_edit.enabled=false
  1678. // cb_addzy.enabled=false
  1679. //end if
  1680. end event
  1681. event rowfocuschanging;if dw_edit_mode then return 1
  1682. end event
  1683. event itemchanged;if not dw_edit_mode then return
  1684. wf_refresh_depr()
  1685. //deprrate
  1686. //deprvalue
  1687. end event
  1688. event buttonclicked;IF NOT dw_edit_mode THEN RETURN
  1689. Long uc_row
  1690. s_subject s_rt_subject
  1691. uc_row = dw_uc.GetRow()
  1692. IF uc_row <= 0 THEN
  1693. MessageBox('系统提示','请选定当前目标固定资产!')
  1694. RETURN
  1695. END IF
  1696. OPEN(w_subjectdef_edit)
  1697. s_rt_subject = Message.PowerObjectParm
  1698. IF s_rt_subject.subid = '' THEN RETURN
  1699. IF dwo.Name = 'btn_subid' THEN
  1700. dw_uc.SetRedraw(FALSE)
  1701. dw_uc.Object.subid[uc_row] = s_rt_subject.subid
  1702. dw_uc.SetRedraw(TRUE)
  1703. dw_uc.SetColumn('location')
  1704. ELSEIF dwo.Name = 'btn_othersubid' THEN
  1705. dw_uc.SetRedraw(FALSE)
  1706. dw_uc.Object.othersubid[uc_row] = s_rt_subject.subid
  1707. dw_uc.SetRedraw(TRUE)
  1708. dw_uc.SetColumn('location')
  1709. ELSEIF dwo.Name = 'btn_assetsubid' THEN
  1710. dw_uc.SetRedraw(FALSE)
  1711. dw_uc.Object.assetsubid[uc_row] = s_rt_subject.subid
  1712. dw_uc.SetRedraw(TRUE)
  1713. dw_uc.SetColumn('location')
  1714. ELSEIF dwo.Name = 'btn_deprsubid' THEN
  1715. dw_uc.SetRedraw(FALSE)
  1716. dw_uc.Object.deprsubid[uc_row] = s_rt_subject.subid
  1717. dw_uc.SetRedraw(TRUE)
  1718. dw_uc.SetColumn('location')
  1719. END IF
  1720. end event
  1721. type cb_add_xm from uo_imflatbutton within w_assetdef_edit
  1722. integer x = 1033
  1723. integer width = 407
  1724. integer height = 164
  1725. integer taborder = 70
  1726. boolean enabled = false
  1727. string text = "增附属设备F8"
  1728. string normalpicname = "mx.bmp"
  1729. integer picsize = 16
  1730. toolbaralignment pic_align = alignattop!
  1731. boolean border = false
  1732. end type
  1733. event clicked;int li_row_1, li_cur_row_1
  1734. //li_cur_row_1 = dw_child.GetRow()
  1735. //li_row_1 = dw_child.InsertRow (li_cur_row_1)
  1736. li_row_1 = dw_child.InsertRow (0)
  1737. dw_child.selectrow(0,false)
  1738. dw_child.ScrollToRow (li_row_1)
  1739. dw_child.selectrow(li_row_1,true)
  1740. dw_child.setcolumn("attachastname")
  1741. //parent.triggerevent('ue_f8')
  1742. dw_child.SetFocus()
  1743. end event
  1744. type cb_dele_xm from uo_imflatbutton within w_assetdef_edit
  1745. integer x = 1440
  1746. integer width = 334
  1747. integer height = 164
  1748. integer taborder = 80
  1749. boolean enabled = false
  1750. string text = "删附属设备"
  1751. string normalpicname = "mx1.bmp"
  1752. integer picsize = 16
  1753. toolbaralignment pic_align = alignattop!
  1754. boolean border = false
  1755. end type
  1756. event clicked;IF MessageBox ("IF","是否确定要删除当前细目记录?",Question!,YesNo! ) = 2 THEN RETURN
  1757. IF dw_child.GETROW()=0 THEN
  1758. MESSAGEBOX('NO','请选择删除的行对象!')
  1759. RETURN
  1760. END IF
  1761. dw_child.DeleteRow (0)
  1762. dw_child.TriggerEvent (rowfocuschanged!)
  1763. end event
  1764. type cb_showall from uo_imflatbutton within w_assetdef_edit
  1765. integer x = 320
  1766. integer width = 160
  1767. integer height = 164
  1768. integer taborder = 180
  1769. string text = "所有"
  1770. string normalpicname = "p2.bmp"
  1771. integer picsize = 16
  1772. toolbaralignment pic_align = alignattop!
  1773. boolean border = false
  1774. end type
  1775. event clicked;dw_uc.setfilter('')
  1776. dw_uc.SetRedraw (false)
  1777. dw_uc.filter()
  1778. dw_uc.SetRedraw (true)
  1779. end event
  1780. type cb_auditing from uo_imflatbutton within w_assetdef_edit
  1781. boolean visible = false
  1782. integer x = 2949
  1783. integer y = 28
  1784. integer width = 160
  1785. integer height = 112
  1786. integer taborder = 230
  1787. boolean bringtotop = true
  1788. string text = "审核"
  1789. end type
  1790. event clicked;//if dw_edit_mode then return
  1791. //
  1792. //string arg_msg=''
  1793. //long pagerert_row
  1794. //
  1795. //pagerert_row=dw_uc.getrow()
  1796. //if pagerert_row<=0 then
  1797. // messagebox('系统提示','请选定当前目标单据!')
  1798. // return
  1799. //end if
  1800. //if uo_ware.getinfo(dw_uc.object.inwareid[pagerert_row],arg_msg)=0 then
  1801. // messagebox('Error!',arg_msg)
  1802. // return
  1803. //end if
  1804. //
  1805. //if uo_ware.auditing(publ_operator,arg_msg)=0 then
  1806. // messagebox('Error!',arg_msg)
  1807. //ELSE
  1808. // messagebox(publ_operator,'审核成功!')
  1809. // wf_refresh_curuc(dw_uc.object.inwareid[pagerert_row])
  1810. //end if
  1811. end event
  1812. type dw_child from u_dw_rbtnfilter within w_assetdef_edit
  1813. event dwnkey pbm_dwnkey
  1814. integer y = 1688
  1815. integer width = 2071
  1816. integer height = 460
  1817. integer taborder = 30
  1818. boolean bringtotop = true
  1819. boolean titlebar = true
  1820. string title = "附属设备"
  1821. string dataobject = "dw_assetdef_mx"
  1822. boolean maxbox = true
  1823. boolean hscrollbar = true
  1824. boolean vscrollbar = true
  1825. boolean resizable = true
  1826. boolean hsplitscroll = true
  1827. borderstyle borderstyle = stylebox!
  1828. end type
  1829. event dwnkey;//If key = KeyEnter! Then //
  1830. // keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1831. // keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1832. // return 1
  1833. //End If
  1834. //parent.triggerevent('user_key')
  1835. parent.triggerevent('user_key')
  1836. if dw_edit_mode then
  1837. if keydown(Keydownarrow!) Then
  1838. long li_row
  1839. if dw_child.getrow()=dw_child.rowcount() then
  1840. cb_add_xm.triggerevent(clicked!)
  1841. end if
  1842. else
  1843. if (keydown(KeyEnter!) or keydown(KeyTab!)) and not keydown(KeyControl!) then
  1844. if dw_child.GetColumnName( )='memo' and dw_child.getrow()=dw_child.rowcount() then
  1845. cb_add_xm.triggerevent(clicked!)
  1846. return 1
  1847. else
  1848. If key = KeyEnter! Then //
  1849. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1850. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1851. return 1
  1852. end if
  1853. end if
  1854. end if
  1855. end if
  1856. end if
  1857. end event
  1858. event constructor;call super::constructor;titleclick_sort_use=true
  1859. end event
  1860. event clicked;call super::clicked;IF row>0 and dw_edit_mode THEN
  1861. this.setrow(row)
  1862. end if
  1863. end event
  1864. event doubleclicked;if dw_edit_mode and dwo.name='datawindow' then
  1865. if keydown(KeyControl!) then
  1866. if cb_dele_xm.enabled then cb_dele_xm.triggerevent(clicked!)
  1867. else
  1868. if cb_add_xm.enabled then cb_add_xm.triggerevent(clicked!)
  1869. end if
  1870. end if
  1871. end event
  1872. event rowfocuschanged;//IF dw_edit_mode THEN RETURN
  1873. IF currentrow <=0 THEN RETURN
  1874. this.selectrow(0,false)
  1875. this.selectrow(currentrow,true)
  1876. end event
  1877. type cb_set_dft from uo_imflatbutton within w_assetdef_edit
  1878. integer x = 1774
  1879. integer width = 279
  1880. integer height = 164
  1881. integer taborder = 120
  1882. boolean bringtotop = true
  1883. string text = "其它功能"
  1884. string normalpicname = "other.bmp"
  1885. integer picsize = 16
  1886. toolbaralignment pic_align = alignattop!
  1887. boolean border = false
  1888. end type
  1889. event clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  1890. String menustr
  1891. menustr = "Text=设默认值~tEvent=ue_setdft"
  1892. menustr = menustr + "|" + "Text=取消默认值~tEvent=ue_canceldft"
  1893. //menustr = menustr + "|" + "Text=-"
  1894. //menustr = menustr + "|" + "Text=复制帐套固定资产~tEvent=ue_copy"
  1895. //menustr = menustr + "|" + "Text=-"
  1896. //menustr = menustr + "|" + "Text=查询凭证~tEvent=ue_view_cred"
  1897. IF Len(Trim(menustr)) <> 0 THEN
  1898. dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  1899. dmPopupMenu.mf_BuildMenu(THIS, menustr)
  1900. dmPopupMenu.mf_PopMenu()
  1901. DESTROY dmPopupMenu
  1902. END IF
  1903. end event
  1904. type st_dft from statictext within w_assetdef_edit
  1905. integer x = 1376
  1906. integer y = 200
  1907. integer width = 699
  1908. integer height = 52
  1909. boolean bringtotop = true
  1910. integer textsize = -9
  1911. integer weight = 400
  1912. fontcharset fontcharset = gb2312charset!
  1913. fontpitch fontpitch = variable!
  1914. string facename = "宋体"
  1915. long textcolor = 33554432
  1916. long backcolor = 134217739
  1917. boolean enabled = false
  1918. boolean focusrectangle = false
  1919. end type
  1920. type ddlb_1 from dropdownlistbox within w_assetdef_edit
  1921. integer x = 891
  1922. integer y = 188
  1923. integer width = 462
  1924. integer height = 708
  1925. integer taborder = 110
  1926. boolean bringtotop = true
  1927. integer textsize = -9
  1928. integer weight = 400
  1929. fontcharset fontcharset = gb2312charset!
  1930. fontpitch fontpitch = variable!
  1931. string facename = "宋体"
  1932. long textcolor = 33554432
  1933. string text = "正常"
  1934. boolean sorted = false
  1935. boolean vscrollbar = true
  1936. string item[] = {"正常","已清理","全部"}
  1937. borderstyle borderstyle = stylelowered!
  1938. end type
  1939. event selectionchanged;IF Index = 1 THEN
  1940. cur_clearflag = 0
  1941. ELSEIF Index = 2 THEN
  1942. cur_clearflag = 1
  1943. ELSEIF Index = 3 THEN
  1944. cur_clearflag = -1
  1945. END IF
  1946. PARENT.TriggerEvent('retrieve_pageretr')
  1947. end event
  1948. type st_2 from statictext within w_assetdef_edit
  1949. integer x = 690
  1950. integer y = 200
  1951. integer width = 215
  1952. integer height = 52
  1953. integer textsize = -9
  1954. integer weight = 400
  1955. fontcharset fontcharset = gb2312charset!
  1956. fontpitch fontpitch = variable!
  1957. string facename = "宋体"
  1958. long textcolor = 33554432
  1959. long backcolor = 134217739
  1960. boolean enabled = false
  1961. string text = "状 态:"
  1962. boolean focusrectangle = false
  1963. end type
  1964. type cb_credence from uo_imflatbutton within w_assetdef_edit
  1965. boolean visible = false
  1966. integer x = 2523
  1967. integer width = 279
  1968. integer height = 164
  1969. integer taborder = 80
  1970. boolean bringtotop = true
  1971. boolean enabled = false
  1972. string text = "记帐凭证"
  1973. string normalpicname = "update.bmp"
  1974. integer picsize = 16
  1975. toolbaralignment pic_align = alignattop!
  1976. boolean border = false
  1977. end type
  1978. event clicked;IF NOT dw_edit_mode THEN RETURN
  1979. Long li_row,i_row
  1980. Decimal ls_rawvalue,ls_usedvalue
  1981. DateTime null_date
  1982. datastore credencemx_ds
  1983. Blob ds_blob
  1984. Long ls_assetcardid,ll_credid
  1985. String arg_msg
  1986. String ls_othersubid,ls_dscrp,ls_assetsubid,ls_deprsubid
  1987. Long cnt
  1988. SetNull(null_date)
  1989. li_row = dw_uc.GetRow()
  1990. IF li_row <= 0 THEN RETURN
  1991. dw_uc.AcceptText()
  1992. IF Trim(dw_uc.Object.assetsubid[li_row]) = '' THEN
  1993. MessageBox('系统提示','请输入固定资产科目!')
  1994. RETURN
  1995. END IF
  1996. IF Trim(dw_uc.Object.deprsubid[li_row]) = '' THEN
  1997. MessageBox('系统提示','请输入累计折旧科目!')
  1998. RETURN
  1999. END IF
  2000. ls_assetsubid = Trim(dw_uc.Object.assetsubid[li_row])
  2001. ls_deprsubid = Trim(dw_uc.Object.deprsubid[li_row])
  2002. ls_rawvalue = dw_uc.Object.rawvalue[li_row]
  2003. ls_usedvalue = dw_uc.Object.usedvalue[li_row]
  2004. ls_othersubid = Trim(dw_uc.Object.othersubid[li_row])
  2005. ls_dscrp = Trim(dw_uc.Object.dscrp[li_row])
  2006. ll_credid = dw_uc.Object.credid[li_row]
  2007. s_edit_index_tran s_tran_mx //翻页功能窗口 传递参数使用
  2008. s_tran_mx.if_retrieve_all = FALSE //是否一次RETRIEVE所有行
  2009. s_tran_mx.work_mode = 0 //0-单纯编辑模式, 1-选择模式
  2010. s_tran_mx.arg_pkid = 0 //目标定位PKID (备用)
  2011. s_tran_mx.arg_string_code = String(sys_curyearmon) //查询列部分内容,用于初步筛选
  2012. credencemx_ds = CREATE datastore
  2013. credencemx_ds.DataObject = "ds_credencemx"
  2014. credencemx_ds.SetTransObject(sqlca)
  2015. dw_uc.AcceptText()
  2016. uo_asset_in.assetcardid = dw_uc.Object.assetcardid[li_row]
  2017. uo_asset_in.assetcardcode = dw_uc.Object.assetcardcode[li_row]
  2018. uo_asset_in.assetcardname = dw_uc.Object.assetcardname[li_row]
  2019. uo_asset_in.spectype = dw_uc.Object.spectype[li_row]
  2020. uo_asset_in.assetypeid = dw_uc.Object.assetypeid[li_row]
  2021. uo_asset_in.deptid = dw_uc.Object.deptid[li_row]
  2022. uo_asset_in.incrdecrid = dw_uc.Object.incrdecrid[li_row]
  2023. uo_asset_in.Location = dw_uc.Object.Location[li_row]
  2024. uo_asset_in.usedtypeid = dw_uc.Object.usedtypeid[li_row]
  2025. uo_asset_in.deprediateid = dw_uc.Object.deprediateid[li_row]
  2026. uo_asset_in.startdate = dw_uc.Object.startdate[li_row]
  2027. uo_asset_in.workload = dw_uc.Object.workload[li_row]
  2028. uo_asset_in.usedall = dw_uc.Object.usedall[li_row]
  2029. uo_asset_in.unit = dw_uc.Object.unit[li_row]
  2030. uo_asset_in.rawvalue = dw_uc.Object.rawvalue[li_row]
  2031. uo_asset_in.usedvalue = dw_uc.Object.usedvalue[li_row]
  2032. uo_asset_in.remainrate = dw_uc.Object.remainrate[li_row]
  2033. uo_asset_in.remainvalue = dw_uc.Object.remainvalue[li_row]
  2034. uo_asset_in.deprrate = dw_uc.Object.deprrate[li_row]
  2035. uo_asset_in.deprvalue = dw_uc.Object.deprvalue[li_row]
  2036. uo_asset_in.subid = dw_uc.Object.subid[li_row]
  2037. IF uo_asset_in.check_data(arg_msg) = 0 THEN
  2038. MessageBox(publ_operator,arg_msg)
  2039. RETURN
  2040. END IF
  2041. ls_assetcardid = dw_uc.Object.assetcardid[li_row]
  2042. IF ls_assetcardid = 0 THEN
  2043. ls_assetcardid = f_sys_scidentity(sys_accsetid,"cw_assetcard","assetcardid",arg_msg,TRUE,id_sqlca)
  2044. IF ls_assetcardid <= 0 THEN
  2045. MessageBox(publ_operator,arg_msg)
  2046. RETURN
  2047. END IF
  2048. ELSE
  2049. Long ls_subaccsetid,ls_credid
  2050. Int ls_postflag
  2051. ls_subaccsetid = 0
  2052. ls_postflag = 0
  2053. ls_credid = 0
  2054. IF uo_cred.get_asset_credinfo(200,ls_assetcardid,ll_credid,ls_credid,ls_postflag,arg_msg) = 0 THEN
  2055. MessageBox(publ_operator,arg_msg)
  2056. RETURN
  2057. END IF
  2058. old_credid = ls_credid
  2059. END IF
  2060. IF ls_rawvalue > 0 THEN
  2061. i_row = credencemx_ds.InsertRow(0)
  2062. String ls_subid_asset
  2063. ls_subid_asset = ls_assetsubid
  2064. credencemx_ds.Object.fuluno[i_row] = i_row
  2065. credencemx_ds.Object.subid[i_row] = ls_subid_asset
  2066. credencemx_ds.Object.brief[i_row] = '固定资产'
  2067. credencemx_ds.Object.rate[i_row] = 0.00
  2068. credencemx_ds.Object.rawdebit[i_row] = 0.00
  2069. credencemx_ds.Object.rawcredit[i_row] = 0.00
  2070. credencemx_ds.Object.debit[i_row] = ls_rawvalue
  2071. credencemx_ds.Object.credit[i_row] = 0.00
  2072. credencemx_ds.Object.amount[i_row] = 0.00
  2073. credencemx_ds.Object.price[i_row] = 0.00
  2074. credencemx_ds.Object.deptid[i_row] = 0
  2075. credencemx_ds.Object.itemid[i_row] = 0
  2076. credencemx_ds.Object.READONLY[i_row] = 1
  2077. credencemx_ds.Object.billdate[i_row] = null_date
  2078. credencemx_ds.Object.billid[i_row] = 0
  2079. credencemx_ds.Object.billno[i_row] = ''
  2080. credencemx_ds.Object.cropbillid[i_row] = 0
  2081. END IF
  2082. IF ls_usedvalue > 0 THEN
  2083. i_row = credencemx_ds.InsertRow(0)
  2084. credencemx_ds.Object.fuluno[i_row] = i_row
  2085. credencemx_ds.Object.subid[i_row] = ls_deprsubid
  2086. credencemx_ds.Object.brief[i_row] = '累计折旧'
  2087. credencemx_ds.Object.rate[i_row] = 0.00
  2088. credencemx_ds.Object.rawdebit[i_row] = 0.00
  2089. credencemx_ds.Object.rawcredit[i_row] = 0.00
  2090. credencemx_ds.Object.debit[i_row] = 0.00
  2091. credencemx_ds.Object.credit[i_row] = ls_usedvalue
  2092. credencemx_ds.Object.amount[i_row] = 0.00
  2093. credencemx_ds.Object.price[i_row] = 0.00
  2094. credencemx_ds.Object.deptid[i_row] = 0
  2095. credencemx_ds.Object.itemid[i_row] = 0
  2096. credencemx_ds.Object.READONLY[i_row] = 1
  2097. credencemx_ds.Object.billdate[i_row] = null_date
  2098. credencemx_ds.Object.billid[i_row] = 0
  2099. credencemx_ds.Object.billno[i_row] = ''
  2100. credencemx_ds.Object.cropbillid[i_row] = 0
  2101. END IF
  2102. IF ls_othersubid <> '' THEN
  2103. SELECT count(*) INTO :cnt
  2104. FROM cw_subject
  2105. WHERE accsetid = :sys_accsetid
  2106. AND subid = :ls_othersubid;
  2107. IF sqlca.SQLCode <> 0 OR cnt <> 1 THEN
  2108. MessageBox(publ_operator,'查询对方科目:'+ls_othersubid+'资料失败,可能资料不存在')
  2109. RETURN
  2110. END IF
  2111. i_row = credencemx_ds.InsertRow(0)
  2112. credencemx_ds.Object.fuluno[i_row] = i_row
  2113. credencemx_ds.Object.subid[i_row] = ls_othersubid
  2114. credencemx_ds.Object.brief[i_row] = ls_dscrp
  2115. credencemx_ds.Object.rate[i_row] = 0.00
  2116. credencemx_ds.Object.rawdebit[i_row] = 0.00
  2117. credencemx_ds.Object.rawcredit[i_row] = 0.00
  2118. credencemx_ds.Object.debit[i_row] = 0.00
  2119. credencemx_ds.Object.credit[i_row] = 0.00
  2120. credencemx_ds.Object.amount[i_row] = 0.00
  2121. credencemx_ds.Object.price[i_row] = 0.00
  2122. credencemx_ds.Object.deptid[i_row] = 0
  2123. credencemx_ds.Object.itemid[i_row] = 0
  2124. credencemx_ds.Object.READONLY[i_row] = 0
  2125. credencemx_ds.Object.billdate[i_row] = null_date
  2126. credencemx_ds.Object.billid[i_row] = 0
  2127. credencemx_ds.Object.billno[i_row] = ''
  2128. credencemx_ds.Object.cropbillid[i_row] = 0
  2129. END IF
  2130. credencemx_ds.GetFullState ( ds_blob )
  2131. s_tran_mx.arg_blobds = ds_blob
  2132. s_tran_mx.c_long = 200
  2133. s_tran_mx.d_long = ls_assetcardid
  2134. s_tran_mx.b_datetime = dw_uc.Object.startdate[li_row]
  2135. s_tran_mx.f_long = Long(String(dw_uc.Object.startdate[li_row],'yyyymm'))
  2136. OpenWithParm(w_credence_edit,s_tran_mx)
  2137. Long rst_credid
  2138. IF uo_cred.get_asset_credinfo(200,ls_assetcardid,ll_credid,rst_credid,ls_postflag,arg_msg ) = 0 THEN
  2139. IF NOT Pos(arg_msg,'查询相关凭证失败') > 0 THEN
  2140. MessageBox(publ_operator,arg_msg)
  2141. END IF
  2142. RETURN
  2143. END IF
  2144. IF rst_credid = 0 THEN
  2145. if_credence = FALSE
  2146. ELSE
  2147. if_credence = TRUE
  2148. new_credid = rst_credid
  2149. new_assetcardid = ls_assetcardid
  2150. END IF
  2151. // fuluno
  2152. // subid
  2153. // brief
  2154. // rate
  2155. // rawdebit
  2156. // rawcredit
  2157. // debit
  2158. // credit
  2159. // amount
  2160. // price
  2161. // deptid
  2162. // itemid
  2163. // readonly
  2164. // billdate
  2165. // billid
  2166. // billno
  2167. // cropbillid
  2168. end event
  2169. event constructor;call super::constructor;THIS.Visible = sys_accsetbegin
  2170. end event
  2171. type ln_1 from line within w_assetdef_edit
  2172. long linecolor = 33554432
  2173. integer linethickness = 4
  2174. integer beginy = 168
  2175. integer endx = 1001
  2176. integer endy = 168
  2177. end type
  2178. type ln_2 from line within w_assetdef_edit
  2179. long linecolor = 16777215
  2180. integer linethickness = 4
  2181. integer beginy = 172
  2182. integer endx = 1001
  2183. integer endy = 172
  2184. end type
  2185. type ln_3 from line within w_assetdef_edit
  2186. long linecolor = 33554432
  2187. integer linethickness = 4
  2188. integer beginy = 280
  2189. integer endx = 1001
  2190. integer endy = 280
  2191. end type
  2192. type ln_4 from line within w_assetdef_edit
  2193. long linecolor = 16777215
  2194. integer linethickness = 4
  2195. integer beginy = 284
  2196. integer endx = 1001
  2197. integer endy = 284
  2198. end type
  2199. type r_bar from rectangle within w_assetdef_edit
  2200. long linecolor = 16777215
  2201. long fillcolor = 1073741824
  2202. integer x = 3497
  2203. integer width = 73
  2204. integer height = 172
  2205. end type
  2206. event constructor;this.fillcolor = 14215660
  2207. this.linecolor = 14215660
  2208. this.x = -1
  2209. this.y = -1
  2210. this.height = ln_1.beginy - 5
  2211. end event