w_publ_preview_billformatset.srw 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834
  1. $PBExportHeader$w_publ_preview_billformatset.srw
  2. forward
  3. global type w_publ_preview_billformatset from w_publ_base
  4. end type
  5. type cb_open from uo_imflatbutton within w_publ_preview_billformatset
  6. end type
  7. type cb_1 from uo_imflatbutton within w_publ_preview_billformatset
  8. end type
  9. type cb_def from uo_imflatbutton within w_publ_preview_billformatset
  10. end type
  11. type cb_del from uo_imflatbutton within w_publ_preview_billformatset
  12. end type
  13. type dw_formatlist from datawindow within w_publ_preview_billformatset
  14. end type
  15. type sle_name from singlelineedit within w_publ_preview_billformatset
  16. end type
  17. type st_1 from statictext within w_publ_preview_billformatset
  18. end type
  19. type sle_1 from singlelineedit within w_publ_preview_billformatset
  20. end type
  21. type st_2 from statictext within w_publ_preview_billformatset
  22. end type
  23. type cb_2 from uo_imflatbutton within w_publ_preview_billformatset
  24. end type
  25. type cb_3 from uo_imflatbutton within w_publ_preview_billformatset
  26. end type
  27. type dw_1 from datawindow within w_publ_preview_billformatset
  28. end type
  29. type gb_1 from groupbox within w_publ_preview_billformatset
  30. end type
  31. end forward
  32. global type w_publ_preview_billformatset from w_publ_base
  33. integer width = 1769
  34. integer height = 1172
  35. string title = "单据格式"
  36. boolean minbox = false
  37. windowtype windowtype = response!
  38. cb_open cb_open
  39. cb_1 cb_1
  40. cb_def cb_def
  41. cb_del cb_del
  42. dw_formatlist dw_formatlist
  43. sle_name sle_name
  44. st_1 st_1
  45. sle_1 sle_1
  46. st_2 st_2
  47. cb_2 cb_2
  48. cb_3 cb_3
  49. dw_1 dw_1
  50. gb_1 gb_1
  51. end type
  52. global w_publ_preview_billformatset w_publ_preview_billformatset
  53. type variables
  54. s_preview_billformatset_tran s_billformat
  55. long defpos=0
  56. boolean editmode=false,editname=false
  57. end variables
  58. forward prototypes
  59. public subroutine wf_addformat (dropdownlistbox ddlb, string dwname)
  60. public function integer wf_checkname (ref string arg_msg)
  61. public subroutine wf_facechange ()
  62. public subroutine wf_finddef ()
  63. public function integer wf_readsubdwpos_blob (string dwname, string dname, blob dwpos)
  64. public subroutine wf_setmode (datawindow dw, integer mode)
  65. public function integer wf_retrieveformatlist (string dwname)
  66. public function integer wf_sendprintout (integer arg_type, integer arg_default_flag, string arg_dwname, string arg_dname, string arg_dwsyntax, ref string arg_msg)
  67. public function integer wf_getfilecontent (string arg_filename, ref string arg_content, ref string arg_msg)
  68. public function integer wf_getprintout (string arg_dwname, string arg_dname, integer arg_default_flag, ref string arg_rs_dname, ref string arg_dwsyntax, ref string arg_msg)
  69. public subroutine wf_findformat (string arg_dname)
  70. end prototypes
  71. public subroutine wf_addformat (dropdownlistbox ddlb, string dwname);string formatname
  72. int defflag
  73. int ls_defpos=0
  74. Declare getbillformat cursor for
  75. select dname,default_flag from sys_dwnSyntax where dwname=:dwname ;
  76. open getbillformat;
  77. Do While sqlca.sqlcode=0
  78. Fetch getbillformat into :formatname,:defflag;
  79. if sqlca.sqlcode<>0 then exit;
  80. ddlb.additem(formatname)
  81. ls_defpos++
  82. if defflag=1 then
  83. defpos=ls_defpos
  84. end if
  85. loop
  86. Close getbillformat;
  87. end subroutine
  88. public function integer wf_checkname (ref string arg_msg);long findrow
  89. if trim(dw_formatlist.object.dname[dw_formatlist.getrow()])='' then
  90. arg_msg='格式名不能空!'
  91. return 0
  92. end if
  93. findrow=dw_formatlist.find("dwname='"+trim(dw_formatlist.object.dname[dw_formatlist.getrow()])+"'",1,dw_formatlist.rowcount())
  94. messagebox('',findrow)
  95. if findrow>0 then
  96. arg_msg='格式名称重复!'
  97. return 0
  98. end if
  99. return 1
  100. end function
  101. public subroutine wf_facechange ();cb_open.enabled= not editmode
  102. cb_del.enabled= not editmode
  103. cb_def.enabled= not editmode
  104. cb_def.enabled= not editmode
  105. end subroutine
  106. public subroutine wf_finddef ();long findrow,currow
  107. if dw_formatlist.rowcount()=1 then
  108. dw_formatlist.selectrow(0,false)
  109. dw_formatlist.selectrow(1,true)
  110. dw_formatlist.SETROW(1)
  111. dw_formatlist.ScrollToRow (1)
  112. dw_formatlist.object.default_flag[1]=1
  113. return
  114. end if
  115. //findrow=dw_formatlist.find("dname='"+s_billformat.dname+"'",2,dw_formatlist.rowcount())
  116. //if findrow=0 then
  117. // dw_formatlist.selectrow(0,false)
  118. // dw_formatlist.selectrow(1,true)
  119. // dw_formatlist.SETROW(1)
  120. // dw_formatlist.ScrollToRow (1)
  121. // dw_formatlist.object.default_flag[1]=1
  122. //else
  123. findrow=dw_formatlist.find("default_flag=1",1,dw_formatlist.rowcount())
  124. if findrow>0 then
  125. dw_formatlist.object.default_flag[findrow]=1
  126. currow=findrow
  127. else
  128. dw_formatlist.object.default_flag[1]=1
  129. currow=1
  130. end if
  131. dw_formatlist.selectrow(0,false)
  132. dw_formatlist.selectrow(currow,true)
  133. dw_formatlist.SETROW(currow)
  134. dw_formatlist.ScrollToRow (currow)
  135. //end if
  136. sle_name.text=s_billformat.dname
  137. end subroutine
  138. public function integer wf_readsubdwpos_blob (string dwname, string dname, blob dwpos);blob subdwpos
  139. select subdwSyntaxB into :subdwpos from sys_dwnSyntax where dwname=:dwname and dname=:dname;
  140. if sqlca.sqlcode=-1 then
  141. Messagebox('系统信息','读取明细格式失败!'+sqlca.sqlerrtext)
  142. return 0
  143. end if
  144. return 1
  145. end function
  146. public subroutine wf_setmode (datawindow dw, integer mode);dw.SetTabOrder('dname',mode*10)
  147. //dw.SetTabOrder('default_flag',mode*20)
  148. end subroutine
  149. public function integer wf_retrieveformatlist (string dwname);integer rslt,i
  150. oleobject request,response,list,item
  151. string arg_msg
  152. arg_msg= ''
  153. request = FXAppCom.CreatePbDictionary()
  154. request.SetString("token",app_token_fx)
  155. request.SetString("dwname",dwname)
  156. response = FXAppCom.DoExecute("GetPrintOutList", request)
  157. arg_msg = response.GetString('ErrMsg')
  158. if (arg_msg <> '') then
  159. rslt = 0
  160. MessageBox('提示', '获取打印格式列表有误:' + arg_msg)
  161. goto ext
  162. end if
  163. list = response.getpbarray("printoutList")
  164. dw_formatlist.reset()
  165. dw_formatlist.SetRedraw(false)
  166. Long defaultRow
  167. defaultRow = dw_formatlist.insertrow(1)
  168. dw_formatlist.object.dwname[defaultRow] = '标准格式'
  169. dw_formatlist.object.dname[defaultRow] = '标准格式'
  170. dw_formatlist.Object.default_flag[defaultRow] = 1
  171. Long currow
  172. Int default_flag
  173. for i = 1 to list.Count
  174. item = list.getpbdictionary(i - 1)
  175. currow = dw_formatlist.insertrow(-1)
  176. dw_formatlist.Object.dname[currow] = item.getstring("aliase")
  177. default_flag = item.getint("default_flag")
  178. dw_formatlist.Object.default_flag[currow] = default_flag
  179. IF default_flag = 1 THEN
  180. dw_formatlist.Object.default_flag[defaultRow] = 0
  181. END IF
  182. dw_formatlist.Object.cuscomid[currow] = item.getint("cuscomid")
  183. dw_formatlist.Object.cussimplename[currow] = item.getstring("cussimplename")
  184. next
  185. dw_formatlist.SetRedraw(true)
  186. ext:
  187. return rslt
  188. end function
  189. public function integer wf_sendprintout (integer arg_type, integer arg_default_flag, string arg_dwname, string arg_dname, string arg_dwsyntax, ref string arg_msg);s_edit_index_tran s_rslt
  190. IF app_iferpuser = 1 THEN
  191. Open(w_company_ch_mutil)
  192. s_rslt = Message.PowerObjectParm
  193. IF s_rslt.b_long <> 1 THEN
  194. arg_msg = 'CANCLE'
  195. goto ext
  196. END IF
  197. END IF
  198. oleobject request,response,list
  199. integer rslt
  200. rslt = 0
  201. request = FXAppCom.CreatePbDictionary()
  202. request.SetString("token",app_token_fx)
  203. request.SetString("dwname",arg_dwname)
  204. request.SetString("aliase",arg_dname)
  205. request.SetString("dwSyntax",arg_dwSyntax)
  206. request.SetInt("type",arg_type)
  207. request.SetInt("default_flag",arg_default_flag)
  208. long i
  209. IF app_iferpuser = 1 THEN
  210. list = FXAppCom.newpbarray()
  211. FOR i = 1 TO UPPERBOUND(s_rslt.arr_long)
  212. list.addint(s_rslt.arr_long[i])
  213. NEXT
  214. request.setobject("SptcomidList", list)
  215. END IF
  216. response = FXAppCom.DoExecute("SavePrintOut", request)
  217. arg_msg = response.GetString('ErrMsg')
  218. if (arg_msg <> '') then
  219. rslt = 0
  220. MessageBox('提示', '保存打印格式列表失败:' + arg_msg)
  221. goto ext
  222. end if
  223. ext:
  224. return 0
  225. end function
  226. public function integer wf_getfilecontent (string arg_filename, ref string arg_content, ref string arg_msg);integer rslt,position
  227. rslt = 0
  228. blob arg_b
  229. rslt = f_filetoblob(arg_filename,arg_b,arg_msg)
  230. arg_content = string(arg_b)
  231. //rslt = f_filetostring(arg_filename,arg_content,arg_msg)
  232. position = pos(arg_content,"~n")
  233. arg_content = right(arg_content,len(arg_content) - position)
  234. return rslt
  235. end function
  236. public function integer wf_getprintout (string arg_dwname, string arg_dname, integer arg_default_flag, ref string arg_rs_dname, ref string arg_dwsyntax, ref string arg_msg);integer rslt,i
  237. oleobject request,response,list
  238. string defaultalise,alise
  239. Long currow,findrow
  240. rslt = 1
  241. arg_msg= ''
  242. request = FXAppCom.CreatePbDictionary()
  243. request.SetString("token",app_token_fx)
  244. request.SetString("dwname",arg_dwname)
  245. request.SetString("aliase",arg_dname)
  246. request.SetInt("default_flag",arg_default_flag)
  247. response = FXAppCom.DoExecute("GetPrintOut", request)
  248. arg_msg = response.GetString('ErrMsg')
  249. if (arg_msg <> '') then
  250. rslt = 0
  251. arg_dwsyntax = ""
  252. MessageBox('提示', '获取打印格式有误:' + arg_msg)
  253. goto ext
  254. end if
  255. arg_rs_dname = response.getstring("aliase")
  256. arg_dwsyntax = response.getstring("dwSyntax")
  257. ext:
  258. return rslt
  259. end function
  260. public subroutine wf_findformat (string arg_dname);long findrow,currow
  261. if dw_formatlist.rowcount()=1 or trim(arg_dname) = "" then
  262. wf_finddef()
  263. return
  264. end if
  265. //findrow=dw_formatlist.find("dname='"+s_billformat.dname+"'",2,dw_formatlist.rowcount())
  266. //if findrow=0 then
  267. // dw_formatlist.selectrow(0,false)
  268. // dw_formatlist.selectrow(1,true)
  269. // dw_formatlist.SETROW(1)
  270. // dw_formatlist.ScrollToRow (1)
  271. // dw_formatlist.object.default_flag[1]=1
  272. //else
  273. findrow=dw_formatlist.find("dname='"+arg_dname+"'",1,dw_formatlist.rowcount())
  274. if findrow>0 then
  275. currow=findrow
  276. else
  277. wf_finddef()
  278. return
  279. end if
  280. dw_formatlist.selectrow(0,false)
  281. dw_formatlist.selectrow(currow,true)
  282. dw_formatlist.SETROW(currow)
  283. dw_formatlist.ScrollToRow (currow)
  284. //end if
  285. sle_name.text=arg_dname
  286. end subroutine
  287. on w_publ_preview_billformatset.create
  288. int iCurrent
  289. call super::create
  290. this.cb_open=create cb_open
  291. this.cb_1=create cb_1
  292. this.cb_def=create cb_def
  293. this.cb_del=create cb_del
  294. this.dw_formatlist=create dw_formatlist
  295. this.sle_name=create sle_name
  296. this.st_1=create st_1
  297. this.sle_1=create sle_1
  298. this.st_2=create st_2
  299. this.cb_2=create cb_2
  300. this.cb_3=create cb_3
  301. this.dw_1=create dw_1
  302. this.gb_1=create gb_1
  303. iCurrent=UpperBound(this.Control)
  304. this.Control[iCurrent+1]=this.cb_open
  305. this.Control[iCurrent+2]=this.cb_1
  306. this.Control[iCurrent+3]=this.cb_def
  307. this.Control[iCurrent+4]=this.cb_del
  308. this.Control[iCurrent+5]=this.dw_formatlist
  309. this.Control[iCurrent+6]=this.sle_name
  310. this.Control[iCurrent+7]=this.st_1
  311. this.Control[iCurrent+8]=this.sle_1
  312. this.Control[iCurrent+9]=this.st_2
  313. this.Control[iCurrent+10]=this.cb_2
  314. this.Control[iCurrent+11]=this.cb_3
  315. this.Control[iCurrent+12]=this.dw_1
  316. this.Control[iCurrent+13]=this.gb_1
  317. end on
  318. on w_publ_preview_billformatset.destroy
  319. call super::destroy
  320. destroy(this.cb_open)
  321. destroy(this.cb_1)
  322. destroy(this.cb_def)
  323. destroy(this.cb_del)
  324. destroy(this.dw_formatlist)
  325. destroy(this.sle_name)
  326. destroy(this.st_1)
  327. destroy(this.sle_1)
  328. destroy(this.st_2)
  329. destroy(this.cb_2)
  330. destroy(this.cb_3)
  331. destroy(this.dw_1)
  332. destroy(this.gb_1)
  333. end on
  334. event open;call super::open;Long currow,findrow
  335. s_billformat = Message.PowerObjectParm
  336. //dw_formatlist.SetTransObject(sqlca)
  337. //dw_formatlist.Retrieve(s_billformat.dwname)
  338. wf_retrieveformatlist(s_billformat.dwname)
  339. wf_findformat(s_billformat.dname)
  340. sle_name.SetFocus()
  341. sle_name.SelectText(1, Len(sle_name.Text))
  342. end event
  343. event close;call super::close;closewithreturn(this,s_billformat)
  344. end event
  345. type cb_func from w_publ_base`cb_func within w_publ_preview_billformatset
  346. boolean visible = false
  347. integer x = 1207
  348. integer y = 912
  349. integer width = 146
  350. integer height = 92
  351. boolean enabled = false
  352. end type
  353. type cb_exit from w_publ_base`cb_exit within w_publ_preview_billformatset
  354. integer x = 1458
  355. integer y = 976
  356. integer width = 274
  357. integer height = 92
  358. end type
  359. type cb_open from uo_imflatbutton within w_publ_preview_billformatset
  360. integer x = 23
  361. integer y = 976
  362. integer width = 274
  363. integer height = 92
  364. integer taborder = 50
  365. string text = "打开格式"
  366. end type
  367. event clicked;call super::clicked;if dw_formatlist.getrow()<=0 then
  368. messagebox('系统提示','没有可打开的格式!')
  369. return
  370. end if
  371. s_billformat.dname=dw_formatlist.object.dname[dw_formatlist.getrow()]
  372. cb_exit.triggerevent(clicked!)
  373. end event
  374. type cb_1 from uo_imflatbutton within w_publ_preview_billformatset
  375. integer x = 325
  376. integer y = 976
  377. integer width = 274
  378. integer height = 92
  379. integer taborder = 50
  380. string text = "保存格式"
  381. end type
  382. event clicked;call super::clicked;long findrow,currow,defflag,updaterow
  383. string dwname,dname,errmsg,dwsyntax
  384. if trim(sle_name.text) = '' then
  385. messagebox('系统信息','格式名不能为空!')
  386. return
  387. end if
  388. findrow = dw_formatlist.find("dname='"+trim(sle_name.text)+"'",1,dw_formatlist.rowcount())
  389. if Trim(sle_1.text) = "" then
  390. messagebox('系统信息','请先选择格式文件!')
  391. cb_2.setfocus()
  392. return
  393. end if
  394. wf_getfilecontent(sle_1.text,dwsyntax, errmsg)
  395. if findrow = 0 then
  396. if Trim(dwsyntax) = "" then
  397. messagebox('系统信息','请先选择格式文件!')
  398. cb_2.setfocus()
  399. return
  400. end if
  401. dwname = s_billformat.dwname
  402. dname = sle_name.text
  403. defflag = 0
  404. //新增
  405. wf_sendprintout(1, defflag,dwname, dname, dwsyntax, ref errmsg)
  406. IF errmsg = 'CANCEL' THEN RETURN
  407. // insert into sys_dwnsyntax (dwname,dname,default_flag) values (:dwname,:dname,:defflag);
  408. // if sqlca.sqlcode = -1 then
  409. // errmsg = sqlca.sqlerrtext
  410. // rollback;
  411. // messagebox('系统提示','保存格式名称出错!'+errmsg)
  412. // return
  413. // end if
  414. // commit;
  415. else
  416. if dw_formatlist.getrow() = 1 then
  417. messagebox('系统信息','不能保存到标准格式!')
  418. return
  419. end if
  420. if Trim(dwsyntax) = "" then
  421. messagebox('系统信息','请先选择格式文件!')
  422. cb_2.setfocus()
  423. return
  424. end if
  425. if messagebox ("全部","是否确定要覆盖当前单式吗?",question!,yesno! ) = 2 then return
  426. dwname = s_billformat.dwname
  427. dname = dw_formatlist.object.dname[dw_formatlist.getrow()]
  428. defflag = 0
  429. //保存
  430. wf_sendprintout(2, defflag,dwname, dname, dwsyntax, ref errmsg)
  431. IF errmsg = 'CANCEL' THEN RETURN
  432. end if
  433. //updateblob sys_dwnsyntax set dwsyntaxb = :s_billformat.dwsyntaxb where dwname = :dwname and dname = :dname;
  434. //if sqlca.sqlcode = -1 then
  435. // messagebox('系统提示','保存单据格式失败!原因:'+sqlca.sqlerrtext)
  436. // rollback;
  437. // return
  438. //else
  439. // commit;
  440. //end if
  441. //messagebox('sb',len(s_billformat.subdwsyntaxb))
  442. //if len(s_billformat.subdwsyntaxb) > 0 then
  443. // updateblob sys_dwnsyntax set subdwsyntaxb = :s_billformat.subdwsyntaxb where dwname = :dwname and dname = :dname;
  444. // if sqlca.sqlcode = -1 then
  445. // messagebox('系统提示','保存单据格式失败!原因:'+sqlca.sqlerrtext)
  446. // rollback;
  447. // return
  448. // else
  449. // commit;
  450. // end if
  451. //end if
  452. messagebox('系统信息','保存格式成功!')
  453. wf_retrieveformatlist(s_billformat.dwname)
  454. wf_findformat(dname)
  455. //dw_formatlist.retrieve(s_billformat.dwname)
  456. //currow = dw_formatlist.insertrow(1)
  457. //dw_formatlist.object.dwname[currow] = '标准格式'
  458. //dw_formatlist.object.dname[currow] = '标准格式'
  459. // cb_exit.triggerevent(clicked!)
  460. end event
  461. type cb_def from uo_imflatbutton within w_publ_preview_billformatset
  462. integer x = 1166
  463. integer y = 976
  464. integer width = 274
  465. integer height = 92
  466. integer taborder = 50
  467. string text = "设为默认"
  468. end type
  469. event clicked;call super::clicked;IF dw_formatlist.GetRow() <= 0 THEN
  470. MessageBox('系统提示','请选择格式!')
  471. END IF
  472. Long i,currow,rslt = 0
  473. String dwname,dname,arg_msg
  474. dwname = s_billformat.dwname
  475. dname = dw_formatlist.Object.dname[dw_formatlist.GetRow()]
  476. IF dw_formatlist.GetRow() > 0 THEN
  477. rslt = wf_sendprintout(3,1,dwname,dname,"",arg_msg)
  478. IF arg_msg = 'CANCEL' THEN RETURN
  479. if rslt = 1 then
  480. MessageBox('系统提示','设置默认值失败:' + arg_msg)
  481. return
  482. end if
  483. END IF
  484. IF rslt = 0 THEN
  485. MessageBox('系统提示','设置默认值成功!')
  486. END IF
  487. wf_retrieveformatlist(dwname)
  488. wf_finddef()
  489. end event
  490. type cb_del from uo_imflatbutton within w_publ_preview_billformatset
  491. integer x = 594
  492. integer y = 976
  493. integer width = 274
  494. integer height = 92
  495. integer taborder = 50
  496. string text = "删除格式"
  497. end type
  498. event clicked;call super::clicked;String dwname,dname,arg_msg
  499. integer rslt
  500. rslt = 0
  501. IF dw_formatlist.GetRow() = 1 OR Trim(sle_name.Text) = '标准格式' THEN
  502. MessageBox('系统提示','该格式为标准格式,不能删除!')
  503. RETURN
  504. END IF
  505. If (dw_formatlist.RowCount() = 0) Or (dw_formatlist.GetRow() <= 0) THEN
  506. MessageBox('系统提示','没有可删除的格式!')
  507. RETURN
  508. END IF
  509. IF MessageBox ("全部","是否确定要删除当前单式吗?",Question!,YesNo! ) = 2 THEN RETURN
  510. dwname = s_billformat.dwname
  511. dname = dw_formatlist.Object.dname[dw_formatlist.GetRow()]
  512. rslt = wf_sendprintout(4,0, dwname, dname, "", arg_msg)
  513. IF arg_msg = 'CANCEL' THEN RETURN
  514. if rslt = 1 then
  515. MessageBox("系统提示","删除格式失败:" + arg_msg)
  516. return
  517. end if
  518. //DELETE FROM sys_dwnSyntax Where dwname = :dwname AND dname = :dname;
  519. //IF sqlca.SQLCode <> 0 THEN
  520. // MessageBox('系统提示','删除格式失败!')
  521. // ROLLBACK;
  522. // RETURN
  523. //END IF
  524. MessageBox('系统提示','删除格式成功!')
  525. wf_retrieveformatlist(dwname)
  526. wf_finddef()
  527. end event
  528. type dw_formatlist from datawindow within w_publ_preview_billformatset
  529. integer x = 32
  530. integer y = 176
  531. integer width = 1710
  532. integer height = 668
  533. integer taborder = 20
  534. string dataobject = "dw_publ_preview_formatlist"
  535. boolean hscrollbar = true
  536. boolean vscrollbar = true
  537. boolean livescroll = true
  538. borderstyle borderstyle = stylelowered!
  539. end type
  540. event doubleclicked;IF row > 0 THEN
  541. IF dwo.Name = 'cussimplename' THEN
  542. string arg_msg
  543. s_fx_company s_tran, s_ret
  544. OpenWithParm(w_cus_ch_fx, s_tran)
  545. s_ret = Message.PowerObjectParm
  546. IF not IsNull(s_ret) then
  547. IF (s_ret.ifselect) then
  548. oleobject request,response,list
  549. request = FXAppCom.CreatePbDictionary()
  550. request.SetString("token",app_token_fx)
  551. request.SetString("dwname",s_billformat.dwname)
  552. request.SetString("aliase",this.Object.dname[row])
  553. request.SetInt("type", 5)
  554. request.SetInt("cuscomid",s_ret.comid[1])
  555. response = FXAppCom.DoExecute("SavePrintOut", request)
  556. arg_msg = response.GetString('ErrMsg')
  557. if (arg_msg <> '') then
  558. MessageBox('提示', '保存打印格式列表失败:' + arg_msg)
  559. RETURN
  560. end if
  561. this.Object.cuscomid[row] = s_ret.comid[1]
  562. this.Object.cussimplename[row] = s_ret.comname[1]
  563. this.AcceptText()
  564. MessageBox('提示', '保存成功')
  565. END IF
  566. END IF
  567. ELSE
  568. cb_open.TriggerEvent(Clicked!)
  569. END IF
  570. END IF
  571. end event
  572. event rowfocuschanged;IF editmode THEN RETURN
  573. IF this.getrow() <= 0 THEN RETURN
  574. THIS.SelectRow(0,FALSE)
  575. THIS.SelectRow(this.getrow(),TRUE)
  576. dw_formatlist.SetRow(this.getrow())
  577. dw_formatlist.ScrollToRow (this.getrow())
  578. sle_name.Text = dw_formatlist.Object.dname[this.getrow()]
  579. end event
  580. type sle_name from singlelineedit within w_publ_preview_billformatset
  581. integer x = 242
  582. integer y = 68
  583. integer width = 1490
  584. integer height = 84
  585. integer taborder = 10
  586. integer textsize = -9
  587. integer weight = 400
  588. fontcharset fontcharset = gb2312charset!
  589. fontpitch fontpitch = variable!
  590. string facename = "宋体"
  591. long textcolor = 33554432
  592. boolean autohscroll = false
  593. borderstyle borderstyle = stylelowered!
  594. boolean hideselection = false
  595. end type
  596. type st_1 from statictext within w_publ_preview_billformatset
  597. integer x = 55
  598. integer y = 80
  599. integer width = 174
  600. integer height = 60
  601. integer textsize = -9
  602. integer weight = 400
  603. fontcharset fontcharset = gb2312charset!
  604. fontpitch fontpitch = variable!
  605. string facename = "宋体"
  606. long textcolor = 33554432
  607. long backcolor = 134217739
  608. boolean enabled = false
  609. string text = "格式名"
  610. boolean focusrectangle = false
  611. end type
  612. type sle_1 from singlelineedit within w_publ_preview_billformatset
  613. integer x = 270
  614. integer y = 856
  615. integer width = 1344
  616. integer height = 84
  617. integer taborder = 20
  618. boolean bringtotop = true
  619. integer textsize = -9
  620. integer weight = 400
  621. fontcharset fontcharset = gb2312charset!
  622. fontpitch fontpitch = variable!
  623. string facename = "宋体"
  624. long textcolor = 33554432
  625. boolean autohscroll = false
  626. borderstyle borderstyle = stylelowered!
  627. boolean hideselection = false
  628. end type
  629. type st_2 from statictext within w_publ_preview_billformatset
  630. integer x = 37
  631. integer y = 864
  632. integer width = 233
  633. integer height = 60
  634. boolean bringtotop = true
  635. integer textsize = -9
  636. integer weight = 400
  637. fontcharset fontcharset = gb2312charset!
  638. fontpitch fontpitch = variable!
  639. string facename = "宋体"
  640. long textcolor = 33554432
  641. long backcolor = 134217739
  642. boolean enabled = false
  643. string text = "格式文件"
  644. boolean focusrectangle = false
  645. end type
  646. type cb_2 from uo_imflatbutton within w_publ_preview_billformatset
  647. integer x = 1627
  648. integer y = 848
  649. integer width = 114
  650. integer taborder = 30
  651. boolean bringtotop = true
  652. string text = "..."
  653. end type
  654. event clicked;call super::clicked;integer i
  655. string pathname,filename
  656. //i=getfilesavename("单据表格式文件",pathname,filename,"ljdw","单据表格式文件ljdw,*.ljdw")
  657. i=getfilesavename("datawindow文件",pathname,filename,"srd","srd,*.srd")
  658. IF i=1 AND TRIM(pathname)<>'' AND TRIM(FILENAME)<>"" THEN
  659. sle_1.text=pathname
  660. END IF
  661. end event
  662. type cb_3 from uo_imflatbutton within w_publ_preview_billformatset
  663. integer x = 864
  664. integer y = 976
  665. integer width = 274
  666. integer height = 92
  667. integer taborder = 20
  668. boolean bringtotop = true
  669. string text = "导出格式"
  670. end type
  671. event clicked;call super::clicked;integer i
  672. string pathname,filename,dwname,dname,dwsyntax,rs_dname,arg_msg
  673. blob b_data
  674. dwname = s_billformat.dwname
  675. dname = dw_formatlist.object.dname[dw_formatlist.getrow()]
  676. if dw_formatlist.getrow() = 1 then
  677. dw_1.dataobject = dwname
  678. dwsyntax = dw_1.Describe("DataWindow.Syntax")
  679. else
  680. i = wf_getprintout(dwname,dname,0,rs_dname,dwsyntax,arg_msg)
  681. if i = 0 then
  682. return
  683. end if
  684. end if
  685. dwsyntax = "$PBExportHeader$" + dwname + "_export.srd~n" + dwsyntax
  686. pathname = dwname + "_export.srd"
  687. i=getfilesavename("datawindow文件",pathname,filename,"srd","srd,*.srd")
  688. IF i=1 AND TRIM(pathname)<>'' AND TRIM(FILENAME)<>"" THEN
  689. IF FileExists(pathname) then
  690. if messagebox ("全部","文件已存在,是否覆盖?",question!,yesno! ) = 2 then return
  691. FileDelete(pathname)
  692. END IF
  693. i = f_stringtofile(pathname,dwsyntax,arg_msg)
  694. // b_data = blob(dwsyntax)
  695. // i = f_blobtofile(pathname,b_data,arg_msg)
  696. IF i = 0 THEN
  697. messagebox ("系统提示","格式导出失败:" + arg_msg)
  698. ELSE
  699. messagebox ("系统提示","格式导出成功")
  700. END IF
  701. END IF
  702. end event
  703. type dw_1 from datawindow within w_publ_preview_billformatset
  704. integer x = 1925
  705. integer y = 392
  706. integer width = 686
  707. integer height = 400
  708. integer taborder = 30
  709. boolean bringtotop = true
  710. string dataobject = "dw_uptown_report"
  711. boolean hscrollbar = true
  712. boolean vscrollbar = true
  713. boolean hsplitscroll = true
  714. boolean livescroll = true
  715. borderstyle borderstyle = stylelowered!
  716. end type
  717. type gb_1 from groupbox within w_publ_preview_billformatset
  718. integer width = 1760
  719. integer height = 960
  720. integer taborder = 10
  721. integer textsize = -9
  722. integer weight = 400
  723. fontcharset fontcharset = gb2312charset!
  724. fontpitch fontpitch = variable!
  725. string facename = "宋体"
  726. long textcolor = 33554432
  727. long backcolor = 134217739
  728. string text = "格式设置"
  729. end type