w_credence_edit.srw 77 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023
  1. $PBExportHeader$w_credence_edit.srw
  2. $PBExportComments$凭证录入
  3. forward
  4. global type w_credence_edit from w_publ_pageretr
  5. end type
  6. type cb_print from uo_imflatbutton within w_credence_edit
  7. end type
  8. type cb_retrieve from uo_imflatbutton within w_credence_edit
  9. end type
  10. type cb_addzy from uo_imflatbutton within w_credence_edit
  11. end type
  12. type cb_delet from uo_imflatbutton within w_credence_edit
  13. end type
  14. type cb_edit from uo_imflatbutton within w_credence_edit
  15. end type
  16. type cb_add from uo_imflatbutton within w_credence_edit
  17. end type
  18. type cb_add_xm from uo_imflatbutton within w_credence_edit
  19. end type
  20. type cb_dele_xm from uo_imflatbutton within w_credence_edit
  21. end type
  22. type cb_auditing from uo_imflatbutton within w_credence_edit
  23. end type
  24. type dw_child from u_dw_rbtnfilter within w_credence_edit
  25. end type
  26. type cb_money from uo_imflatbutton within w_credence_edit
  27. end type
  28. type dw_child_share from datawindow within w_credence_edit
  29. end type
  30. type cb_3 from uo_imflatbutton within w_credence_edit
  31. end type
  32. type cb_print_1 from uo_imflatbutton within w_credence_edit
  33. end type
  34. type cbx_1 from checkbox within w_credence_edit
  35. end type
  36. type cb_other from uo_imflatbutton within w_credence_edit
  37. end type
  38. type cb_new from uo_imflatbutton within w_credence_edit
  39. end type
  40. type st_mxdscrp from statictext within w_credence_edit
  41. end type
  42. type ln_5 from line within w_credence_edit
  43. end type
  44. type ln_6 from line within w_credence_edit
  45. end type
  46. type ln_1 from line within w_credence_edit
  47. end type
  48. type ln_2 from line within w_credence_edit
  49. end type
  50. end forward
  51. global type w_credence_edit from w_publ_pageretr
  52. integer width = 3045
  53. integer height = 2276
  54. string title = "记帐凭证"
  55. boolean minbox = false
  56. windowtype windowtype = response!
  57. event retrieve_childdw ( )
  58. event retrieve_uc ( )
  59. event refresh_interface ( )
  60. event ue_f7 ( )
  61. event ue_f8 ( )
  62. event ue_f9 ( )
  63. event ue_f10 ( )
  64. event ue_f6 ( )
  65. event ue_f11 ( )
  66. event ue_f12 ( )
  67. event ue_print ( )
  68. event ue_print_wb ( )
  69. event ue_print_view ( )
  70. event ue_print_wb_view ( )
  71. event ue_cmpl_tax ( )
  72. event ue_computer ( )
  73. event ue_cash ( )
  74. event ue_cred_mode ( )
  75. event ue_print_list ( )
  76. event ue_balance ( )
  77. event ue_bill_find ( )
  78. event ue_xls ( )
  79. cb_print cb_print
  80. cb_retrieve cb_retrieve
  81. cb_addzy cb_addzy
  82. cb_delet cb_delet
  83. cb_edit cb_edit
  84. cb_add cb_add
  85. cb_add_xm cb_add_xm
  86. cb_dele_xm cb_dele_xm
  87. cb_auditing cb_auditing
  88. dw_child dw_child
  89. cb_money cb_money
  90. dw_child_share dw_child_share
  91. cb_3 cb_3
  92. cb_print_1 cb_print_1
  93. cbx_1 cbx_1
  94. cb_other cb_other
  95. cb_new cb_new
  96. st_mxdscrp st_mxdscrp
  97. ln_5 ln_5
  98. ln_6 ln_6
  99. ln_1 ln_1
  100. ln_2 ln_2
  101. end type
  102. global w_credence_edit w_credence_edit
  103. type variables
  104. Int child_column_int = 1,uc_column_int = 1
  105. uo_credence uo_credence_ins
  106. Long cur_id = 0
  107. Boolean if_fcurrency = FALSE //是否核算外币
  108. Long i_credid = 0
  109. Long rst_credid = 0 //0:不是对应的记帐凭证
  110. Int cur_editfoucs = 0
  111. Boolean if_changedw
  112. Long ll_xls_billid,ll_xls_Templatesid
  113. String ls_xls_DefaultDataWindow
  114. end variables
  115. forward prototypes
  116. public function integer wf_refresh_interface ()
  117. public function integer wf_lock_child ()
  118. public function integer wf_no_edit ()
  119. public function integer wf_lock_uc ()
  120. public function integer wf_refresh_curuc (long arg_subaccsetid, long arg_credid)
  121. public function integer wf_change_childdw_face ()
  122. public function integer wf_autoadd_mx (datetime arg_createdate)
  123. public subroutine wf_reshare_subid ()
  124. public function integer wf_check_cash (ref string arg_msg)
  125. public function integer wf_flagstatus_rf ()
  126. end prototypes
  127. event retrieve_childdw;Long row,uc_credid,uc_subaccsetid,i,li_row,cnt
  128. row = dw_pageretr.GetRow()
  129. IF row > 0 THEN
  130. uc_subaccsetid = dw_pageretr.Object.subaccsetid[row]
  131. uc_credid = dw_pageretr.Object.credid[row]
  132. dw_child.SetRedraw (FALSE)
  133. dw_child.Retrieve(sys_accsetid,uc_subaccsetid,uc_credid)
  134. dw_child.ShareData(dw_child_share)
  135. cnt = dw_child.RowCount()
  136. FOR i = 1 TO sys_credence_insertrow - cnt
  137. dw_child.InsertRow(0)
  138. NEXT
  139. dw_child.SetRedraw (TRUE)
  140. ELSE
  141. dw_child.Reset()
  142. dw_child.ShareData(dw_child_share)
  143. END IF
  144. end event
  145. event refresh_interface();//被 wf_refresh_interface() 调用,用于界面刷新
  146. cb_addzy.Enabled = dw_edit_mode
  147. cbx_1.Enabled = dw_edit_mode
  148. IF dw_edit_mode AND cur_editfoucs = 1 THEN
  149. IF sys_option_credno_save = 1 THEN
  150. dw_pageretr.SetTabOrder('credno',0)
  151. END IF
  152. END IF
  153. IF NOT dw_edit_mode THEN if_changedw = FALSE
  154. end event
  155. event ue_print();IF NOT f_power_ind(1034,sys_msg_pow) THEN
  156. MessageBox(publ_operator,'你没有使用权限!')
  157. RETURN
  158. END IF
  159. //--直接打印
  160. uo_print_preview uo_print
  161. IF MessageBox ("IF","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  162. S_print_MSG LS_PRMSG
  163. LONG LS_ROW
  164. LS_ROW=dw_pageretr.getrow()
  165. IF LS_ROW<=0 THEN
  166. MESSAGEBOX('NO','没有打印目标单据!')
  167. RETURN
  168. END IF
  169. LS_PRMSG.retr_pram_falg=10
  170. LS_PRMSG.obj_dwNAME='dw_pr_credence'
  171. LS_PRMSG.TAG_TEXT='记帐凭证'
  172. LS_PRMSG.FILTER_STRING = ''
  173. LS_PRMSG.PAGECH_FLAG=0
  174. LS_PRMSG.retr_pramnmb=dw_pageretr.object.credid[LS_ROW]
  175. LS_PRMSG.b_long=sys_emptyrowcount
  176. LS_PRMSG.c_long=sys_accsetid
  177. //====================================================================
  178. // Script - clicked for cb_print
  179. // Reason:
  180. //--------------------------------------------------------------------
  181. // Modified By: yyx Date: 2004.02.18
  182. //--------------------------------------------------------------------
  183. long ll_rowcount=0
  184. select count(*) into :ll_rowcount from cw_credencemx
  185. where accsetid = :sys_accsetid
  186. and credid =:LS_PRMSG.retr_pramnmb;
  187. if sqlca.sqlcode<>0 then
  188. return
  189. end if
  190. if mod(ll_rowcount + 1,sys_emptyrowcount)<>0 then
  191. ll_rowcount=sys_emptyrowcount - mod(ll_rowcount + 1,sys_emptyrowcount)
  192. else
  193. ll_rowcount=0
  194. end if
  195. LS_PRMSG.d_long=ll_rowcount
  196. uo_print.FACT_PRINT_MSG=LS_PRMSG
  197. string arg_msg
  198. if uo_print.uof_print_begin(arg_msg)=0 then
  199. messagebox("系统提示",arg_msg)
  200. return
  201. end if
  202. uo_print.ds_print()
  203. end event
  204. event ue_print_wb();IF NOT f_power_ind(1034,sys_msg_pow) THEN
  205. MessageBox(publ_operator,'你没有使用权限!')
  206. RETURN
  207. END IF
  208. //--直接打印
  209. uo_print_preview uo_print
  210. IF MessageBox ("IF","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  211. S_print_MSG LS_PRMSG
  212. LONG LS_ROW
  213. LS_ROW=dw_pageretr.getrow()
  214. IF LS_ROW<=0 THEN
  215. MESSAGEBOX('NO','没有打印目标单据!')
  216. RETURN
  217. END IF
  218. LS_PRMSG.retr_pram_falg=10
  219. LS_PRMSG.obj_dwNAME='dw_pr_credence_wb'
  220. LS_PRMSG.TAG_TEXT='记帐凭证'
  221. LS_PRMSG.FILTER_STRING = ''
  222. LS_PRMSG.PAGECH_FLAG=0
  223. LS_PRMSG.retr_pramnmb=dw_pageretr.object.credid[LS_ROW]
  224. LS_PRMSG.b_long=sys_emptyrowcount
  225. LS_PRMSG.c_long=sys_accsetid
  226. //====================================================================
  227. // Script - clicked for cb_print
  228. // Reason:
  229. //--------------------------------------------------------------------
  230. // Modified By: yyx Date: 2004.02.18
  231. //--------------------------------------------------------------------
  232. long ll_rowcount=0
  233. select count(*) into :ll_rowcount from cw_credencemx
  234. where accsetid = :sys_accsetid
  235. and credid =:LS_PRMSG.retr_pramnmb;
  236. if sqlca.sqlcode<>0 then
  237. return
  238. end if
  239. if mod(ll_rowcount + 1,sys_emptyrowcount)<>0 then
  240. ll_rowcount=sys_emptyrowcount - mod(ll_rowcount + 1,sys_emptyrowcount)
  241. else
  242. ll_rowcount=0
  243. end if
  244. LS_PRMSG.d_long=ll_rowcount
  245. uo_print.FACT_PRINT_MSG=LS_PRMSG
  246. string arg_msg
  247. if uo_print.uof_print_begin(arg_msg)=0 then
  248. messagebox("系统提示",arg_msg)
  249. return
  250. end if
  251. uo_print.ds_print()
  252. end event
  253. event ue_print_view();IF Not f_power_ind(1034,sys_msg_pow) THEN
  254. MessageBox(publ_operator,'你没有使用权限!')
  255. RETURN
  256. END IF
  257. Long LS_ROW
  258. LS_ROW = dw_pageretr.GetRow()
  259. IF LS_ROW <= 0 THEN
  260. MessageBox('NO','没有打印目标单据!')
  261. RETURN
  262. END IF
  263. S_print_MSG LS_PRMSG
  264. LS_PRMSG.obj_dwNAME = 'dw_pr_credence'
  265. LS_PRMSG.TAG_TEXT = '记帐凭证'
  266. LS_PRMSG.FILTER_STRING = ''
  267. LS_PRMSG.retr_pram_falg = 15
  268. LS_PRMSG.PAGECH_FLAG = 0
  269. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.credid[LS_ROW]
  270. LS_PRMSG.printrow = sys_emptyrowcount
  271. LS_PRMSG.retr_scid = sys_accsetid
  272. //====================================================================
  273. // Script - clicked for cb_print
  274. // Reason:
  275. //--------------------------------------------------------------------
  276. // Modified By: yyx Date: 2004.02.18
  277. //--------------------------------------------------------------------
  278. Long ll_rowcount = 0
  279. SELECT count(*) INTO :ll_rowcount FROM cw_credencemx
  280. WHERE accsetid = :sys_accsetid
  281. And credid = :LS_PRMSG.retr_pramnmb;
  282. IF sqlca.SQLCode <> 0 THEN
  283. RETURN
  284. END IF
  285. IF Mod(ll_rowcount + 1,sys_emptyrowcount) <> 0 THEN
  286. ll_rowcount = sys_emptyrowcount - Mod(ll_rowcount + 1,sys_emptyrowcount)
  287. ELSE
  288. ll_rowcount = 0
  289. END IF
  290. LS_PRMSG.rowcnt = ll_rowcount
  291. //====================================================================
  292. OpenWithParm(w_publ_preview,LS_PRMSG)
  293. end event
  294. event ue_print_wb_view();IF NOT f_power_ind(1034,sys_msg_pow) THEN
  295. MessageBox(publ_operator,'你没有使用权限!')
  296. RETURN
  297. END IF
  298. LONG LS_ROW
  299. LS_ROW=dw_pageretr.getrow()
  300. IF LS_ROW<=0 THEN
  301. MESSAGEBOX('NO','没有打印目标单据!')
  302. RETURN
  303. END IF
  304. S_print_MSG LS_PRMSG
  305. LS_PRMSG.obj_dwNAME='dw_pr_credence_wb'
  306. LS_PRMSG.TAG_TEXT='记帐凭证'
  307. LS_PRMSG.FILTER_STRING = ''
  308. LS_PRMSG.retr_pram_falg=10
  309. LS_PRMSG.PAGECH_FLAG=0
  310. LS_PRMSG.retr_pramnmb=dw_pageretr.object.credid[LS_ROW]
  311. LS_PRMSG.b_long=sys_emptyrowcount
  312. LS_PRMSG.c_long=sys_accsetid
  313. //====================================================================
  314. // Script - clicked for cb_print
  315. // Reason:
  316. //--------------------------------------------------------------------
  317. // Modified By: yyx Date: 2004.02.18
  318. //--------------------------------------------------------------------
  319. long ll_rowcount=0
  320. select count(*) into :ll_rowcount from cw_credencemx
  321. where accsetid = :sys_accsetid
  322. and credid =:LS_PRMSG.retr_pramnmb;
  323. if sqlca.sqlcode<>0 then
  324. return
  325. end if
  326. if mod(ll_rowcount + 1,sys_emptyrowcount)<>0 then
  327. ll_rowcount=sys_emptyrowcount - mod(ll_rowcount + 1,sys_emptyrowcount)
  328. else
  329. ll_rowcount=0
  330. end if
  331. LS_PRMSG.d_long=ll_rowcount
  332. //====================================================================
  333. Openwithparm(w_publ_preview,LS_PRMSG)
  334. end event
  335. event ue_cmpl_tax;if not dw_edit_mode then
  336. messagebox('提示','非编辑状态下不可用')
  337. return
  338. end if
  339. long childrow
  340. decimal ld_debit,ld_credit,ld_tax_debit,ld_tax_credit
  341. dw_child.accepttext()
  342. childrow = dw_child.getrow()
  343. if childrow <= 0 then return
  344. ld_debit = dw_child.object.debit[childrow]
  345. ld_credit = dw_child.object.credit[childrow]
  346. if ld_debit <> 0 then ld_tax_debit = round(ld_debit/sys_bank_taxrate,2)
  347. if ld_credit <> 0 then ld_tax_credit = round(ld_credit/sys_bank_taxrate,2)
  348. dw_child.object.debit[childrow] = ld_tax_debit
  349. dw_child.object.credit[childrow] = ld_tax_credit
  350. end event
  351. event ue_computer;run('calc.exe')
  352. end event
  353. event ue_cash;IF dw_edit_mode THEN RETURN
  354. IF dw_pageretr.GetRow() <= 0 THEN RETURN
  355. Long i,cash_cnt
  356. s_flow_cred s_flowcred
  357. dw_pageretr.AcceptText()
  358. s_flowcred.accsetid = dw_pageretr.Object.accsetid[dw_pageretr.GetRow()]
  359. s_flowcred.credid = dw_pageretr.Object.credid[dw_pageretr.GetRow()]
  360. string ls_brief,ls_brief_arr[]
  361. DECLARE cur_brief CURSOR FOR
  362. SELECT cw_credencemx.brief
  363. FROM cw_subject,cw_credencemx
  364. WHERE cw_subject.accsetid = cw_credencemx.accsetid
  365. AND cw_subject.subid = cw_credencemx.subid
  366. AND cw_credencemx.accsetid = :s_flowcred.accsetid
  367. AND cw_credencemx.credid = :s_flowcred.credid
  368. AND cw_subject.hsemp = 1;
  369. open cur_brief;
  370. fetch cur_brief into :ls_brief;
  371. do while sqlca.sqlcode = 0
  372. cash_cnt++
  373. ls_brief_arr[cash_cnt] = ls_brief
  374. fetch cur_brief into :ls_brief;
  375. loop
  376. close cur_brief;
  377. IF cash_cnt = 0 THEN
  378. MessageBox('系统提示','凭证明细没有科目核算现金流量')
  379. RETURN
  380. END IF
  381. SELECT sum(debit),sum(credit)
  382. INTO :s_flowcred.debit,:s_flowcred.credit
  383. FROM cw_subject,cw_credencemx
  384. WHERE cw_subject.accsetid = cw_credencemx.accsetid
  385. AND cw_subject.subid = cw_credencemx.subid
  386. AND cw_credencemx.accsetid = :s_flowcred.accsetid
  387. AND cw_credencemx.credid = :s_flowcred.credid
  388. AND cw_subject.hsemp = 1;
  389. IF sqlca.SQLCode <> 0 THEN
  390. MessageBox('系统提示','查询凭证明细科目核算现金流量金额失败')
  391. RETURN
  392. END IF
  393. s_flowcred.brief = ls_brief_arr
  394. OpenWithParm(w_flow_cred,s_flowcred)
  395. end event
  396. event ue_cred_mode;IF NOT dw_edit_mode THEN
  397. MessageBox('提示','非编辑状态下不可用')
  398. RETURN
  399. END IF
  400. Long uc_row
  401. uc_row = dw_pageretr.GetRow()
  402. IF uc_row <= 0 THEN RETURN
  403. Open(w_credence_mode_choice)
  404. Long ls_credid
  405. String ls_credtype
  406. Int ls_billnumber
  407. ls_credid = Message.DoubleParm
  408. IF ls_credid <= 0 THEN RETURN
  409. SELECT credtype,billnumber INTO :ls_credtype,:ls_billnumber
  410. FROM cw_credence_auto
  411. WHERE accsetid = :sys_accsetid
  412. AND credid = :ls_credid;
  413. IF sqlca.SQLCode <> 0 THEN RETURN
  414. dw_pageretr.Object.credtype[uc_row] = ls_credtype
  415. dw_pageretr.Object.billnumber[uc_row] = ls_billnumber
  416. Long child_row
  417. String ls_subid,ls_brief,ls_billno
  418. Decimal ls_debit,ls_credit,ls_amount,ls_price
  419. Long ls_deptid,ls_itemid,ls_billid
  420. Int li_hsqty,li_hsdept,li_hsemp,li_hsitem,li_dcflag
  421. DECLARE modecred_cur CURSOR FOR
  422. SELECT cw_credencemx_auto.subid,
  423. cw_credencemx_auto.brief,
  424. cw_credencemx_auto.debit,
  425. cw_credencemx_auto.credit,
  426. cw_credencemx_auto.amount,
  427. cw_credencemx_auto.price,
  428. cw_credencemx_auto.deptid,
  429. cw_credencemx_auto.itemid,
  430. cw_credencemx_auto.billid,
  431. cw_credencemx_auto.billno,
  432. cw_subject.hsqty,
  433. cw_subject.hsdept,
  434. cw_subject.hsemp,
  435. cw_subject.hsitem,
  436. cw_subject.dcflag
  437. FROM cw_credencemx_auto,cw_subject
  438. WHERE cw_credencemx_auto.accsetid = :sys_accsetid
  439. AND cw_credencemx_auto.credid = :ls_credid
  440. AND cw_credencemx_auto.accsetid = cw_subject.accsetid
  441. AND cw_credencemx_auto.subid = cw_subject.subid
  442. Order By cw_credencemx_auto.printid;
  443. OPEN modecred_cur;
  444. FETCH modecred_cur INTO :ls_subid,:ls_brief,:ls_debit,:ls_credit,
  445. :ls_amount,:ls_price,:ls_deptid,:ls_itemid,
  446. :ls_billid,:ls_billno,:li_hsqty,:li_hsdept,
  447. :li_hsemp,:li_hsitem,:li_dcflag;
  448. DO WHILE sqlca.SQLCode = 0
  449. dw_child.AcceptText()
  450. Long ll_i
  451. Boolean if_f
  452. FOR ll_i = 1 TO dw_child.RowCount()
  453. IF Len(Trim(dw_child.Object.subid[ll_i])) > 0 THEN CONTINUE
  454. if_f = TRUE
  455. child_row = ll_i
  456. EXIT
  457. NEXT
  458. IF NOT if_f THEN
  459. child_row = dw_child.InsertRow(0)
  460. END IF
  461. dw_child.Object.brief[child_row] = ls_brief
  462. dw_child.Object.subid[child_row] = ls_subid
  463. dw_child.Object.debit[child_row] = ls_debit
  464. dw_child.Object.credit[child_row] = ls_credit
  465. dw_child.Object.cw_credencemx_billid[child_row] = ls_billid
  466. dw_child.Object.cw_credencemx_billno[child_row] = ls_billno
  467. dw_child.Object.cw_credencemx_amount[child_row] = ls_amount
  468. dw_child.Object.cw_credencemx_price[child_row] = ls_price
  469. dw_child.Object.cw_credencemx_deptid[child_row] = ls_deptid
  470. dw_child.Object.cw_credencemx_itemid[child_row] = ls_itemid
  471. dw_child.Object.cw_subject_hsqty[child_row] = li_hsqty
  472. dw_child.Object.cw_subject_hsdept[child_row] = li_hsdept
  473. dw_child.Object.cw_subject_hsemp[child_row] = li_hsemp
  474. dw_child.Object.cw_subject_hsitem[child_row] = li_hsitem
  475. dw_child.Object.cw_subject_dcflag[child_row] = li_dcflag
  476. FETCH modecred_cur INTO :ls_subid,:ls_brief,:ls_debit,:ls_credit,
  477. :ls_amount,:ls_price,:ls_deptid,:ls_itemid,
  478. :ls_billid,:ls_billno,:li_hsqty,:li_hsdept,
  479. :li_hsemp,:li_hsitem,:li_dcflag;
  480. LOOP
  481. CLOSE modecred_cur;
  482. // brief
  483. // subid
  484. // debit
  485. // credit
  486. // cw_credencemx_billid
  487. // cw_credencemx_billno
  488. // cw_credencemx_amount
  489. // cw_credencemx_price
  490. // cw_credencemx_deptid
  491. // cw_credencemx_itemid
  492. //
  493. end event
  494. event ue_print_list();IF NOT f_power_ind(1034,sys_msg_pow) THEN
  495. MessageBox(publ_operator,'你没有使用权限!')
  496. RETURN
  497. END IF
  498. //--直接打印
  499. uo_print_preview uo_print
  500. if messagebox ("if","是否确定要打印列表中凭证吗?",question!,yesno! ) = 2 then return
  501. s_print_msg ls_prmsg
  502. long ls_i
  503. if dw_pageretr.rowcount() <= 0 then
  504. messagebox('no','没有打印目标凭证!')
  505. return
  506. end if
  507. ls_prmsg.retr_pram_falg = 10
  508. ls_prmsg.tag_text = '记帐凭证'
  509. ls_prmsg.filter_string = ''
  510. ls_prmsg.pagech_flag = 0
  511. ls_prmsg.pagech_flag = 0
  512. ls_prmsg.b_long = sys_emptyrowcount
  513. ls_prmsg.c_long = sys_accsetid
  514. open(w_sys_wait_jdt) //初始化进度条
  515. w_sys_wait_jdt.show()
  516. w_sys_wait_jdt.wf_accepttol(dw_pageretr.rowcount())
  517. for ls_i = 1 to dw_pageretr.rowcount()
  518. w_sys_wait_jdt.st_msg.text="打印凭证:"+dw_pageretr.object.credtype[ls_i]+' '+string(dw_pageretr.object.credno[ls_i]) //进度信息
  519. ls_prmsg.retr_pramnmb = dw_pageretr.object.credid[ls_i]
  520. long ll_rowcount = 0
  521. select count(*) into :ll_rowcount from cw_credencemx
  522. where accsetid = :sys_accsetid
  523. and credid = :ls_prmsg.retr_pramnmb;
  524. if sqlca.sqlcode <> 0 then
  525. return
  526. end if
  527. if mod(ll_rowcount + 1,sys_emptyrowcount) <> 0 then
  528. ll_rowcount = sys_emptyrowcount - mod(ll_rowcount + 1,sys_emptyrowcount)
  529. else
  530. ll_rowcount = 0
  531. end if
  532. ls_prmsg.d_long = ll_rowcount
  533. //格式
  534. long mx_raw_cnt
  535. select count(*) into :mx_raw_cnt
  536. from cw_credencemx,cw_subject
  537. where cw_credencemx.accsetid = :sys_accsetid
  538. and cw_credencemx.credid = :ls_prmsg.retr_pramnmb
  539. and cw_credencemx.accsetid = cw_subject.accsetid
  540. and cw_credencemx.subid = cw_subject.subid
  541. and cw_subject.hswb = 1;
  542. if sqlca.sqlcode <> 0 then
  543. return
  544. end if
  545. if mx_raw_cnt = 0 then
  546. ls_prmsg.obj_dwname = 'dw_pr_credence'
  547. else
  548. ls_prmsg.obj_dwname = 'dw_pr_credence_wb'
  549. end if
  550. //
  551. // messagebox('',ls_prmsg.obj_dwname)
  552. uo_print.fact_print_msg = ls_prmsg
  553. string arg_msg
  554. if uo_print.uof_print_begin(arg_msg) = 0 then
  555. messagebox("系统提示",arg_msg)
  556. return
  557. end if
  558. uo_print.ds_print()
  559. w_sys_wait_jdt.wf_inc(ls_i) //进度
  560. next
  561. close(w_sys_wait_jdt)
  562. end event
  563. event ue_balance;if not dw_edit_mode then
  564. messagebox('提示','非编辑状态下不可用')
  565. return
  566. end if
  567. long childrow
  568. decimal ld_sum_debit,ld_sum_credit,ld_amt
  569. dw_child.accepttext()
  570. childrow = dw_child.getrow()
  571. if childrow <= 0 then return
  572. if dw_child.object.debit[childrow] <> 0 or dw_child.object.debit[childrow] <> 0 then return
  573. ld_sum_debit = dw_child.object.sum_debit[childrow]
  574. ld_sum_credit = dw_child.object.sum_credit[childrow]
  575. ld_amt = abs(ld_sum_debit - ld_sum_credit)
  576. if dw_child.GetColumnName() = 'debit' then
  577. dw_child.object.debit[childrow] = ld_amt
  578. dw_child.object.credit[childrow] = 0
  579. elseif dw_child.GetColumnName() = 'credit' then
  580. dw_child.object.credit[childrow] = ld_amt
  581. dw_child.object.debit[childrow] = 0
  582. end if
  583. end event
  584. event ue_bill_find();IF dw_edit_mode THEN RETURN
  585. IF dw_pageretr.GetRow() <= 0 THEN RETURN
  586. String ls_code
  587. ls_code = dw_pageretr.Object.reldcode[dw_pageretr.GetRow()]
  588. //f_open_win('',0,ls_code)
  589. end event
  590. public function integer wf_refresh_interface ();//wf_refresh_interface
  591. IF dw_edit_mode THEN
  592. cb_add_xm.Enabled = TRUE
  593. cb_dele_xm.Enabled = TRUE
  594. cb_retrieve.Enabled = FALSE
  595. cb_delet.Enabled = FALSE
  596. cb_print.Enabled = FALSE
  597. cb_auditing.Enabled = FALSE
  598. cb_edit.Enabled = TRUE
  599. cb_add.Enabled = TRUE
  600. cb_edit.Text = "放弃&E"
  601. cb_edit.normalpicname = 'Undo.bmp'
  602. ELSE
  603. cb_add_xm.Enabled = FALSE
  604. cb_dele_xm.Enabled = FALSE
  605. cb_retrieve.Enabled = TRUE
  606. cb_delet.Enabled = TRUE
  607. cb_print.Enabled = TRUE
  608. cb_auditing.Enabled = TRUE
  609. cb_add.Enabled = FALSE
  610. cb_edit.Enabled = TRUE
  611. cb_edit.Text = "修改&E"
  612. cb_edit.normalpicname = 'OPEN.bmp'
  613. IF dw_pageretr.GetRow() <= 0 THEN
  614. cb_edit.Enabled = FALSE
  615. cb_delet.Enabled = FALSE
  616. cb_auditing.Enabled = FALSE
  617. END IF
  618. END IF
  619. IF retrieve_all OR dw_edit_mode THEN
  620. cb_nextpage.Enabled = FALSE
  621. cb_retrieveall.Enabled = FALSE
  622. em_pagerowno.Enabled = FALSE
  623. sle_usual_query.Enabled = FALSE
  624. ELSE
  625. cb_nextpage.Enabled = TRUE
  626. cb_retrieveall.Enabled = TRUE
  627. em_pagerowno.Enabled = TRUE
  628. sle_usual_query.Enabled = TRUE
  629. END IF
  630. wf_lock_child()
  631. wf_lock_uc()
  632. cb_edit.of_init_draw()
  633. cb_edit.of_paint()
  634. cb_edit.TriggerEvent('ue_textchange')
  635. THIS.TriggerEvent('refresh_interface')
  636. RETURN 1
  637. end function
  638. public function integer wf_lock_child ();//wf_lock_child
  639. INT LS_INT
  640. IF dw_edit_mode THEN
  641. FOR LS_INT=1 TO child_column_int
  642. dw_child.SetTabOrder (LS_INT,LS_INT*10 )
  643. NEXT
  644. //child_share
  645. FOR LS_INT=1 TO child_column_int
  646. dw_child_share.SetTabOrder (LS_INT,LS_INT*10 )
  647. NEXT
  648. ELSE
  649. FOR LS_INT=1 TO child_column_int
  650. dw_child.SetTabOrder (LS_INT, 0)
  651. NEXT
  652. //child_share
  653. FOR LS_INT=1 TO child_column_int
  654. dw_child_share.SetTabOrder (LS_INT, 0)
  655. NEXT
  656. END IF
  657. RETURN 1
  658. end function
  659. public function integer wf_no_edit ();//wf_no_edit
  660. IF dw_edit_mode THEN
  661. cb_edit.Enabled = TRUE
  662. ELSE
  663. cb_edit.Enabled = FALSE
  664. END IF
  665. RETURN 1
  666. end function
  667. public function integer wf_lock_uc ();//wf_lock_uc
  668. INT LS_INT
  669. long ls_row
  670. ls_row=dw_pageretr.getrow()
  671. IF dw_edit_mode THEN
  672. FOR LS_INT=1 TO uc_column_int
  673. dw_pageretr.SetTabOrder (LS_INT,LS_INT*10 )
  674. NEXT
  675. ELSE
  676. FOR LS_INT=1 TO uc_column_int
  677. dw_pageretr.SetTabOrder (LS_INT, 0)
  678. NEXT
  679. END IF
  680. if ls_row>0 then dw_pageretr.setrow(ls_row)
  681. RETURN 1
  682. end function
  683. public function integer wf_refresh_curuc (long arg_subaccsetid, long arg_credid);//wf_refresh_curuc
  684. IF arg_subaccsetid < 0 THEN RETURN 0
  685. IF arg_credid <= 0 OR IsNull(arg_credid) THEN RETURN 0
  686. Long uc_row
  687. uc_row = dw_pageretr.GetRow()
  688. IF uc_row <= 0 THEN RETURN 0
  689. dw_pageretr.SetRedraw(FALSE)
  690. Long credno
  691. DateTime creddate
  692. Long billnumber
  693. String credtype
  694. Long cmonth
  695. String billmaker
  696. DateTime billmakerdate
  697. String billcheck
  698. DateTime billcheckdate
  699. String billpost
  700. DateTime billpostdate
  701. Int checkflag
  702. Int postflag
  703. DateTime moddate
  704. String modemp
  705. SELECT cw_credence.credno,
  706. cw_credence.creddate ,
  707. cw_credence.billnumber ,
  708. cw_credence.credtype ,
  709. cw_credence.cmonth ,
  710. cw_credence.billmaker,
  711. cw_credence.billmakerdate ,
  712. cw_credence.billcheck ,
  713. cw_credence.billcheckdate ,
  714. cw_credence.billpost ,
  715. cw_credence.billpostdate ,
  716. cw_credence.checkflag ,
  717. cw_credence.postflag ,
  718. cw_credence.moddate ,
  719. cw_credence.modemp
  720. INTO :credno ,
  721. :creddate ,
  722. :billnumber,
  723. :credtype ,
  724. :cmonth ,
  725. :billmaker,
  726. :billmakerdate ,
  727. :billcheck ,
  728. :billcheckdate ,
  729. :billpost ,
  730. :billpostdate ,
  731. :checkflag ,
  732. :postflag,
  733. :moddate,
  734. :modemp
  735. FROM cw_credence
  736. WHERE ( cw_credence.accsetid = :sys_accsetid ) AND
  737. ( cw_credence.subaccsetid = :arg_subaccsetid ) AND
  738. ( cw_credence.credid = :arg_credid) ;
  739. IF sqlca.SQLCode <> 0 THEN
  740. MessageBox('系统提示',"查询操作失败(错误凭证唯一码)")
  741. RETURN 0
  742. END IF
  743. dw_pageretr.Object.accsetid[uc_row] = sys_accsetid
  744. dw_pageretr.Object.subaccsetid[uc_row] = arg_subaccsetid
  745. dw_pageretr.Object.credid[uc_row] = arg_credid
  746. dw_pageretr.Object.credno[uc_row] = credno
  747. dw_pageretr.Object.creddate[uc_row] = creddate
  748. dw_pageretr.Object.billnumber[uc_row] = billnumber
  749. dw_pageretr.Object.credtype[uc_row] = credtype
  750. dw_pageretr.Object.cmonth[uc_row] = cmonth
  751. dw_pageretr.Object.billmaker[uc_row] = billmaker
  752. dw_pageretr.Object.billmakerdate[uc_row] = billmakerdate
  753. dw_pageretr.Object.billcheck[uc_row] = billcheck
  754. dw_pageretr.Object.billcheckdate[uc_row] = billcheckdate
  755. dw_pageretr.Object.billpost[uc_row] = billpost
  756. dw_pageretr.Object.billpostdate[uc_row] = billpostdate
  757. dw_pageretr.Object.checkflag[uc_row] = checkflag
  758. dw_pageretr.Object.postflag[uc_row] = postflag
  759. dw_pageretr.Object.moddate[uc_row] = moddate
  760. dw_pageretr.Object.modemp[uc_row] = modemp
  761. wf_flagstatus_rf()
  762. dw_pageretr.SetRedraw(TRUE)
  763. RETURN 1
  764. //credid
  765. //accsetid
  766. //subaccsetid
  767. //credno
  768. //creddate
  769. //billnumber
  770. //credtype
  771. //cmonth
  772. //billmaker
  773. //billmakerdate
  774. //billcheck
  775. //billcheckdate
  776. //billpost
  777. //billpostdate
  778. //checkflag
  779. //postflag
  780. end function
  781. public function integer wf_change_childdw_face ();Long ls_sit,ls_width
  782. IF if_fcurrency THEN
  783. IF NOT if_changedw THEN
  784. dw_child.Modify('cw_subject_moneyid_t.visible=1 ~n rate_t.visible=1 ~n cw_credencemx_rawmoney_t.visible=1 ~n')
  785. dw_child.Modify('cw_subject_moneyid.visible=1 ~n rate.visible=1 ~n cw_credencemx_rawmoney.visible=1 ~n')
  786. ls_width = Long(dw_child.Describe('subid.width')) - Long(dw_child.Describe('cw_subject_moneyid.width')) - Long(dw_child.Describe('rate.width'))
  787. dw_child.Modify('subid.width='+String(ls_width))
  788. ls_sit = Long(dw_child.Describe('subid.x'))+Long(dw_child.Describe('subid.width')) + 2
  789. dw_child.Modify('cw_subject_moneyid_t.x='+String(ls_sit))
  790. dw_child.Modify('cw_subject_moneyid.x='+String(ls_sit))
  791. ls_sit = Long(dw_child.Describe('cw_subject_moneyid.x'))+Long(dw_child.Describe('cw_subject_moneyid.width')) + 6
  792. dw_child.Modify('rate_t.x='+String(ls_sit))
  793. dw_child.Modify('rate.x='+String(ls_sit))
  794. dw_child.Modify('cw_credencemx_rawmoney_t.x='+String(ls_sit))
  795. dw_child.Modify('cw_credencemx_rawmoney.x='+String(ls_sit))
  796. ls_sit = Long(dw_child.Describe('rate.x'))+Long(dw_child.Describe('rate.width')) + 6
  797. dw_child.Modify('debit.x='+String(ls_sit))
  798. dw_child.Modify('debit_t.x='+String(ls_sit))
  799. dw_child.Modify('sum_debit.x='+String(ls_sit))
  800. dw_child.Modify('sum_rawmoney.x='+String(ls_sit))
  801. ls_sit = Long(dw_child.Describe('debit.x'))+Long(dw_child.Describe('debit.width')) + 6
  802. dw_child.Modify('credit.x='+String(ls_sit))
  803. dw_child.Modify('credit_t.x='+String(ls_sit))
  804. dw_child.Modify('sum_credit.x='+String(ls_sit))
  805. END IF
  806. IF NOT if_changedw THEN if_changedw = TRUE
  807. ELSE
  808. ls_width = Long(dw_child.Describe('subid.width')) + Long(dw_child.Describe('cw_subject_moneyid.width')) + Long(dw_child.Describe('rate.width'))
  809. dw_child.Modify('cw_subject_moneyid_t.visible=0 ~n rate_t.visible=0 ~n cw_credencemx_rawmoney_t.visible=0 ~n')
  810. dw_child.Modify('cw_subject_moneyid.visible=0 ~n rate.visible=0 ~n cw_credencemx_rawmoney.visible=0 ~n')
  811. dw_child.Modify('subid.width='+String(ls_width))
  812. ls_sit = Long(dw_child.Describe('subid.x'))+Long(dw_child.Describe('subid.width')) + 4
  813. dw_child.Modify('debit.x='+String(ls_sit))
  814. dw_child.Modify('debit_t.x='+String(ls_sit))
  815. dw_child.Modify('sum_debit.x='+String(ls_sit))
  816. dw_child.Modify('sum_rawmoney.x='+String(ls_sit))
  817. ls_sit = Long(dw_child.Describe('debit.x'))+Long(dw_child.Describe('debit.width')) + 6
  818. dw_child.Modify('credit.x='+String(ls_sit))
  819. dw_child.Modify('credit_t.x='+String(ls_sit))
  820. dw_child.Modify('sum_credit.x='+String(ls_sit))
  821. if_changedw = FALSE
  822. END IF
  823. RETURN 1
  824. // cw_credencemx_rawmoney
  825. // cw_subject_moneyid
  826. // rate
  827. // debit
  828. // credit
  829. // cw_subject_moneyid
  830. // cw_credencemx_rawmoney
  831. end function
  832. public function integer wf_autoadd_mx (datetime arg_createdate);Long i,li_row
  833. //datastore arg_ds
  834. //
  835. //arg_ds = CREATE datastore
  836. //arg_ds.DataObject = "ds_credencemx"
  837. //arg_ds.SetTransObject(sqlca)
  838. //
  839. //arg_ds.SetFullState ( s_tran.arg_blobds )
  840. //
  841. //cb_new.TriggerEvent(Clicked!)
  842. //
  843. //
  844. //
  845. //FOR i = 1 TO arg_ds.RowCount()
  846. // IF i <= dw_child.RowCount() THEN
  847. // dw_child.Object.brief[i] = arg_ds.Object.brief[i]
  848. // dw_child.Object.subid[i] = arg_ds.Object.subid[i]
  849. //
  850. // dw_child.Object.rate[i] = arg_ds.Object.rate[i]
  851. // dw_child.Object.debit[i] = arg_ds.Object.debit[i]
  852. // dw_child.Object.credit[i] = arg_ds.Object.credit[i]
  853. // dw_child.Object.cw_credencemx_amount[i] = arg_ds.Object.amount[i]
  854. // dw_child.Object.cw_credencemx_price[i] = arg_ds.Object.price[i]
  855. // dw_child.Object.cw_credencemx_deptid[i] = arg_ds.Object.deptid[i]
  856. // dw_child.Object.cw_credencemx_itemid[i] = arg_ds.Object.itemid[i]
  857. // dw_child.Object.cw_credencemx_billdate[i] = arg_ds.Object.billdate[i]
  858. // dw_child.Object.cw_credencemx_billid[i] = arg_ds.Object.billid[i]
  859. // dw_child.Object.cw_credencemx_billno[i] = arg_ds.Object.billno[i]
  860. // dw_child.Object.cropbillid[i] = arg_ds.Object.cropbillid[i]
  861. // dw_child.Object.cw_credencemx_readonly[i] = arg_ds.Object.READONLY[i]
  862. // END IF
  863. //NEXT
  864. //
  865. //dw_pageretr.AcceptText()
  866. //li_row = dw_pageretr.GetRow()
  867. //
  868. //dw_pageretr.SetRedraw(FALSE)
  869. //dw_pageretr.Object.creddate[li_row] = arg_createdate
  870. //dw_pageretr.Object.reldate[li_row] = arg_createdate
  871. //dw_pageretr.SetFocus()
  872. //dw_pageretr.SetColumn("reldate")
  873. //dw_pageretr.SetRedraw(TRUE)
  874. //
  875. RETURN 1
  876. end function
  877. public subroutine wf_reshare_subid ();//1.会计科目
  878. datawindowchild childdw_subid
  879. dw_child.GetChild("subid",childdw_subid)
  880. childdw_subid.SetTransObject (sqlca)
  881. ddd_subid_display_detail.ShareData(childdw_subid)
  882. end subroutine
  883. public function integer wf_check_cash (ref string arg_msg);Int rslt = 1
  884. IF sys_option_use_cash = 0 THEN
  885. rslt = 1
  886. GOTO ext
  887. END IF
  888. IF dw_edit_mode THEN
  889. rslt = 0
  890. arg_msg = '编辑状态不可用'
  891. GOTO ext
  892. END IF
  893. IF dw_pageretr.GetRow() <= 0 THEN
  894. rslt = 0
  895. arg_msg = '请选择凭证'
  896. GOTO ext
  897. END IF
  898. Long i,cnt
  899. Long ll_accsetid,ll_credid
  900. dw_pageretr.AcceptText()
  901. ll_accsetid = dw_pageretr.Object.accsetid[dw_pageretr.GetRow()]
  902. ll_credid = dw_pageretr.Object.credid[dw_pageretr.GetRow()]
  903. SELECT count(*) INTO :cnt
  904. FROM cw_subject,cw_credencemx
  905. WHERE cw_subject.accsetid = cw_credencemx.accsetid
  906. AND cw_subject.subid = cw_credencemx.subid
  907. AND cw_credencemx.accsetid = :ll_accsetid
  908. AND cw_credencemx.credid = :ll_credid
  909. AND cw_subject.hsemp = 1;
  910. IF sqlca.SQLCode <> 0 THEN
  911. arg_msg = '查询分录是否有核算现金流量科目失败,'+sqlca.SQLErrText
  912. rslt = 0
  913. GOTO ext
  914. END IF
  915. IF cnt = 0 THEN
  916. rslt = 1
  917. GOTO ext
  918. END IF
  919. Decimal ld_debit,ld_credit
  920. SELECT sum(debit),sum(credit) INTO :ld_debit,:ld_credit
  921. FROM cw_subject,cw_credencemx
  922. WHERE cw_subject.accsetid = cw_credencemx.accsetid
  923. AND cw_subject.subid = cw_credencemx.subid
  924. AND cw_credencemx.accsetid = :ll_accsetid
  925. AND cw_credencemx.credid = :ll_credid
  926. AND cw_subject.hsemp = 1;
  927. IF sqlca.SQLCode <> 0 THEN
  928. arg_msg = '查询分录核算现金流量科目金额失败,'+sqlca.SQLErrText
  929. rslt = 0
  930. GOTO ext
  931. END IF
  932. IF ld_debit = ld_credit THEN
  933. rslt = 1
  934. GOTO ext
  935. END IF
  936. cnt = 0
  937. SELECT count(*) INTO :cnt
  938. FROM cw_cashitem
  939. WHERE accsetid = :ll_accsetid
  940. AND credid = :ll_credid;
  941. IF sqlca.SQLCode <> 0 THEN
  942. arg_msg = '查询现金流量分配失败,'+sqlca.SQLErrText
  943. rslt = 0
  944. GOTO ext
  945. END IF
  946. IF cnt = 0 THEN
  947. arg_msg = '现金流量未分配,请检查'
  948. rslt = 0
  949. GOTO ext
  950. END IF
  951. ext:
  952. RETURN rslt
  953. end function
  954. public function integer wf_flagstatus_rf ();//wf_flagstatus_rf
  955. Long pagerert_row
  956. pagerert_row = dw_pageretr.GetRow()
  957. IF pagerert_row <= 0 THEN
  958. cb_auditing.Enabled = FALSE
  959. cb_3.Enabled = FALSE
  960. GOTO ext
  961. END IF
  962. IF dw_edit_mode THEN
  963. cb_auditing.Enabled = FALSE
  964. cb_3.Enabled = FALSE
  965. ELSE
  966. IF dw_pageretr.Object.checkflag[pagerert_row] = 0 THEN
  967. cb_auditing.Enabled = TRUE
  968. cb_3.Enabled = FALSE
  969. ELSEIF dw_pageretr.Object.checkflag[pagerert_row] = 1 and dw_pageretr.Object.postflag[pagerert_row] = 0 THEN
  970. cb_auditing.Enabled = FALSE
  971. cb_3.Enabled = TRUE
  972. ELSEIF dw_pageretr.Object.checkflag[pagerert_row] = 1 and dw_pageretr.Object.postflag[pagerert_row] = 1 THEN
  973. cb_auditing.Enabled = FALSE
  974. cb_3.Enabled = FALSE
  975. END IF
  976. END IF
  977. ext:
  978. RETURN 0
  979. end function
  980. on w_credence_edit.create
  981. int iCurrent
  982. call super::create
  983. this.cb_print=create cb_print
  984. this.cb_retrieve=create cb_retrieve
  985. this.cb_addzy=create cb_addzy
  986. this.cb_delet=create cb_delet
  987. this.cb_edit=create cb_edit
  988. this.cb_add=create cb_add
  989. this.cb_add_xm=create cb_add_xm
  990. this.cb_dele_xm=create cb_dele_xm
  991. this.cb_auditing=create cb_auditing
  992. this.dw_child=create dw_child
  993. this.cb_money=create cb_money
  994. this.dw_child_share=create dw_child_share
  995. this.cb_3=create cb_3
  996. this.cb_print_1=create cb_print_1
  997. this.cbx_1=create cbx_1
  998. this.cb_other=create cb_other
  999. this.cb_new=create cb_new
  1000. this.st_mxdscrp=create st_mxdscrp
  1001. this.ln_5=create ln_5
  1002. this.ln_6=create ln_6
  1003. this.ln_1=create ln_1
  1004. this.ln_2=create ln_2
  1005. iCurrent=UpperBound(this.Control)
  1006. this.Control[iCurrent+1]=this.cb_print
  1007. this.Control[iCurrent+2]=this.cb_retrieve
  1008. this.Control[iCurrent+3]=this.cb_addzy
  1009. this.Control[iCurrent+4]=this.cb_delet
  1010. this.Control[iCurrent+5]=this.cb_edit
  1011. this.Control[iCurrent+6]=this.cb_add
  1012. this.Control[iCurrent+7]=this.cb_add_xm
  1013. this.Control[iCurrent+8]=this.cb_dele_xm
  1014. this.Control[iCurrent+9]=this.cb_auditing
  1015. this.Control[iCurrent+10]=this.dw_child
  1016. this.Control[iCurrent+11]=this.cb_money
  1017. this.Control[iCurrent+12]=this.dw_child_share
  1018. this.Control[iCurrent+13]=this.cb_3
  1019. this.Control[iCurrent+14]=this.cb_print_1
  1020. this.Control[iCurrent+15]=this.cbx_1
  1021. this.Control[iCurrent+16]=this.cb_other
  1022. this.Control[iCurrent+17]=this.cb_new
  1023. this.Control[iCurrent+18]=this.st_mxdscrp
  1024. this.Control[iCurrent+19]=this.ln_5
  1025. this.Control[iCurrent+20]=this.ln_6
  1026. this.Control[iCurrent+21]=this.ln_1
  1027. this.Control[iCurrent+22]=this.ln_2
  1028. end on
  1029. on w_credence_edit.destroy
  1030. call super::destroy
  1031. destroy(this.cb_print)
  1032. destroy(this.cb_retrieve)
  1033. destroy(this.cb_addzy)
  1034. destroy(this.cb_delet)
  1035. destroy(this.cb_edit)
  1036. destroy(this.cb_add)
  1037. destroy(this.cb_add_xm)
  1038. destroy(this.cb_dele_xm)
  1039. destroy(this.cb_auditing)
  1040. destroy(this.dw_child)
  1041. destroy(this.cb_money)
  1042. destroy(this.dw_child_share)
  1043. destroy(this.cb_3)
  1044. destroy(this.cb_print_1)
  1045. destroy(this.cbx_1)
  1046. destroy(this.cb_other)
  1047. destroy(this.cb_new)
  1048. destroy(this.st_mxdscrp)
  1049. destroy(this.ln_5)
  1050. destroy(this.ln_6)
  1051. destroy(this.ln_1)
  1052. destroy(this.ln_2)
  1053. end on
  1054. event closequery;IF dw_edit_mode THEN
  1055. Int ls_row = 0
  1056. dw_pageretr.AcceptText()
  1057. ls_row = dw_pageretr.GetNextModified(0, Primary!)+&
  1058. dw_pageretr.GetNextModified(0, Filter!)+dw_pageretr.DeletedCount()
  1059. IF ls_row > 0 THEN
  1060. IF MessageBox('是否保存','单据数据已经改变,是否确定要放弃保存?',Question!,YesNo!,2 ) = 2 THEN
  1061. RETURN 1
  1062. END IF
  1063. ELSE
  1064. ls_row = dw_child.GetNextModified(0, Primary!)+&
  1065. dw_child.GetNextModified(0, Filter!)+dw_child.DeletedCount()
  1066. IF ls_row > 0 THEN
  1067. IF MessageBox('是否保存','单据明细数据已经改变,是否确定要放弃保存?',Question!,YesNo!,2 ) = 2 THEN
  1068. RETURN 1
  1069. END IF
  1070. END IF
  1071. END IF
  1072. END IF
  1073. end event
  1074. event user_key;call super::user_key;IF KeyDown(KeyF6!) THEN
  1075. this.TRIGGEREVENT('ue_f6')
  1076. ELSEIF KeyDown(KeyF7!) THEN
  1077. this.TRIGGEREVENT('ue_f7')
  1078. ELSEIF KeyDown(KeyF8!) or KeyDown(KeyShift!) and KeyDown(KeyEnter!) THEN
  1079. this.TRIGGEREVENT('ue_f8')
  1080. ELSEIF KeyDown(KeyF9!) THEN
  1081. this.TRIGGEREVENT('ue_f9')
  1082. ELSEIF KeyDown(KeyF10!) THEN
  1083. this.TRIGGEREVENT('ue_f10')
  1084. ELSEIF KeyDown(KeyF11!) THEN
  1085. this.TRIGGEREVENT('ue_f11')
  1086. ELSEIF KeyDown(KeyF12!) THEN
  1087. this.TRIGGEREVENT('ue_f12')
  1088. ELSEIF KeyDown(KeyF4!) THEN
  1089. if cb_add.enabled then cb_add.TRIGGEREVENT(CLICKED!)
  1090. ELSEIF KeyDown(KeyF5!) THEN
  1091. if cb_edit.enabled then cb_edit.TRIGGEREVENT(CLICKED!)
  1092. end if
  1093. end event
  1094. event open;THIS.TriggerEvent('ue_before_open')
  1095. wf_movetocenter()
  1096. OLD_TITLE = THIS.Title
  1097. s_tran = Message.PowerObjectParm
  1098. IF NOT IsNull(s_tran) THEN
  1099. retrieve_all = s_tran.if_retrieve_all
  1100. mode = s_tran.work_mode
  1101. arg_pkid = s_tran.arg_pkid
  1102. arg_string_code = s_tran.arg_string_code
  1103. if_sharedata = s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效
  1104. ds_share = s_tran.ds_share
  1105. i_credid = s_tran.e_long
  1106. END IF
  1107. dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关
  1108. dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关
  1109. dw_pageretr.SetTransObject (sqlca)
  1110. pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
  1111. ori_oldselect = dw_pageretr.DESCRIBE("DataWindow.Table.Select")
  1112. ls_newselect = ori_oldselect
  1113. ds_curquery = CREATE DATASTORE
  1114. ds_curquery.DataObject = 'd_extr_find'
  1115. ds_curquery.SetTransObject (sqlca)
  1116. wf_editindex_lockf()
  1117. sle_usual_query.Text = Trim(arg_string_code)
  1118. IF NOT retrieve_all THEN
  1119. THIS.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve
  1120. ELSE
  1121. IF if_sharedata THEN
  1122. ds_share.ShareData(dw_pageretr)
  1123. ELSE
  1124. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  1125. THIS.TriggerEvent('retrieve_pageretr')
  1126. END IF
  1127. END IF
  1128. IF retrieve_all THEN
  1129. THIS.TriggerEvent("ue_usual_query_filt")
  1130. END IF
  1131. //wf_refresh_interface()
  1132. wf_change_childdw_face()
  1133. uc_column_int = 10 //uc dw前7列可以编辑
  1134. child_column_int = 21 //子dw前19列可以编辑
  1135. uo_credence_ins = CREATE uo_credence
  1136. ////////////////////////
  1137. IF s_tran.d_long > 0 THEN
  1138. wf_autoadd_mx(s_tran.b_datetime)
  1139. END IF
  1140. end event
  1141. event ue_before_open;dw_child_share.SetTransObject(sqlca)
  1142. dw_child.SetTransObject(sqlca)
  1143. dw_pageretr.SetTransObject(sqlca)
  1144. //1.会计科目
  1145. wf_reshare_subid()
  1146. //2.凭证字
  1147. datawindowchild childdw_credword
  1148. dw_pageretr.GetChild("credtype",childdw_credword)
  1149. childdw_credword.SetTransObject (sqlca)
  1150. childdw_credword.Retrieve(sys_accsetid)
  1151. IF childdw_credword.RowCount() <= 0 THEN
  1152. childdw_credword.InsertRow(0)
  1153. END IF
  1154. //3.结算方式
  1155. //datawindowchild childdw_banktypeid
  1156. //dw_child_share.GetChild("cw_credencemx_billid",childdw_banktypeid)
  1157. //childdw_banktypeid.SetTransObject (sqlca)
  1158. //childdw_banktypeid.Retrieve(sys_accsetid)
  1159. //IF childdw_banktypeid.RowCount() <= 0 THEN
  1160. // childdw_banktypeid.InsertRow(0)
  1161. //END IF
  1162. //5.项目
  1163. //datawindowchild childdw_itemid
  1164. //dw_child_share.GetChild("cw_credencemx_itemid",childdw_itemid)
  1165. //childdw_itemid.SetTransObject (sqlca)
  1166. //childdw_itemid.Retrieve(sys_accsetid)
  1167. //IF childdw_itemid.RowCount() <= 0 THEN
  1168. // childdw_itemid.InsertRow(0)
  1169. //END IF
  1170. //6.外币
  1171. //datawindowchild childdw_moneyid
  1172. //dw_child.GetChild("cw_subject_moneyid",childdw_moneyid)
  1173. //childdw_moneyid.SetTransObject (sqlca)
  1174. //childdw_moneyid.Retrieve(sys_accsetid)
  1175. //IF childdw_moneyid.RowCount() <= 0 THEN
  1176. // childdw_moneyid.InsertRow(0)
  1177. //END IF
  1178. end event
  1179. event retrieve_pageretr;Boolean cb_nextpage_enabled,cb_retrieveall_enabled
  1180. Boolean cb_retrieve_enabled
  1181. cb_nextpage_enabled = cb_nextpage.Enabled
  1182. cb_retrieveall_enabled = cb_retrieveall.Enabled
  1183. cb_nextpage.Enabled = FALSE
  1184. cb_retrieveall.Enabled = FALSE
  1185. dw_pageretr.ShareDataOff()
  1186. dw_pageretr.Retrieve(sys_accsetid,i_credid)
  1187. IF dw_pageretr.RowCount() > 0 AND dw_pageretr.GetRow() = 0 THEN dw_pageretr.SetRow(1)
  1188. wf_flagstatus_rf()
  1189. THIS.TriggerEvent('retrieve_childdw')
  1190. cb_nextpage.Enabled = cb_nextpage_enabled
  1191. cb_retrieveall.Enabled = cb_retrieveall_enabled
  1192. end event
  1193. event key;THIS.TriggerEvent('user_key')
  1194. end event
  1195. event close;Long ll_pagerow
  1196. dw_pageretr.AcceptText()
  1197. ll_pagerow = dw_pageretr.GetRow()
  1198. IF ll_pagerow <= 0 THEN
  1199. rst_credid = 0
  1200. ELSE
  1201. rst_credid = dw_pageretr.Object.credid[ll_pagerow]
  1202. END IF
  1203. DESTROY uo_credence_ins
  1204. CloseWithReturn(THIS,rst_credid)
  1205. end event
  1206. event resize;call super::resize;ln_5.EndX = THIS.Width
  1207. ln_6.EndX = THIS.Width
  1208. ln_1.EndX = THIS.Width
  1209. ln_2.EndX = THIS.Width
  1210. end event
  1211. type cb_func from w_publ_pageretr`cb_func within w_credence_edit
  1212. boolean visible = false
  1213. integer x = 1806
  1214. integer y = 176
  1215. end type
  1216. type cb_exit from w_publ_pageretr`cb_exit within w_credence_edit
  1217. integer x = 2537
  1218. integer y = 0
  1219. integer width = 151
  1220. integer height = 164
  1221. integer taborder = 240
  1222. integer picsize = 16
  1223. toolbaralignment pic_align = alignattop!
  1224. boolean border = false
  1225. end type
  1226. type sle_usual_query from w_publ_pageretr`sle_usual_query within w_credence_edit
  1227. boolean visible = false
  1228. integer x = 3561
  1229. integer y = 824
  1230. integer width = 224
  1231. boolean bringtotop = true
  1232. end type
  1233. type cb_retrieveall from w_publ_pageretr`cb_retrieveall within w_credence_edit
  1234. integer x = 3886
  1235. integer y = 488
  1236. integer width = 151
  1237. integer taborder = 200
  1238. end type
  1239. type em_pagerowno from w_publ_pageretr`em_pagerowno within w_credence_edit
  1240. integer x = 3721
  1241. integer y = 316
  1242. integer height = 92
  1243. integer taborder = 180
  1244. boolean bringtotop = true
  1245. end type
  1246. type dw_pageretr from w_publ_pageretr`dw_pageretr within w_credence_edit
  1247. integer y = 348
  1248. integer width = 2990
  1249. integer height = 1768
  1250. boolean titlebar = false
  1251. string dataobject = "dw_credence_edit"
  1252. boolean maxbox = false
  1253. boolean hscrollbar = false
  1254. boolean vscrollbar = false
  1255. boolean resizable = false
  1256. boolean hsplitscroll = false
  1257. borderstyle borderstyle = stylebox!
  1258. end type
  1259. event dw_pageretr::rowfocuschanged;dw_pageretr.SetRow(currentrow)
  1260. dw_pageretr.ScrollToRow(currentrow)
  1261. IF NOT dw_edit_mode THEN PARENT.TriggerEvent('retrieve_childdw')
  1262. end event
  1263. event dw_pageretr::ue_after_filter;IF NOT dw_edit_mode THEN PARENT.TriggerEvent('retrieve_childdw')
  1264. end event
  1265. event dw_pageretr::itemchanged;if not dw_edit_mode then return
  1266. if row <= 0 then return
  1267. if dwo.name <> 'credtype' then return
  1268. dw_pageretr.accepttext()
  1269. dw_pageretr.setredraw(false)
  1270. string ls_credtype,arg_msg
  1271. long ls_yearmon
  1272. ls_yearmon = sys_curyearmon
  1273. ls_credtype = dw_pageretr.object.credtype[row]
  1274. if sys_option_credno_save = 0 then
  1275. dw_pageretr.object.credno[row] = uo_credence_ins.get_new_credno(0,ls_credtype,ls_yearmon,arg_msg)
  1276. if trim(arg_msg)<>'' then messagebox('提示',arg_msg)
  1277. end if
  1278. dw_pageretr.setcolumn("creddate")
  1279. dw_pageretr.setredraw(true)
  1280. end event
  1281. event dw_pageretr::dwnkey;PARENT.TriggerEvent('user_key')
  1282. IF Key = KeyDownArrow! THEN RETURN 1
  1283. IF dw_edit_mode THEN
  1284. IF dw_pageretr.GetColumnName ( ) = 'billnumber' AND Key = KeyEnter! THEN
  1285. dw_child.SetFocus()
  1286. dw_child.ScrollToRow(1)
  1287. dw_child.SetColumn ('brief')
  1288. RETURN 1
  1289. ELSE
  1290. IF Key = KeyEnter! THEN //
  1291. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1292. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1293. RETURN 1
  1294. END IF
  1295. END IF
  1296. END IF
  1297. end event
  1298. event dw_pageretr::constructor;//
  1299. end event
  1300. type st_1 from w_publ_pageretr`st_1 within w_credence_edit
  1301. boolean visible = false
  1302. integer x = 3561
  1303. integer y = 1000
  1304. integer width = 174
  1305. string text = "期间:"
  1306. end type
  1307. type cb_nextpage from w_publ_pageretr`cb_nextpage within w_credence_edit
  1308. integer x = 4032
  1309. integer y = 1016
  1310. integer width = 151
  1311. integer taborder = 230
  1312. end type
  1313. type cb_print from uo_imflatbutton within w_credence_edit
  1314. integer x = 2153
  1315. integer width = 192
  1316. integer height = 164
  1317. integer taborder = 140
  1318. string text = "预览&P"
  1319. string normalpicname = "preview.bmp"
  1320. integer picsize = 16
  1321. toolbaralignment pic_align = alignattop!
  1322. boolean border = false
  1323. end type
  1324. event clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  1325. String menustr
  1326. menustr = "Text=本位币格式~tEvent=ue_print_view"
  1327. menustr = menustr + "|" + "Text=外币格式~tEvent=ue_print_wb_view"
  1328. IF Len(Trim(menustr)) <> 0 THEN
  1329. dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  1330. dmPopupMenu.mf_BuildMenu(THIS, menustr)
  1331. dmPopupMenu.mf_PopMenu()
  1332. DESTROY dmPopupMenu
  1333. END IF
  1334. end event
  1335. type cb_retrieve from uo_imflatbutton within w_credence_edit
  1336. integer x = 2002
  1337. integer width = 151
  1338. integer height = 164
  1339. integer taborder = 100
  1340. string text = "刷新"
  1341. string normalpicname = "refresh.bmp"
  1342. integer picsize = 16
  1343. toolbaralignment pic_align = alignattop!
  1344. boolean border = false
  1345. end type
  1346. event clicked;parent.triggerevent('retrieve_pageretr')
  1347. end event
  1348. type cb_addzy from uo_imflatbutton within w_credence_edit
  1349. integer x = 535
  1350. integer width = 192
  1351. integer height = 164
  1352. integer taborder = 160
  1353. boolean bringtotop = true
  1354. boolean enabled = false
  1355. string text = "获取&A"
  1356. string normalpicname = "find.bmp"
  1357. integer picsize = 16
  1358. toolbaralignment pic_align = alignattop!
  1359. boolean border = false
  1360. end type
  1361. event clicked;IF NOT dw_edit_mode THEN RETURN
  1362. Long child_row
  1363. String ls_brief,ls_subid
  1364. s_subject s_rt_subject
  1365. dw_child.accepttext()
  1366. child_row = dw_child.GetRow()
  1367. IF child_row <= 0 THEN
  1368. MessageBox('系统提示','请选定当前目标凭证明细!')
  1369. RETURN
  1370. END IF
  1371. IF dw_child.GetColumnName() = 'brief' THEN
  1372. Open(w_briefdef_edit)
  1373. ls_brief = Message.StringParm
  1374. IF ls_brief = '' THEN RETURN
  1375. dw_child.Object.brief[child_row] = ls_brief
  1376. ELSEIF dw_child.GetColumnName() = 'subid' THEN
  1377. IF cbx_1.Checked THEN
  1378. IF NOT IsValid(w_subjectdef_edit) THEN OpenWithParm(w_subjectdef_edit,0)
  1379. ELSE
  1380. IF NOT IsValid(w_subjectdef_ch) then OpenWithParm(w_subjectdef_ch,Trim(dw_child.Object.subid[child_row]))
  1381. END IF
  1382. s_rt_subject = Message.PowerObjectParm
  1383. IF s_rt_subject.subid = '' THEN RETURN
  1384. wf_reshare_subid()
  1385. dw_child.Object.subid[child_row] = s_rt_subject.subid
  1386. dw_child.Object.cw_subject_moneyid[child_row] = s_rt_subject.moneyid
  1387. dw_child.Object.cw_subject_hswb[child_row] = s_rt_subject.hswb
  1388. dw_child.Object.cw_subject_hsqty[child_row] = s_rt_subject.hsqty
  1389. dw_child.Object.cw_subject_hsdept[child_row] = s_rt_subject.hsdept
  1390. dw_child.Object.cw_subject_hsemp[child_row] = s_rt_subject.hsemp
  1391. dw_child.Object.cw_subject_hsitem[child_row] = s_rt_subject.hsitem
  1392. dw_child.Object.cw_subject_dcflag[child_row] = s_rt_subject.dcflag
  1393. dw_child.Object.cw_subject_hscust[child_row] = s_rt_subject.hscust
  1394. dw_child.Object.cw_subject_hsspt[child_row] = s_rt_subject.hsspt
  1395. dw_child.Object.cw_subject_hstrader[child_row] = s_rt_subject.hstrader
  1396. IF s_rt_subject.hswb <> 0 THEN
  1397. if_fcurrency = TRUE
  1398. wf_change_childdw_face()
  1399. IF s_rt_subject.hswb = 2 THEN
  1400. Long ll_moneyid_native
  1401. Decimal ld_rate
  1402. SELECT moneyid,rate INTO :ll_moneyid_native,:ld_rate
  1403. FROM cw_currency Where accsetid = :sys_accsetid AND native = 1;
  1404. IF sqlca.SQLCode <> 0 THEN
  1405. ll_moneyid_native = 0
  1406. ld_rate = 0
  1407. ELSE
  1408. dw_child.Object.cw_subject_moneyid[child_row] = ll_moneyid_native
  1409. dw_child.Object.rate[child_row] = ld_rate
  1410. END IF
  1411. END IF
  1412. END IF
  1413. END IF
  1414. //cw_subject_hsdept
  1415. //cw_subject_hsemp
  1416. //cw_subject_hsitem
  1417. //cw_subject_hsqty
  1418. //cw_subject_hswb
  1419. //cw_subject_moneyid
  1420. //cw_subject_specialcode
  1421. end event
  1422. type cb_delet from uo_imflatbutton within w_credence_edit
  1423. integer x = 384
  1424. integer width = 151
  1425. integer height = 164
  1426. integer taborder = 150
  1427. string text = "删除"
  1428. string normalpicname = "delete.bmp"
  1429. integer picsize = 16
  1430. toolbaralignment pic_align = alignattop!
  1431. boolean border = false
  1432. end type
  1433. event clicked;IF NOT f_power_ind(1031,sys_msg_pow) THEN
  1434. MessageBox(publ_operator,'你没有使用权限!')
  1435. RETURN
  1436. END IF
  1437. IF dw_edit_mode THEN RETURN
  1438. IF MessageBox ("IF","是否确定要删除当前凭证吗?",Question!,YesNo! ) = 2 THEN RETURN
  1439. String arg_msg = ''
  1440. Long uc_row
  1441. Long ls_subaccsetid,ls_credid
  1442. uc_row = dw_pageretr.GetRow()
  1443. IF uc_row <= 0 THEN
  1444. MessageBox('系统提示','请选定当前目标凭证!')
  1445. RETURN
  1446. END IF
  1447. ls_subaccsetid = dw_pageretr.Object.subaccsetid[uc_row]
  1448. ls_credid = dw_pageretr.Object.credid[uc_row]
  1449. IF uo_credence_ins.del(0,ls_subaccsetid,ls_credid,arg_msg,TRUE) = 0 THEN
  1450. MessageBox('Error!',arg_msg)
  1451. ELSE
  1452. MessageBox(publ_operator,'删除凭证'+String(dw_pageretr.Object.credno[uc_row])+'成功!')
  1453. dw_pageretr.DeleteRow(uc_row)
  1454. dw_pageretr.PostEvent(RowFocusChanged!)
  1455. END IF
  1456. end event
  1457. type cb_edit from uo_imflatbutton within w_credence_edit
  1458. integer x = 192
  1459. integer width = 192
  1460. integer height = 164
  1461. integer taborder = 70
  1462. string text = "修改&E"
  1463. string normalpicname = "open.bmp"
  1464. integer picsize = 16
  1465. toolbaralignment pic_align = alignattop!
  1466. boolean border = false
  1467. end type
  1468. event clicked;IF NOT f_power_ind(1030,sys_msg_pow) THEN
  1469. MessageBox(publ_operator,'你没有使用权限!')
  1470. RETURN
  1471. END IF
  1472. String arg_msg = ''
  1473. Long uc_row
  1474. Long ls_subaccsetid,ls_credid
  1475. uc_row = dw_pageretr.GetRow()
  1476. IF uc_row <= 0 THEN
  1477. MessageBox('系统提示','请选定当前目标凭证!')
  1478. RETURN
  1479. END IF
  1480. ls_subaccsetid = dw_pageretr.Object.subaccsetid[uc_row]
  1481. ls_credid = dw_pageretr.Object.credid[uc_row]
  1482. IF NOT dw_edit_mode THEN
  1483. IF uo_credence_ins.UPDATEbegin(ls_subaccsetid,ls_credid,arg_msg) = 0 THEN
  1484. MessageBox(publ_operator,arg_msg)
  1485. RETURN
  1486. END IF
  1487. END IF
  1488. dw_edit_mode = NOT dw_edit_mode
  1489. wf_refresh_interface()
  1490. IF dw_edit_mode THEN
  1491. dw_pageretr.SetFocus()
  1492. cur_editfoucs = 2
  1493. ELSE
  1494. PARENT.TriggerEvent('retrieve_pageretr')
  1495. IF if_fcurrency THEN
  1496. if_fcurrency = FALSE
  1497. wf_change_childdw_face()
  1498. END IF
  1499. cur_editfoucs = 0
  1500. END IF
  1501. end event
  1502. type cb_add from uo_imflatbutton within w_credence_edit
  1503. integer width = 192
  1504. integer height = 164
  1505. integer taborder = 60
  1506. boolean enabled = false
  1507. string text = "保存&S"
  1508. string normalpicname = "save.bmp"
  1509. integer picsize = 16
  1510. toolbaralignment pic_align = alignattop!
  1511. boolean border = false
  1512. end type
  1513. event clicked;IF NOT f_power_ind(1030,sys_msg_pow) THEN
  1514. MessageBox(publ_operator,'你没有使用权限!')
  1515. RETURN
  1516. END IF
  1517. String arg_msg = ''
  1518. Long uc_row
  1519. Decimal sum_debit,sum_credit
  1520. DateTime firstdate,enddate
  1521. Long i
  1522. Long ls_yearmon
  1523. ls_yearmon = sys_curyearmon
  1524. IF dw_edit_mode THEN
  1525. dw_pageretr.AcceptText()
  1526. dw_child.AcceptText()
  1527. dw_child_share.AcceptText()
  1528. uc_row = dw_pageretr.GetRow()
  1529. IF uc_row <= 0 THEN
  1530. MessageBox(publ_operator,'请选定当前目标凭证!')
  1531. RETURN
  1532. END IF
  1533. IF sys_option_credno_save = 0 THEN
  1534. IF dw_pageretr.Object.credno[uc_row] <= 0 THEN
  1535. MessageBox(publ_operator,'请正确填写凭证编号!')
  1536. RETURN
  1537. END IF
  1538. END IF
  1539. sum_debit = dw_child.Object.sum_debit[1]
  1540. sum_credit = dw_child.Object.sum_credit[1]
  1541. IF sum_debit <> 0 OR sum_credit <> 0 THEN
  1542. IF String(sum_debit,'###0.00') <> String(sum_credit,'###0.00') THEN
  1543. IF (String(sum_debit,'###0.00') = '0.00' OR String(sum_debit,'###0.00') = '-0.00') AND &
  1544. (String(sum_credit,'###0.00') = '0.00' OR String(sum_credit,'###0.00') = '-0.00') THEN
  1545. ELSE
  1546. MessageBox(publ_operator,'借、贷方金额不等!')
  1547. RETURN
  1548. END IF
  1549. END IF
  1550. END IF
  1551. //====================================================================
  1552. // script - clicked for cb_add
  1553. // reason:检查数量是否已录入
  1554. //--------------------------------------------------------------------
  1555. // modified by: yyx date: 2004.02.17
  1556. //--------------------------------------------------------------------
  1557. FOR i = 1 TO dw_child.RowCount()
  1558. String is_subid,is_brief
  1559. Int is_hsqty
  1560. Decimal is_amount,is_price
  1561. is_brief = dw_child.Object.brief[i]
  1562. is_subid = dw_child.Object.subid[i]
  1563. is_hsqty = dw_child.Object.cw_subject_hsqty[i]
  1564. is_amount = dw_child.Object.cw_credencemx_amount[i]
  1565. is_price = dw_child.Object.cw_credencemx_price[i]
  1566. IF IsNull(is_hsqty) THEN is_hsqty = 0
  1567. IF IsNull(is_amount) THEN is_amount = 0
  1568. IF IsNull(is_price) THEN is_price = 0
  1569. IF is_hsqty = 1 AND is_amount = 0 AND is_price = 0 THEN
  1570. IF MessageBox ("询问","摘要:"+is_brief+",科目:"+is_subid+"没有录入数量,是否确定要保存当前凭证吗?",question!,yesno! ) = 2 THEN RETURN
  1571. END IF
  1572. Int li_hsdept,li_hsitem,li_hscust,li_hsspt
  1573. Long ll_itemid,ll_deptid,ll_cusid,ll_sptid
  1574. li_hsdept = dw_child.Object.cw_subject_hsdept[i]
  1575. ll_deptid = dw_child.Object.cw_credencemx_deptid[i]
  1576. li_hsitem = dw_child.Object.cw_subject_hsitem[i]
  1577. ll_itemid = dw_child.Object.cw_credencemx_itemid[i]
  1578. li_hscust = dw_child.Object.cw_subject_hscust[i]
  1579. ll_cusid = dw_child.Object.cw_credencemx_cusid[i]
  1580. li_hsspt = dw_child.Object.cw_subject_hsspt[i]
  1581. ll_sptid = dw_child.Object.cw_credencemx_sptid[i]
  1582. IF IsNull(li_hsdept) THEN li_hsdept = 0
  1583. IF IsNull(ll_deptid) THEN ll_deptid = 0
  1584. IF IsNull(li_hsitem) THEN li_hsitem = 0
  1585. IF IsNull(ll_itemid) THEN ll_itemid = 0
  1586. IF IsNull(li_hscust) THEN li_hscust = 0
  1587. IF IsNull(ll_cusid) THEN ll_cusid = 0
  1588. IF IsNull(li_hsspt) THEN li_hsspt = 0
  1589. IF IsNull(ll_sptid) THEN ll_sptid = 0
  1590. IF li_hsdept = 1 AND ll_deptid = 0 THEN
  1591. IF sys_option_cred_dics_limit = 0 THEN
  1592. IF MessageBox ("询问","摘要:"+is_brief+",科目:"+is_subid+"核算部门,分录没有选择部门,是否确定要保存当前凭证吗?",question!,yesno! ) = 2 THEN RETURN
  1593. ELSE
  1594. MessageBox ("询问","摘要:"+is_brief+",科目:"+is_subid+"核算部门,分录没有选择部门,不能保存当前凭证,请检查")
  1595. END IF
  1596. END IF
  1597. IF li_hsitem = 1 AND ll_itemid = 0 THEN
  1598. IF sys_option_cred_dics_limit = 0 THEN
  1599. IF MessageBox ("询问","摘要:"+is_brief+",科目:"+is_subid+"核算项目,分录没有选择项目,是否确定要保存当前凭证吗?",question!,yesno! ) = 2 THEN RETURN
  1600. ELSE
  1601. MessageBox ("询问","摘要:"+is_brief+",科目:"+is_subid+"核算项目,分录没有选择项目,不能保存当前凭证,请检查")
  1602. END IF
  1603. END IF
  1604. IF li_hscust = 1 AND ll_cusid = 0 THEN
  1605. IF sys_option_cred_dics_limit = 0 THEN
  1606. IF MessageBox ("询问","摘要:"+is_brief+",科目:"+is_subid+"核算客户,分录没有选择客户,是否确定要保存当前凭证吗?",question!,yesno! ) = 2 THEN RETURN
  1607. ELSE
  1608. MessageBox ("询问","摘要:"+is_brief+",科目:"+is_subid+"核算客户,分录没有选择客户,不能保存当前凭证,请检查")
  1609. END IF
  1610. END IF
  1611. IF li_hsspt = 1 AND ll_sptid = 0 THEN
  1612. IF sys_option_cred_dics_limit = 0 THEN
  1613. IF MessageBox ("询问","摘要:"+is_brief+",科目:"+is_subid+"核算供应商,分录没有选择供应商,是否确定要保存当前凭证吗?",question!,yesno! ) = 2 THEN RETURN
  1614. ELSE
  1615. MessageBox ("询问","摘要:"+is_brief+",科目:"+is_subid+"核算供应商,分录没有选择供应商,不能保存当前凭证,请检查")
  1616. END IF
  1617. END IF
  1618. NEXT
  1619. //====================================================================
  1620. //====================================================================
  1621. // script - clicked for cb_add
  1622. // reason:检查贷方是否录入现金银行
  1623. //--------------------------------------------------------------------
  1624. // modified by: yyx date: 2004.02.17
  1625. //--------------------------------------------------------------------
  1626. IF sys_bank_awoke = 1 THEN
  1627. FOR i = 1 TO dw_child.RowCount()
  1628. Dec arg_rawdebit,arg_rawcredit
  1629. IF dw_child.Object.debit[i] <> 0 THEN
  1630. arg_rawdebit = dw_child.Object.cw_credencemx_rawmoney[i]
  1631. arg_rawcredit = 0
  1632. ELSEIF dw_child.Object.credit[i] <> 0 THEN
  1633. arg_rawdebit = 0
  1634. arg_rawcredit = dw_child.Object.cw_credencemx_rawmoney[i]
  1635. END IF
  1636. IF f_check_credit(dw_pageretr.Object.credid[uc_row],dw_child.Object.subid[i],&
  1637. dw_child.Object.debit[i],dw_child.Object.credit[i],&
  1638. arg_rawdebit,arg_rawcredit,arg_msg) = 0 THEN
  1639. IF MessageBox ("询问","科目:"+String(dw_child.Object.subid[i])+" 为现金或银行余额贷方分录,是否确定要保存当前凭证吗? ~n" + arg_msg,question!,yesno! ) = 2 THEN RETURN
  1640. END IF
  1641. NEXT
  1642. END IF
  1643. //====================================================================
  1644. uo_credence_ins.subaccsetid = dw_pageretr.Object.subaccsetid[uc_row] //子帐id
  1645. uo_credence_ins.credno = dw_pageretr.Object.credno[uc_row] // 编号
  1646. uo_credence_ins.creddate = dw_pageretr.Object.creddate[uc_row] // 日期
  1647. uo_credence_ins.billnumber = dw_pageretr.Object.billnumber[uc_row] //附件
  1648. uo_credence_ins.credtype = dw_pageretr.Object.credtype[uc_row] //凭证字
  1649. uo_credence_ins.reldcode = dw_pageretr.Object.reldcode[uc_row] //凭证字
  1650. uo_credence_ins.reldate = dw_pageretr.Object.reldate[uc_row] //凭证字
  1651. uo_credence_ins.ifauto = 0
  1652. IF s_tran.c_long > 0 THEN
  1653. uo_credence_ins.readtype = s_tran.c_long
  1654. ELSE
  1655. uo_credence_ins.readtype = dw_pageretr.Object.readtype[uc_row]
  1656. END IF
  1657. uo_credence_ins.relevantbillid = s_tran.d_long
  1658. uo_credence_ins.cmonth = ls_yearmon // 日期
  1659. FOR i = 1 TO dw_child.RowCount()
  1660. Dec ls_rawdebit,ls_rawcredit,ls_price,ls_amount
  1661. IF dw_child.Object.debit[i] <> 0 THEN
  1662. ls_rawdebit = dw_child.Object.cw_credencemx_rawmoney[i]
  1663. ls_rawcredit = 0
  1664. ELSEIF dw_child.Object.credit[i] <> 0 THEN
  1665. ls_rawdebit = 0
  1666. ls_rawcredit = dw_child.Object.cw_credencemx_rawmoney[i]
  1667. END IF
  1668. ls_amount = dw_child.Object.cw_credencemx_amount[i]
  1669. IF ls_amount = 0 THEN
  1670. ls_price = 0
  1671. ELSE
  1672. ls_price = Round((dw_child.Object.debit[i] + dw_child.Object.credit[i])/ls_amount ,4)
  1673. END IF
  1674. IF uo_credence_ins.acceptmx(dw_child.Object.no[i],dw_child.Object.subid[i],&
  1675. dw_child.Object.brief[i],dw_child.Object.rate[i],ls_rawdebit,&
  1676. ls_rawcredit,dw_child.Object.debit[i],dw_child.Object.credit[i],&
  1677. ls_amount,ls_price,&
  1678. dw_child.Object.cw_credencemx_deptid[i],dw_child.Object.cw_credencemx_itemid[i],&
  1679. dw_child.Object.cw_credencemx_billdate[i],dw_child.Object.cw_credencemx_billid[i],&
  1680. dw_child.Object.cw_credencemx_billno[i],dw_child.Object.cropbillid[i],&
  1681. dw_child.Object.cw_credencemx_readonly[i],&
  1682. dw_child.Object.cw_credencemx_cusid[i],&
  1683. dw_child.Object.cw_credencemx_sptid[i],&
  1684. dw_child.Object.cw_credencemx_empid[i],&
  1685. arg_msg) = 0 THEN
  1686. MessageBox('error!',arg_msg)
  1687. RETURN
  1688. END IF
  1689. NEXT
  1690. IF uo_credence_ins.Save(publ_operator,arg_msg,TRUE) = 0 THEN
  1691. MessageBox('error!',arg_msg)
  1692. RETURN
  1693. END IF
  1694. MessageBox(publ_operator,'保存操作成功!')
  1695. dw_pageretr.SelectRow(0,FALSE)
  1696. dw_pageretr.SelectRow(uc_row,TRUE)
  1697. wf_refresh_curuc(uo_credence_ins.subaccsetid,uo_credence_ins.credid) //刷新uc
  1698. IF if_fcurrency THEN
  1699. if_fcurrency = FALSE
  1700. wf_change_childdw_face()
  1701. END IF
  1702. END IF
  1703. dw_edit_mode = NOT dw_edit_mode
  1704. wf_refresh_interface()
  1705. IF NOT dw_edit_mode THEN
  1706. cur_editfoucs = 0
  1707. PARENT.TriggerEvent("retrieve_childdw")
  1708. CLOSE(PARENT)
  1709. END IF
  1710. end event
  1711. type cb_add_xm from uo_imflatbutton within w_credence_edit
  1712. integer x = 1070
  1713. integer width = 283
  1714. integer height = 164
  1715. integer taborder = 80
  1716. boolean enabled = false
  1717. string text = "插明细F8"
  1718. string normalpicname = "mx.bmp"
  1719. integer picsize = 16
  1720. toolbaralignment pic_align = alignattop!
  1721. boolean border = false
  1722. end type
  1723. event clicked;Int li_row_1, li_cur_row_1
  1724. li_cur_row_1 = dw_child.GetRow()
  1725. li_row_1 = dw_child.InsertRow (li_cur_row_1)
  1726. dw_child.ScrollToRow (li_row_1)
  1727. dw_child.SetFocus()
  1728. end event
  1729. type cb_dele_xm from uo_imflatbutton within w_credence_edit
  1730. integer x = 1353
  1731. integer width = 224
  1732. integer height = 164
  1733. integer taborder = 90
  1734. boolean enabled = false
  1735. string text = "删明细"
  1736. string normalpicname = "mx1.bmp"
  1737. integer picsize = 16
  1738. toolbaralignment pic_align = alignattop!
  1739. boolean border = false
  1740. end type
  1741. event clicked;IF MessageBox ("IF","是否确定要删除当前细目记录?",Question!,YesNo! ) = 2 THEN RETURN
  1742. IF dw_child.GETROW()=0 THEN
  1743. MESSAGEBOX('NO','请选择删除的行对象!')
  1744. RETURN
  1745. END IF
  1746. dw_child.DeleteRow (0)
  1747. dw_child.TriggerEvent (rowfocuschanged!)
  1748. end event
  1749. type cb_auditing from uo_imflatbutton within w_credence_edit
  1750. integer x = 727
  1751. integer width = 192
  1752. integer height = 164
  1753. integer taborder = 190
  1754. boolean bringtotop = true
  1755. string text = "审核&F"
  1756. string normalpicname = "audit.bmp"
  1757. integer picsize = 16
  1758. toolbaralignment pic_align = alignattop!
  1759. boolean border = false
  1760. end type
  1761. event clicked;IF NOT f_power_ind(1032,sys_msg_pow) THEN
  1762. MessageBox(publ_operator,'你没有使用权限!')
  1763. RETURN
  1764. END IF
  1765. IF dw_edit_mode THEN RETURN
  1766. String arg_msg = ''
  1767. Long pagerert_row
  1768. Long ls_subaccsetid,ls_credid
  1769. pagerert_row = dw_pageretr.GetRow()
  1770. IF pagerert_row <= 0 THEN
  1771. MessageBox('系统提示','请选定当前目标凭证!')
  1772. RETURN
  1773. END IF
  1774. IF MessageBox ("IF","是否确定要"+THIS.Text+"当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1775. ls_subaccsetid = dw_pageretr.Object.subaccsetid[pagerert_row]
  1776. ls_credid = dw_pageretr.Object.credid[pagerert_row]
  1777. IF wf_check_cash(arg_msg) = 0 THEN
  1778. MessageBox('提示',arg_msg)
  1779. RETURN
  1780. END IF
  1781. IF uo_credence_ins.Check(ls_subaccsetid,ls_credid,arg_msg,TRUE) = 0 THEN
  1782. MessageBox('Error!',arg_msg)
  1783. ELSE
  1784. MessageBox(publ_operator,'审核成功!')
  1785. wf_refresh_curuc(ls_subaccsetid,ls_credid)
  1786. END IF
  1787. end event
  1788. type dw_child from u_dw_rbtnfilter within w_credence_edit
  1789. event dwnkey pbm_dwnkey
  1790. integer y = 628
  1791. integer width = 2990
  1792. integer height = 1296
  1793. integer taborder = 30
  1794. boolean bringtotop = true
  1795. string dataobject = "dw_credencemx_index"
  1796. boolean vscrollbar = true
  1797. borderstyle borderstyle = stylebox!
  1798. end type
  1799. event dwnkey;PARENT.TriggerEvent('user_key')
  1800. String ls_subid,ls_briefcode,ls_briefname,ls_dftsubid,ls_subid_find
  1801. Long ls_moneyid
  1802. Int ls_hswb,ls_hsqty,ls_hsdept,ls_hsemp,ls_hsitem,ls_dcflag,ls_hscust,ls_hsspt,ls_hstrader
  1803. Dec ls_rawmoney
  1804. Double ls_rawrate
  1805. Long child_row
  1806. IF dw_edit_mode THEN
  1807. child_row = dw_child.GetRow()
  1808. IF child_row <= 0 THEN RETURN
  1809. IF (KeyDown(keyenter!) OR KeyDown(keytab!)) AND NOT KeyDown(keycontrol!) AND NOT KeyDown(keyshift!) THEN
  1810. IF dw_child.GetColumnName() = 'brief' THEN
  1811. dw_child.AcceptText()
  1812. ls_briefcode = dw_child.Object.brief[child_row]
  1813. IF ls_briefcode <> '' THEN
  1814. SELECT top 1 briefname,dftsubid INTO :ls_briefname,:ls_dftsubid
  1815. FROM cw_brief
  1816. Where (briefcode = :ls_briefcode OR briefname = :ls_briefcode)
  1817. AND accsetid = :sys_accsetid;
  1818. IF sqlca.SQLCode <> 0 OR IsNull(ls_briefname) THEN ls_briefname = ''
  1819. IF ls_briefname <> '' THEN
  1820. dw_child.Object.brief[child_row] = ls_briefname
  1821. IF dw_child.Object.subid[child_row] = '' THEN
  1822. dw_child.Object.subid[child_row] = ls_dftsubid
  1823. END IF
  1824. END IF
  1825. END IF
  1826. IF Key = keyenter! THEN
  1827. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1828. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1829. RETURN 1
  1830. END IF
  1831. ELSEIF dw_child.GetColumnName() = 'subid' THEN
  1832. dw_child.AcceptText()
  1833. ls_subid = dw_child.Object.subid[child_row]
  1834. SELECT cw_subject.moneyid,hswb,hsqty,hsdept,hsemp,hsitem,dcflag,cw_currency.rate,
  1835. hscust,hsspt,cw_subject.subid,cw_subject.hstrader
  1836. INTO :ls_moneyid,:ls_hswb,:ls_hsqty,:ls_hsdept,
  1837. :ls_hsemp,:ls_hsitem,:ls_dcflag,:ls_rawrate,:ls_hscust,:ls_hsspt,:ls_subid_find,:ls_hstrader
  1838. FROM cw_subject left OUTER join cw_currency on
  1839. cw_subject.accsetid = cw_currency.accsetid AND
  1840. cw_subject.moneyid = cw_currency.moneyid
  1841. Where subid = :ls_subid AND cw_subject.accsetid = :sys_accsetid;
  1842. IF sqlca.SQLCode <> 0 THEN
  1843. cb_addzy.TriggerEvent(Clicked!)
  1844. RETURN 1
  1845. END IF
  1846. dw_child.Object.cw_subject_moneyid[child_row] = ls_moneyid
  1847. dw_child.Object.cw_subject_hswb[child_row] = ls_hswb
  1848. dw_child.Object.cw_subject_hsqty[child_row] = ls_hsqty
  1849. dw_child.Object.cw_subject_hsdept[child_row] = ls_hsdept
  1850. dw_child.Object.cw_subject_hsemp[child_row] = ls_hsemp
  1851. dw_child.Object.cw_subject_hsitem[child_row] = ls_hsitem
  1852. dw_child.Object.cw_subject_dcflag[child_row] = ls_dcflag
  1853. dw_child.Object.cw_subject_hscust[child_row] = ls_hscust
  1854. dw_child.Object.cw_subject_hsspt[child_row] = ls_hsspt
  1855. dw_child.Object.cw_subject_hstrader[child_row] = ls_hstrader
  1856. dw_child.Object.subid[child_row] = ls_subid_find
  1857. IF ls_hswb <> 0 THEN
  1858. if_fcurrency = TRUE
  1859. dw_child.Object.rate[child_row] = ls_rawrate
  1860. wf_change_childdw_face()
  1861. IF ls_hswb = 2 THEN
  1862. Long ll_moneyid_native
  1863. Decimal ld_rate
  1864. SELECT moneyid,rate INTO :ll_moneyid_native,:ld_rate
  1865. FROM cw_currency Where accsetid = :sys_accsetid AND native = 1;
  1866. IF sqlca.SQLCode <> 0 THEN
  1867. ll_moneyid_native = 0
  1868. ld_rate = 0
  1869. ELSE
  1870. dw_child.Object.cw_subject_moneyid[child_row] = ll_moneyid_native
  1871. dw_child.Object.rate[child_row] = ld_rate
  1872. END IF
  1873. END IF
  1874. ELSE
  1875. dw_child.Object.rate[child_row] = 0
  1876. END IF
  1877. IF Key = keyenter! THEN
  1878. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1879. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1880. RETURN 1
  1881. END IF
  1882. ELSEIF dw_child.GetColumnName() = 'cw_credencemx_rawmoney' THEN
  1883. dw_child.AcceptText()
  1884. IF dw_child.Object.cw_subject_moneyid[child_row] > 0 THEN
  1885. ls_rawrate = dw_child.Object.rate[child_row]
  1886. ls_rawmoney = dw_child.Object.cw_credencemx_rawmoney[child_row]
  1887. IF dw_child.Object.cw_subject_dcflag[child_row] = 1 THEN
  1888. dw_child.Object.debit[child_row] = Round(ls_rawmoney * ls_rawrate,2)
  1889. ELSE
  1890. dw_child.Object.credit[child_row] = Round(ls_rawmoney * ls_rawrate,2)
  1891. END IF
  1892. IF Key = keyenter! THEN
  1893. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1894. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1895. RETURN 1
  1896. END IF
  1897. END IF
  1898. ELSEIF dw_child.GetColumnName() = 'debit' THEN
  1899. dw_child.AcceptText()
  1900. IF dw_child.Object.debit[child_row] <> 0 THEN dw_child.Object.credit[child_row] = 0
  1901. IF Key = keyenter! THEN
  1902. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1903. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1904. RETURN 1
  1905. ELSEIF Key = KeySpaceBar! THEN
  1906. dw_child.SetRedraw(FALSE)
  1907. dw_child.SetColumn('credit')
  1908. dw_child.Object.credit[child_row] = dw_child.Object.debit[child_row]
  1909. dw_child.Object.debit[child_row] = 0
  1910. dw_child.SetRedraw(TRUE)
  1911. RETURN 1
  1912. END IF
  1913. ELSEIF dw_child.GetColumnName() = 'credit' THEN
  1914. dw_child.AcceptText()
  1915. IF Key = keyenter! THEN
  1916. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1917. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1918. RETURN 1
  1919. ELSEIF Key = KeySpaceBar! THEN
  1920. dw_child.SetRedraw(FALSE)
  1921. dw_child.SetColumn('debit')
  1922. dw_child.Object.debit[child_row] = dw_child.Object.credit[child_row]
  1923. dw_child.Object.credit[child_row] = 0
  1924. dw_child.SetRedraw(TRUE)
  1925. RETURN 1
  1926. END IF
  1927. IF dw_child.Object.credit[child_row] <> 0 THEN
  1928. dw_child.Object.debit[child_row] = 0
  1929. dw_child.AcceptText()
  1930. END IF
  1931. ELSE
  1932. IF Key = keyenter! THEN
  1933. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1934. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1935. RETURN 1
  1936. END IF
  1937. END IF
  1938. ELSE
  1939. IF KeyDown( KeyF12!) AND dw_child.GetColumnName() = 'brief' THEN
  1940. dw_child.AcceptText()
  1941. dw_child.SetRedraw(FALSE)
  1942. IF child_row > 1 THEN
  1943. dw_child.Object.brief[child_row] = dw_child.Object.brief[child_row - 1]
  1944. END IF
  1945. dw_child.SetRedraw(TRUE)
  1946. END IF
  1947. END IF
  1948. END IF
  1949. end event
  1950. event constructor;call super::constructor;titleclick_sort_use=true
  1951. end event
  1952. event doubleclicked;IF NOT dw_edit_mode THEN RETURN
  1953. dw_child.AcceptText()
  1954. IF dwo.Name = 'cw_subject_moneyid' THEN
  1955. IF dw_child.Object.cw_subject_hswb[row] = 2 THEN
  1956. IF NOT IsValid(w_currency_ch) THEN
  1957. OPEN(w_currency_ch)
  1958. s_currency s_ch_rst
  1959. s_ch_rst = Message.PowerObjectParm
  1960. IF s_ch_rst.moneyid = 0 THEN RETURN
  1961. dw_child.Object.cw_subject_moneyid[row] = s_ch_rst.moneyid
  1962. dw_child.Object.rate[row] = s_ch_rst.rate
  1963. dw_child.SetColumn('cw_credencemx_rawmoney')
  1964. END IF
  1965. END IF
  1966. ELSE
  1967. cb_addzy.TriggerEvent(Clicked!)
  1968. END IF
  1969. end event
  1970. event rowfocuschanged;Long ll_getrow
  1971. ll_getrow = THIS.GetRow()
  1972. IF ll_getrow <= 0 THEN
  1973. st_mxdscrp.Text = ''
  1974. ELSE
  1975. THIS.SelectRow(0,FALSE)
  1976. THIS.SetRow(ll_getrow)
  1977. THIS.ScrollToRow (ll_getrow)
  1978. THIS.SelectRow(ll_getrow,TRUE)
  1979. THIS.AcceptText()
  1980. st_mxdscrp.Text = '分录:'+String(ll_getrow)+',搞要:'+THIS.Object.brief[ll_getrow]
  1981. dw_child_share.SetRow(ll_getrow)
  1982. dw_child_share.ScrollToRow (ll_getrow)
  1983. END IF
  1984. IF dw_edit_mode THEN
  1985. IF sys_option_lbrief = 1 AND ll_getrow > 1 AND cur_editfoucs = 1 THEN
  1986. dw_child.Object.brief[ll_getrow] = dw_child.Object.brief[ll_getrow - 1 ]
  1987. END IF
  1988. END IF
  1989. end event
  1990. event itemchanged;IF NOT dw_edit_mode THEN RETURN
  1991. String ls_subid
  1992. long ll_moneyid
  1993. int li_hswb,li_hsqty,li_hsdept,li_hsemp,li_hsitem,li_dcflag
  1994. dw_child.accepttext()
  1995. IF row <= 0 THEN RETURN
  1996. if dwo.name = 'subid' THEN
  1997. ls_subid = dw_child.object.subid[row]
  1998. select moneyid,hswb,hsqty,hsdept,hsemp,hsitem,dcflag
  1999. into :ll_moneyid,:li_hswb,:li_hsqty,:li_hsdept,:li_hsemp,:li_hsitem,:li_dcflag
  2000. from cw_subject
  2001. where accsetid = :sys_accsetid
  2002. and subid = :ls_subid;
  2003. if sqlca.sqlcode <> 0 then return
  2004. wf_reshare_subid()
  2005. dw_child.Object.cw_subject_moneyid[row] = ll_moneyid
  2006. dw_child.Object.cw_subject_hswb[row] = li_hswb
  2007. dw_child.Object.cw_subject_hsqty[row] = li_hsqty
  2008. dw_child.Object.cw_subject_hsdept[row] = li_hsdept
  2009. dw_child.Object.cw_subject_hsemp[row] = li_hsemp
  2010. dw_child.Object.cw_subject_hsitem[row] = li_hsitem
  2011. dw_child.Object.cw_subject_dcflag[row] = li_dcflag
  2012. IF li_hswb <> 0 THEN
  2013. if_fcurrency = TRUE
  2014. wf_change_childdw_face()
  2015. IF li_hswb = 2 THEN
  2016. Long ll_moneyid_native
  2017. Decimal ld_rate
  2018. SELECT moneyid,rate INTO :ll_moneyid_native,:ld_rate
  2019. FROM cw_currency Where accsetid = :sys_accsetid AND native = 1;
  2020. IF sqlca.SQLCode <> 0 THEN
  2021. ll_moneyid_native = 0
  2022. ld_rate = 0
  2023. ELSE
  2024. dw_child.Object.cw_subject_moneyid[row] = ll_moneyid_native
  2025. dw_child.Object.rate[row] = ld_rate
  2026. END IF
  2027. END IF
  2028. END IF
  2029. END IF
  2030. //cw_subject_hsdept
  2031. //cw_subject_hsemp
  2032. //cw_subject_hsitem
  2033. //cw_subject_hsqty
  2034. //cw_subject_hswb
  2035. //cw_subject_moneyid
  2036. //cw_subject_specialcode
  2037. end event
  2038. type cb_money from uo_imflatbutton within w_credence_edit
  2039. integer x = 1577
  2040. integer width = 151
  2041. integer height = 164
  2042. integer taborder = 120
  2043. boolean bringtotop = true
  2044. string text = "外币"
  2045. string normalpicname = "p2.BMP"
  2046. integer picsize = 16
  2047. toolbaralignment pic_align = alignattop!
  2048. boolean border = false
  2049. end type
  2050. event clicked;if_fcurrency = NOT if_fcurrency
  2051. wf_change_childdw_face()
  2052. end event
  2053. type dw_child_share from datawindow within w_credence_edit
  2054. event key pbm_dwnkey
  2055. integer x = 46
  2056. integer y = 1400
  2057. integer width = 1774
  2058. integer height = 512
  2059. integer taborder = 50
  2060. boolean bringtotop = true
  2061. string dataobject = "dw_credencemx_index2"
  2062. boolean border = false
  2063. boolean livescroll = true
  2064. end type
  2065. event key;PARENT.TriggerEvent('user_key')
  2066. IF Key = keyenter! THEN RETURN 1
  2067. end event
  2068. event itemchanged;if not dw_edit_mode then return
  2069. dec ls_amount,ls_price,ls_amt
  2070. long child_row,uc_row
  2071. dw_child_share.accepttext()
  2072. dw_child.accepttext()
  2073. child_row = dw_child_share.getrow()
  2074. uc_row = dw_child.getrow()
  2075. if child_row <= 0 then return
  2076. if uc_row <= 0 then return
  2077. ls_amt = dw_child.object.debit[uc_row] + dw_child.object.credit[uc_row]
  2078. if string(dwo.name) = 'cw_credencemx_amount' then
  2079. if dw_child_share.object.cw_subject_hsqty[child_row] > 0 or dw_child.object.cw_subject_hsqty[child_row] > 0 then
  2080. ls_amount = dw_child_share.object.cw_credencemx_amount[child_row]
  2081. if ls_amount > 0 then
  2082. ls_price = round(ls_amt/ls_amount,4)
  2083. end if
  2084. dw_child_share.object.cw_credencemx_price[child_row] = ls_price
  2085. end if
  2086. elseif string(dwo.name) = 'cw_credencemx_price' then
  2087. if dw_child_share.object.cw_subject_hsqty[child_row] > 0 or dw_child.object.cw_subject_hsqty[child_row] > 0 then
  2088. ls_amount = dw_child_share.object.cw_credencemx_amount[child_row]
  2089. if ls_amount > 0 then
  2090. ls_price = round(ls_amt/ls_amount,4)
  2091. end if
  2092. dw_child_share.object.cw_credencemx_price[child_row] = ls_price
  2093. end if
  2094. end if
  2095. //cw_credencemx_amount
  2096. end event
  2097. event buttonclicked;IF row <= 0 THEN RETURN
  2098. //IF dw_edit_mode THEN
  2099. // s_edit_index_tran s_ch_tran //传递参数使用
  2100. // s_ch_tran.if_retrieve_all = FALSE //是否一次RETRIEVE所有行
  2101. // s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  2102. // s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
  2103. // s_ch_tran.arg_string_code = ''//查询列(物料编码)部分内容,用于初步筛选
  2104. //
  2105. // IF dwo.Name = 'b_dept' THEN
  2106. // IF THIS.Object.cw_subject_hsdept[row] = 0 THEN
  2107. // MessageBox('提示','科目不是核算部门,不能选择部门')
  2108. // RETURN
  2109. // END IF
  2110. //
  2111. // IF NOT IsValid(w_department_ch) THEN
  2112. // OPEN(w_department_ch)
  2113. //
  2114. // Long ll_deptid
  2115. // ll_deptid = Message.DoubleParm
  2116. //
  2117. // IF ll_deptid > 0 THEN
  2118. // THIS.Object.cw_credencemx_deptid[row] = ll_deptid
  2119. // END IF
  2120. // END IF
  2121. // ELSEIF dwo.Name = 'b_item' THEN
  2122. //
  2123. // IF THIS.Object.cw_subject_hsitem[row] = 0 THEN
  2124. // MessageBox('提示','科目不是核算银行,不能选择银行')
  2125. // RETURN
  2126. // END IF
  2127. //
  2128. // IF NOT IsValid(w_hsaccount_ch) THEN
  2129. // OPEN(w_hsaccount_ch)
  2130. //
  2131. // s_accounts s_account
  2132. // s_account = Message.PowerObjectParm
  2133. //
  2134. // IF s_account.accountsid > 0 THEN
  2135. // THIS.Object.cw_credencemx_itemid[row] = s_account.accountsid
  2136. // END IF
  2137. // END IF
  2138. // ELSEIF dwo.Name = 'b_emp' THEN
  2139. //
  2140. // IF THIS.Object.cw_subject_hstrader[row] = 0 THEN
  2141. // MessageBox('提示','科目不是核算个人,不能选择个人')
  2142. // RETURN
  2143. // END IF
  2144. // IF NOT IsValid(w_empinfo_choice) THEN
  2145. // OPEN(w_empinfo_choice)
  2146. //
  2147. // s_empselect s_select
  2148. // s_select = Message.PowerObjectParm
  2149. //
  2150. // IF s_select.empid > 0 THEN
  2151. // THIS.Object.cw_credencemx_empid[row] = s_select.empid
  2152. // END IF
  2153. // END IF
  2154. // ELSEIF dwo.Name = 'b_cust' THEN
  2155. //
  2156. // IF THIS.Object.cw_subject_hscust[row] = 0 THEN
  2157. // MessageBox('提示','科目不是核算客户,不能选择客户')
  2158. // RETURN
  2159. // END IF
  2160. //
  2161. // IF NOT IsValid(W_cust_edit) THEN
  2162. // OpenWithParm(W_cust_edit,s_ch_tran) //调用
  2163. //
  2164. // s_custom S_INSCUST_cust
  2165. // S_INSCUST_cust = Message.PowerObjectParm //接受返回结构
  2166. //
  2167. // IF S_INSCUST_cust.cusid > 0 THEN //正常返回值则可以取以下值
  2168. // THIS.SetRedraw(FALSE)
  2169. // THIS.Object.cw_credencemx_cusid[row] = S_INSCUST_cust.cusid
  2170. // THIS.SetRedraw(TRUE)
  2171. // END IF
  2172. // END IF
  2173. // ELSEIF dwo.Name = 'b_spt' THEN
  2174. //
  2175. // IF THIS.Object.cw_subject_hsspt[row] = 0 THEN
  2176. // MessageBox('提示','科目不是核算供应商,不能选择供应商')
  2177. // RETURN
  2178. // END IF
  2179. //
  2180. // IF NOT IsValid(W_spt_edit) THEN
  2181. // OpenWithParm(W_spt_edit,s_ch_tran) //调用
  2182. //
  2183. // S_spt S_INSCUST_spt
  2184. // S_INSCUST_spt = Message.PowerObjectParm //接受返回结构
  2185. //
  2186. // IF S_INSCUST_spt.sptid > 0 THEN //正常返回值则可以取以下值
  2187. // THIS.SetRedraw(FALSE)
  2188. // THIS.Object.cw_credencemx_sptid[row] = S_INSCUST_spt.sptid
  2189. // THIS.SetRedraw(TRUE)
  2190. // END IF
  2191. // END IF
  2192. // END IF
  2193. //END IF
  2194. end event
  2195. type cb_3 from uo_imflatbutton within w_credence_edit
  2196. integer x = 919
  2197. integer width = 151
  2198. integer height = 164
  2199. integer taborder = 170
  2200. boolean bringtotop = true
  2201. string text = "撤审"
  2202. string normalpicname = "caudit.bmp"
  2203. integer picsize = 16
  2204. toolbaralignment pic_align = alignattop!
  2205. boolean border = false
  2206. end type
  2207. event clicked;IF NOT f_power_ind(1033,sys_msg_pow) THEN
  2208. MessageBox(publ_operator,'你没有使用权限!')
  2209. RETURN
  2210. END IF
  2211. IF dw_edit_mode THEN RETURN
  2212. String arg_msg = ''
  2213. Long pagerert_row
  2214. Long ls_subaccsetid,ls_credid
  2215. pagerert_row = dw_pageretr.GetRow()
  2216. IF pagerert_row <= 0 THEN
  2217. MessageBox('系统提示','请选定当前目标凭证!')
  2218. RETURN
  2219. END IF
  2220. IF MessageBox ("IF","是否确定要"+THIS.Text+"当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  2221. ls_subaccsetid = dw_pageretr.Object.subaccsetid[pagerert_row]
  2222. ls_credid = dw_pageretr.Object.credid[pagerert_row]
  2223. IF uo_credence_ins.cancel_check_1(ls_subaccsetid,ls_credid,1,arg_msg,TRUE) = 0 THEN
  2224. MessageBox('Error!',arg_msg)
  2225. ELSE
  2226. MessageBox(publ_operator,'撤审成功!')
  2227. wf_refresh_curuc(ls_subaccsetid,ls_credid)
  2228. END IF
  2229. end event
  2230. type cb_print_1 from uo_imflatbutton within w_credence_edit
  2231. integer x = 2345
  2232. integer width = 192
  2233. integer height = 164
  2234. integer taborder = 110
  2235. boolean bringtotop = true
  2236. string text = "打印&O"
  2237. string normalpicname = "print.bmp"
  2238. integer picsize = 16
  2239. toolbaralignment pic_align = alignattop!
  2240. boolean border = false
  2241. end type
  2242. event clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  2243. string menustr
  2244. menustr="Text=本位币格式~tEvent=ue_print"
  2245. menustr=menustr + "|" + "Text=外币格式~tEvent=ue_print_wb"
  2246. if len(trim(menustr))<>0 then
  2247. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  2248. dmPopupMenu.mf_BuildMenu(This, menustr)
  2249. dmPopupMenu.mf_PopMenu()
  2250. Destroy dmPopupMenu
  2251. end if
  2252. end event
  2253. type cbx_1 from checkbox within w_credence_edit
  2254. integer x = 558
  2255. integer y = 192
  2256. integer width = 357
  2257. integer height = 52
  2258. boolean bringtotop = true
  2259. integer textsize = -9
  2260. integer weight = 400
  2261. fontcharset fontcharset = gb2312charset!
  2262. fontpitch fontpitch = variable!
  2263. string facename = "宋体"
  2264. long textcolor = 33554432
  2265. long backcolor = 67108864
  2266. string text = "获取选定义"
  2267. boolean checked = true
  2268. end type
  2269. event clicked;Int li_ifdy
  2270. IF THIS.Checked THEN
  2271. li_ifdy = 1
  2272. ELSE
  2273. li_ifdy = 0
  2274. END IF
  2275. SetProfileString (sys_inifilename,dw_pageretr.DataObject, "ifdy", String(li_ifdy))
  2276. end event
  2277. event constructor;Int li_ifdy
  2278. li_ifdy = Integer(ProfileString (sys_inifilename,dw_pageretr.DataObject, "ifdy", '1'))
  2279. IF li_ifdy = 0 THEN
  2280. THIS.Checked = FALSE
  2281. ELSE
  2282. THIS.Checked = TRUE
  2283. END IF
  2284. end event
  2285. type cb_other from uo_imflatbutton within w_credence_edit
  2286. integer x = 1728
  2287. integer width = 274
  2288. integer height = 164
  2289. integer taborder = 130
  2290. boolean bringtotop = true
  2291. string text = "其它功能"
  2292. string normalpicname = "other.BMP"
  2293. integer picsize = 16
  2294. toolbaralignment pic_align = alignattop!
  2295. boolean border = false
  2296. end type
  2297. event clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  2298. string menustr
  2299. menustr="Text=找平~tEvent=ue_balance"
  2300. menustr=menustr + "|" + "Text=-"
  2301. menustr=menustr + "|" + "Text=计税~tEvent=ue_cmpl_tax"
  2302. menustr=menustr + "|" + "Text=-"
  2303. menustr=menustr + "|" + "Text=计算器~tEvent=ue_computer"
  2304. menustr=menustr + "|" + "Text=-"
  2305. menustr=menustr + "|" + "Text=现金流量分配~tEvent=ue_cash"
  2306. menustr=menustr + "|" + "Text=-"
  2307. menustr=menustr + "|" + "Text=调入模式凭证~tEvent=ue_cred_mode"
  2308. menustr=menustr + "|" + "Text=-"
  2309. menustr=menustr + "|" + "Text=查看相关单据~tEvent=ue_bill_find"
  2310. if len(trim(menustr))<>0 then
  2311. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  2312. dmPopupMenu.mf_BuildMenu(This, menustr)
  2313. dmPopupMenu.mf_PopMenu()
  2314. Destroy dmPopupMenu
  2315. end if
  2316. end event
  2317. type cb_new from uo_imflatbutton within w_credence_edit
  2318. boolean visible = false
  2319. integer x = 2857
  2320. integer y = 168
  2321. integer width = 151
  2322. integer height = 132
  2323. integer taborder = 250
  2324. boolean bringtotop = true
  2325. boolean enabled = false
  2326. string text = "新建"
  2327. end type
  2328. event clicked;String arg_msg = ''
  2329. Long uc_row
  2330. Long i
  2331. Long ls_yearmon
  2332. ls_yearmon = sys_curyearmon
  2333. IF not dw_edit_mode THEN
  2334. IF uo_credence_ins.newbegin() = 0 THEN
  2335. MessageBox('error!',arg_msg)
  2336. RETURN
  2337. END IF
  2338. END IF
  2339. dw_edit_mode = NOT dw_edit_mode
  2340. wf_refresh_interface()
  2341. IF dw_edit_mode THEN
  2342. Int li_row, li_cur_row
  2343. li_cur_row = dw_pageretr.GetRow()
  2344. li_row = dw_pageretr.InsertRow (li_cur_row)
  2345. dw_pageretr.ScrollToRow (li_row)
  2346. dw_child.Reset()
  2347. FOR i = 1 TO sys_credence_insertrow
  2348. dw_child.InsertRow(0)
  2349. NEXT
  2350. //
  2351. dw_pageretr.SetRedraw(FALSE)
  2352. String ls_credtype
  2353. DateTime ls_creddate
  2354. ls_credtype = Trim(dw_pageretr.Object.credtype[li_row])
  2355. IF sys_option_credno_save = 0 THEN
  2356. dw_pageretr.Object.credno[li_row] = uo_credence_ins.get_new_credno(0,ls_credtype,ls_yearmon,arg_msg)
  2357. IF Trim(arg_msg) <> '' THEN MessageBox('提示',arg_msg)
  2358. END IF
  2359. ls_creddate = f_rst_mon_1st(3,ls_yearmon)
  2360. dw_pageretr.Object.creddate[li_row] = ls_creddate
  2361. dw_pageretr.Object.reldate[li_row] = ls_creddate
  2362. dw_pageretr.SetColumn("reldate")
  2363. //
  2364. dw_pageretr.SetRedraw(TRUE)
  2365. dw_pageretr.SetFocus()
  2366. cur_editfoucs = 1
  2367. END IF
  2368. end event
  2369. type st_mxdscrp from statictext within w_credence_edit
  2370. integer x = 14
  2371. integer y = 264
  2372. integer width = 2962
  2373. integer height = 52
  2374. boolean bringtotop = true
  2375. integer textsize = -9
  2376. integer weight = 400
  2377. fontcharset fontcharset = gb2312charset!
  2378. fontpitch fontpitch = variable!
  2379. string facename = "宋体"
  2380. long textcolor = 33554432
  2381. long backcolor = 134217739
  2382. boolean enabled = false
  2383. boolean focusrectangle = false
  2384. end type
  2385. type ln_5 from line within w_credence_edit
  2386. long linecolor = 33554432
  2387. integer linethickness = 4
  2388. integer beginy = 332
  2389. integer endx = 1001
  2390. integer endy = 332
  2391. end type
  2392. type ln_6 from line within w_credence_edit
  2393. long linecolor = 16777215
  2394. integer linethickness = 4
  2395. integer beginy = 336
  2396. integer endx = 1001
  2397. integer endy = 336
  2398. end type
  2399. type ln_1 from line within w_credence_edit
  2400. long linecolor = 33554432
  2401. integer linethickness = 4
  2402. integer beginy = 168
  2403. integer endx = 1001
  2404. integer endy = 168
  2405. end type
  2406. type ln_2 from line within w_credence_edit
  2407. long linecolor = 16777215
  2408. integer linethickness = 4
  2409. integer beginy = 172
  2410. integer endx = 1001
  2411. integer endy = 172
  2412. end type