Sau khi đăng ký tên và mật khẩu đúng thì ngời sử dụng có quyền sử dụng ch- ơng trình.
Sau đó là giao diện chính của chơng trình sau khi đánh mặt khẩu và tên đúng, nếu mật khẩu và tên sai chơng trình sẽ hiện thông báo yêu cầu ngời dùng nhập lại.
Ch
ơng trình đ ợc thiết kế bao gồm những menu chính sau:
Menu Hệ thống bao gồm những mục: - Sao lưu (dùng để sao lưu các báo cáo )
- Phục hồi dữ liệu (dùng để phục hồi dữ liệu
Menu Tổng hợp bao gồm các Danh
Mục của toàn bộ chương trình, nó được sử dụng khi người dùng cần để
tra cứu, bao gồm:
- Danh mục xã (gồm toàn bộ các xã có trong một huyện: số hiệu xã, tên xã).
- Danh mục báo cáo (tên tất cả các báo cáo mà huyện phải làm để gửi cho các phòng ban).
- Danh mục tài khoản (số hiệu các tài khoản, tên các tài khoản được dùng trong khi hạch toán kế toán ngân sách xã ).
- Số dư đầu kỳ (gồm các dữ liệu về số dư của các tài khoản đầu kỳ).
- DM chỉ tiêu thu NSX/ DM chỉ tiêu chi NSX (nêu tên, mã số của các chỉ tiêu thu /chi ngân sách xã ).
- DM chương / loại / khoản (nêu tên hệ thống mục lục ngân sách xã mà Nhà nước áp dụng cho ngân sách cấp xã).
Cập nhật thu chi theo MLNS gồm có: - Thu theo MLNS (dùng để cập nhật số thu theo MLNS) - Chi theo MLNS (dùng để cập nhật số chi theo MLNS)
Số thu theo chỉ tiêu bao gồm:
- Thu theo từng tháng (chỉ cập nhật số thu của từng xã theo tháng)
- Thu theo từng năm (được cập nhật số thu của từng xã theo tháng, năm)
Menu Cập nhật dữ liệu bao gồm: - Cập nhật số dư TK (dùng để cập nhật số dư các tài khoản của từng xã và từng tháng) - Cập nhật dự toán năm - Cập nhật Tài chính theo MLNS
- Số thu từng theo chỉ tiêu/
Số chi theo chỉ tiêu
- Kết chuyển số dư (dùng để kết chuyển tự động số dư cuối kỳ sang đầu kỳ sau)
Menu Báo cáo tài chính bao gồm
các báo cáo sau:
- Bảng cân đối tài khoản (bảng cân đối tài khoản của từng tháng của từng xã, dùng để xem số dư nợ và số dư có cân đối nhau không)
- Báo cáo TH thu /chi NSX (sau khi xem xong ta có thể in báo cáo)
- Thuyết minh báo cáo tài chính
(của từng xã dùng để đọc vào cuối năm tổng hợp tình hình Tài chính NSX)
- Báo cáo XDCB (báo cáo tổng
hợp về tình hình XDCB trong một xã, số dân đóng góp và số công trình đã hoàn thành hay đang còn dở dang)
Menu Báo cáo quyết toán bao
gồm các báo cáo sau:
- Bảng cân đối quyết toán ngân sách xã
- Báo cáo quyết toán thu ngân sách xã
- Báo cáo quyết toán chi ngân sách xã
- Báo cáo tổng hợp quyết toán thu ngân sách xã
- Báo cáo tổng hợp quyết toán chi ngân sách xã
Menu Trợ giúp bao gồm: - Bản quyền của chương trình
- Hỏi đáp (trợ giúp sử dụng các Form, cách đưa ra các báo cáo và chương trình)
Sau đây là một số Form của chơng trình:
Danh mục Xã
Với một số chức năng: Thêm, Xoá, Sửa,... dữ liệu và Lu dữ liệu sau khi đã cập nhật hay sửa.
Cập nhật dự toán thu
Cập nhật số chi hàng tháng
Cập nhật số chi theo MLNS
Kết chuyển số d
Lựa chọn loại báo cáo
Sau khi lựa chọn loại báo cáo thì chuyển sang Tab Lựa chọn xã
Form này có chức năng lựa chọn loại báo cáo, tên xã, tháng, năm báo cáo. Sau khi ngời sử dụng lựa chọn tên loại báo cáo: Báo cáo tài chính hay Báo cáo quyết
toán sau đó ở trang lựa chọn xã sẽ hiện lên kiểu để lựa chọn: nếu là loại báo cáo
tài chính thì báo cáo theo tháng, còn loại báo cáo quyết toán thì báo cáo theo năm. Ngời sử dụng sau khi đã lựa chon xong thì kích vào nút Lựa chọn, còn nếu không muốn xem thì có thể thoát ra khỏi Form báo cáo bằng cách kích hoạt vào nút
Thoát.
Ngời sử dụng trớc khi thoát ra khỏi chơng trình thì có thể thay đổi mật khẩu của mình nếu muốn để bảo mật dữ liệu.
Chơng IV
Đánh giá và cài đặt chơng trình I. CàI đặt chơng trình
1. Yêu cầu chung
Chơng trình tổng hợp các báo cáo Tài chính - kế toán ngân sách Xã, Phờng đ- ợc cài đặt và sử dụng trong các huyện để tổng hợp các báo cáo Tài chính ngân sách của các xã.
Vì sau khi tổng hợp các báo cáo thì gửi lên các phòng Tài chính của quận, huyện và gửi bằng tệp dữ liệu để phòng kế toán ở cấp trên lu trữ và sử dụng ở trên máy luôn. Nh vậy đòi hỏi các phòng ban có liên quan đến việc nhận các tệp này phải có máy vi tính hoặc có thể đợc nối mạng Internet.
Yêu cầu về phần cứng: - Có ít nhất một máy vi tính.
- Cấu hình: - Đảm bảo việc thực hiện cài đặt đợc Hệ điều hành Windows9x trở lên và Visual FoxPro 7.0
- ổ cứng dung lợng còn trống tối thiểu là 120 MegaBytes - RAM tối thiểu 64 MegaBytes
Yêu cầu về phần mềm:
- Phần mềm hệ thống: - Hệ điều hành Win9X trở lên
- VisualFoxpro 6.0 hay VisualFoxpro 7.0
- Phần mềm ứng dụng: - Phần mềm tổng hợp các báo cáo Tài chính - Kế toán ngân sách của xã, phờng.
- Phần mềm Winsock hỗ trợ chuyển File trên mạng.
2. Cài đặt chơng trình
- Copy file font Vserie.fnt trong th mục Font vào th mục Font của hệ thống máy tính.
- Tiến hành cài đặt chơng trình:
- Tạo Shortcut, dùng Browse để chỉ đờng dẫn đến file vfp7.exe và thêm “-t main_nsx“ nh chỉ dẫn dới đây.
II. Đánh giá chơng trình 1. Đánh giá về mặt kỹ thuật 1. Đánh giá về mặt kỹ thuật
Nói chung, về mặt kỹ thuật chơng trình đáp ứng đầy đủ các chức năng của tổng hợp các báo cáo Tài chính ngân sách xã. Chơng trình có chế độ bảo mật để ngời sử dụng có thể thay đổi mật khẩu tuỳ ý tránh mất dữ liệu. Sau khi tổng hợp để
Sau đây là một số báo cáo thu đợc, nó đã đạt đợc yêu cầu của bài toán và phù hợp với hình thức và kết quả của các báo cáo Tài chính xã.
Bảng cân đối tài khoản
Báo cáo tổng hợp quyết toán thu ngân sách xã
2. Đánh giá về mặt kinh tế
Chơng trình đợc thực hiện trong 4 tháng liên tục với chi phí không đáng kể trong việc đi thu thập thông tin vì mọi dữ liệu của ngân sách xã đều ở trong ban Tài chính xã.
3. Đánh giá về mặt pháp lý
Tất cả các dữ liệu liên quan đến việc tổng hợp các báo cáo Tài chính ngân sách xã sau khi chuyển vào máy vi tính đều đợc bảo mật và chính xác tránh việc sao chép và thay đổi sai dữ liệu. Các báo cáo sau khi đợc tổng hợp đều đợc kiểm tra đối chiếu với các báo cáo của các đã đợc xã gửi lên. Kế toán trởng có nhiệm vụ xem xét và trình lên các phòng ban có liên quan (phòng Tài chính huyện) để cấp trên xem xét và huyện có nhiệm vụ tổng hợp các báo cáo Tài chính và quyết toán của các xã để gửi lên Sở Tài chính.
Kết luận
Hệ thống ngân sách Nhà nớc đợc phân chia theo từng cấp để quản lý. Ngân sách xã, phờng là một phần quan trọng trong hệ thống ngân sách của Nhà nớc đợc cấp huyện quản lý. Việc phản ánh trung thực tình hình Tài chính của xã là rất quan trọng vì nó là một bộ phận trong công tác quản lý nền Tài chính của Quốc gia. Do đó, việc tổng hợp các báo cáo Tài chính của các xã có ý nghĩa giúp thực hiện tốt mục tiêu đó.
Khi Công nghệ thông tin phát triển thì mọi việc đều phải đợc vi tính hoá và nó đã trở nên đơn giản hơn nhiều so với khi tiến hành bằng công tác thủ công mà hiệu quả lại không cao và thiếu độ chính xác. Tuy nhiên, máy vi tính chỉ là một công cụ cần phải có các phần mềm chính là bộ điều khiển để thực hiện công việc quản lý và lu trữ thông tin đó. Để xây dựng một phần mềm hoàn chỉnh thì yêu cầu là có một hệ thống thông tin tơng ứng giúp phân chia các nhiệm vụ quan trọng thành các Module thực hiện.
Ngân sách xã cũng nh vậy, nó cần một hệ thống thông tin giúp việc tổng hợp các báo cáo Tài chính và báo cáo quyết toán một cách chính xác và kịp thời để trình lên các cơ quan ban ngành có liên quan giúp việc xử lý và ra quyết định. Đó là yêu cầu của Bộ Tài chính và cũng là mối quan tâm của các phòng Tài chính Kế toán ở huyện, Sở Tài chính và nhiều nơi khác.
Đề tài này đã đạt đợc phần nào yêu cầu của Bộ Tài chính trong việc quản lý nguồn vốn ngân sách xã nói chung và tổng hợp các báo cáo Tài chính - Kế toán của các xã nói riêng. Với chơng trình này, các phòng Tài chính của huyện có thể sử dụng chơng trình để trợ giúp việc tổng hợp các báo cáo Tài chính một cách nhanh nhất và hiệu quả nhất.
Để có đợc kết quả này, ngoài sự nỗ lực của bản thân là sự hớng dẫn tận tình của thầy Trịnh Phú Cờng, em xin bày tỏ lòng biết ơn và kính trọng đối với Thầy.
Em cũng xin cảm ơn các Thầy, Cô giáo trong Khoa Tin học Kinh tế đã tạo mọi điều kiện để em hoàn thành luận văn này.
1. TS Hàn Viết Thuận
Giáo trình Cấu trúc dữ liệu, Trờng Đại học Kinh Tế Quốc Dân, NXB Thống
kê -1999.
2. TS Trơng Văn Tú - TS Trần Thị Song Minh
Giáo trình Hệ thống thông tin quản lý, Trờng Đại học Kinh Tế Quốc Dân, Hà
Nội - 2000.
3. ThS Trần Công Uẩn
Giáo trình Cơ sở dữ liệu, Trờng Đại học Kinh tế Quốc Dân, NXB Thống kê-
2000.
4. VN - Guide
Những bài thực hành Visual Foxpro, NXB Thống kê
5. Nguyễn Đình Tê - Hoàng Đức Hải
Giáo trình Lý thuyết và Bài tập Foxpro, NXB Giáo dục -1999
6. MSDN Library 2001. 7. Bộ Tài chính
Website: http://www.mof.gov.vn.
Các tài liệu về cơ cấu tổ chức Bộ Tài chính.
Các tài liệu về hạch toán kế toán áp dụng cho các Tỉnh, Huyện, Xã. 8. Luật Ngân sách Nhà nớc 20/03/1996.
9. Luật sửa đổi Ngân sách Nhà nớc 20/05/1998. 10. Huỳnh Văn Hoài
Hớng dẫn thực hành Kế toán Ngân sách Xã - Phờng, NXB Thống Kê
Phụ lục Main_nsx.prg **************************************************************** **************************************************************** * DISSERTATION * * *
* Intent: Financial Report Summary of Parish Budget *
* Theme : Building Information System for administration of ability of *
* Parish Budget *
* *
**************************************************************** * Student: Le Ngoc Chau *
* Class : Tin B - K41, National Economics University *
* Practising place: Ministry of Finance *
* Address: 8 Phan Huy Chu - Ha Noi * **************************************************************** SET TALK off
set safety off set status off set date FRENCH set century on SET CLOCK status SET CURSOR ON SET AUTOSAVE ON SET MESSAGE WINDOW SET NOTIFY ON
SET HELP ON
SET EXCLUSIVE OFF && De nhieu nguoi dung cung mo duoc csdl chay tren Net set delete on &&set color to G+/GB+ With _screen .closable=.f. .controlbox=.t. .maxbutton=.t. .minbutton=.t. .height=500 .width=780 &&.icon='icomain.ico'
.caption='Đồ án tốt nghiệp Đại học - Tổng hợp các BCTC-KT Ngân sách xã'
.windowstate=2 endwith
Public m_forms, m_backup, m_code, m_reports, m_tables, m_pictures, m_menu, m_query,m_class,m_prg,m_help
Store space(1) to m_forms, m_backup, m_code, m_reports, m_tables, m_pictures, m_menu, m_query,m_class,m_prg,m_help
prog=sys(16)
m_forms=m + [form\] m_backup=m + [backup\] m_code=m + [code\] m_reports=m + [report\] m_tables=m + [table\] m_pictures=m + [pictures\] m_menu=m + [menu\] m_prg=m + [prg\] m_query=m + [query\] m_class=m + [class\] m_help=m+ [help\]
SET CLASSLIB TO '&m_class\button.vcx'
&&SET DATABASE TO '&m_tables\ngansachxa.dbc' _screen.Icon='&m\icomain.ico' _screen.Picture='&m_pictures\giaodien.bmp' DO reletoolbar DO FORM '&m_forms\matkhau.scx' &&DO '&m_menu\nsx.mpr' READ event
SET HELP TO '&m_help\chau.html' SET SYSMENU TO default
&&M_ten_xa1=".." PROCEDURE reletoolbar
SET SYSMENU TO
IF WEXIST([Report Control])
HIDE WINDOW[report control] ENDIF
ENDIF
IF WEXIST([Database designer])
HIDE WINDOW[database designer] ENDIF
IF WEXIST([Form designer])
HIDE WINDOW[form designer] ENDIF
IF WEXIST([form Control])
HIDE WINDOW[form control] ENDIF IF WEXIST([standard]) HIDE WINDOW[standard] ENDIF RETURN Nsd.prg FUNCTION mahoa PARAMETERS matma PRIVATE i,k k=0
FOR i=1 TO LEN(matma)
k=k+ASC(SUBSTR(matma,i,1))*(i+1) ENDFOR
matma=ALLTRIM(STR(k,LEN(matma)+3,0)) RETURN matma
SELECT 0
USE '&m_backup\nsd.dbf' SHARED SET ORDER TO tag username
SEEK ten IF FOUND() quyen=right uname=ten pword=ALLTRIM(password) mk=pword USE RETURN IIF(ALLTRIM(mahoa(pasw))=mk,.t.,.f.) ELSE USE RETURN .f. ENDIF RETURN Lcbcqt.Click IF thisform.pageframelcbc.pagebaocao.opt_luachon.lcbcqt.Value=1 thisform.pageframelcbc.pagebaocao.lblbctc.Enabled= .F. thisform.pageframelcbc.pagebaocao.lblbcqt.Enabled= .T. thisform.pageframelcbc.pagebaocao.opt_taichinh.bcdtk.Enabled= .F. thisform.pageframelcbc.pagebaocao.opt_taichinh.bcthchi.Enabled= .F. thisform.pageframelcbc.pagebaocao.opt_taichinh.bcththu.Enabled= .F. thisform.pageframelcbc.pagebaocao.opt_taichinh.bcxdcb.Enabled= .F. thisform.pageframelcbc.pagebaocao.opt_taichinh.tmbctc.Enabled= .F. thisform.pageframelcbc.pagebaocao.opt_quyettoan.bcdqt.Enabled= .T. thisform.pageframelcbc.pagebaocao.opt_quyettoan.bcqtchi.Enabled= .T. thisform.pageframelcbc.pagebaocao.opt_quyettoan.bcqtthu.Enabled= .T.
thisform.pageframelcbc.pagebaocao.opt_quyettoan.bcthqtchi.Enabled= .T. thisform.pageframelcbc.pagexa.cmbthang.Enabled= .F. thisform.pageframelcbc.pagexa.cmbxatc.Enabled= .F. thisform.pageframelcbc.pagexa.cmbnam.Enabled= .T. thisform.pageframelcbc.pagexa.cmbxaqt.Enabled= .T. ENDIF Cmdlc.click
SET EXCLUSIVE OFF SET PATH TO &m_tables
OPEN DATABASE "&m_tables\ngansachxa.dbc" && Opens the test databsase &&SELECT taikhoan && IN 0 EXCLUSIVE && Not opened exclusively &&SELECT dmxa
SELECT taikhoan
IF thisform.pageframelcbc.pagebaocao.opt_taichinh.bcdtk.Value=1 REPORT FORM '&m_reports\bcdtk.frx' PREVIEW FOR
thang=thisform.pageframelcbc.pagexa.cmbthang.value AND so_hieu_xa= thisform.pageframelcbc.pagexa.cmbxatc.Value
ENDIF
*********************** &&SELECT cackhoanthu
IF thisform.pageframelcbc.pagebaocao.opt_taichinh.bcththu.Value=1 REPORT FORM '&m_reports\bcththu.frx' PREVIEW FOR thang=thisform.pageframelcbc.pagexa.cmbthang.Value AND so_hieu_xa=thisform.pageframelcbc.pagexa.cmbxatc.Value
REPORT FORM '&m_reports\bcthchi.frx' PREVIEW FOR thang=thisform.pageframelcbc.pagexa.cmbthang.Value AND so_hieu_xa=thisform.pageframelcbc.pagexa.cmbxatc.Value ENDIF *********************** IF thisform.pageframelcbc.pagebaocao.opt_taichinh.bcxdcb.Value=1 REPORT FORM '&m_reports\bcxdcb.frx' PREVIEW FOR thang=thisform.pageframelcbc.pagexa.cmbthang.Value AND so_hieu_xa=thisform.pageframelcbc.pagexa.cmbxatc.Value ENDIF
***********************
IF thisform.pageframelcbc.pagebaocao.opt_taichinh.tmbctc.Value=1 REPORT FORM '&m_reports\tmbctc.frx' PREVIEW FOR thang=thisform.pageframelcbc.pagexa.cmbthang.Value AND so_hieu_xa=thisform.pageframelcbc.pagexa.cmbxatc.Value ENDIF
**********************
IF thisform.pageframelcbc.pagebaocao.opt_quyettoan.bcdqt.Value=1 REPORT FORM '&m_reports\bangcdqt.frx' PREVIEW FOR nam=thisform.pageframelcbc.pagexa.cmbnam.Value AND
so_hieu_xa=thisform.pageframelcbc.pagexa.cmbxaqt.Value ENDIF
**********************
IF thisform.pageframelcbc.pagebaocao.opt_quyettoan.bcqtchi.Value=1 REPORT FORM '&m_reports\bcqtchi.frx' PREVIEW FOR nam=thisform.pageframelcbc.pagexa.cmbnam.Value AND
so_hieu_xa=thisform.pageframelcbc.pagexa.cmbxaqt.Value ENDIF
IF thisform.pageframelcbc.pagebaocao.opt_quyettoan.bcqtthu.Value=1 REPORT FORM '&m_reports\bcqtthu.frx' PREVIEW FOR
nam=thisform.pageframelcbc.pagexa.cmbnam.Value AND so_hieu_xa=thisform.pageframelcbc.pagexa.cmbxaqt.Value ENDIF
*********************
IF thisform.pageframelcbc.pagebaocao.opt_quyettoan.bcthqtthu.Value=1 REPORT FORM '&m_reports\bcthqtthu1.frx' PREVIEW FOR nam=thisform.pageframelcbc.pagexa.cmbnam.Value AND
so_hieu_xa=thisform.pageframelcbc.pagexa.cmbxaqt.Value ENDIF
********************
IF thisform.pageframelcbc.pagebaocao.opt_quyettoan.bcthqtchi.Value=1 REPORT FORM '&m_reports\bcthqtchi1.frx' PREVIEW FOR nam=thisform.pageframelcbc.pagexa.cmbnam.Value AND
so_hieu_xa=thisform.pageframelcbc.pagexa.cmbxaqt.Value ENDIF
*******************
Cmdvao.click (Login ch ơng trình)
CLOSE TABLES ALL
SET PROCEDURE TO '&m_prg\nsd.prg' IF
kiemtra(ALLTRIM(thisform.txtten.Value),ALLTRIM(thisform.txtmatkhau.Value ))
ENDIF
Cmddoi.click (Để đổi mật khẩu)
IF EMPTY(thisform.txtold.Value)
=MESSAGEBOX("Nhập lại mật khẩu cũ",24, "Thông báo") ELSE
SET PROCEDURE TO '&m_prg\nsd.prg'
IF mahoa(ALLTRIM(thisform.txtold.Value))<>pword
= MESSAGEBOX("Mã khẩu cũ không hợp lệ",24, "Thông báo") ELSE
IF
ALLTRIM(thisform.txtnew.Value)<>ALLTRIM(thisform.txtnew2.Value) =MESSAGEBOX("Mật khẩu mới nhập lần 1 và lần 2 không thống nhất",24, "Thông báo")
ELSE
SELECT 1
USE '&m_backup\nsd.dbf'
REPLACE ALL password WITH
mahoa(ALLTRIM(thisform.txtnew.Value)) FOR username=uname USE
pword=mahoa(ALLTRIM(thisform.txtnew.Value)) =MESSAGEBOX("Mật khẩu đã đợc đổi thành công",24, "Thông báo")
ENDIF ENDIF
SET PROCEDURE TO ENDIF
IF MESSAGEBOX("Bạn có đồng ý quay về chơng trình không?" ,36, "Thông báo")=6 thisform.Release DO '&m_menu\nsx.mpr' ELSE thisform.Release QUIT ENDIF Class Button (txtbtns) Destroy Event LOCAL nTablesUsed,aTablesUsed,i,nDECursors,aDECursors,cDataEnvRef DIMENSION aTablesUsed[1] IF TYPE('THIS.Parent') # "O" RETURN ENDIF
IF TYPE("THIS.oldTalk") = "C" AND THIS.oldTalk="ON" SET TALK ON
ENDIF
IF THIS.UseDataEnv
DIMENSION aDECursors[1] DO CASE
CASE TYPE("THISFORMSET.DataEnvironment") = "O" nDECursors = AMEMBERS(aDECursors,THISFORMSET.DataEnvironment,2) cDataEnvRef = "THISFORMSET.DataEnvironment" ENDCASE FOR i = 1 TO m.nDECursors
WITH EVAL(m.cDataEnvRef + "." + aDECursors[m.i])
IF USED(.ALIAS) AND ATC("CURSOR",.BaseClass)#0 AND ; CursorGetProp("sourcetype",.ALIAS)=3 AND ; CursorGetProp("buffering",.ALIAS)>1 TableRevert(.T.,.ALIAS) ENDIF ENDWITH ENDFOR ENDIF ******** IF THIS.PreviewMode RETURN ENDIF IF THIS.oldSetDelete = "OFF" SET DELETED OFF ENDIF
SET REPROCESS TO THIS.oldReprocess SET MESSAGE TO
RETURN ENDIF IF THIS.oldBuffering#1 RETURN ENDIF m.nTablesUsed = AUSED(aTablesUsed) FOR i = 1 TO m.nTablesUsed
IF CursorGetProp('sourcetype',aTablesUsed[m.i,1])=3 &&skip for views
CursorSetProp("buffering",THIS.oldBuffering,aTablesUsed[m.i,1]) ENDIF
ENDFOR
IF THIS.oldMultiLocks = "OFF" SET MULTILOCKS OFF ENDIF IF THIS.oldSetFields = "ON" SET FIELDS ON ENDIF Init Event LOCAL cGridRef,cWizHomePath,separator,cWizStyFile
IF SET("TALK") = "ON" SET TALK OFF THIS.oldTalk = "ON" ELSE THIS.oldTalk = "OFF" ENDIF IF ATC("button.VCX",SET("CLASSLIB")) = 0 cWizHomePath = _WIZARD IF '\' $ cWizHomePath cWizHomePath = SUBSTR(m.cWizHomePath,1,RAT('\',m.cWizHomePath))
IF RIGHT(m.cWizHomePath,1) = '\' AND LEN(m.cWizHomePath) > 1 ; AND SUBSTR(m.cWizHomePath,LEN(m.cWizHomePath)-1,1) <> ':' cWizHomePath = SUBSTR(m.cWizHomePath,1,LEN(m.cWizHomePath)-1) ENDIF ELSE cWizHomePath = '' ENDIF separator = IIF(_MAC,":","\")
IF !(RIGHT(m.cWizHomePath,1) $ '\:') AND !EMPTY(m.cWizHomePath) m.cWizHomePath= m.cWizHomePath+ m.separator
DO CASE CASE FILE("button.VCX") cWizFile ="button.VCX" CASE FILE(m.cWizHomePath+"button.VCX") cWizFile = m.cWizHomePath+"button.VCX" CASE FILE(m.cWizHomePath+"vfox\class\"+"button.VCX") cWizFile = m.cWizHomePath+"vfox\class\"+"button.VCX" CASE FILE(HOME()+"button.VCX") cWizFile = HOME()+"button.VCX" CASE FILE(HOME()+"vfox\class\"+"button.VCX") cWizFile = HOME()+"vfox\class\"+"button.VCX" OTHERWISE
=MESSAGEBOX("Th viện lớp (button.VCX) cha đợc tìm thấy. Xác định lại đờng dẫn.")
cWizFile = GETFILE("VCX","Tìm kiếm: "+"button.VCX") ENDCASE
IF ATC(C_WIZSTYLE,m.cWizFile)#0
SET CLASS TO (m.cWizFile) ADDITIVE ELSE
RETURN .F. ENDIF
ENDIF
THIS.ButtonRefresh() THIS.NavRefresh() cGridRef=THIS.GridRef IF !EMPTY(m.cGridRef) ENDIF Search Click LOCAL oSearchDlog LOCAL lVisChange,lStateChange IF EMPTY(ALIAS()) RETURN ENDIF IF THISFORM.ShowWindow = 2 IF !_VFP.Visible _VFP.Visible = .T. lVisChange = .T. ENDIF IF _SCREEN.WindowState = 1 _SCREEN.WindowState = 0 lStateChange = .T. ENDIF ENDIF oSearchDlog = CREATE("searchform") oSearchDlog.SHOW()
IF m.lVisChange _VFP.Visible = .F. ENDIF IF m.lStateChange _SCREEN.WindowState = 1 ENDIF IF THISFORM.ShowWindow = 2
Activate Window (THISFORM.Name) ENDIF THIS.Parent.TopFile = .F. THIS.Parent.EndFile = .F. THIS.Parent.NavRefresh() Sửa Click LOCAL lNoSendParentUpdates,lNoSendChildUpdates LOCAL aTablesUsed,nTablesUsed,i IF EMPTY(ALIAS()) RETURN ENDIF IF THIS.Parent.EditMode IF THIS.Parent.UseDataEnv SELECT (THIS.Parent.OldAlias)
SELECT (THIS.Parent.GridAlias) IF CURSORGETPROP("Buffering")>1 =TableRevert(.T.) ENDIF ENDIF ELSE DIMENSION aTablesUsed[1] m.nTablesUsed = AUSED(aTablesUsed) FOR i = 1 TO m.nTablesUsed IF CURSORGETPROP("Buffering",aTablesUsed[m.i,1])>1 =TableRevert(.T.,aTablesUsed[m.i,1]) ENDIF ENDFOR