uo_accset.sru 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640
  1. $PBExportHeader$uo_accset.sru
  2. forward
  3. global type uo_accset from nonvisualobject
  4. end type
  5. end forward
  6. global type uo_accset from nonvisualobject
  7. end type
  8. global uo_accset uo_accset
  9. type variables
  10. Long accsetid = 0 //帐套ID
  11. String accsetname = ''
  12. String cropname = ''
  13. Long cropid = 0
  14. Long startyear = 0, startyearmon = 0
  15. Long curryear = 0,currmon = 0
  16. Int mustcheck = 1
  17. Int sameuser = 0
  18. Int Step1,Step2,Step3,Step4,Step5,Step6
  19. Int TaxType = 0
  20. String LawPerson = '',Bank = '',Accounts = '',TaxNumber = ''
  21. String Telephone = '' ,Address = ''
  22. int ifnewsubid = 0
  23. end variables
  24. forward prototypes
  25. public function integer accset_newbegin (ref string arg_msg)
  26. public function integer accset (integer arg_edittype, ref string arg_msg, boolean arg_ifcommit)
  27. public function integer credenceword (long itmxt_credenceword, string arg_credenceword[], ref string arg_msg, boolean arg_ifcommit)
  28. public function integer new_currency (string arg_code, string arg_name, decimal arg_rate, integer arg_native, ref string arg_msg, boolean arg_ifcommit)
  29. public function integer new_calendar (s_calendar arg_s_calendar[12], ref string arg_msg, boolean arg_ifcommit)
  30. public function integer subject_arrray (s_subject_array arg_s_subject, ref string arg_msg, boolean arg_ifcommit)
  31. public function integer cancel_begin_accset (ref string arg_msg)
  32. public function integer begin_accset (ref string arg_msg, boolean arg_ifcommit)
  33. public function integer new_reports (ref string arg_msg, boolean arg_ifcommit)
  34. public function integer del_accset (long arg_accsetid, ref string arg_msg, boolean arg_ifcommit)
  35. end prototypes
  36. public function integer accset_newbegin (ref string arg_msg);Long rslt = 1,cnt
  37. IF accsetid <= 0 THEN
  38. arg_msg = '帐套ID错误,请检查'
  39. rslt = 0
  40. GOTO ext
  41. END IF
  42. SELECT count(accsetid) INTO :cnt FROM cw_accset Where accsetid = :accsetid;
  43. IF sqlca.SQLCode = -1 THEN
  44. arg_msg = '查询帐套ID失败,'+sqlca.sqlerrtext
  45. rslt = 0
  46. GOTO ext
  47. END IF
  48. IF cnt > 0 THEN
  49. arg_msg = '数据库已存在该帐套ID,请重新输入'
  50. rslt = 0
  51. GOTO ext
  52. END IF
  53. ext:
  54. RETURN rslt
  55. end function
  56. public function integer accset (integer arg_edittype, ref string arg_msg, boolean arg_ifcommit);//建帐套
  57. //accset(int arg_edittype,ref string arg_msg,boolean arg_ifcommit)
  58. //arg_edittype:类型
  59. Long rslt = 1
  60. IF accsetname = '' THEN
  61. arg_msg = '请输入帐套代号'
  62. rslt = 0
  63. GOTO ext
  64. END IF
  65. IF cropname = '' THEN
  66. arg_msg = '请输入企业名称'
  67. rslt = 0
  68. GOTO ext
  69. END IF
  70. IF ifnewsubid = 0 THEN
  71. IF cropid <= 0 THEN
  72. arg_msg = '请输入所属行业'
  73. rslt = 0
  74. GOTO ext
  75. END IF
  76. END IF
  77. //新建
  78. IF arg_edittype = 1 THEN
  79. INSERT INTO cw_accset(accsetid,accsetname,cropname,cropid,startyear,startyearmon,
  80. curryear,currmon,mustcheck,sameuser,Step1,Step2,Step3,Step4,
  81. Step5,Step6,TaxType,LawPerson,Bank,Accounts,
  82. TaxNumber,Telephone,Address,ifnewsubid)
  83. VALUES(:accsetid,:accsetname,:cropname,:cropid,:startyear,:startyearmon,
  84. :curryear,:currmon,:mustcheck,:sameuser,:Step1,:Step2,:Step3,:Step4,
  85. :Step5,:Step6,:TaxType,:LawPerson,:Bank,:Accounts,
  86. :TaxNumber,:Telephone,:Address,:ifnewsubid);
  87. IF sqlca.SQLCode <> 0 THEN
  88. arg_msg = '新建帐套失败! ~n'+sqlca.SQLErrText
  89. rslt = 0
  90. GOTO ext
  91. END IF
  92. ELSE //修改
  93. UPDATE cw_accset SET
  94. accsetname = :accsetname,
  95. cropname = :cropname,
  96. cropid = :cropid,
  97. startyear = :startyear,
  98. startyearmon = :startyearmon,
  99. curryear = :curryear,
  100. currmon = :currmon,
  101. mustcheck = :mustcheck,
  102. sameuser = :sameuser,
  103. Step1 = :Step1,
  104. Step2 = :Step2,
  105. Step3 = :Step3,
  106. Step4 = :Step4,
  107. Step5 = :Step5,
  108. Step6 = :Step6,
  109. TaxType = :TaxType,
  110. LawPerson = :LawPerson,
  111. Bank = :Bank,
  112. Accounts = :Accounts,
  113. TaxNumber = :TaxNumber,
  114. Telephone = :Telephone,
  115. Address = :Address
  116. Where accsetid = :accsetid;
  117. IF sqlca.SQLCode <> 0 THEN
  118. arg_msg = '修改帐套信息失败! ~n'+sqlca.SQLErrText
  119. rslt = 0
  120. GOTO ext
  121. END IF
  122. END IF
  123. ext:
  124. IF rslt = 0 THEN
  125. ROLLBACK;
  126. ELSEIF arg_ifcommit THEN
  127. COMMIT;
  128. END IF
  129. RETURN rslt
  130. end function
  131. public function integer credenceword (long itmxt_credenceword, string arg_credenceword[], ref string arg_msg, boolean arg_ifcommit);//建凭证字
  132. //Credenceword(long itmxt_credenceword,string arg_credenceword[],ref string arg_msg,boolean arg_ifcommit)
  133. long rslt=1,i
  134. if itmxt_Credenceword=0 then
  135. rslt=1
  136. goto ext
  137. end if
  138. for i=1 to itmxt_Credenceword
  139. if arg_Credenceword[i]='' then
  140. arg_msg='请输入凭证字'
  141. rslt=0
  142. goto ext
  143. end if
  144. next
  145. delete from cw_Credenceword where accsetid=:accsetid;
  146. if sqlca.sqlcode<>0 then
  147. arg_msg='删除凭证字失败, ~n' + sqlca.sqlerrtext
  148. rslt=0
  149. goto ext
  150. end if
  151. for i=1 to itmxt_Credenceword
  152. insert into cw_Credenceword(accsetid,Credenceword) values(:accsetid,:arg_Credenceword[i]);
  153. if sqlca.sqlcode<>0 then
  154. arg_msg='建立凭证字失败, ~n' + sqlca.sqlerrtext
  155. rslt=0
  156. goto ext
  157. end if
  158. next
  159. ext:
  160. if rslt=0 then
  161. rollback;
  162. elseif arg_ifcommit then
  163. commit;
  164. end if
  165. return rslt
  166. end function
  167. public function integer new_currency (string arg_code, string arg_name, decimal arg_rate, integer arg_native, ref string arg_msg, boolean arg_ifcommit);//建币种资料
  168. //new_currency(string arg_code,string arg_name,decimal rate,int native,ref string arg_msg,boolean arg_ifcommit)
  169. long rslt=1,ls_moneyid
  170. ls_moneyid=f_sys_scidentity(accsetid,"cw_currency","moneyid",arg_msg,TRUE,id_sqlca)
  171. if ls_moneyid<=0 then
  172. rslt=0
  173. goto ext
  174. end if
  175. if arg_code='' then
  176. arg_msg='请输入本位币代号'
  177. rslt=0
  178. goto ext
  179. end if
  180. if arg_name='' then
  181. arg_msg='请输入本位币名称'
  182. rslt=0
  183. goto ext
  184. end if
  185. insert into cw_currency(accsetid,moneyid,code,name,rate,native)
  186. values(:accsetid,:ls_moneyid,:arg_code,:arg_name,:arg_rate,:arg_native);
  187. if sqlca.sqlcode<>0 then
  188. arg_msg='建立本位币失败, ~n' + sqlca.sqlerrtext
  189. rslt=0
  190. goto ext
  191. end if
  192. ext:
  193. if rslt=0 then
  194. rollback;
  195. elseif arg_ifcommit then
  196. commit;
  197. end if
  198. return rslt
  199. end function
  200. public function integer new_calendar (s_calendar arg_s_calendar[12], ref string arg_msg, boolean arg_ifcommit);//建帐套期间
  201. //new_calendar(s_calendar arg_s_calendar[12],ref string arg_msg,boolean arg_ifcommit)
  202. Long rslt = 1,i
  203. FOR i = 1 TO 12
  204. INSERT INTO cw_calendar(accsetid,cmonth,sdate,edate)
  205. Values(:accsetid,:arg_s_calendar[i].cmonth,:arg_s_calendar[i].sdate,:arg_s_calendar[i].edate);
  206. NEXT
  207. IF sqlca.SQLCode <> 0 THEN
  208. arg_msg = '建立帐套期间失败, ~n' + sqlca.SQLErrText
  209. rslt = 0
  210. GOTO ext
  211. END IF
  212. ext:
  213. IF rslt = 0 THEN
  214. ROLLBACK;
  215. ELSEIF arg_ifcommit THEN
  216. COMMIT;
  217. END IF
  218. RETURN rslt
  219. end function
  220. public function integer subject_arrray (s_subject_array arg_s_subject, ref string arg_msg, boolean arg_ifcommit);//建科目
  221. //subject_arrray(s_subject,arg_s_subject,ref string arg_msg,boolean arg_ifcommit)
  222. long rslt=1,subject_cnt,i
  223. string ls_displaycode
  224. subject_cnt=upperbound(arg_s_subject.croptypeid[])
  225. if subject_cnt<=0 then
  226. arg_msg='没有初始化会计科目'
  227. rslt=0
  228. goto ext
  229. end if
  230. for i=1 to subject_cnt
  231. ls_displaycode=arg_s_subject.subid[i]+' '+arg_s_subject.name[i]
  232. insert into cw_subject(
  233. accsetid,
  234. subid,
  235. name,
  236. dcflag,
  237. detailflag,
  238. hswb,
  239. moneyid,
  240. hsqty,
  241. unit,
  242. hsdept,
  243. hsemp,
  244. hsitem,
  245. hstrader,
  246. attrflag,
  247. specialcode,
  248. relevantid,
  249. displaycode)
  250. values(:accsetid,
  251. :arg_s_subject.subid[i],
  252. :arg_s_subject.name[i],
  253. :arg_s_subject.dcflag[i],
  254. :arg_s_subject.detailflag[i],
  255. :arg_s_subject.hswb[i],
  256. :arg_s_subject.moneyid[i],
  257. :arg_s_subject.hsqty[i],
  258. :arg_s_subject.unit[i],
  259. :arg_s_subject.hsdept[i],
  260. :arg_s_subject.hsemp[i],
  261. :arg_s_subject.hsitem[i],
  262. :arg_s_subject.hstrader[i],
  263. :arg_s_subject.attrflag[i],
  264. :arg_s_subject.specialcode[i],
  265. :arg_s_subject.relevantid[i],
  266. :ls_displaycode);
  267. if sqlca.sqlcode<>0 then
  268. arg_msg='新建帐套失败! ~n'+sqlca.SQLErrText
  269. rslt=0
  270. goto ext
  271. end if
  272. next
  273. ext:
  274. if rslt=0 then
  275. rollback;
  276. elseif arg_ifcommit then
  277. commit;
  278. end if
  279. return rslt
  280. end function
  281. public function integer cancel_begin_accset (ref string arg_msg);//反启用帐套
  282. Int rslt = 1,cnt
  283. Long ls_curryear,ls_currmon
  284. DateTime null_datetime
  285. SetNull(null_datetime)
  286. //检查帐套信息
  287. SELECT count(accsetid) INTO :cnt FROM cw_accset Where accsetid = :sys_accsetid;
  288. IF sqlca.SQLCode <> 0 THEN
  289. arg_msg = '查询帐套失败,不能反启用帐套'
  290. rslt = 0
  291. GOTO ext
  292. END IF
  293. IF cnt > 1 THEN
  294. arg_msg = '帐套重复,不能反启用帐套'
  295. rslt = 0
  296. GOTO ext
  297. END IF
  298. SELECT curryear,currmon
  299. INTO :ls_curryear,:ls_currmon
  300. FROM cw_accset Where accsetid = :sys_accsetid;
  301. IF sqlca.SQLCode <> 0 THEN
  302. arg_msg = '查询帐套当前期间失败,不能反启用帐套'
  303. rslt = 0
  304. GOTO ext
  305. END IF
  306. IF ls_curryear = 0 OR ls_currmon = 0 THEN
  307. arg_msg = '帐套还未启用,不能反启用帐套'
  308. rslt = 0
  309. GOTO ext
  310. END IF
  311. IF ls_curryear <> s_sys_accset.startyear OR &
  312. ls_currmon <> s_sys_accset.startyearmon THEN
  313. arg_msg = '会计期间不在开帐期间,不能反启用帐套'
  314. rslt = 0
  315. GOTO ext
  316. END IF
  317. DELETE FROM cw_balance Where accsetid = :sys_accsetid AND yearmon = :sys_curyearmon;
  318. IF sqlca.SQLCode <> 0 THEN
  319. arg_msg = '删除结余表失败,不能反启用帐套'
  320. rslt = 0
  321. GOTO ext
  322. END IF
  323. DELETE FROM cw_astbalance Where accsetid = :sys_accsetid AND yearmon = :sys_curyearmon;
  324. IF sqlca.SQLCode <> 0 THEN
  325. arg_msg = '删除固定资产累计折旧表失败,不能反启用帐套'
  326. rslt = 0
  327. GOTO ext
  328. END IF
  329. //更新当前期间凭证的登帐标记
  330. UPDATE cw_credence
  331. SET postflag = 0,
  332. billpost = '',
  333. billpostdate = :null_datetime
  334. WHERE cw_credence.accsetid = :sys_accsetid
  335. AND cw_credence.cmonth = :sys_curyearmon;
  336. IF sqlca.SQLCode <> 0 THEN
  337. arg_msg = '反结帐失败,更新当前期间凭证登帐标记失败'
  338. rslt = 0
  339. GOTO ext
  340. END IF
  341. //删除累计折旧
  342. IF f_init_astbalance(0,sys_curyearmon,sys_curyearmon,arg_msg,FALSE) = 0 THEN
  343. rslt = 0
  344. GOTO ext
  345. END IF
  346. UPDATE cw_accset
  347. SET curryear = 0,
  348. currmon = 0,
  349. curyearmon = 0
  350. Where accsetid = :sys_accsetid;
  351. IF sqlca.SQLCode <> 0 THEN
  352. arg_msg = '更新帐套当前期间失败,不能反启用帐套'+sqlca.SQLErrText
  353. rslt = 0
  354. GOTO ext
  355. END IF
  356. IF f_set_accsetmessage() = 0 THEN
  357. arg_msg = '查询帐套信息失败,不能反启用帐套'
  358. rslt = 0
  359. GOTO ext
  360. END IF
  361. ext:
  362. IF rslt = 0 THEN
  363. ROLLBACK;
  364. ELSE
  365. COMMIT;
  366. END IF
  367. RETURN rslt
  368. end function
  369. public function integer begin_accset (ref string arg_msg, boolean arg_ifcommit);//启用帐套
  370. Int rslt = 1,cnt
  371. datastore ds_balance
  372. Long ls_curryear,ls_currmon,ll_startyear,ll_startyearmon
  373. Long ll_curryear_cn,ll_currmon_cn
  374. Dec sum_ydebit,sum_ycrebit,sum_debit,sum_crebit,sum_mdebit,sum_mcrebit
  375. uo_credence uo_begin_uo_credence
  376. //1.检查帐套信息
  377. SELECT count(accsetid) INTO :cnt FROM cw_accset Where accsetid = :sys_accsetid;
  378. IF sqlca.SQLCode <> 0 THEN
  379. arg_msg = '查询帐套失败,不能开帐'
  380. rslt = 0
  381. GOTO ext
  382. END IF
  383. IF cnt > 1 THEN
  384. arg_msg = '帐套重复,不能开帐'
  385. rslt = 0
  386. GOTO ext
  387. END IF
  388. SELECT curryear,currmon,startyear,startyearmon
  389. INTO :ls_curryear,:ls_currmon,:ll_startyear,:ll_startyearmon
  390. FROM cw_accset Where accsetid = :sys_accsetid;
  391. IF sqlca.SQLCode <> 0 THEN
  392. arg_msg = '查询帐套当前期间失败,不能开帐'
  393. rslt = 0
  394. GOTO ext
  395. END IF
  396. IF ls_curryear <> 0 OR ls_currmon <> 0 THEN
  397. arg_msg = '帐套已经启用,不能重复启动'
  398. rslt = 0
  399. GOTO ext
  400. END IF
  401. IF ll_startyearmon = 1 THEN
  402. ll_curryear_cn = ll_startyear - 1
  403. ll_currmon_cn = 12
  404. ELSE
  405. ll_currmon_cn = ll_startyearmon - 1
  406. ll_curryear_cn = ll_startyear
  407. END IF
  408. //2.检查试算平衡
  409. ds_balance = CREATE datastore
  410. ds_balance.DataObject = "dw_initbalance_balance"
  411. ds_balance.SetTransObject(sqlca)
  412. ds_balance.Retrieve(sys_accsetid)
  413. sum_ydebit = ds_balance.Object.sum_ydebit[1]
  414. sum_ycrebit = ds_balance.Object.sum_ydebit[1]
  415. sum_debit = ds_balance.Object.sum_debit[1]
  416. sum_crebit = ds_balance.Object.sum_crebit[1]
  417. sum_mdebit = ds_balance.Object.sum_mdebit[1]
  418. sum_mcrebit = ds_balance.Object.sum_mcrebit[1]
  419. IF String(sum_ydebit,'###0.00') <> String(sum_ycrebit,'###0.00') OR String(sum_debit,'###0.00') <> String(sum_crebit,'###0.00') OR String(sum_mdebit,'###0.00') <> String(sum_mcrebit,'###0.00') THEN
  420. rslt = 0
  421. arg_msg = '帐务系统初始数据不平衡,不能开帐'
  422. GOTO ext
  423. END IF
  424. //3.更新帐套启动时间
  425. UPDATE cw_accset
  426. SET curryear = startyear,
  427. currmon = startyearmon ,
  428. curyearmon = startyear * 100 + startyearmon
  429. Where accsetid = :sys_accsetid;
  430. IF sqlca.SQLCode <> 0 THEN
  431. arg_msg = '更新帐套当前期间失败,不能开帐'+sqlca.SQLErrText
  432. rslt = 0
  433. GOTO ext
  434. END IF
  435. IF f_set_accsetmessage() = 0 THEN
  436. arg_msg = '查询帐套信息失败,不能开帐'
  437. rslt = 0
  438. GOTO ext
  439. END IF
  440. //4.初始化结余表
  441. uo_begin_uo_credence = CREATE uo_credence
  442. IF uo_begin_uo_credence.balance(TRUE,arg_msg,FALSE) = 0 THEN
  443. rslt = 0
  444. GOTO ext
  445. END IF
  446. DESTROY uo_begin_uo_credence
  447. ext:
  448. IF rslt = 0 THEN
  449. ROLLBACK;
  450. ELSEIF rslt = 1 AND arg_ifcommit THEN
  451. COMMIT;
  452. END IF
  453. RETURN rslt
  454. end function
  455. public function integer new_reports (ref string arg_msg, boolean arg_ifcommit);int rslt=1
  456. insert into reports(accsetid,rid,subaccsetid,rcname,rdname,rpaper,rpercent,rsys,
  457. rfilt,rxh,rdatetime,rmonth,rtype,rdept,cropid,rsyntax)
  458. SELECT :accsetid,
  459. reports.rid,
  460. reports.subaccsetid,
  461. reports.rcname,
  462. reports.rdname,
  463. reports.rpaper,
  464. reports.rpercent,
  465. reports.rsys,
  466. reports.rfilt,
  467. reports.rxh,
  468. reports.rdatetime,
  469. reports.rmonth,
  470. reports.rtype,
  471. reports.rdept,
  472. reports.cropid,
  473. reports.rsyntax
  474. FROM reports
  475. where accsetid=0 and cropid=:cropid;
  476. if sqlca.sqlcode<>0 then
  477. arg_msg='新建帐套失败! >>初始化报表定义资料失败>>'+sqlca.SQLErrText
  478. rslt=0
  479. goto ext
  480. end if
  481. ext:
  482. if rslt=0 then
  483. rollback;
  484. elseif rslt=1 and arg_ifcommit then
  485. commit;
  486. end if
  487. return rslt
  488. end function
  489. public function integer del_accset (long arg_accsetid, ref string arg_msg, boolean arg_ifcommit);//删除帐套
  490. Int rslt = 1
  491. Long ls_j,s_tntblinfo_mxt
  492. String del_sqlstr
  493. s_tntblinfo_mxt = UpperBound(s_tntblinfo)
  494. OPEN(w_sys_wait_jdt) //初始化进度条
  495. w_sys_wait_jdt.Show()
  496. w_sys_wait_jdt.wf_accepttol(s_tntblinfo_mxt)
  497. w_sys_wait_jdt.wf_inc(0)
  498. w_sys_wait_jdt.st_msg.Text = "正在删除帐套..."
  499. FOR ls_j = 1 TO s_tntblinfo_mxt
  500. w_sys_wait_jdt.wf_inc(ls_j)
  501. IF s_tntblinfo[ls_j].table_name = '' THEN CONTINUE
  502. // sleep(200)
  503. del_sqlstr = ''
  504. w_sys_wait_jdt.st_msg.Text = "正在执行删除["+s_tntblinfo[ls_j].table_name+"]..."+String(ls_j)+"/"+String(s_tntblinfo_mxt)
  505. IF s_tntblinfo[ls_j].table_name = 'Sys_scIdentity' THEN
  506. del_sqlstr = 'delete from ' + s_tntblinfo[ls_j].table_name + ' where sc_id = ' + String(arg_accsetid)
  507. ELSEIF s_tntblinfo[ls_j].table_name = 'u_bsnNo' THEN
  508. del_sqlstr = 'delete from ' + s_tntblinfo[ls_j].table_name + ' where scid = ' + String(arg_accsetid)
  509. ELSE
  510. del_sqlstr = 'delete from ' + s_tntblinfo[ls_j].table_name + ' where accsetid = ' + String(arg_accsetid)
  511. END IF
  512. EXECUTE IMMEDIATE :del_sqlstr USING sqlca;
  513. //先执行delete
  514. IF sqlca.SQLCode <> 0 THEN
  515. rslt = 0
  516. arg_msg = 'Error SQL{'+del_sqlstr+'}'+sqlca.SQLErrText
  517. GOTO ext
  518. END IF
  519. NEXT
  520. ext:
  521. CLOSE(w_sys_wait_jdt)
  522. IF rslt = 0 THEN
  523. ROLLBACK;
  524. ELSEIF rslt = 1 AND arg_ifcommit THEN
  525. COMMIT;
  526. END IF
  527. RETURN rslt
  528. end function
  529. on uo_accset.create
  530. call super::create
  531. TriggerEvent( this, "constructor" )
  532. end on
  533. on uo_accset.destroy
  534. TriggerEvent( this, "destructor" )
  535. call super::destroy
  536. end on