w_rp.srw 74 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617
  1. $PBExportHeader$w_rp.srw
  2. forward
  3. global type w_rp from w_publ_choice
  4. end type
  5. type cb_1 from uo_imflatbutton within w_rp
  6. end type
  7. type cb_2 from uo_imflatbutton within w_rp
  8. end type
  9. type cb_3 from uo_imflatbutton within w_rp
  10. end type
  11. type cb_4 from uo_imflatbutton within w_rp
  12. end type
  13. type dw_1 from u_dw_rbtnfilter within w_rp
  14. end type
  15. type dw_2 from u_dw_rbtnfilter within w_rp
  16. end type
  17. type cb_5 from uo_imflatbutton within w_rp
  18. end type
  19. type cb_6 from uo_imflatbutton within w_rp
  20. end type
  21. type cb_7 from uo_imflatbutton within w_rp
  22. end type
  23. type cb_ext from uo_imflatbutton within w_rp
  24. end type
  25. type rb_1 from radiobutton within w_rp
  26. end type
  27. type rb_2 from radiobutton within w_rp
  28. end type
  29. type sle_1 from singlelineedit within w_rp
  30. end type
  31. type mle_1 from multilineedit within w_rp
  32. end type
  33. type cb_13 from uo_imflatbutton within w_rp
  34. end type
  35. type cb_8 from uo_imflatbutton within w_rp
  36. end type
  37. type cb_9 from uo_imflatbutton within w_rp
  38. end type
  39. type cb_imexport from uo_imflatbutton within w_rp
  40. end type
  41. type cb_export from uo_imflatbutton within w_rp
  42. end type
  43. type mle_2 from multilineedit within w_rp
  44. end type
  45. type gb_1 from groupbox within w_rp
  46. end type
  47. type ln_3 from line within w_rp
  48. end type
  49. type s_kh from structure within w_rp
  50. end type
  51. end forward
  52. type s_kh from structure
  53. integer l_star
  54. integer l_end
  55. end type
  56. global type w_rp from w_publ_choice
  57. integer width = 4119
  58. integer height = 2956
  59. string title = "报表设计"
  60. boolean controlmenu = true
  61. boolean minbox = true
  62. boolean maxbox = true
  63. boolean resizable = true
  64. windowtype windowtype = main!
  65. windowstate windowstate = maximized!
  66. cb_1 cb_1
  67. cb_2 cb_2
  68. cb_3 cb_3
  69. cb_4 cb_4
  70. dw_1 dw_1
  71. dw_2 dw_2
  72. cb_5 cb_5
  73. cb_6 cb_6
  74. cb_7 cb_7
  75. cb_ext cb_ext
  76. rb_1 rb_1
  77. rb_2 rb_2
  78. sle_1 sle_1
  79. mle_1 mle_1
  80. cb_13 cb_13
  81. cb_8 cb_8
  82. cb_9 cb_9
  83. cb_imexport cb_imexport
  84. cb_export cb_export
  85. mle_2 mle_2
  86. gb_1 gb_1
  87. ln_3 ln_3
  88. end type
  89. global w_rp w_rp
  90. type variables
  91. string s_col="",s_text=""
  92. integer l_row=0
  93. integer rp_dw_row
  94. integer rp_rptype
  95. long rp_rpid
  96. integer left_or_right
  97. long rowid
  98. long rpid
  99. integer rowcode
  100. string rowname
  101. integer rowtype
  102. integer rowcmpltype
  103. string Rowformula1
  104. string Rowformula2
  105. end variables
  106. forward prototypes
  107. public subroutine p_clearmx ()
  108. public function integer save (ref string arg_msg)
  109. public function integer cancel (ref string arg_msg)
  110. public function integer acceptmx (long arg_rpid, integer arg_rowcode, string arg_rowname, integer arg_rowtype, integer arg_rowcmpltype, string arg_rowformula1, string arg_rowformula2)
  111. public subroutine f_bulid_rp (integer row)
  112. public function string of_globalreplace (string as_source, string as_old, string as_new)
  113. public function string f_add (integer arg_i, string arg_s)
  114. public function string f_minus (integer arg_i, string arg_s)
  115. public function integer f_writefile (blob ib_file, string is_filename)
  116. public function integer f_get_rpid ()
  117. public subroutine f_readfile ()
  118. public subroutine f_zcfzb_text (ref string arg_text)
  119. public subroutine f_create_zcfzb ()
  120. public subroutine f_lrb_text (ref string arg_text)
  121. public subroutine f_creat_lrb ()
  122. public subroutine wf_face ()
  123. public function string of_globalreplace1 (string as_source, string as_old, string as_new)
  124. end prototypes
  125. public subroutine p_clearmx (); rowid=0
  126. rpid=0
  127. rowcode=0
  128. rowname=""
  129. rowtype=0
  130. rowcmpltype=0
  131. Rowformula1=""
  132. Rowformula2=""
  133. end subroutine
  134. public function integer save (ref string arg_msg);Integer rslt = 1
  135. //rowid = f_sys_scidentity(0,"u_rp_rowdef","rowid",arg_msg,True,sqlca) //数据commit事务)
  136. // IF rowid <= 0 THEN
  137. // rslt = 0
  138. // GOTO ext
  139. // END IF
  140. INSERT INTO u_rp_rowdef
  141. (rpid,
  142. rowcode,
  143. rowname,
  144. rowtype,
  145. rowcmpltype,
  146. Rowformula1,
  147. Rowformula2
  148. )
  149. VALUES (
  150. :rpid,
  151. :rowcode,
  152. :rowname,
  153. :rowtype,
  154. :rowcmpltype,
  155. :Rowformula1,
  156. :Rowformula2
  157. ) Using sqlca;
  158. IF sqlca.SQLCode <> 0 THEN
  159. rslt = 0
  160. arg_msg = "因网络或其它原因导致插入明细操作失败"+"~n"+sqlca.SQLErrText
  161. ROLLBACK Using sqlca;
  162. GOTO ext
  163. END IF
  164. ext:
  165. IF rslt = 0 THEN
  166. p_clearmx()
  167. ROLLBACK Using sqlca;
  168. ELSEIF rslt = 1 THEN
  169. COMMIT Using sqlca;
  170. END IF
  171. RETURN rslt
  172. end function
  173. public function integer cancel (ref string arg_msg);int rslt=1
  174. DELETE From u_rp_rowdef Where u_rp_rowdef.rpid = :rp_rpid;
  175. IF sqlca.SQLCode <> 0 THEN
  176. rslt = 0
  177. arg_msg = "因网络或其它原因导致删除明细操作失败"+"~n"+sqlca.SQLErrText
  178. ROLLBACK Using sqlca;
  179. GOTO ext
  180. END IF
  181. ext:
  182. return rslt
  183. end function
  184. public function integer acceptmx (long arg_rpid, integer arg_rowcode, string arg_rowname, integer arg_rowtype, integer arg_rowcmpltype, string arg_rowformula1, string arg_rowformula2);Int rslt = 1
  185. p_clearmx()
  186. if isnull(arg_rpid) then arg_rpid=0
  187. if isnull(arg_rowcode) then arg_rowcode=0
  188. if isnull(arg_rowname) then arg_rowname=""
  189. if isnull( arg_rowtype ) then arg_rowtype=0
  190. if isnull(rowcmpltype) then rowcmpltype=0
  191. if isnull(arg_Rowformula1) then arg_Rowformula1=""
  192. if isnull(arg_Rowformula2) then arg_Rowformula2=""
  193. rpid = arg_rpid
  194. rowcode = arg_rowcode
  195. rowname = arg_rowname
  196. rowtype = arg_rowtype
  197. rowcmpltype = arg_rowcmpltype
  198. Rowformula1 = arg_Rowformula1
  199. Rowformula2 = arg_Rowformula2
  200. IF rpid = 0 THEN
  201. MessageBox("Error","报表id错误")
  202. rslt = 0
  203. GOTO ext
  204. END IF
  205. ext:
  206. IF rslt = 0 THEN p_clearmx()
  207. RETURN rslt
  208. end function
  209. public subroutine f_bulid_rp (integer row);if row<=0 then return
  210. f_get_rpid()
  211. cb_5.Enabled = False
  212. cb_6.Enabled = False
  213. cb_7.Enabled = False
  214. cb_8.Enabled = False
  215. cb_9.Enabled = False
  216. dw_2.Reset()
  217. //dw_1.Object.rpid[row]
  218. //messagebox("",string("sql_l1.text ='" + dw_1.Object.col1name1[row] + "'"))
  219. dw_2.Modify("colname_l_t.text ='" + dw_1.Object.col1name0[row] + "'")
  220. dw_2.Modify("sql_l1_t.text ='" + dw_1.Object.col1name1[row] + "'")
  221. dw_2.Modify("sql_l2_t.text ='" + dw_1.Object.col1name2[row] + "'")
  222. dw_2.Modify("colname_r_t.text='" + dw_1.Object.col2name0[row] + "'")
  223. dw_2.Modify("sql_r1_t.text ='" + dw_1.Object.col2name1[row] + "'")
  224. dw_2.Modify("sql_r2_t.text ='" + dw_1.Object.col2name2[row] + "'")
  225. Integer ll_rowcount,ll_i
  226. Integer s_rowcode
  227. String s_rowname
  228. Integer l_rowtype
  229. Integer l_rowcmpltype
  230. String s_Rowformula1
  231. String s_Rowformula2
  232. IF dw_1.Object.rptype[row] = 0 THEN
  233. dw_2.Modify("colname_r.Visible = 0")
  234. dw_2.Modify("sql_r1.Visible =0")
  235. dw_2.Modify("sql_r2.Visible = 0")
  236. SELECT Max(rowcode) Into :ll_rowcount From u_rp_rowdef Where rpid = :rp_rpid;
  237. FOR ll_i = 1 To ll_rowcount
  238. dw_2.InsertRow(0)
  239. //左
  240. rowname = ""
  241. Rowformula1 = ""
  242. Rowformula2 = ""
  243. SELECT rowname,Rowformula1,Rowformula2 Into :s_rowname,:s_Rowformula1,:s_Rowformula2 From u_rp_rowdef Where rpid = :rp_rpid And rowcmpltype = 0 And rowcode = :ll_i ;
  244. dw_2.Object.colname_l[ll_i] = s_rowname
  245. dw_2.Object.sql_l1[ll_i] = s_Rowformula1
  246. dw_2.Object.sql_l2[ll_i] = s_Rowformula2
  247. NEXT
  248. ELSE
  249. dw_2.Modify("colname_r.Visible = 1")
  250. dw_2.Modify("sql_r1.Visible =1")
  251. dw_2.Modify("sql_r2.Visible = 1")
  252. SELECT Max(rowcode) Into :ll_rowcount From u_rp_rowdef Where rpid = :rp_rpid;
  253. FOR ll_i = 1 To ll_rowcount
  254. dw_2.InsertRow(0)
  255. //左
  256. rowname = ""
  257. Rowformula1 = ""
  258. Rowformula2 = ""
  259. SELECT rowname,Rowformula1,Rowformula2 Into :s_rowname,:s_Rowformula1,:s_Rowformula2 From u_rp_rowdef Where rpid = :rp_rpid And rowcmpltype = 0 And rowcode = :ll_i ;
  260. dw_2.Object.colname_l[ll_i] = s_rowname
  261. dw_2.Object.sql_l1[ll_i] = s_Rowformula1
  262. dw_2.Object.sql_l2[ll_i] = s_Rowformula2
  263. //右
  264. rowname = ""
  265. Rowformula1 = ""
  266. Rowformula2 = ""
  267. SELECT rowname,Rowformula1,Rowformula2 Into :s_rowname,:s_Rowformula1,:s_Rowformula2 From u_rp_rowdef Where rpid = :rp_rpid And rowcmpltype = 1 And rowcode = :ll_i ;
  268. dw_2.Object.colname_r[ll_i] = s_rowname
  269. dw_2.Object.sql_r1[ll_i] = s_Rowformula1
  270. dw_2.Object.sql_r2[ll_i] = s_Rowformula2
  271. NEXT
  272. END IF
  273. end subroutine
  274. public function string of_globalreplace (string as_source, string as_old, string as_new);long ll_oldlen, ll_newlen, ll_pos
  275. ll_pos = Pos(as_source,as_old)
  276. IF ll_pos > 0 Then
  277. ll_oldlen = Len(as_old)
  278. ll_newlen = Len(as_new)
  279. as_source = Replace(as_source,ll_pos,ll_oldlen,as_new)
  280. ll_pos = Pos(as_source,as_old,ll_pos + ll_newlen)
  281. END IF
  282. RETURN as_source
  283. end function
  284. public function string f_add (integer arg_i, string arg_s);String s_rslt,s_s,s_s1,ls_s,ls_e
  285. String ss1,ss2
  286. String s1,s2
  287. Integer i,j
  288. FOR i = 1 To Len(arg_s)
  289. ls_s = Mid(arg_s,i,1)
  290. IF ls_s = "[" THEN
  291. FOR j = i To Len(arg_s)
  292. ls_e = Mid(arg_s,j,1)
  293. IF ls_e = "]" THEN
  294. s_s = Mid(arg_s,i + 1,j - i -1)
  295. IF Pos(s_s,":") > 0 THEN
  296. ss1 = Left(s_s,Pos(s_s,":") - 1)
  297. IF arg_i <= Long(ss1) THEN
  298. ss1 = String(Long(ss1) + 1)
  299. END IF
  300. ss2 = Right(s_s,Len(s_s) - Pos(s_s,":"))
  301. IF arg_i <= Long(ss2) THEN
  302. ss2 = String(Long(ss2) + 1)
  303. END IF
  304. arg_s = of_globalreplace(arg_s,"[" +s_s + "]","[" +ss1 + ":" + ss2 + "]")
  305. i = j
  306. EXIT
  307. ELSE
  308. IF Long(s_s) = 0 THEN
  309. s_rslt = "公式错误"
  310. GOTO ext
  311. END IF
  312. s_s1 = String(Long(s_s) + 1)
  313. s1 = Left(arg_s,i - 1)
  314. s2 = Right(arg_s,Len(arg_s) - i + 1)
  315. IF arg_i <= Long(s_s) THEN
  316. s2 = of_globalreplace(s2,"[" +s_s + "]","[" +s_s1 + "]")
  317. END IF
  318. arg_s = s1 + s2
  319. i = j
  320. EXIT
  321. END IF
  322. END IF
  323. NEXT
  324. END IF
  325. NEXT
  326. s_rslt = arg_s
  327. ext:
  328. RETURN s_rslt
  329. end function
  330. public function string f_minus (integer arg_i, string arg_s);String s_rslt,s_s,s_s1,ls_s,ls_e
  331. String s1,s2
  332. string ss1,ss2
  333. Integer i,j
  334. FOR i = 1 To Len(arg_s)
  335. ls_s = Mid(arg_s,i,1)
  336. IF ls_s = "[" THEN
  337. FOR j = i To Len(arg_s)
  338. ls_e = Mid(arg_s,j,1)
  339. IF ls_e = "]" THEN
  340. s_s = Mid(arg_s,i + 1,j - i -1)
  341. IF Pos(s_s,":") > 0 THEN
  342. ss1 = Left(s_s,Pos(s_s,":") - 1)
  343. IF arg_i <= Long(ss1) THEN
  344. ss1 = String(Long(ss1) - 1)
  345. END IF
  346. ss2 = Right(s_s,Len(s_s) - Pos(s_s,":"))
  347. IF arg_i <= Long(ss2) THEN
  348. ss2 = String(Long(ss2) - 1)
  349. END IF
  350. arg_s = of_globalreplace(arg_s,"[" +s_s + "]","[" +ss1 + ":" + ss2 + "]")
  351. i = j
  352. EXIT
  353. ELSE
  354. IF Long(s_s) = 0 THEN
  355. s_rslt = "公式错误"
  356. GOTO ext
  357. END IF
  358. s_s1 = String(Long(s_s) - 1)
  359. s1 = Left(arg_s,i - 1)
  360. s2 = Right(arg_s,Len(arg_s) - i + 1)
  361. IF arg_i < Long(s_s) THEN
  362. s2 = of_globalreplace(s2,"[" +s_s + "]","[" +s_s1 + "]")
  363. END IF
  364. arg_s = s1 + s2
  365. i = j
  366. EXIT
  367. END IF
  368. END IF
  369. NEXT
  370. END IF
  371. NEXT
  372. s_rslt = arg_s
  373. ext:
  374. RETURN s_rslt
  375. end function
  376. public function integer f_writefile (blob ib_file, string is_filename);uLONG ll_len,li_count,loops
  377. int li_FileNum
  378. blob lblb_b,b_x
  379. int liResult = 1
  380. //f_readfile(b_x,is_filename)
  381. //ib_file=blob(string(ib_file) +char(13) +char(10) + string(b_x))
  382. ////////////////////////////////////////////////////////////
  383. ll_len=len(ib_file)
  384. IF ll_len > 32765 THEN
  385. IF Mod(ll_len, 32765) = 0 THEN
  386. loops = ll_len/32765
  387. ELSE
  388. loops = (ll_len/32765) + 1
  389. END IF
  390. ELSE
  391. loops = 1
  392. END IF
  393. li_FileNum = FileOpen(is_filename,StreamMode!, write!, shared!,Replace!)
  394. if li_FileNum = -1 then
  395. messagebox("系统提示","无法打开文件"+is_filename)
  396. return 0
  397. end if
  398. FOR li_count = 1 to loops
  399. lblb_b = blobmid( ib_file , ( li_count - 1) * 32765 + 1 , 32765 )
  400. if FileWrite(li_FileNum, lblb_b) = -1 then
  401. messagebox("系统提示","写文件" + is_filename+"失败")
  402. liResult=0
  403. exit
  404. end if//8010
  405. NEXT
  406. Fileclose(li_FileNum)
  407. //if liResult=1 then
  408. // liResult = gf_setfiletime(is_filename,idt_file_time)
  409. //end if
  410. return liResult
  411. end function
  412. public function integer f_get_rpid ();Long ll_row, ll_i
  413. FOR ll_i = dw_1.RowCount() To 1 Step -1
  414. IF dw_1.IsSelected(ll_i) THEN
  415. ll_row = ll_i
  416. END IF
  417. NEXT
  418. IF ll_row <= 0 THEN RETURN 0
  419. rp_rpid = dw_1.Object.rpid[ll_row]
  420. rp_rptype= dw_1.Object.rptype[ll_row]
  421. end function
  422. public subroutine f_readfile ();
  423. end subroutine
  424. public subroutine f_zcfzb_text (ref string arg_text);arg_text = ""
  425. //arg_text = arg_text + "arg_text = arg_text + "biaotou|32|001|资产负债表|1|资 产|期末余额|年初余额|负债和股东权益|期末余额|年初余额|" + Char(13) + Char(10)
  426. arg_text = arg_text + "biaotou|32|001|资产负债表|1|资 产|期末余额|年初余额|负债和股东权益|期末余额|年初余额|" + Char(13) + Char(10)
  427. arg_text = arg_text + "biaoti|1|流动资产:|0|0|||" + Char(13) + Char(10)
  428. arg_text = arg_text + "biaoti|2| 货币资金|0|0|[3] +[4]|[3] +[4]|" + Char(13) + Char(10)
  429. arg_text = arg_text + "biaoti|3| 现金|0|0|SELECT sum(v_accounts_balc.accounts_balcamt) FROM u_accounts , v_accounts_balc WHERE ( u_accounts.accountsid = v_accounts_balc.accountsid ) AND ( u_accounts.accountstype = 1 ) and (v_accounts_balc.opdate>=@开始日期@ and v_accounts_balc.opdate<= @结束日期@ ) |SELECT sum(v_accounts_balc.accounts_balcamt) FROM u_accounts , v_accounts_balc WHERE ( u_accounts.accountsid = v_accounts_balc.accountsid ) AND ( u_accounts.accountstype = 1 ) and (v_accounts_balc.opdate>='2000-01-01' and v_accounts_balc.opdate< cast(year(getdate()) as varchar(5)) + '-01-01' )|" + Char(13) + Char(10)
  430. arg_text = arg_text + "biaoti|4| 银行|0|0|SELECT sum(v_accounts_balc.accounts_balcamt) FROM u_accounts , v_accounts_balc WHERE ( u_accounts.accountsid = v_accounts_balc.accountsid ) AND ( u_accounts.accountstype = 0 ) and (v_accounts_balc.opdate>=@开始日期@ and v_accounts_balc.opdate<= @结束日期@ )|SELECT sum(v_accounts_balc.accounts_balcamt) FROM u_accounts , v_accounts_balc WHERE ( u_accounts.accountsid = v_accounts_balc.accountsid ) AND ( u_accounts.accountstype = 0 ) and (v_accounts_balc.opdate>='2000-01-01' and v_accounts_balc.opdate< cast(year(getdate()) as varchar(5)) + '-01-01' )|" + Char(13) + Char(10)
  431. arg_text = arg_text + "biaoti|5| 短期投资|0|0|||" + Char(13) + Char(10)
  432. arg_text = arg_text + "biaoti|6| 应收票据|0|0|||" + Char(13) + Char(10)
  433. arg_text = arg_text + "biaoti|7| 应收账款|0|0| SELECT ISNULL(SUM(u_Bmsttake.Msttakeamt), 0) - ISNULL(SUM(u_Bmsttake.takeamt), 0) FROM u_Bmsttake RIGHT OUTER JOIN v_cusid_moneyid ON u_Bmsttake.scid = v_cusid_moneyid.ScID AND u_Bmsttake.cusid = v_cusid_moneyid.cusid AND u_Bmsttake.moneyid = v_cusid_moneyid.moneyid where u_Bmsttake.takedate>=@开始日期@ and u_Bmsttake.takedate<= @结束日期@ | SELECT ISNULL(SUM(u_Bmsttake.Msttakeamt), 0) - ISNULL(SUM(u_Bmsttake.takeamt), 0) FROM u_Bmsttake RIGHT OUTER JOIN v_cusid_moneyid ON u_Bmsttake.scid = v_cusid_moneyid.ScID AND u_Bmsttake.cusid = v_cusid_moneyid.cusid AND u_Bmsttake.moneyid = dbo.v_cusid_moneyid.moneyid where u_Bmsttake.takedate>='2000-01-01' and u_Bmsttake.takedate< cast(year(getdate()) as varchar(5)) + '-01-01' |" + Char(13) + Char(10)
  434. arg_text = arg_text + "biaoti|8| 预付账款|0|0|||" + Char(13) + Char(10)
  435. arg_text = arg_text + "biaoti|9| 应收股利|0|0|||" + Char(13) + Char(10)
  436. arg_text = arg_text + "biaoti|10| 应收利息|0|0|||" + Char(13) + Char(10)
  437. arg_text = arg_text + "biaoti|11| 其他应收款|0|0|||" + Char(13) + Char(10)
  438. arg_text = arg_text + "biaoti|12| 存货|0|0|[14:16]|[14:16]|" + Char(13) + Char(10)
  439. arg_text = arg_text + "biaoti|13| 其中:|0|0|||" + Char(13) + Char(10)
  440. arg_text = arg_text + "biaoti|14| 原材料|0|0|SELECT sum(wareamt) FROM u_mtrlware,u_storage WHERE u_mtrlware.storageid = u_storage.storageid AND u_storage.mtrlprp = 1 and u_mtrlware.outdate>=@开始日期@ and u_mtrlware.outdate<= @结束日期@ |SELECT sum(wareamt) FROM u_mtrlware,u_storage WHERE u_mtrlware.storageid = u_storage.storageid AND u_storage.mtrlprp = 1 and u_mtrlware.outdate>='2000-01-01' and u_mtrlware.outdate< cast(year(getdate()) as varchar(5)) + '-01-01'|" + Char(13) + Char(10)
  441. arg_text = arg_text + "biaoti|15| 在产品|0|0|SELECT sum(wareamt) FROM u_mtrlware,u_storage WHERE u_mtrlware.storageid = u_storage.storageid AND u_storage.mtrlprp = 3 and u_mtrlware.outdate>=@开始日期@ and u_mtrlware.outdate<= @结束日期@ |SELECT sum(wareamt) FROM u_mtrlware,u_storage WHERE u_mtrlware.storageid = u_storage.storageid AND u_storage.mtrlprp = 3 and u_mtrlware.outdate>='2000-01-01' and u_mtrlware.outdate< cast(year(getdate()) as varchar(5)) + '-01-01'|" + Char(13) + Char(10)
  442. arg_text = arg_text + "biaoti|16| 库存商品|0|0|SELECT sum(wareamt) FROM u_mtrlware,u_storage WHERE u_mtrlware.storageid = u_storage.storageid AND ( u_storage.mtrlprp = 0 OR u_storage.mtrlprp = 2 ) and u_mtrlware.outdate>=@开始日期@ and u_mtrlware.outdate<= @结束日期@ |SELECT sum(wareamt) FROM u_mtrlware,u_storage WHERE u_mtrlware.storageid = u_storage.storageid AND ( u_storage.mtrlprp = 0 OR u_storage.mtrlprp = 2 ) and u_mtrlware.outdate>='2000-01-01' and u_mtrlware.outdate< cast(year(getdate()) as varchar(5)) + '-01-01'|" + Char(13) + Char(10)
  443. arg_text = arg_text + "biaoti|17| 周转材料|0|0|||" + Char(13) + Char(10)
  444. arg_text = arg_text + "biaoti|18| 其他流动资产|0|0|||" + Char(13) + Char(10)
  445. arg_text = arg_text + "biaoti|19| 流动资产合计|0|0|[2]+[5:12]+[18]|[2]+[5:12]+[18]|" + Char(13) + Char(10)
  446. arg_text = arg_text + "biaoti|20|非流动资产:|0|0|||" + Char(13) + Char(10)
  447. arg_text = arg_text + "biaoti|21| 长期股权投资|0|0|||" + Char(13) + Char(10)
  448. arg_text = arg_text + "biaoti|22| 长期债权投资|0|0|||" + Char(13) + Char(10)
  449. arg_text = arg_text + "biaoti|23| 固定资产原价|0|0|||" + Char(13) + Char(10)
  450. arg_text = arg_text + "biaoti|24| 减:累计折旧|0|0|||" + Char(13) + Char(10)
  451. arg_text = arg_text + "biaoti|25| 固定资产账面价值|0|0|||" + Char(13) + Char(10)
  452. arg_text = arg_text + "biaoti|26| 在建工程|0|0|||" + Char(13) + Char(10)
  453. arg_text = arg_text + "biaoti|27| 工程物资|0|0|||" + Char(13) + Char(10)
  454. arg_text = arg_text + "biaoti|28| 固定资产清理|0|0|||" + Char(13) + Char(10)
  455. arg_text = arg_text + "biaoti|29| 生产性生物资产|0|0|||" + Char(13) + Char(10)
  456. arg_text = arg_text + "biaoti|30| 无形资产|0|0|||" + Char(13) + Char(10)
  457. arg_text = arg_text + "biaoti|31| 开发支出|0|0|||" + Char(13) + Char(10)
  458. arg_text = arg_text + "biaoti|32| 长期待摊费用|0|0|||" + Char(13) + Char(10)
  459. arg_text = arg_text + "biaoti|33| 其他非流动资产|0|0|||" + Char(13) + Char(10)
  460. arg_text = arg_text + "biaoti|34| 非流动资产合计|0|0|||" + Char(13) + Char(10)
  461. arg_text = arg_text + "biaoti|35| 资产总计|0|0|||" + Char(13) + Char(10)
  462. arg_text = arg_text + "biaoti|1|流动负债:|0|1|||" + Char(13) + Char(10)
  463. arg_text = arg_text + "biaoti|2| 短期借款|0|1|||" + Char(13) + Char(10)
  464. arg_text = arg_text + "biaoti|3| 应付票据|0|1|||" + Char(13) + Char(10)
  465. arg_text = arg_text + "biaoti|4| 应付账款|0|1|SELECT ISNULL(SUM(u_Bmstpay.Mstpayamt), 0) - ISNULL(SUM(u_Bmstpay.Payamt), 0) FROM u_Bmstpay RIGHT OUTER JOIN v_sptid_moneyid ON u_Bmstpay.scid = v_sptid_moneyid.ScID AND u_Bmstpay.sptid = v_sptid_moneyid.sptid AND u_Bmstpay.moneyid = v_sptid_moneyid.moneyid where u_Bmstpay.paydate>=@开始日期@ and u_Bmstpay.paydate<= @结束日期@|SELECT ISNULL(SUM(u_Bmstpay.Mstpayamt), 0) - ISNULL(SUM(u_Bmstpay.Payamt), 0) FROM u_Bmstpay RIGHT OUTER JOIN v_sptid_moneyid ON u_Bmstpay.scid = v_sptid_moneyid.ScID AND u_Bmstpay.sptid = v_sptid_moneyid.sptid AND u_Bmstpay.moneyid = v_sptid_moneyid.moneyid where u_Bmstpay.paydate>='2000-01-01' and u_Bmstpay.paydate< cast(year(getdate()) as varchar(5)) + '-01-01'|" + Char(13) + Char(10)
  466. arg_text = arg_text + "biaoti|5| 预收账款|0|1|||" + Char(13) + Char(10)
  467. arg_text = arg_text + "biaoti|6| 应付职工薪酬|0|1|||" + Char(13) + Char(10)
  468. arg_text = arg_text + "biaoti|7| 应交税费|0|1|||" + Char(13) + Char(10)
  469. arg_text = arg_text + "biaoti|8| 应付利息|0|1|||" + Char(13) + Char(10)
  470. arg_text = arg_text + "biaoti|9| 应付利润|0|1||" + Char(13) + Char(10)
  471. arg_text = arg_text + "biaoti|10| 其他应付款|0|1|||" + Char(13) + Char(10)
  472. arg_text = arg_text + "biaoti|11| 其他流动负债|0|1|||" + Char(13) + Char(10)
  473. arg_text = arg_text + "biaoti|12| 流动负债合计|0|1|||" + Char(13) + Char(10)
  474. arg_text = arg_text + "biaoti|13|非流动负债:|0|1|||" + Char(13) + Char(10)
  475. arg_text = arg_text + "biaoti|14| 长期借款|0|1|||" + Char(13) + Char(10)
  476. arg_text = arg_text + "biaoti|15| 长期应付款|0|1|||" + Char(13) + Char(10)
  477. arg_text = arg_text + "biaoti|16| 递延收益|0|1|||" + Char(13) + Char(10)
  478. arg_text = arg_text + "biaoti|17| 其他非流动负债|0|1|||" + Char(13) + Char(10)
  479. arg_text = arg_text + "biaoti|18| 非流动负债合计|0|1|||" + Char(13) + Char(10)
  480. arg_text = arg_text + "biaoti|19| 负债合计|0|1|||" + Char(13) + Char(10)
  481. arg_text = arg_text + "biaoti|20||0|1|||" + Char(13) + Char(10)
  482. arg_text = arg_text + "biaoti|21||0|1|||" + Char(13) + Char(10)
  483. arg_text = arg_text + "biaoti|22||0|1|||" + Char(13) + Char(10)
  484. arg_text = arg_text + "biaoti|23||0|1|||" + Char(13) + Char(10)
  485. arg_text = arg_text + "biaoti|24||0|1|||" + Char(13) + Char(10)
  486. arg_text = arg_text + "biaoti|25||0|1|||" + Char(13) + Char(10)
  487. arg_text = arg_text + "biaoti|26||0|1|||" + Char(13) + Char(10)
  488. arg_text = arg_text + "biaoti|27|所有者权益(或股东权益):|0|1|||" + Char(13) + Char(10)
  489. arg_text = arg_text + "biaoti|28| 实收资本(或股本)|0|1|||" + Char(13) + Char(10)
  490. arg_text = arg_text + "biaoti|29| 资本公积|0|1|||" + Char(13) + Char(10)
  491. arg_text = arg_text + "biaoti|30| 盈余公积|0|1|||" + Char(13) + Char(10)
  492. arg_text = arg_text + "biaoti|31| 未分配利润|0|1|||" + Char(13) + Char(10)
  493. arg_text = arg_text + "biaoti|32| 所有者权益合计|0|1|||" + Char(13) + Char(10)
  494. arg_text = arg_text + "biaoti|33| 负债及所有者权益总计|0|1|||" + Char(13) + Char(10)
  495. arg_text = arg_text + "biaoti|34||0|1|||" + Char(13) + Char(10)
  496. arg_text = arg_text + "biaoti|35||0|1|||" + Char(13) + Char(10)
  497. end subroutine
  498. public subroutine f_create_zcfzb ();string ss_text,s_line
  499. f_zcfzb_text(ss_text)
  500. String arg_msg,ss
  501. Long l_rp_rpid
  502. Integer l_i
  503. Long ll_i,ll_rowcount
  504. //biaotou
  505. Long imexport_rpid
  506. String imexport_rpcode
  507. String imexport_rpname
  508. Integer imexport_rptype
  509. String imexport_col1name0
  510. String imexport_col1name1
  511. String imexport_col1name2
  512. String imexport_col2name0
  513. String imexport_col2name1
  514. String imexport_col2name2
  515. //biaotou
  516. //biaoti
  517. Integer imexport_rowcode
  518. String imexport_rowname
  519. Integer imexport_rowtype
  520. Integer imexport_rowcmpltype
  521. String imexport_Rowformula1
  522. String imexport_Rowformula2
  523. //biaoti
  524. DO While(Pos(ss_text,Char(13) +Char(10)) > 0)
  525. s_line = Left(ss_text,Pos(ss_text,Char(13) +Char(10)))
  526. ss_text = Right(ss_text,Len(ss_text) - Pos(ss_text,Char(13) +Char(10)) - 1)
  527. s_line = Trim(s_line)
  528. IF Left(s_line,6) = "biaoti" THEN
  529. l_i = Pos(s_line,'|')
  530. ss = Left(s_line,l_i - 1)
  531. s_line = Right(s_line,Len(s_line) - l_i)
  532. //imexport_rowcode
  533. l_i = Pos(s_line,'|')
  534. imexport_rowcode = Long( Left(s_line,l_i - 1))
  535. s_line = Right(s_line,Len(s_line) - l_i)
  536. //imexport_rowname
  537. l_i = Pos(s_line,'|')
  538. imexport_rowname = Left(s_line,l_i - 1)
  539. s_line = Right(s_line,Len(s_line) - l_i)
  540. //imexport_rowtype
  541. l_i = Pos(s_line,'|')
  542. imexport_rowtype = Long( Left(s_line,l_i - 1))
  543. s_line = Right(s_line,Len(s_line) - l_i)
  544. //imexport_rowcmpltype
  545. l_i = Pos(s_line,'|')
  546. imexport_rowcmpltype = Long( Left(s_line,l_i - 1))
  547. s_line = Right(s_line,Len(s_line) - l_i)
  548. //imexport_Rowformula1
  549. l_i = Pos(s_line,'|')
  550. imexport_Rowformula1 = Left(s_line,l_i - 1)
  551. s_line = Right(s_line,Len(s_line) - l_i)
  552. //imexport_Rowformula2
  553. l_i = Pos(s_line,'|')
  554. imexport_Rowformula2 = Left(s_line,l_i - 1)
  555. s_line = Right(s_line,Len(s_line) - l_i)
  556. INSERT INTO u_rp_rowdef
  557. (rpid,
  558. rowcode,
  559. rowname,
  560. rowtype,
  561. rowcmpltype,
  562. Rowformula1,
  563. Rowformula2
  564. )
  565. VALUES (
  566. :l_rp_rpid,
  567. :imexport_rowcode,
  568. :imexport_rowname,
  569. :imexport_rowtype,
  570. :imexport_rowcmpltype,
  571. :imexport_Rowformula1,
  572. :imexport_Rowformula2
  573. ) Using sqlca;
  574. IF sqlca.SQLCode <> 0 THEN
  575. arg_msg=""
  576. arg_msg = "因网络或其它原因导致插入明细操作失败"+"~n"+sqlca.SQLErrText
  577. ROLLBACK Using sqlca;
  578. GOTO ext
  579. END IF
  580. //MessageBox(string(imexport_rowcode),String(imexport_rowname))
  581. ELSE
  582. l_i = Pos(s_line,'|')
  583. ss = Left(s_line,l_i - 1)
  584. s_line = Right(s_line,Len(s_line) - l_i)
  585. //imexport_rpid
  586. l_i = Pos(s_line,'|')
  587. imexport_rpid = Long( Left(s_line,l_i - 1))
  588. s_line = Right(s_line,Len(s_line) - l_i)
  589. //imexport_rpcode
  590. l_i = Pos(s_line,'|')
  591. imexport_rpcode = Left(s_line,l_i - 1)
  592. s_line = Right(s_line,Len(s_line) - l_i)
  593. //imexport_rpname
  594. l_i = Pos(s_line,'|')
  595. imexport_rpname = Left(s_line,l_i - 1)
  596. s_line = Right(s_line,Len(s_line) - l_i)
  597. //imexport_rptype
  598. l_i = Pos(s_line,'|')
  599. imexport_rptype = Long(Left(s_line,l_i - 1))
  600. s_line = Right(s_line,Len(s_line) - l_i)
  601. //imexport_col1name0
  602. l_i = Pos(s_line,'|')
  603. imexport_col1name0 = Left(s_line,l_i - 1)
  604. s_line = Right(s_line,Len(s_line) - l_i)
  605. //imexport_col1name1
  606. l_i = Pos(s_line,'|')
  607. imexport_col1name1 = Left(s_line,l_i - 1)
  608. s_line = Right(s_line,Len(s_line) - l_i)
  609. //imexport_col1name2
  610. l_i = Pos(s_line,'|')
  611. imexport_col1name2 = Left(s_line,l_i - 1)
  612. s_line = Right(s_line,Len(s_line) - l_i)
  613. //imexport_col2name0
  614. l_i = Pos(s_line,'|')
  615. imexport_col2name0 = Left(s_line,l_i - 1)
  616. s_line = Right(s_line,Len(s_line) - l_i)
  617. //imexport_col2name1
  618. l_i = Pos(s_line,'|')
  619. imexport_col2name1 = Left(s_line,l_i - 1)
  620. s_line = Right(s_line,Len(s_line) - l_i)
  621. //imexport_col2name2
  622. l_i = Pos(s_line,'|')
  623. imexport_col2name2 = Left(s_line,l_i - 1)
  624. s_line = Right(s_line,Len(s_line) - l_i)
  625. SELECT count(*) Into :ll_rowcount From u_rp Where rpid = :imexport_rpid;
  626. IF ll_rowcount > 0 THEN
  627. SELECT Max(rpid) Into :ll_rowcount From u_rp ;
  628. l_rp_rpid = ll_rowcount + 1
  629. ELSE
  630. l_rp_rpid = imexport_rpid
  631. END IF
  632. INSERT INTO u_rp
  633. (rpid,
  634. rpcode,
  635. rpname,
  636. rptype,
  637. col1name0,
  638. col1name1,
  639. col1name2,
  640. col2name0,
  641. col2name1,
  642. col2name2
  643. )
  644. VALUES (
  645. :l_rp_rpid,
  646. :imexport_rpcode,
  647. :imexport_rpname,
  648. :imexport_rptype,
  649. :imexport_col1name0 ,
  650. :imexport_col1name1 ,
  651. :imexport_col1name2,
  652. :imexport_col2name0,
  653. :imexport_col2name1,
  654. :imexport_col2name2
  655. ) Using sqlca;
  656. IF sqlca.SQLCode <> 0 THEN
  657. arg_msg=""
  658. arg_msg = "因网络或其它原因导致插入明细操作失败"+"~n"+sqlca.SQLErrText
  659. ROLLBACK Using sqlca;
  660. GOTO ext
  661. END IF
  662. END IF
  663. LOOP
  664. cb_1.TriggerEvent(Clicked!)
  665. return
  666. ext:
  667. messagebox("error",arg_msg)
  668. RETURN
  669. end subroutine
  670. public subroutine f_lrb_text (ref string arg_text);arg_text=""
  671. //arg_text=arg_text + "biaotou|33|002|利润表|0|项目|本期数|本年累计数||||" + Char(13) + Char(10)
  672. arg_text=arg_text + "biaotou|33|002|利润表|0|项目|本期数|本年累计数||||" + Char(13) + Char(10)
  673. arg_text=arg_text + "biaoti|1|一、营业收入|0|0|SELECT sum(u_outwaremx.price * u_outwaremx.qty) FROM u_outware,u_outwaremx WHERE ( u_outware.scid = u_outwaremx.scid ) AND ( u_outware.outwareid = u_outwaremx.outwareid ) AND ( u_outware.outdate >= @开始日期@ ) AND ( u_outware.outdate < @结束日期@ ) AND ( u_outware.billtype = 1 ) AND ( u_outware.secflag = 1 )|SELECT sum(u_outwaremx.price * u_outwaremx.qty) FROM u_outware,u_outwaremx WHERE ( u_outware.scid = u_outwaremx.scid ) AND ( u_outware.outwareid = u_outwaremx.outwareid ) AND ( u_outware.outdate >= cast(year(getdate()) as varchar(5)) + '-01-01' ) AND ( u_outware.outdate <= cast(year(getdate()) as varchar(5)) + '-12-31' ) AND ( u_outware.billtype = 1 ) AND ( u_outware.secflag = 1 )|" + Char(13) + Char(10)
  674. arg_text=arg_text + "biaoti|2|减:营业成本|0|0|[3:6]|[3:6]|" + Char(13) + Char(10)
  675. arg_text=arg_text + "biaoti|3| 营业税金及附加|0|0|||" + Char(13) + Char(10)
  676. arg_text=arg_text + "biaoti|4| 销售费用|0|0|SELECT sum(u_outwaremx.costamt) FROM u_outware,u_outwaremx WHERE ( u_outware.scid = u_outwaremx.scid ) AND ( u_outware.outwareid = u_outwaremx.outwareid ) AND ( u_outware.outdate >= @开始日期@ ) AND ( u_outware.outdate < @结束日期@ ) AND ( u_outware.billtype = 1 ) AND ( u_outware.secflag = 1 )|SELECT sum(u_outwaremx.costamt) FROM u_outware,u_outwaremx WHERE ( u_outware.scid = u_outwaremx.scid ) AND ( u_outware.outwareid = u_outwaremx.outwareid ) AND ( u_outware.outdate >= cast(year(getdate()) as varchar(5)) + '-01-01') AND ( u_outware.outdate <= cast(year(getdate()) as varchar(5)) + '-12-01' ) AND ( u_outware.billtype = 1 ) AND ( u_outware.secflag = 1 )|" + Char(13) + Char(10)
  677. arg_text=arg_text + "biaoti|5| 管理费用|0|0|SELECT sum(U_income_expenses.amt) FROM U_income_expenses , u_itemdef WHERE ( U_income_expenses.itemid = u_itemdef.itemid ) AND ( U_income_expenses.flag = 1 ) AND ( u_itemdef.itemtype = '经营费用' ) ANd (U_income_expenses.auditdate>=@开始日期@ and U_income_expenses.auditdate<@结束日期@)|SELECT sum(U_income_expenses.amt) FROM U_income_expenses , u_itemdef WHERE ( U_income_expenses.itemid = u_itemdef.itemid ) AND ( U_income_expenses.flag = 1 ) AND ( u_itemdef.itemtype = '经营费用' ) ANd (U_income_expenses.auditdate>=cast(year(getdate()) as varchar(5)) + '-01-01') and U_income_expenses.auditdate<=cast(year(getdate()) as varchar(5)) + '-12-01' ))|" + Char(13) + Char(10)
  678. arg_text=arg_text + "biaoti|6| 财务费用|0|0|SELECT sum(U_income_expenses.amt) FROM U_income_expenses , u_itemdef WHERE ( U_income_expenses.itemid = u_itemdef.itemid ) AND ( U_income_expenses.flag = 1 ) AND ( u_itemdef.itemtype = '财务费用' ) ANd (U_income_expenses.auditdate>=@开始日期@ and U_income_expenses.auditdate<@结束日期@)|SELECT sum(U_income_expenses.amt) FROM U_income_expenses , u_itemdef WHERE ( U_income_expenses.itemid = u_itemdef.itemid ) AND ( U_income_expenses.flag = 1 ) AND ( u_itemdef.itemtype = '财务费用' ) ANd (U_income_expenses.auditdate>=cast(year(getdate()) as varchar(5)) + '-01-01') and U_income_expenses.auditdate<=cast(year(getdate()) as varchar(5)) + '-12-01' ))|" + Char(13) + Char(10)
  679. arg_text=arg_text + "biaoti|7| 资产减值损失|0|0|||" + Char(13) + Char(10)
  680. arg_text=arg_text + "biaoti|8|加:公允价值变动收益(损失以“-”号填列)|0|0|||" + Char(13) + Char(10)
  681. arg_text=arg_text + "biaoti|9| 投资收益(亏损以“-”号填列)|0|0|||" + Char(13) + Char(10)
  682. arg_text=arg_text + "biaoti|10| 其中:对联营企业和合营企业的投资收益|0|0|||" + Char(13) + Char(10)
  683. arg_text=arg_text + "biaoti|11|二、营业利润(亏损以“-”号填列)|0|0|[12]-[13]|[12]-[13]|" + Char(13) + Char(10)
  684. arg_text=arg_text + "biaoti|12|加:营业外收入|0|0|SELECT sum(U_income_expenses.amt) FROM U_income_expenses , u_itemdef WHERE ( U_income_expenses.itemid = u_itemdef.itemid ) AND ( U_income_expenses.flag = 1 ) AND ( u_itemdef.itemtype = '营业外收入' ) ANd (U_income_expenses.auditdate>=@开始日期@ and U_income_expenses.auditdate<@结束日期@)|SELECT sum(U_income_expenses.amt) FROM U_income_expenses , u_itemdef WHERE ( U_income_expenses.itemid = u_itemdef.itemid ) AND ( U_income_expenses.flag = 1 ) AND ( u_itemdef.itemtype = '营业外收入' ) ANd (U_income_expenses.auditdate>=cast(year(getdate()) as varchar(5)) + '-01-01') and U_income_expenses.auditdate<=cast(year(getdate()) as varchar(5)) + '-12-01' ))|" + Char(13) + Char(10)
  685. arg_text=arg_text + "biaoti|13|减:营业外支出|0|0|SELECT sum(U_income_expenses.amt) FROM U_income_expenses , u_itemdef WHERE ( U_income_expenses.itemid = u_itemdef.itemid ) AND ( U_income_expenses.flag = 1 ) AND ( u_itemdef.itemtype = '营业外支出' ) ANd (U_income_expenses.auditdate>=@开始日期@ and U_income_expenses.auditdate<@结束日期@)|SELECT sum(U_income_expenses.amt) FROM U_income_expenses , u_itemdef WHERE ( U_income_expenses.itemid = u_itemdef.itemid ) AND ( U_income_expenses.flag = 1 ) AND ( u_itemdef.itemtype = '营业外支出' ) ANd (U_income_expenses.auditdate>=cast(year(getdate()) as varchar(5)) + '-01-01') and U_income_expenses.auditdate<=cast(year(getdate()) as varchar(5)) + '-12-01' ))|" + Char(13) + Char(10)
  686. arg_text=arg_text + "biaoti|14| 其中:非流动资产处置损失|0|0|||" + Char(13) + Char(10)
  687. arg_text=arg_text + "biaoti|15|三、利润总额(亏损以“-”号填列)|0|0|||" + Char(13) + Char(10)
  688. arg_text=arg_text + "biaoti|16|减:所得税费用|0|0|SELECT sum(U_income_expenses.amt) FROM U_income_expenses , u_itemdef WHERE ( U_income_expenses.itemid = u_itemdef.itemid ) AND ( U_income_expenses.flag = 1 ) AND ( u_itemdef.itemtype = '所得税' ) ANd (U_income_expenses.auditdate>=@开始日期@ and U_income_expenses.auditdate<@结束日期@)|SELECT sum(U_income_expenses.amt) FROM U_income_expenses , u_itemdef WHERE ( U_income_expenses.itemid = u_itemdef.itemid ) AND ( U_income_expenses.flag = 1 ) AND ( u_itemdef.itemtype = '所得税' ) ANd (U_income_expenses.auditdate>=cast(year(getdate()) as varchar(5)) + '-01-01') and U_income_expenses.auditdate<=cast(year(getdate()) as varchar(5)) + '-12-01' ))|" + Char(13) + Char(10)
  689. arg_text=arg_text + "biaoti|17|四、净利润(亏损以“-”号填列)|0|0|||" + Char(13) + Char(10)
  690. arg_text=arg_text + "biaoti|18|加:年初未分配利润|0|0|||" + Char(13) + Char(10)
  691. arg_text=arg_text + "biaoti|19|五、可供分配的利润|0|0|||" + Char(13) + Char(10)
  692. arg_text=arg_text + "biaoti|20|减:提取法定盈余公积|0|0|||" + Char(13) + Char(10)
  693. arg_text=arg_text + "biaoti|21|六、可供股东分配的利润|0|0|||" + Char(13) + Char(10)
  694. arg_text=arg_text + "biaoti|22|减:应付利润|0|0|||" + Char(13) + Char(10)
  695. arg_text=arg_text + "biaoti|23|七、年末未分配利润|0|0|||" + Char(13) + Char(10)
  696. end subroutine
  697. public subroutine f_creat_lrb ();string ss_text,s_line
  698. f_lrb_text(ss_text)
  699. String arg_msg,ss
  700. Long l_rp_rpid
  701. Integer l_i
  702. Long ll_i,ll_rowcount
  703. //biaotou
  704. Long imexport_rpid
  705. String imexport_rpcode
  706. String imexport_rpname
  707. Integer imexport_rptype
  708. String imexport_col1name0
  709. String imexport_col1name1
  710. String imexport_col1name2
  711. String imexport_col2name0
  712. String imexport_col2name1
  713. String imexport_col2name2
  714. //biaotou
  715. //biaoti
  716. Integer imexport_rowcode
  717. String imexport_rowname
  718. Integer imexport_rowtype
  719. Integer imexport_rowcmpltype
  720. String imexport_Rowformula1
  721. String imexport_Rowformula2
  722. //biaoti
  723. DO While(Pos(ss_text,Char(13) +Char(10)) > 0)
  724. s_line = Left(ss_text,Pos(ss_text,Char(13) +Char(10)))
  725. ss_text = Right(ss_text,Len(ss_text) - Pos(ss_text,Char(13) +Char(10)) - 1)
  726. s_line = Trim(s_line)
  727. IF Left(s_line,6) = "biaoti" THEN
  728. l_i = Pos(s_line,'|')
  729. ss = Left(s_line,l_i - 1)
  730. s_line = Right(s_line,Len(s_line) - l_i)
  731. //imexport_rowcode
  732. l_i = Pos(s_line,'|')
  733. imexport_rowcode = Long( Left(s_line,l_i - 1))
  734. s_line = Right(s_line,Len(s_line) - l_i)
  735. //imexport_rowname
  736. l_i = Pos(s_line,'|')
  737. imexport_rowname = Left(s_line,l_i - 1)
  738. s_line = Right(s_line,Len(s_line) - l_i)
  739. //imexport_rowtype
  740. l_i = Pos(s_line,'|')
  741. imexport_rowtype = Long( Left(s_line,l_i - 1))
  742. s_line = Right(s_line,Len(s_line) - l_i)
  743. //imexport_rowcmpltype
  744. l_i = Pos(s_line,'|')
  745. imexport_rowcmpltype = Long( Left(s_line,l_i - 1))
  746. s_line = Right(s_line,Len(s_line) - l_i)
  747. //imexport_Rowformula1
  748. l_i = Pos(s_line,'|')
  749. imexport_Rowformula1 = Left(s_line,l_i - 1)
  750. s_line = Right(s_line,Len(s_line) - l_i)
  751. //imexport_Rowformula2
  752. l_i = Pos(s_line,'|')
  753. imexport_Rowformula2 = Left(s_line,l_i - 1)
  754. s_line = Right(s_line,Len(s_line) - l_i)
  755. INSERT INTO u_rp_rowdef
  756. (rpid,
  757. rowcode,
  758. rowname,
  759. rowtype,
  760. rowcmpltype,
  761. Rowformula1,
  762. Rowformula2
  763. )
  764. VALUES (
  765. :l_rp_rpid,
  766. :imexport_rowcode,
  767. :imexport_rowname,
  768. :imexport_rowtype,
  769. :imexport_rowcmpltype,
  770. :imexport_Rowformula1,
  771. :imexport_Rowformula2
  772. ) Using sqlca;
  773. IF sqlca.SQLCode <> 0 THEN
  774. arg_msg=""
  775. arg_msg = "因网络或其它原因导致插入明细操作失败"+"~n"+sqlca.SQLErrText
  776. ROLLBACK Using sqlca;
  777. GOTO ext
  778. END IF
  779. //MessageBox(string(imexport_rowcode),String(imexport_rowname))
  780. ELSE
  781. l_i = Pos(s_line,'|')
  782. ss = Left(s_line,l_i - 1)
  783. s_line = Right(s_line,Len(s_line) - l_i)
  784. //imexport_rpid
  785. l_i = Pos(s_line,'|')
  786. imexport_rpid = Long( Left(s_line,l_i - 1))
  787. s_line = Right(s_line,Len(s_line) - l_i)
  788. //imexport_rpcode
  789. l_i = Pos(s_line,'|')
  790. imexport_rpcode = Left(s_line,l_i - 1)
  791. s_line = Right(s_line,Len(s_line) - l_i)
  792. //imexport_rpname
  793. l_i = Pos(s_line,'|')
  794. imexport_rpname = Left(s_line,l_i - 1)
  795. s_line = Right(s_line,Len(s_line) - l_i)
  796. //imexport_rptype
  797. l_i = Pos(s_line,'|')
  798. imexport_rptype = Long(Left(s_line,l_i - 1))
  799. s_line = Right(s_line,Len(s_line) - l_i)
  800. //imexport_col1name0
  801. l_i = Pos(s_line,'|')
  802. imexport_col1name0 = Left(s_line,l_i - 1)
  803. s_line = Right(s_line,Len(s_line) - l_i)
  804. //imexport_col1name1
  805. l_i = Pos(s_line,'|')
  806. imexport_col1name1 = Left(s_line,l_i - 1)
  807. s_line = Right(s_line,Len(s_line) - l_i)
  808. //imexport_col1name2
  809. l_i = Pos(s_line,'|')
  810. imexport_col1name2 = Left(s_line,l_i - 1)
  811. s_line = Right(s_line,Len(s_line) - l_i)
  812. //imexport_col2name0
  813. l_i = Pos(s_line,'|')
  814. imexport_col2name0 = Left(s_line,l_i - 1)
  815. s_line = Right(s_line,Len(s_line) - l_i)
  816. //imexport_col2name1
  817. l_i = Pos(s_line,'|')
  818. imexport_col2name1 = Left(s_line,l_i - 1)
  819. s_line = Right(s_line,Len(s_line) - l_i)
  820. //imexport_col2name2
  821. l_i = Pos(s_line,'|')
  822. imexport_col2name2 = Left(s_line,l_i - 1)
  823. s_line = Right(s_line,Len(s_line) - l_i)
  824. SELECT count(*) Into :ll_rowcount From u_rp Where rpid = :imexport_rpid;
  825. IF ll_rowcount > 0 THEN
  826. SELECT Max(rpid) Into :ll_rowcount From u_rp ;
  827. l_rp_rpid = ll_rowcount + 1
  828. ELSE
  829. l_rp_rpid = imexport_rpid
  830. END IF
  831. INSERT INTO u_rp
  832. (rpid,
  833. rpcode,
  834. rpname,
  835. rptype,
  836. col1name0,
  837. col1name1,
  838. col1name2,
  839. col2name0,
  840. col2name1,
  841. col2name2
  842. )
  843. VALUES (
  844. :l_rp_rpid,
  845. :imexport_rpcode,
  846. :imexport_rpname,
  847. :imexport_rptype,
  848. :imexport_col1name0 ,
  849. :imexport_col1name1 ,
  850. :imexport_col1name2,
  851. :imexport_col2name0,
  852. :imexport_col2name1,
  853. :imexport_col2name2
  854. ) Using sqlca;
  855. IF sqlca.SQLCode <> 0 THEN
  856. arg_msg=""
  857. arg_msg = "因网络或其它原因导致插入明细操作失败"+"~n"+sqlca.SQLErrText
  858. ROLLBACK Using sqlca;
  859. GOTO ext
  860. END IF
  861. END IF
  862. LOOP
  863. cb_1.TriggerEvent(Clicked!)
  864. return
  865. ext:
  866. messagebox("error",arg_msg)
  867. RETURN
  868. end subroutine
  869. public subroutine wf_face ();IF dw_edit_mode = True THEN
  870. IF rb_1.Checked = True THEN
  871. sle_1.Enabled = True
  872. END IF
  873. IF rb_2.Checked = True THEN
  874. mle_1.Enabled = True
  875. END IF
  876. ELSE
  877. sle_1.Enabled = False
  878. mle_1.Enabled = False
  879. END IF
  880. end subroutine
  881. public function string of_globalreplace1 (string as_source, string as_old, string as_new);long ll_oldlen, ll_newlen, ll_pos
  882. ll_pos = Pos(as_source,as_old)
  883. IF ll_pos > 0 Then
  884. ll_oldlen = Len(as_old)
  885. ll_newlen = Len(as_new)
  886. DO WHILE ll_pos > 0
  887. as_source = Replace(as_source,ll_pos,ll_oldlen,as_new)
  888. ll_pos = Pos(as_source,as_old,ll_pos + ll_newlen)
  889. LOOP
  890. END IF
  891. RETURN as_source
  892. end function
  893. on w_rp.create
  894. int iCurrent
  895. call super::create
  896. this.cb_1=create cb_1
  897. this.cb_2=create cb_2
  898. this.cb_3=create cb_3
  899. this.cb_4=create cb_4
  900. this.dw_1=create dw_1
  901. this.dw_2=create dw_2
  902. this.cb_5=create cb_5
  903. this.cb_6=create cb_6
  904. this.cb_7=create cb_7
  905. this.cb_ext=create cb_ext
  906. this.rb_1=create rb_1
  907. this.rb_2=create rb_2
  908. this.sle_1=create sle_1
  909. this.mle_1=create mle_1
  910. this.cb_13=create cb_13
  911. this.cb_8=create cb_8
  912. this.cb_9=create cb_9
  913. this.cb_imexport=create cb_imexport
  914. this.cb_export=create cb_export
  915. this.mle_2=create mle_2
  916. this.gb_1=create gb_1
  917. this.ln_3=create ln_3
  918. iCurrent=UpperBound(this.Control)
  919. this.Control[iCurrent+1]=this.cb_1
  920. this.Control[iCurrent+2]=this.cb_2
  921. this.Control[iCurrent+3]=this.cb_3
  922. this.Control[iCurrent+4]=this.cb_4
  923. this.Control[iCurrent+5]=this.dw_1
  924. this.Control[iCurrent+6]=this.dw_2
  925. this.Control[iCurrent+7]=this.cb_5
  926. this.Control[iCurrent+8]=this.cb_6
  927. this.Control[iCurrent+9]=this.cb_7
  928. this.Control[iCurrent+10]=this.cb_ext
  929. this.Control[iCurrent+11]=this.rb_1
  930. this.Control[iCurrent+12]=this.rb_2
  931. this.Control[iCurrent+13]=this.sle_1
  932. this.Control[iCurrent+14]=this.mle_1
  933. this.Control[iCurrent+15]=this.cb_13
  934. this.Control[iCurrent+16]=this.cb_8
  935. this.Control[iCurrent+17]=this.cb_9
  936. this.Control[iCurrent+18]=this.cb_imexport
  937. this.Control[iCurrent+19]=this.cb_export
  938. this.Control[iCurrent+20]=this.mle_2
  939. this.Control[iCurrent+21]=this.gb_1
  940. this.Control[iCurrent+22]=this.ln_3
  941. end on
  942. on w_rp.destroy
  943. call super::destroy
  944. destroy(this.cb_1)
  945. destroy(this.cb_2)
  946. destroy(this.cb_3)
  947. destroy(this.cb_4)
  948. destroy(this.dw_1)
  949. destroy(this.dw_2)
  950. destroy(this.cb_5)
  951. destroy(this.cb_6)
  952. destroy(this.cb_7)
  953. destroy(this.cb_ext)
  954. destroy(this.rb_1)
  955. destroy(this.rb_2)
  956. destroy(this.sle_1)
  957. destroy(this.mle_1)
  958. destroy(this.cb_13)
  959. destroy(this.cb_8)
  960. destroy(this.cb_9)
  961. destroy(this.cb_imexport)
  962. destroy(this.cb_export)
  963. destroy(this.mle_2)
  964. destroy(this.gb_1)
  965. destroy(this.ln_3)
  966. end on
  967. event resize;call super::resize;dw_1.Height=this.height -dw_1.y - 100
  968. dw_2.Height=this.height -dw_2.y - gb_1.height - 100
  969. dw_2.width=this.width -dw_2.x
  970. //cb_ext.x=this.width - cb_ext.width
  971. gb_1.y=dw_2.y + dw_2.Height
  972. gb_1.width=this.width -gb_1.x
  973. rb_1.y=gb_1.y + 96
  974. sle_1.y=gb_1.y + 96
  975. sle_1.width=gb_1.width - (sle_1.x - gb_1.x) - 100
  976. rb_2.y=gb_1.y + 252
  977. mle_1.y=gb_1.y +252
  978. mle_1.width=gb_1.width - (mle_1.x - gb_1.x) - 100
  979. mle_2.y=gb_1.y +580
  980. mle_2.width=gb_1.width - (mle_2.x - gb_1.x) - 100
  981. end event
  982. event open;call super::open;dw_1.SetTransObject (sqlca)
  983. dw_1.Retrieve()
  984. //rb_1.TriggerEvent(Clicked!)
  985. Int LS_INT
  986. FOR LS_INT = 1 To 20
  987. dw_2.SetTabOrder (LS_INT,0 )
  988. NEXT
  989. rb_1.Enabled = False
  990. rb_2.Enabled = False
  991. Integer ll_rowcount = 0
  992. SELECT count(*) Into :ll_rowcount From u_rp;
  993. IF IsNull(ll_rowcount) Or ll_rowcount = 0 THEN
  994. f_create_zcfzb()
  995. f_creat_lrb()
  996. END IF
  997. mle_2.text="例子:公式 [1]+[2]意思是 第1行 + 第2行 [2:10] 意思是第2到第10行相加" +char(13) +char(10) +" Sql:select SUM( u_outwaremx.price * u_outwaremx.saleqty ) from u_outwaremx where outwareid in(select outwareid from u_outware where outdate>=@开始日期@ and outdate<=@结束日期@ and secflag=1)《 @开始日期@ 代表动态的开始日期; @结束日期@ 代表动态的结束日期》 "
  998. end event
  999. event doubleclicked;call super::doubleclicked;s_edit_index_tran s_tran
  1000. OpenWithParm(w_rp_tj,s_tran)
  1001. end event
  1002. type cb_func from w_publ_choice`cb_func within w_rp
  1003. boolean visible = false
  1004. end type
  1005. type cb_exit from w_publ_choice`cb_exit within w_rp
  1006. boolean visible = false
  1007. end type
  1008. type sle_ch from w_publ_choice`sle_ch within w_rp
  1009. boolean visible = false
  1010. end type
  1011. type dw_ch from w_publ_choice`dw_ch within w_rp
  1012. boolean visible = false
  1013. end type
  1014. type st_1 from w_publ_choice`st_1 within w_rp
  1015. boolean visible = false
  1016. end type
  1017. type cb_retrieve from w_publ_choice`cb_retrieve within w_rp
  1018. boolean visible = false
  1019. end type
  1020. type cb_choice from w_publ_choice`cb_choice within w_rp
  1021. boolean visible = false
  1022. end type
  1023. type ln_bar from w_publ_choice`ln_bar within w_rp
  1024. integer beginx = 5
  1025. integer endx = 2011
  1026. end type
  1027. type ln_bar2 from w_publ_choice`ln_bar2 within w_rp
  1028. integer beginx = 9
  1029. integer endx = 2048
  1030. end type
  1031. type r_bar from w_publ_choice`r_bar within w_rp
  1032. integer x = 1595
  1033. end type
  1034. type ln_1 from w_publ_choice`ln_1 within w_rp
  1035. integer beginx = 14
  1036. integer beginy = 204
  1037. integer endx = 2030
  1038. integer endy = 204
  1039. end type
  1040. type ln_2 from w_publ_choice`ln_2 within w_rp
  1041. integer beginx = 9
  1042. integer beginy = 196
  1043. integer endx = 2057
  1044. integer endy = 196
  1045. end type
  1046. type cb_1 from uo_imflatbutton within w_rp
  1047. integer width = 192
  1048. integer height = 164
  1049. integer taborder = 130
  1050. boolean bringtotop = true
  1051. string text = "刷新"
  1052. string normalpicname = "refresh.bmp"
  1053. integer picsize = 16
  1054. toolbaralignment pic_align = alignattop!
  1055. boolean border = false
  1056. end type
  1057. event clicked;call super::clicked;dw_1.Retrieve()
  1058. end event
  1059. type cb_2 from uo_imflatbutton within w_rp
  1060. integer x = 192
  1061. integer width = 192
  1062. integer height = 164
  1063. integer taborder = 180
  1064. boolean bringtotop = true
  1065. string text = "新建&S"
  1066. string normalpicname = "new.bmp"
  1067. integer picsize = 16
  1068. toolbaralignment pic_align = alignattop!
  1069. boolean border = false
  1070. end type
  1071. event clicked;call super::clicked;IF Not IsValid(w_rp_add) THEN
  1072. String s
  1073. s = "new"
  1074. OpenWithParm(w_rp_add,s )
  1075. cb_1.TriggerEvent(Clicked!)
  1076. END IF
  1077. end event
  1078. type cb_3 from uo_imflatbutton within w_rp
  1079. integer x = 384
  1080. integer width = 192
  1081. integer height = 164
  1082. integer taborder = 190
  1083. boolean bringtotop = true
  1084. string text = "修改&E"
  1085. string normalpicname = "open.bmp"
  1086. integer picsize = 16
  1087. toolbaralignment pic_align = alignattop!
  1088. boolean border = false
  1089. end type
  1090. event clicked;call super::clicked;Long ll_row, ll_i
  1091. IF Not IsValid(w_rp_add) THEN
  1092. String s
  1093. FOR ll_i = dw_1.RowCount() To 1 Step -1
  1094. IF dw_1.IsSelected(ll_i) THEN
  1095. ll_row = ll_i
  1096. END IF
  1097. NEXT
  1098. IF ll_row <= 0 THEN RETURN
  1099. s = String(dw_1.Object.rpid[ll_row])
  1100. OpenWithParm(w_rp_add,s )
  1101. cb_1.TriggerEvent(Clicked!)
  1102. END IF
  1103. end event
  1104. type cb_4 from uo_imflatbutton within w_rp
  1105. integer x = 576
  1106. integer width = 197
  1107. integer height = 164
  1108. integer taborder = 200
  1109. boolean bringtotop = true
  1110. string text = "删除"
  1111. string normalpicname = "delete.bmp"
  1112. integer picsize = 16
  1113. toolbaralignment pic_align = alignattop!
  1114. boolean border = false
  1115. end type
  1116. event clicked;call super::clicked;Long ll_row,l_rpid,ll_i
  1117. String arG_MSG
  1118. //ll_row = dw_1.GetRow()
  1119. FOR ll_i = dw_1.RowCount() TO 1 STEP -1
  1120. IF dw_1.IsSelected(ll_i) THEN
  1121. ll_row=ll_i
  1122. END IF
  1123. NEXT
  1124. IF ll_row <= 0 THEN RETURN
  1125. IF MessageBox('提示信息','确定删除当前选中报表?', Question! ,YesNo! , 1 ) = 1 THEN
  1126. ELSE
  1127. RETURN
  1128. END IF
  1129. l_rpid = dw_1.Object.rpid[ll_row]
  1130. DELETE From u_rp Where u_rp.rpid = :l_rpid;
  1131. IF sqlca.SQLCode <> 0 THEN
  1132. arG_MSG = "因网络或其它原因导致插入明细操作失败"+"~n"+sqlca.SQLErrText
  1133. MessageBox("Error",arG_MSG)
  1134. ROLLBACK Using sqlca;
  1135. GOTO ext
  1136. END IF
  1137. COMMIT Using sqlca;
  1138. DELETE From u_rp_rowdef Where u_rp_rowdef.rpid = :l_rpid;
  1139. IF sqlca.SQLCode <> 0 THEN
  1140. arG_MSG = "因网络或其它原因导致插入明细操作失败"+"~n"+sqlca.SQLErrText
  1141. MessageBox("Error",arG_MSG)
  1142. ROLLBACK Using sqlca;
  1143. GOTO ext
  1144. END IF
  1145. COMMIT Using sqlca;
  1146. dw_1.DeleteRow(ll_row)
  1147. ext:
  1148. RETURN
  1149. end event
  1150. type dw_1 from u_dw_rbtnfilter within w_rp
  1151. integer x = 5
  1152. integer y = 216
  1153. integer width = 1403
  1154. integer height = 1632
  1155. integer taborder = 20
  1156. boolean bringtotop = true
  1157. string dataobject = "dw_rpdef"
  1158. boolean hscrollbar = true
  1159. boolean vscrollbar = true
  1160. boolean hsplitscroll = true
  1161. boolean rbutton_filter_use = true
  1162. boolean rbutton_setposition_use = true
  1163. boolean titleclick_sort_use = true
  1164. end type
  1165. event clicked;call super::clicked;IF row <= 0 THEN RETURN
  1166. This.SelectRow(0,False)
  1167. This.SelectRow(row,True)
  1168. IF cb_8.Enabled = True THEN
  1169. IF MessageBox('提示信息','是否保存报表设计?', Question! ,YesNo! , 1 ) = 1 THEN
  1170. cb_8.TriggerEvent(Clicked!)
  1171. END IF
  1172. END IF
  1173. rp_dw_row=row
  1174. f_bulid_rp(rp_dw_row)
  1175. Int LS_INT
  1176. FOR LS_INT = 1 To 20
  1177. dw_2.SetTabOrder (LS_INT,0 )
  1178. NEXT
  1179. end event
  1180. type dw_2 from u_dw_rbtnfilter within w_rp
  1181. integer x = 1422
  1182. integer y = 212
  1183. integer width = 1755
  1184. integer height = 668
  1185. integer taborder = 30
  1186. boolean bringtotop = true
  1187. string dataobject = "dw_rp_design"
  1188. boolean hscrollbar = true
  1189. boolean vscrollbar = true
  1190. boolean hsplitscroll = true
  1191. end type
  1192. event clicked;call super::clicked;IF row <= 0 THEN RETURN
  1193. This.SelectRow(0,False)
  1194. This.SelectRow(row,True)
  1195. IF l_row <= 0 THEN
  1196. s_col = dwo.Name
  1197. l_row = row
  1198. RETURN
  1199. END IF
  1200. TRY
  1201. ///////////////////////// //
  1202. IF s_col = "sql_l1" THEN
  1203. IF IsNull(dw_2.Object.sql_l1[l_row]) THEN
  1204. dw_2.AcceptText()
  1205. IF IsNull(dw_2.Object.sql_l1[l_row]) THEN
  1206. dw_2.Object.sql_l1[l_row] = ""
  1207. END IF
  1208. END IF
  1209. IF cb_8.Enabled = True THEN
  1210. IF rb_1.Checked = True THEN
  1211. IF Trim(sle_1.Text) <> "" And Trim(sle_1.Text) <> dw_2.Object.sql_l1[l_row] THEN dw_2.Object.sql_l1[l_row] = sle_1.Text
  1212. ELSE
  1213. IF Trim(mle_1.Text) <> "" And Trim(mle_1.Text) <> dw_2.Object.sql_l1[l_row] THEN dw_2.Object.sql_l1[l_row] = mle_1.Text
  1214. END IF
  1215. END IF
  1216. ELSEIF s_col = "sql_l2" THEN
  1217. IF IsNull(dw_2.Object.sql_l2[l_row]) THEN
  1218. dw_2.AcceptText()
  1219. IF IsNull(dw_2.Object.sql_l2[l_row]) THEN
  1220. dw_2.Object.sql_l2[l_row] = ""
  1221. END IF
  1222. END IF
  1223. IF cb_8.Enabled = True THEN
  1224. IF rb_1.Checked = True THEN
  1225. IF Trim(sle_1.Text) <> "" And Trim(sle_1.Text) <> dw_2.Object.sql_l2[l_row] THEN dw_2.Object.sql_l2[l_row] = sle_1.Text
  1226. ELSE
  1227. IF Trim(mle_1.Text) <> "" And Trim(mle_1.Text) <> dw_2.Object.sql_l2[l_row] THEN dw_2.Object.sql_l2[l_row] = mle_1.Text
  1228. END IF
  1229. END IF
  1230. ELSEIF s_col = "sql_r1" THEN
  1231. IF IsNull(dw_2.Object.sql_r1[l_row]) THEN
  1232. dw_2.AcceptText()
  1233. IF IsNull(dw_2.Object.sql_r1[l_row]) THEN
  1234. dw_2.Object.sql_r1[l_row] = ""
  1235. END IF
  1236. END IF
  1237. IF cb_8.Enabled = True THEN
  1238. IF rb_1.Checked = True THEN
  1239. IF Trim(sle_1.Text) <> "" And Trim(sle_1.Text) <> dw_2.Object.sql_r1[l_row] THEN dw_2.Object.sql_r1[l_row] = sle_1.Text
  1240. ELSE
  1241. IF Trim(mle_1.Text) <> "" And Trim(mle_1.Text) <> dw_2.Object.sql_r1[l_row] THEN dw_2.Object.sql_r1[l_row] = mle_1.Text
  1242. END IF
  1243. END IF
  1244. ELSEIF s_col = "sql_r2" THEN
  1245. IF IsNull(dw_2.Object.sql_r2[l_row]) THEN
  1246. dw_2.AcceptText()
  1247. IF IsNull(dw_2.Object.sql_r2[l_row]) THEN
  1248. dw_2.Object.sql_r2[l_row] = ""
  1249. END IF
  1250. END IF
  1251. IF cb_8.Enabled = True THEN
  1252. IF rb_1.Checked = True THEN
  1253. IF Trim(sle_1.Text) <> "" And Trim(sle_1.Text) <> dw_2.Object.sql_r2[l_row] THEN dw_2.Object.sql_r2[l_row] = sle_1.Text
  1254. ELSE
  1255. IF Trim(mle_1.Text) <> "" And Trim(mle_1.Text) <> dw_2.Object.sql_r2[l_row] THEN dw_2.Object.sql_r2[l_row] = mle_1.Text
  1256. END IF
  1257. END IF
  1258. END IF
  1259. s_col = dwo.Name
  1260. l_row = row
  1261. sle_1.Text = ""
  1262. mle_1.Text = ""
  1263. //messagebox(string(s_col),string(l_row))
  1264. /////////////////////// //
  1265. dw_2.AcceptText()
  1266. //rb_1.Enabled = False
  1267. //rb_2.Enabled = False
  1268. sle_1.Text = ""
  1269. sle_1.Enabled = False
  1270. mle_1.Text = ""
  1271. mle_1.Enabled = False
  1272. IF dwo.Name = "sql_l1" THEN
  1273. IF Trim(dw_2.Object.sql_l1[row]) <> "" THEN
  1274. IF Pos(Trim(dw_2.Object.sql_l1[row]),"[") > 0 THEN
  1275. rb_1.Checked = True
  1276. rb_1.Enabled = True
  1277. sle_1.Text = Trim(dw_2.Object.sql_l1[row])
  1278. ELSE
  1279. rb_2.Checked = True
  1280. rb_2.Enabled = True
  1281. mle_1.Text = Trim(dw_2.Object.sql_l1[row])
  1282. END IF
  1283. ELSE
  1284. rb_1.Enabled = True
  1285. rb_2.Enabled = True
  1286. END IF
  1287. ELSEIF dwo.Name = "sql_l2" THEN
  1288. IF Trim(dw_2.Object.sql_l2[row]) <> "" THEN
  1289. IF Pos(Trim(dw_2.Object.sql_l2[row]),"[") > 0 THEN
  1290. rb_1.Checked = True
  1291. rb_1.Enabled = True
  1292. sle_1.Text = Trim(dw_2.Object.sql_l2[row])
  1293. ELSE
  1294. rb_2.Checked = True
  1295. rb_2.Enabled = True
  1296. mle_1.Text = Trim(dw_2.Object.sql_l2[row])
  1297. END IF
  1298. ELSE
  1299. rb_1.Enabled = True
  1300. rb_2.Enabled = True
  1301. END IF
  1302. ELSEIF dwo.Name = "sql_r1" THEN
  1303. IF Trim(dw_2.Object.sql_r1[row]) <> "" THEN
  1304. IF Pos(Trim(dw_2.Object.sql_r1[row]),"[") > 0 THEN
  1305. rb_1.Checked = True
  1306. rb_1.Enabled = True
  1307. sle_1.Text = Trim(dw_2.Object.sql_r1[row])
  1308. ELSE
  1309. rb_2.Checked = True
  1310. rb_2.Enabled = True
  1311. mle_1.Text = Trim(dw_2.Object.sql_r1[row])
  1312. END IF
  1313. ELSE
  1314. rb_1.Enabled = True
  1315. rb_2.Enabled = True
  1316. END IF
  1317. ELSEIF dwo.Name = "sql_r2" THEN
  1318. IF Trim(dw_2.Object.sql_r2[row]) <> "" THEN
  1319. IF Pos(Trim(dw_2.Object.sql_r2[row]),"[") > 0 THEN
  1320. rb_1.Checked = True
  1321. rb_1.Enabled = True
  1322. sle_1.Text = Trim(dw_2.Object.sql_r2[row])
  1323. ELSE
  1324. rb_2.Checked = True
  1325. rb_2.Enabled = True
  1326. mle_1.Text = Trim(dw_2.Object.sql_r2[row])
  1327. END IF
  1328. ELSE
  1329. rb_1.Enabled = True
  1330. rb_2.Enabled = True
  1331. END IF
  1332. ELSE
  1333. // rb_1.Enabled = False
  1334. // rb_2.Enabled = False
  1335. sle_1.Text = ""
  1336. sle_1.Enabled = False
  1337. mle_1.Text = ""
  1338. mle_1.Enabled = False
  1339. END IF
  1340. IF cb_8.Enabled = False THEN
  1341. rb_1.Enabled = False
  1342. rb_2.Enabled = False
  1343. END IF
  1344. wf_face()
  1345. //ext:
  1346. RETURN
  1347. Catch(runtimeerror err)
  1348. // MessageBox("Error",err.Text)
  1349. RETURN
  1350. END TRY
  1351. end event
  1352. event itemchanged;call super::itemchanged;
  1353. //s_text=""
  1354. //IF s_col = "" Or l_row = 0 THEN
  1355. // s_col = dwo.Name
  1356. // l_row = row
  1357. // GOTO ext
  1358. //END IF
  1359. //
  1360. //IF s_col = "sql_l1" THEN
  1361. // IF rb_1.Checked = True THEN
  1362. // dw_2.Object.sql_l1[l_row] = sle_1.Text
  1363. // ELSE
  1364. // dw_2.Object.sql_l1[l_row] = mle_1.Text
  1365. // END IF
  1366. //
  1367. //ELSEIF dwo.Name = "sql_l2" THEN
  1368. // IF rb_1.Checked = True THEN
  1369. // dw_2.Object.sql_l2[l_row] = sle_1.Text
  1370. // ELSE
  1371. // dw_2.Object.sql_l2[l_row] = mle_1.Text
  1372. // END IF
  1373. //ELSEIF dwo.Name = "sql_r1" THEN
  1374. // IF rb_1.Checked = True THEN
  1375. // dw_2.Object.sql_r1[l_row] = sle_1.Text
  1376. // ELSE
  1377. // dw_2.Object.sql_r1[l_row] = mle_1.Text
  1378. // END IF
  1379. //ELSEIF dwo.Name = "sql_r2" THEN
  1380. // IF rb_1.Checked = True THEN
  1381. // dw_2.Object.sql_r2[l_row] = sle_1.Text
  1382. // ELSE
  1383. // dw_2.Object.sql_r2[l_row] = mle_1.Text
  1384. // END IF
  1385. //END IF
  1386. //s_col = dwo.Name
  1387. //l_row = row
  1388. //ext:
  1389. //RETURN
  1390. //
  1391. //
  1392. //
  1393. //
  1394. //
  1395. //
  1396. //
  1397. //
  1398. //
  1399. //
  1400. //
  1401. //
  1402. end event
  1403. type cb_5 from uo_imflatbutton within w_rp
  1404. integer x = 2528
  1405. integer width = 192
  1406. integer height = 164
  1407. integer taborder = 210
  1408. boolean bringtotop = true
  1409. boolean enabled = false
  1410. string text = "删行"
  1411. string normalpicname = "delete.bmp"
  1412. integer picsize = 16
  1413. toolbaralignment pic_align = alignattop!
  1414. boolean border = false
  1415. end type
  1416. event clicked;call super::clicked;Long ll_row, ll_i
  1417. TRY
  1418. FOR ll_i = dw_2.RowCount() To 1 Step -1
  1419. IF dw_2.IsSelected(ll_i) THEN
  1420. ll_row = ll_i
  1421. END IF
  1422. NEXT
  1423. IF ll_row <= 0 THEN RETURN
  1424. String lpo_object
  1425. IF rp_rptype = 1 THEN
  1426. Open(w_col_choose)
  1427. lpo_object = String( Message.StringParm)
  1428. ELSE
  1429. lpo_object = "whole"
  1430. END IF
  1431. IF lpo_object = "left" THEN
  1432. dw_2.InsertRow(0)
  1433. FOR ll_i = dw_2.RowCount() - 1 To ll_row Step -1
  1434. dw_2.Object.colname_r[ll_i + 1] = dw_2.Object.colname_r[ll_i]
  1435. dw_2.Object.sql_r1[ll_i + 1] = dw_2.Object.sql_r1[ll_i ]
  1436. dw_2.Object.sql_r2[ll_i + 1] = dw_2.Object.sql_r2[ll_i]
  1437. NEXT
  1438. FOR ll_i = 1 To dw_2.RowCount()
  1439. dw_2.Object.sql_l1[ll_i ] = f_minus(ll_row, dw_2.Object.sql_l1[ll_i])
  1440. dw_2.Object.sql_l2[ll_i ] = f_minus(ll_row,dw_2.Object.sql_l2[ll_i])
  1441. NEXT
  1442. ELSEIF lpo_object = "right" THEN
  1443. dw_2.InsertRow(0)
  1444. FOR ll_i = dw_2.RowCount() - 1 To ll_row Step -1
  1445. dw_2.Object.colname_l[ll_i + 1] = dw_2.Object.colname_l[ll_i]
  1446. dw_2.Object.sql_l1[ll_i + 1] = dw_2.Object.sql_l1[ll_i ]
  1447. dw_2.Object.sql_l2[ll_i + 1] = dw_2.Object.sql_l2[ll_i]
  1448. NEXT
  1449. FOR ll_i = 1 To dw_2.RowCount()
  1450. dw_2.Object.sql_r1[ll_i ] = f_minus(ll_row, dw_2.Object.sql_r1[ll_i])
  1451. dw_2.Object.sql_r2[ll_i ] = f_minus(ll_row,dw_2.Object.sql_r2[ll_i])
  1452. NEXT
  1453. ELSEIF lpo_object = "whole" THEN
  1454. FOR ll_i = 1 To dw_2.RowCount()
  1455. dw_2.Object.sql_l1[ll_i ] = f_minus(ll_row, dw_2.Object.sql_l1[ll_i])
  1456. dw_2.Object.sql_l2[ll_i ] = f_minus(ll_row,dw_2.Object.sql_l2[ll_i])
  1457. dw_2.Object.sql_r1[ll_i ] = f_minus(ll_row, dw_2.Object.sql_r1[ll_i])
  1458. dw_2.Object.sql_r2[ll_i ] = f_minus(ll_row,dw_2.Object.sql_r2[ll_i])
  1459. NEXT
  1460. END IF
  1461. dw_2.DeleteRow(ll_row)
  1462. sle_1.Text = ""
  1463. mle_1.Text = ""
  1464. l_row = l_row - 1
  1465. Catch(runtimeerror err)
  1466. MessageBox("Error",err.Text)
  1467. RETURN
  1468. END TRY
  1469. end event
  1470. type cb_6 from uo_imflatbutton within w_rp
  1471. integer x = 2336
  1472. integer width = 192
  1473. integer height = 164
  1474. integer taborder = 220
  1475. boolean bringtotop = true
  1476. boolean enabled = false
  1477. string text = "插行"
  1478. string normalpicname = "open.bmp"
  1479. integer picsize = 16
  1480. toolbaralignment pic_align = alignattop!
  1481. boolean border = false
  1482. end type
  1483. event clicked;call super::clicked;Long ll_row, ll_i
  1484. FOR ll_i = dw_2.RowCount() To 1 Step -1
  1485. IF dw_2.IsSelected(ll_i) THEN
  1486. ll_row = ll_i
  1487. END IF
  1488. NEXT
  1489. IF ll_row <= 0 THEN RETURN
  1490. String lpo_object
  1491. IF rp_rptype = 1 THEN
  1492. Open(w_col_choose)
  1493. lpo_object = String( Message.StringParm)
  1494. ELSE
  1495. lpo_object = "whole"
  1496. END IF
  1497. dw_2.InsertRow(ll_row)
  1498. IF lpo_object = "left" THEN
  1499. FOR ll_i = ll_row To dw_2.RowCount() - 1
  1500. dw_2.Object.colname_r[ll_i ] = dw_2.Object.colname_r[ll_i + 1]
  1501. dw_2.Object.sql_r1[ll_i ] = dw_2.Object.sql_r1[ll_i + 1]
  1502. dw_2.Object.sql_r2[ll_i ] = dw_2.Object.sql_r2[ll_i + 1]
  1503. dw_2.Object.colname_r[ll_i + 1] = ""
  1504. dw_2.Object.sql_r1[ll_i + 1 ] = ""
  1505. dw_2.Object.sql_r2[ll_i + 1 ] = ""
  1506. NEXT
  1507. FOR ll_i = 1 To dw_2.RowCount()
  1508. dw_2.Object.sql_l1[ll_i ] = f_add(ll_row, dw_2.Object.sql_l1[ll_i])
  1509. dw_2.Object.sql_l2[ll_i ] = f_add(ll_row,dw_2.Object.sql_l2[ll_i])
  1510. NEXT
  1511. ELSEIF lpo_object = "right" THEN
  1512. FOR ll_i = ll_row To dw_2.RowCount() - 1
  1513. dw_2.Object.colname_l[ll_i ] = dw_2.Object.colname_l[ll_i + 1]
  1514. dw_2.Object.sql_l1[ll_i ] = dw_2.Object.sql_l1[ll_i + 1 ]
  1515. dw_2.Object.sql_l2[ll_i ] = dw_2.Object.sql_l2[ll_i + 1]
  1516. dw_2.Object.colname_l[ll_i + 1] = ""
  1517. dw_2.Object.sql_l1[ll_i + 1] = ""
  1518. dw_2.Object.sql_l2[ll_i + 1] = ""
  1519. NEXT
  1520. FOR ll_i = 1 To dw_2.RowCount()
  1521. dw_2.Object.sql_r1[ll_i ] = f_add(ll_row, dw_2.Object.sql_r1[ll_i])
  1522. dw_2.Object.sql_r2[ll_i ] = f_add(ll_row,dw_2.Object.sql_r2[ll_i])
  1523. NEXT
  1524. ELSEIF lpo_object = "whole" THEN
  1525. FOR ll_i = 1 To dw_2.RowCount()
  1526. dw_2.Object.sql_l1[ll_i ] = f_add( ll_row,dw_2.Object.sql_l1[ll_i])
  1527. dw_2.Object.sql_l2[ll_i ] = f_add(ll_row,dw_2.Object.sql_l2[ll_i])
  1528. dw_2.Object.sql_r1[ll_i ] = f_add(ll_row, dw_2.Object.sql_r1[ll_i])
  1529. dw_2.Object.sql_r2[ll_i ] = f_add(ll_row,dw_2.Object.sql_r2[ll_i])
  1530. NEXT
  1531. END IF
  1532. sle_1.Text = ""
  1533. mle_1.Text = ""
  1534. l_row = l_row + 1
  1535. end event
  1536. type cb_7 from uo_imflatbutton within w_rp
  1537. integer x = 2112
  1538. integer width = 219
  1539. integer height = 164
  1540. integer taborder = 220
  1541. boolean bringtotop = true
  1542. boolean enabled = false
  1543. string text = "增行"
  1544. string normalpicname = "new.bmp"
  1545. integer picsize = 16
  1546. toolbaralignment pic_align = alignattop!
  1547. boolean border = false
  1548. end type
  1549. event clicked;call super::clicked;Integer i
  1550. FOR i = 1 To 5
  1551. dw_2.InsertRow(0)
  1552. NEXT
  1553. end event
  1554. type cb_ext from uo_imflatbutton within w_rp
  1555. integer x = 1184
  1556. integer width = 210
  1557. integer height = 164
  1558. integer taborder = 220
  1559. boolean bringtotop = true
  1560. string text = "退出"
  1561. string normalpicname = "exit.bmp"
  1562. integer picsize = 16
  1563. toolbaralignment pic_align = alignattop!
  1564. boolean border = false
  1565. end type
  1566. event clicked;call super::clicked;close(parent)
  1567. end event
  1568. type rb_1 from radiobutton within w_rp
  1569. integer x = 1513
  1570. integer y = 1036
  1571. integer width = 306
  1572. integer height = 60
  1573. boolean bringtotop = true
  1574. integer textsize = -9
  1575. integer weight = 400
  1576. fontcharset fontcharset = gb2312charset!
  1577. fontpitch fontpitch = variable!
  1578. string facename = "宋体"
  1579. long textcolor = 33554432
  1580. long backcolor = 67108864
  1581. string text = "公式"
  1582. boolean checked = true
  1583. end type
  1584. event clicked;IF rb_1.Checked = True THEN
  1585. sle_1.Enabled = True
  1586. mle_1.Enabled = False
  1587. END IF
  1588. end event
  1589. type rb_2 from radiobutton within w_rp
  1590. integer x = 1513
  1591. integer y = 1180
  1592. integer width = 320
  1593. integer height = 60
  1594. boolean bringtotop = true
  1595. integer textsize = -9
  1596. integer weight = 700
  1597. fontcharset fontcharset = gb2312charset!
  1598. fontpitch fontpitch = variable!
  1599. string facename = "宋体"
  1600. long textcolor = 33554432
  1601. long backcolor = 67108864
  1602. string text = "Sql"
  1603. end type
  1604. event clicked;IF rb_2.Checked = True THEN
  1605. sle_1.Enabled = False
  1606. mle_1.Enabled = True
  1607. END IF
  1608. end event
  1609. type sle_1 from singlelineedit within w_rp
  1610. integer x = 1755
  1611. integer y = 1036
  1612. integer width = 1371
  1613. integer height = 84
  1614. integer taborder = 40
  1615. boolean bringtotop = true
  1616. integer textsize = -9
  1617. integer weight = 400
  1618. fontcharset fontcharset = gb2312charset!
  1619. fontpitch fontpitch = variable!
  1620. string facename = "宋体"
  1621. long textcolor = 33554432
  1622. boolean enabled = false
  1623. borderstyle borderstyle = stylelowered!
  1624. end type
  1625. event losefocus;dw_2.Trigger Event clicked(0,0,1,dw_2.object)
  1626. end event
  1627. type mle_1 from multilineedit within w_rp
  1628. integer x = 1755
  1629. integer y = 1180
  1630. integer width = 1371
  1631. integer height = 408
  1632. integer taborder = 50
  1633. boolean bringtotop = true
  1634. integer textsize = -9
  1635. integer weight = 400
  1636. fontcharset fontcharset = gb2312charset!
  1637. fontpitch fontpitch = variable!
  1638. string facename = "宋体"
  1639. long textcolor = 33554432
  1640. boolean enabled = false
  1641. boolean hscrollbar = true
  1642. boolean vscrollbar = true
  1643. boolean autohscroll = true
  1644. boolean autovscroll = true
  1645. borderstyle borderstyle = stylelowered!
  1646. end type
  1647. event losefocus;dw_2.Trigger Event clicked(0,0,1,dw_2.object)
  1648. end event
  1649. type cb_13 from uo_imflatbutton within w_rp
  1650. integer x = 1426
  1651. integer width = 192
  1652. integer height = 164
  1653. integer taborder = 190
  1654. boolean bringtotop = true
  1655. string text = "设计"
  1656. string normalpicname = "new.bmp"
  1657. integer picsize = 16
  1658. toolbaralignment pic_align = alignattop!
  1659. boolean border = false
  1660. end type
  1661. event clicked;call super::clicked;dw_edit_mode=not dw_edit_mode
  1662. f_get_rpid()
  1663. cb_5.Enabled = True
  1664. cb_6.Enabled = True
  1665. cb_7.Enabled = True
  1666. cb_8.Enabled = True
  1667. cb_9.Enabled = True
  1668. Int LS_INT
  1669. FOR LS_INT = 1 To 20
  1670. dw_2.SetTabOrder (LS_INT,LS_INT*10 )
  1671. NEXT
  1672. rb_1.Enabled = True
  1673. rb_2.Enabled = True
  1674. sle_1.text=""
  1675. mle_1.text=""
  1676. wf_face()
  1677. end event
  1678. type cb_8 from uo_imflatbutton within w_rp
  1679. integer x = 1623
  1680. integer width = 192
  1681. integer height = 164
  1682. integer taborder = 200
  1683. boolean bringtotop = true
  1684. boolean enabled = false
  1685. string text = "保存"
  1686. string normalpicname = "save.bmp"
  1687. integer picsize = 16
  1688. toolbaralignment pic_align = alignattop!
  1689. boolean border = false
  1690. end type
  1691. event clicked;call super::clicked;String arg_msg
  1692. Long l_rpid
  1693. integer s_rowcode
  1694. String s_rowname
  1695. Integer l_rowtype
  1696. Integer l_rowcmpltype
  1697. String s_Rowformula1
  1698. String s_Rowformula2
  1699. Integer l_i
  1700. dw_2.AcceptText()
  1701. IF cancel(arg_msg ) = 0 THEN //i 为printid
  1702. MessageBox('Error!',arg_msg)
  1703. RETURN
  1704. END IF
  1705. FOR l_i = 1 To dw_2.RowCount()
  1706. l_rpid = rp_rpid
  1707. s_rowcode = dw_2.Object.compute_1[l_i]
  1708. s_rowname = dw_2.Object.colname_l[l_i]
  1709. l_rowtype = 0
  1710. l_rowcmpltype = 0
  1711. s_Rowformula1 = dw_2.Object.sql_l1[l_i]
  1712. s_Rowformula2 = dw_2.Object.sql_l2[l_i]
  1713. IF acceptmx(l_rpid,s_rowcode, s_rowname,l_rowtype,l_rowcmpltype,s_Rowformula1,s_Rowformula2) = 0 THEN
  1714. GOTO ext
  1715. END IF
  1716. IF Save(arg_msg ) = 0 THEN //i 为printid
  1717. MessageBox('Error!',arg_msg)
  1718. RETURN
  1719. END IF
  1720. IF rp_rptype = 1 THEN
  1721. l_rpid = rp_rpid
  1722. s_rowcode = dw_2.Object.compute_1[l_i]
  1723. s_rowname = dw_2.Object.colname_r[l_i]
  1724. l_rowtype = 0
  1725. l_rowcmpltype = 1
  1726. s_Rowformula1 = dw_2.Object.sql_r1[l_i]
  1727. s_Rowformula2 = dw_2.Object.sql_r2[l_i]
  1728. IF acceptmx(l_rpid,s_rowcode, s_rowname,l_rowtype,l_rowcmpltype,s_Rowformula1,s_Rowformula2) = 0 THEN
  1729. GOTO ext
  1730. END IF
  1731. IF Save(arg_msg ) = 0 THEN //i 为printid
  1732. MessageBox('Error!',arg_msg)
  1733. RETURN
  1734. END IF
  1735. END IF
  1736. NEXT
  1737. MessageBox(publ_operator,'保存操作成功!')
  1738. cb_5.Enabled = False
  1739. cb_6.Enabled = False
  1740. cb_7.Enabled = False
  1741. cb_8.Enabled = False
  1742. cb_9.Enabled = False
  1743. Int LS_INT
  1744. FOR LS_INT = 1 To 20
  1745. dw_2.SetTabOrder (LS_INT,0 )
  1746. NEXT
  1747. dw_edit_mode=not dw_edit_mode
  1748. wf_face()
  1749. ext:
  1750. RETURN
  1751. end event
  1752. type cb_9 from uo_imflatbutton within w_rp
  1753. integer x = 1819
  1754. integer width = 192
  1755. integer height = 164
  1756. integer taborder = 210
  1757. boolean bringtotop = true
  1758. boolean enabled = false
  1759. string text = "放弃"
  1760. string normalpicname = "delete.bmp"
  1761. integer picsize = 16
  1762. toolbaralignment pic_align = alignattop!
  1763. boolean border = false
  1764. end type
  1765. event clicked;call super::clicked;cb_5.Enabled = False
  1766. cb_6.Enabled = False
  1767. cb_7.Enabled = False
  1768. cb_8.Enabled = False
  1769. cb_9.Enabled = False
  1770. Int LS_INT
  1771. FOR LS_INT = 1 To 20
  1772. dw_2.SetTabOrder (LS_INT,0 )
  1773. NEXT
  1774. rb_1.Enabled = False
  1775. rb_2.Enabled = False
  1776. f_bulid_rp(rp_dw_row)
  1777. dw_edit_mode=not dw_edit_mode
  1778. wf_face()
  1779. end event
  1780. type cb_imexport from uo_imflatbutton within w_rp
  1781. integer x = 782
  1782. integer width = 192
  1783. integer height = 164
  1784. integer taborder = 140
  1785. boolean bringtotop = true
  1786. string text = "导入"
  1787. string normalpicname = "imexport.BMP"
  1788. integer picsize = 16
  1789. toolbaralignment pic_align = alignattop!
  1790. boolean border = false
  1791. end type
  1792. event clicked;call super::clicked;String arg_msg,ss
  1793. Long Handle,i_rc,i
  1794. String Pathname,Filename,ss_text
  1795. String s_line
  1796. Blob tb
  1797. i = GetFileSaveName("导入",Pathname,Filename,"rp","报表数据文件rp,*.rp")
  1798. IF i = 0 THEN
  1799. arg_msg = "请选择要导入的文件"
  1800. GOTO ext
  1801. END IF
  1802. Long l_rp_rpid
  1803. Integer l_i
  1804. Long ll_i,ll_rowcount
  1805. //biaotou
  1806. Long imexport_rpid
  1807. String imexport_rpcode
  1808. String imexport_rpname
  1809. Integer imexport_rptype
  1810. String imexport_col1name0
  1811. String imexport_col1name1
  1812. String imexport_col1name2
  1813. String imexport_col2name0
  1814. String imexport_col2name1
  1815. String imexport_col2name2
  1816. //biaotou
  1817. //biaoti
  1818. Integer imexport_rowcode
  1819. String imexport_rowname
  1820. Integer imexport_rowtype
  1821. Integer imexport_rowcmpltype
  1822. String imexport_Rowformula1
  1823. String imexport_Rowformula2
  1824. //biaoti
  1825. IF f_filetoblob(Pathname,tb,arg_msg) = 1 THEN
  1826. ss_text = String(tb,EncodingANSI! )
  1827. DO While(Pos(ss_text,Char(13) +Char(10)) > 0)
  1828. s_line = Left(ss_text,Pos(ss_text,Char(13) +Char(10)))
  1829. ss_text = Right(ss_text,Len(ss_text) - Pos(ss_text,Char(13) +Char(10)) - 1)
  1830. s_line = Trim(s_line)
  1831. IF Left(s_line,6) = "biaoti" THEN
  1832. l_i = Pos(s_line,'|')
  1833. ss = Left(s_line,l_i - 1)
  1834. s_line = Right(s_line,Len(s_line) - l_i)
  1835. //imexport_rowcode
  1836. l_i = Pos(s_line,'|')
  1837. imexport_rowcode = Long( Left(s_line,l_i - 1))
  1838. s_line = Right(s_line,Len(s_line) - l_i)
  1839. //imexport_rowname
  1840. l_i = Pos(s_line,'|')
  1841. imexport_rowname = Left(s_line,l_i - 1)
  1842. s_line = Right(s_line,Len(s_line) - l_i)
  1843. //imexport_rowtype
  1844. l_i = Pos(s_line,'|')
  1845. imexport_rowtype = Long( Left(s_line,l_i - 1))
  1846. s_line = Right(s_line,Len(s_line) - l_i)
  1847. //imexport_rowcmpltype
  1848. l_i = Pos(s_line,'|')
  1849. imexport_rowcmpltype = Long( Left(s_line,l_i - 1))
  1850. s_line = Right(s_line,Len(s_line) - l_i)
  1851. //imexport_Rowformula1
  1852. l_i = Pos(s_line,'|')
  1853. imexport_Rowformula1 = Left(s_line,l_i - 1)
  1854. s_line = Right(s_line,Len(s_line) - l_i)
  1855. //imexport_Rowformula2
  1856. l_i = Pos(s_line,'|')
  1857. imexport_Rowformula2 = Left(s_line,l_i - 1)
  1858. s_line = Right(s_line,Len(s_line) - l_i)
  1859. INSERT INTO u_rp_rowdef
  1860. (rpid,
  1861. rowcode,
  1862. rowname,
  1863. rowtype,
  1864. rowcmpltype,
  1865. Rowformula1,
  1866. Rowformula2
  1867. )
  1868. VALUES (
  1869. :l_rp_rpid,
  1870. :imexport_rowcode,
  1871. :imexport_rowname,
  1872. :imexport_rowtype,
  1873. :imexport_rowcmpltype,
  1874. :imexport_Rowformula1,
  1875. :imexport_Rowformula2
  1876. ) Using sqlca;
  1877. IF sqlca.SQLCode <> 0 THEN
  1878. arg_msg = ""
  1879. arg_msg = "因网络或其它原因导致插入明细操作失败"+"~n"+sqlca.SQLErrText
  1880. ROLLBACK Using sqlca;
  1881. GOTO ext
  1882. END IF
  1883. //MessageBox(string(imexport_rowcode),String(imexport_rowname))
  1884. ELSE
  1885. l_i = Pos(s_line,'|')
  1886. ss = Left(s_line,l_i - 1)
  1887. s_line = Right(s_line,Len(s_line) - l_i)
  1888. //imexport_rpid
  1889. l_i = Pos(s_line,'|')
  1890. imexport_rpid = Long( Left(s_line,l_i - 1))
  1891. s_line = Right(s_line,Len(s_line) - l_i)
  1892. //imexport_rpcode
  1893. l_i = Pos(s_line,'|')
  1894. imexport_rpcode = Left(s_line,l_i - 1)
  1895. s_line = Right(s_line,Len(s_line) - l_i)
  1896. //imexport_rpname
  1897. l_i = Pos(s_line,'|')
  1898. imexport_rpname = Left(s_line,l_i - 1)
  1899. s_line = Right(s_line,Len(s_line) - l_i)
  1900. //imexport_rptype
  1901. l_i = Pos(s_line,'|')
  1902. imexport_rptype = Long(Left(s_line,l_i - 1))
  1903. s_line = Right(s_line,Len(s_line) - l_i)
  1904. //imexport_col1name0
  1905. l_i = Pos(s_line,'|')
  1906. imexport_col1name0 = Left(s_line,l_i - 1)
  1907. s_line = Right(s_line,Len(s_line) - l_i)
  1908. //imexport_col1name1
  1909. l_i = Pos(s_line,'|')
  1910. imexport_col1name1 = Left(s_line,l_i - 1)
  1911. s_line = Right(s_line,Len(s_line) - l_i)
  1912. //imexport_col1name2
  1913. l_i = Pos(s_line,'|')
  1914. imexport_col1name2 = Left(s_line,l_i - 1)
  1915. s_line = Right(s_line,Len(s_line) - l_i)
  1916. //imexport_col2name0
  1917. l_i = Pos(s_line,'|')
  1918. imexport_col2name0 = Left(s_line,l_i - 1)
  1919. s_line = Right(s_line,Len(s_line) - l_i)
  1920. //imexport_col2name1
  1921. l_i = Pos(s_line,'|')
  1922. imexport_col2name1 = Left(s_line,l_i - 1)
  1923. s_line = Right(s_line,Len(s_line) - l_i)
  1924. //imexport_col2name2
  1925. l_i = Pos(s_line,'|')
  1926. imexport_col2name2 = Left(s_line,l_i - 1)
  1927. s_line = Right(s_line,Len(s_line) - l_i)
  1928. SELECT count(*) Into :ll_rowcount From u_rp Where rpid = :imexport_rpid;
  1929. IF ll_rowcount > 0 THEN
  1930. SELECT Max(rpid) Into :ll_rowcount From u_rp ;
  1931. l_rp_rpid = ll_rowcount + 1
  1932. ELSE
  1933. l_rp_rpid = imexport_rpid
  1934. END IF
  1935. INSERT INTO u_rp
  1936. (rpid,
  1937. rpcode,
  1938. rpname,
  1939. rptype,
  1940. col1name0,
  1941. col1name1,
  1942. col1name2,
  1943. col2name0,
  1944. col2name1,
  1945. col2name2
  1946. )
  1947. VALUES (
  1948. :l_rp_rpid,
  1949. :imexport_rpcode,
  1950. :imexport_rpname,
  1951. :imexport_rptype,
  1952. :imexport_col1name0 ,
  1953. :imexport_col1name1 ,
  1954. :imexport_col1name2,
  1955. :imexport_col2name0,
  1956. :imexport_col2name1,
  1957. :imexport_col2name2
  1958. ) Using sqlca;
  1959. IF sqlca.SQLCode <> 0 THEN
  1960. arg_msg = ""
  1961. arg_msg = "因网络或其它原因导致插入明细操作失败"+"~n"+sqlca.SQLErrText
  1962. ROLLBACK Using sqlca;
  1963. GOTO ext
  1964. END IF
  1965. END IF
  1966. LOOP
  1967. END IF
  1968. cb_1.TriggerEvent(Clicked!)
  1969. MessageBox("成功","导入成功")
  1970. RETURN
  1971. ext:
  1972. MessageBox("error",arg_msg)
  1973. RETURN
  1974. end event
  1975. type cb_export from uo_imflatbutton within w_rp
  1976. integer x = 978
  1977. integer width = 192
  1978. integer height = 164
  1979. integer taborder = 140
  1980. boolean bringtotop = true
  1981. string text = "导出"
  1982. string normalpicname = "imexport.BMP"
  1983. integer picsize = 16
  1984. toolbaralignment pic_align = alignattop!
  1985. boolean border = false
  1986. end type
  1987. event clicked;call super::clicked;Integer i
  1988. String Pathname,Filename,arg_msg
  1989. i = GetFileSaveName("导出",Pathname,Filename,"rp","报表数据文件rp,*.rp")
  1990. IF i = 0 THEN
  1991. MessageBox("error","请选择报表的保存路径和文件名")
  1992. GOTO ext
  1993. END IF
  1994. //MessageBox(Filename,String(i))
  1995. String ss_text = ""
  1996. Blob ss
  1997. i = f_get_rpid()
  1998. IF i = 0 THEN
  1999. MessageBox("error","请选择要导出的报表")
  2000. GOTO ext
  2001. END IF
  2002. Long export_rpid
  2003. String export_rpcode
  2004. String export_rpname
  2005. Integer export_rptype
  2006. String export_col1name0
  2007. String export_col1name1
  2008. String export_col1name2
  2009. String export_col2name0
  2010. String export_col2name1
  2011. String export_col2name2
  2012. SELECT
  2013. rpid,
  2014. rpcode,
  2015. rpname,
  2016. rptype,
  2017. col1name0,
  2018. col1name1,
  2019. col1name2,
  2020. col2name0,
  2021. col2name1,
  2022. col2name2
  2023. Into
  2024. :export_rpid,
  2025. :export_rpcode,
  2026. :export_rpname,
  2027. :export_rptype,
  2028. :export_col1name0,
  2029. :export_col1name1,
  2030. :export_col1name2,
  2031. :export_col2name0,
  2032. :export_col2name1,
  2033. :export_col2name2
  2034. From u_rp Where u_rp.rpid = : rp_rpid;
  2035. IF sqlca.SQLCode <> 0 THEN
  2036. arg_msg = ""
  2037. arg_msg = "因网络或其它原因导致查询明细操作失败"+"~n"+sqlca.SQLErrText
  2038. MessageBox("error",arg_msg)
  2039. ROLLBACK Using sqlca;
  2040. GOTO ext
  2041. END IF
  2042. ss_text = "biaotou" + "|" + String(export_rpid) + "|" + export_rpcode + "|" + export_rpname + "|" + String(export_rptype) + "|" + export_col1name0 + "|" + export_col1name1 + "|" + export_col1name2 + "|" + export_col2name0 + "|" + export_col2name1 + "|" + export_col2name2 + "|" + Char(13) + Char(10)
  2043. Integer export_rowcode
  2044. String export_rowname
  2045. Integer export_rowtype
  2046. Integer export_rowcmpltype
  2047. String export_Rowformula1
  2048. String export_Rowformula2
  2049. Long ll_i,ll_rowcount
  2050. SELECT Max(rowcode) Into :ll_rowcount From u_rp_rowdef Where rpid = :rp_rpid;
  2051. FOR ll_i = 1 To ll_rowcount
  2052. export_rowcode = 0
  2053. export_rowname = ""
  2054. export_rowtype = 0
  2055. export_rowcmpltype = 0
  2056. export_Rowformula1 = ""
  2057. export_Rowformula2 = ""
  2058. SELECT
  2059. rowcode,
  2060. rowname,
  2061. rowtype,
  2062. rowcmpltype,
  2063. Rowformula1,
  2064. Rowformula2
  2065. Into
  2066. :export_rowcode,
  2067. :export_rowname,
  2068. :export_rowtype,
  2069. :export_rowcmpltype,
  2070. :export_Rowformula1,
  2071. :export_Rowformula2
  2072. From u_rp_rowdef Where u_rp_rowdef .rpid = : rp_rpid And rowcmpltype = 0 And rowcode = :ll_i;
  2073. IF sqlca.SQLCode <> 0 THEN
  2074. arg_msg = ""
  2075. arg_msg = "因网络或其它原因导致查询明细操作失败"+"~n"+sqlca.SQLErrText
  2076. MessageBox("error",arg_msg)
  2077. ROLLBACK Using sqlca;
  2078. GOTO ext
  2079. END IF
  2080. IF export_rowcode <> 0 THEN
  2081. export_Rowformula1=of_globalreplace1(export_Rowformula1,Char(13) + Char(10)," ")
  2082. export_Rowformula2=of_globalreplace1(export_Rowformula2,Char(13) + Char(10)," ")
  2083. ss_text = ss_text + "biaoti" + "|" + String(export_rowcode) + "|" + export_rowname + "|" + String(export_rowtype) + "|" + String(export_rowcmpltype) + "|" + export_Rowformula1 + "|" + export_Rowformula2 + "|" +Char(13) + Char(10)
  2084. END IF
  2085. NEXT
  2086. FOR ll_i = 1 To ll_rowcount
  2087. export_rowcode = 0
  2088. export_rowname = ""
  2089. export_rowtype = 0
  2090. export_rowcmpltype = 0
  2091. export_Rowformula1 = ""
  2092. export_Rowformula2 = ""
  2093. SELECT
  2094. rowcode,
  2095. rowname,
  2096. rowtype,
  2097. rowcmpltype,
  2098. Rowformula1,
  2099. Rowformula2
  2100. Into
  2101. :export_rowcode,
  2102. :export_rowname,
  2103. :export_rowtype,
  2104. :export_rowcmpltype,
  2105. :export_Rowformula1,
  2106. :export_Rowformula2
  2107. From u_rp_rowdef Where u_rp_rowdef .rpid = : rp_rpid And rowcmpltype = 1 And rowcode = :ll_i;
  2108. IF sqlca.SQLCode <> 0 And sqlca.SQLCode <> 100 THEN
  2109. arg_msg = ""
  2110. arg_msg = "因网络或其它原因导致查询明细操作失败"+"~n"+sqlca.SQLErrText
  2111. MessageBox("error",arg_msg)
  2112. ROLLBACK Using sqlca;
  2113. GOTO ext
  2114. END IF
  2115. IF export_rowcode <> 0 THEN
  2116. export_Rowformula1=of_globalreplace1(export_Rowformula1,Char(13) + Char(10)," ")
  2117. export_Rowformula2=of_globalreplace1(export_Rowformula2,Char(13) + Char(10)," ")
  2118. ss_text = ss_text + "biaoti" + "|" + String(export_rowcode) + "|" + export_rowname + "|" + String(export_rowtype) + "|" + String(export_rowcmpltype) + "|" + export_Rowformula1 + "|" + export_Rowformula2 + "|" +Char(13) + Char(10)
  2119. END IF
  2120. NEXT
  2121. ss = Blob(ss_text ,EncodingANSI!)
  2122. f_writefile(ss,Pathname)
  2123. MessageBox("成功","导出成功")
  2124. ext:
  2125. RETURN
  2126. end event
  2127. type mle_2 from multilineedit within w_rp
  2128. integer x = 1751
  2129. integer y = 1608
  2130. integer width = 1376
  2131. integer height = 204
  2132. integer taborder = 60
  2133. boolean bringtotop = true
  2134. integer textsize = -9
  2135. integer weight = 400
  2136. fontcharset fontcharset = gb2312charset!
  2137. fontpitch fontpitch = variable!
  2138. string facename = "宋体"
  2139. long textcolor = 33554432
  2140. boolean enabled = false
  2141. borderstyle borderstyle = stylelowered!
  2142. end type
  2143. type gb_1 from groupbox within w_rp
  2144. integer x = 1417
  2145. integer y = 928
  2146. integer width = 1746
  2147. integer height = 916
  2148. integer taborder = 30
  2149. integer textsize = -9
  2150. integer weight = 400
  2151. fontcharset fontcharset = gb2312charset!
  2152. fontpitch fontpitch = variable!
  2153. string facename = "宋体"
  2154. long textcolor = 33554432
  2155. long backcolor = 67108864
  2156. string text = "计算方法"
  2157. end type
  2158. type ln_3 from line within w_rp
  2159. long linecolor = 268435456
  2160. integer linethickness = 18
  2161. integer beginx = 1413
  2162. integer beginy = 4
  2163. integer endx = 1413
  2164. integer endy = 160
  2165. end type