123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472 |
- $PBExportHeader$w_dwprint_dynamic_mod.srw
- forward
- global type w_dwprint_dynamic_mod from w_publ_base
- end type
- type cb_2 from uo_imflatbutton within w_dwprint_dynamic_mod
- end type
- type cb_1 from uo_imflatbutton within w_dwprint_dynamic_mod
- end type
- type gb_1 from groupbox within w_dwprint_dynamic_mod
- end type
- type dw_1 from datawindow within w_dwprint_dynamic_mod
- end type
- end forward
- global type w_dwprint_dynamic_mod from w_publ_base
- integer width = 1975
- integer height = 1024
- string title = "单据打印格式指定设置"
- boolean minbox = false
- windowtype windowtype = response!
- long backcolor = 80269524
- event ue_f7 ( )
- event ue_f8 ( )
- event ue_f9 ( )
- cb_2 cb_2
- cb_1 cb_1
- gb_1 gb_1
- dw_1 dw_1
- end type
- global w_dwprint_dynamic_mod w_dwprint_dynamic_mod
- type variables
- s_edit_index_tran s_tran
- long ll_dwprintid
- string ls_dwtype
- DataWindowChild dw_child
- long ll_printid
- DataWindowChild dw_child2
- end variables
- forward prototypes
- public function integer wf_save ()
- public function integer wf_insertrow ()
- public subroutine wf_dwchild (string fs, datawindowchild fdw)
- end prototypes
- event ue_f7();string ls_dw,ls_pblname
- dw_1.accepttext()
- if dw_1.getrow() = 0 then return
- ls_dw = dw_1.object.dft_new_dwname[dw_1.getrow()]
- ls_pblname= dw_1.object.pblname[dw_1.getrow()]
- Long lib_row
- Long list_row
- str_rpt s_parm
- s_parm.auto = "auto"
- s_parm.transation = sqlca//数据库连接
- s_parm.oname = ls_dw
- s_parm.otype = sys_cur_path + ls_pblname
- s_parm.rcname = ls_dw
- s_parm.retr_pram_falg = -1
- s_parm.retr_flag = true
- s_parm.import_flag = true
- s_parm.pblpath = sys_cur_path + ls_pblname
- OpenWithParm(w_rpt_main,s_parm)
- end event
- event ue_f8();
- integer i
- string pathname
- string filename
- if dw_1.getrow() = 0 then return
- dw_1.accepttext()
- i = getfilesavename("选择文件",pathname,filename,"pbl","pbl,*.pbl")
- if i = 1 and trim(pathname) <> "" and trim(filename) <> "" then
- dw_1.object.pblname[dw_1.getrow()] = filename
- end if
- return
- end event
- event ue_f9();integer i
- string pathname
- string filename
- if dw_1.getrow() = 0 then return
- dw_1.accepttext()
- filename = dw_1.object.pblname[dw_1.getrow()]
- wf_dwchild(sys_cur_path + filename,dw_child)
- return
- end event
- public function integer wf_save ();Int rslt = 1
- Long li_row
- dw_1.AcceptText()
- li_row = dw_1.GetRow()
- IF li_row <= 0 THEN
- MessageBox('提示','记录错误',information!,ok!)
- rslt = 0
- GOTO ext
- END IF
- String dft_old_dwname
- String dft_new_dwname
- String chnname
- Long powerid
- String dwtype
- Long auditprint
- Long prownum
- Long ptype
- String pblname
- Long dwprintid
- Long ll_newid
- String errmsg
- Int ifuse
- int ifpic
- dwprintid = dw_1.Object.dwprintid[li_row]
- dft_new_dwname = dw_1.Object.dft_new_dwname[li_row]
- chnname = dw_1.Object.chnname[li_row]
- powerid = dw_1.Object.powerid[li_row]
- dwtype = dw_1.Object.dwtype[li_row]
- auditprint = dw_1.Object.auditprint[li_row]
- prownum = dw_1.Object.prownum[li_row]
- ptype = dw_1.Object.ptype[li_row]
- pblname = dw_1.Object.pblname[li_row]
- ifuse = dw_1.Object.ifuse[li_row]
- ifpic = dw_1.Object.ifpic[li_row]
- IF Trim(chnname) = '' THEN
- MessageBox('提示','请输入格式名称', information!, ok! )
- rslt = 0
- GOTO ext
- END IF
- IF Trim(pblname) = '' THEN
- MessageBox('提示','所属格式库文件', information!, ok! )
- rslt = 0
- GOTO ext
- END IF
- IF Trim(dft_new_dwname) = '' THEN
- MessageBox('提示','请输入数据窗口名称', information!, ok! )
- rslt = 0
- GOTO ext
- END IF
- IF Trim(dwtype) = '' THEN
- MessageBox('提示','请输入窗口名称', information!, ok! )
- rslt = 0
- GOTO ext
- END IF
- IF dwprintid = 0 THEN
- ll_newid = f_sys_scidentity(0,"sys_dft_dwprint_dynamic","dwprintid",errmsg,FALSE,sqlca)
- IF ll_newid <= 0 THEN
- MessageBox('错误',errmsg,stopsign!,ok!)
- rslt = 0
- GOTO ext
- END IF
-
- INSERT INTO sys_dft_dwprint_dynamic
- ( dwprintid,
- dft_new_dwname,
- chnname,
- powerid,
- dwtype,
- auditprint,
- prownum,
- ptype,
- pblname,
- ifuse,
- ifpic)
- VALUES ( :ll_newid ,
- :dft_new_dwname,
- :chnname,
- :powerid,
- :dwtype,
- :auditprint,
- :prownum,
- :ptype,
- :pblname,
- :ifuse,
- :ifpic) ;
- IF sqlca.SQLCode <> 0 THEN
- IF Pos(sqlca.SQLErrText,"IX_sys_dft_dwprint_dynamic1") > 0 THEN
- MessageBox('错误','打印格式名称不能重复,增加打印格式失败!',stopsign!,ok!)
- ELSEIF Pos(sqlca.SQLErrText,"IX_sys_dft_dwprint_dynamic") > 0 THEN
- MessageBox('错误','打印格式数据窗口不能重复,增加打印格式失败!',stopsign!,ok!)
- ELSE
- MessageBox('错误','增加打印格式失败!',stopsign!,ok!)
- END IF
- rslt = 0
- GOTO ext
- END IF
-
- ELSE
- UPDATE sys_dft_dwprint_dynamic
- SET dft_new_dwname = :dft_new_dwname,
- chnname = :chnname,
- dwtype = :dwtype,
- auditprint = :auditprint,
- prownum = :prownum,
- ptype = :ptype,
- pblname = :pblname,
- ifuse = :ifuse,
- ifpic = :ifpic
- Where dwprintid = :dwprintid;
- IF sqlca.SQLCode <> 0 THEN
- IF Pos(sqlca.SQLErrText,"IX_sys_dft_dwprint_dynamic1") > 0 THEN
- MessageBox('错误','打印格式名称不能重复,更新打印格式失败!',stopsign!,ok!)
- ELSEIF Pos(sqlca.SQLErrText,"IX_sys_dft_dwprint_dynamic") > 0 THEN
- MessageBox('错误','打印格式数据窗口不能重复,增加打印格式失败!',stopsign!,ok!)
- ELSE
- MessageBox('错误','更新打印格式失败!',stopsign!,ok!)
- END IF
- rslt = 0
- GOTO ext
- END IF
- END IF
- ext:
- IF rslt = 0 THEN
- ROLLBACK;
- ELSE
- COMMIT;
- END IF
- RETURN rslt
- end function
- public function integer wf_insertrow ();Long li_newrow
- dw_1.SetRedraw(FALSE)
- li_newrow = dw_1.InsertRow(0)
- dw_1.Object.dwtype[li_newrow] = ls_dwtype
- String ll_pblname
- SELECT top 1 pblname
- INTO :ll_pblname
- FROM sys_dft_dwprint_dynamic;
- IF IsNull(ll_pblname) THEN ll_pblname = ''
- dw_1.Object.pblname[li_newrow] = ll_pblname
- dw_1.SetFocus()
- dw_1.SetColumn('chnname')
- dw_1.SetRedraw(TRUE)
- THIS.TriggerEvent('ue_f9')
- RETURN 1
- end function
- public subroutine wf_dwchild (string fs, datawindowchild fdw);String s[]
- Long j
- s[4] = LibraryDirectory(fs,DirDataWindow!) //name ~t date/time modified ~t comments ~n
- fdw.Reset()
- fdw.SetRedraw(FALSE)
- DO WHILE TRUE
- j = Pos(s[4],'~t')
- IF j = 0 THEN EXIT
- s[1] = Left(s[4],j -1)
- s[4] = Mid(s[4],j+1)
- j = Pos(s[4],'~t')
- s[3] = Left(s[4],j -1)
- s[4] = Mid(s[4],j+1)
- j = Pos(s[4],'~n')
- s[2] = Left(s[4],j -1)
- s[4] = Mid(s[4],j+1)
- j = fdw.InsertRow(0)
- fdw.SetItem(j,1,trim(s[1]))
- fdw.SetItem(j,2,trim(s[2]))
- fdw.SetItem(j,3,trim(s[3]))
- LOOP
- fdw.SetSort('ctag a')
- fdw.Sort()
- fdw.SetRedraw(TRUE)
- end subroutine
- on w_dwprint_dynamic_mod.create
- int iCurrent
- call super::create
- this.cb_2=create cb_2
- this.cb_1=create cb_1
- this.gb_1=create gb_1
- this.dw_1=create dw_1
- iCurrent=UpperBound(this.Control)
- this.Control[iCurrent+1]=this.cb_2
- this.Control[iCurrent+2]=this.cb_1
- this.Control[iCurrent+3]=this.gb_1
- this.Control[iCurrent+4]=this.dw_1
- end on
- on w_dwprint_dynamic_mod.destroy
- call super::destroy
- destroy(this.cb_2)
- destroy(this.cb_1)
- destroy(this.gb_1)
- destroy(this.dw_1)
- end on
- event open;call super::open;Long i,ll_row2
- s_tran = Message.PowerObjectParm
- ll_dwprintid = s_tran.b_long
- ls_dwtype = s_tran.b_string
- ll_printid = s_tran.d_long
- dw_1.SetTransObject(sqlca)
- dw_1.GetChild('dft_new_dwname',dw_child)
- dw_1.GetChild('dwtype',dw_child2)
- FOR i = 1 To UpperBound(s_sys_bill)
- CHOOSE CASE sys_version_type
- CASE 0,1
- IF s_sys_bill[i].versiontype = sys_version_type Or s_sys_bill[i].versiontype = -1 THEN
- ll_row2 = dw_child2.InsertRow(0)
- dw_child2.SetItem(ll_row2,1,s_sys_bill[i].winname)
- dw_child2.SetItem(ll_row2,2,s_sys_bill[i].billname)
- END IF
- CASE 2
- IF s_sys_bill[i].versiontype = 0 Or s_sys_bill[i].versiontype = 2 Or s_sys_bill[i].versiontype = -1 THEN
- ll_row2 = dw_child2.InsertRow(0)
- dw_child2.SetItem(ll_row2,1,s_sys_bill[i].winname)
- dw_child2.SetItem(ll_row2,2,s_sys_bill[i].billname)
- END IF
-
- END CHOOSE
- NEXT
- IF ll_dwprintid > 0 THEN
- dw_1.Retrieve(ll_dwprintid)
- This.TriggerEvent('ue_f9')
- ELSE
- wf_insertrow()
- END IF
- IF ll_printid <> 100000 THEN dw_1.Modify('dwtype.protect=1 ')
- end event
- type cb_func from w_publ_base`cb_func within w_dwprint_dynamic_mod
- boolean visible = false
- integer x = 2354
- integer y = 12
- end type
- type cb_exit from w_publ_base`cb_exit within w_dwprint_dynamic_mod
- integer x = 1550
- integer y = 820
- integer taborder = 30
- string text = "取消"
- end type
- type cb_2 from uo_imflatbutton within w_dwprint_dynamic_mod
- integer x = 1225
- integer y = 820
- integer width = 329
- integer height = 96
- integer taborder = 40
- string text = "保存[C^+S]"
- end type
- event clicked;call super::clicked;if wf_save() = 0 then return
- close(parent)
- end event
- type cb_1 from uo_imflatbutton within w_dwprint_dynamic_mod
- integer x = 823
- integer y = 820
- integer width = 407
- integer height = 96
- integer taborder = 40
- string text = "保存&新增[&S]"
- end type
- event clicked;call super::clicked;if wf_save() = 0 then return
- long li_newrow
- dw_1.reset()
- wf_insertrow()
- end event
- type gb_1 from groupbox within w_dwprint_dynamic_mod
- integer width = 1929
- integer height = 796
- integer taborder = 10
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 67108864
- string text = "资料录入"
- end type
- type dw_1 from datawindow within w_dwprint_dynamic_mod
- event key pbm_dwnkey
- event dwnkey pbm_dwnkey
- integer x = 14
- integer y = 52
- integer width = 1874
- integer height = 708
- integer taborder = 10
- boolean bringtotop = true
- string dataobject = "dw_dwprint_dynamic_edit"
- boolean livescroll = true
- borderstyle borderstyle = stylelowered!
- end type
- event dwnkey;if key = keydownarrow! then return 1
- if key = keyenter! or key = keydownarrow! then //
- keybd_event ( 9, 0, 0 , 0 ) // 按下tab
- keybd_event ( 9, 0, 2, 0 ) // 释放tab
- return 0
- elseif key = keyuparrow! then
- keybd_event ( 16, 0, 0 , 0 )
- keybd_event ( 9, 0, 0 , 0 )
- keybd_event ( 9, 0, 2, 0 )
- keybd_event ( 16, 0, 2, 0 )
- return 0
- end if
- end event
- event rbuttondown;Long ll_row,ll_column
- ll_row = THIS.GetRow()
- ll_column = THIS.GetColumn()
- IF ll_row <= 0 THEN RETURN
- IF ll_column <= 0 THEN RETURN
- IF Left( THIS.Describe( dwo.Name+ ".coltype"),4) = 'date' THEN
- s_calender_arg s_calender
-
- s_calender.PointerX = THIS.PointerX()
- s_calender.PointerY = THIS.PointerY()
- s_calender.X = THIS.X + PARENT.X
- s_calender.Y = THIS.Y + PARENT.Y
-
- OpenWithParm(w_calendar,s_calender)
- THIS.SetItem(ll_row,ll_column,id_date_selected)
- end if
- end event
- event clicked;IF dwo.Name = 'p_dview' THEN
- PARENT.TriggerEvent('ue_f7')
- elseif dwo.Name = 'p_pbl' THEN
- PARENT.TriggerEvent('ue_f8')
- elseif dwo.Name = 'b_1' THEN
- PARENT.TriggerEvent('ue_f9')
- END IF
- end event
|