Hình 3 .21 Form danh mục ngân hàng
Hình 3.22 Form hố đơn GTGT
Khi phát sinh giao dịch bán hàng hoá hoặc trả hàng, lập hoá đơn GTGT bán hàng, hàng trả lại. Dữ liệu được lấy từ bảng hoadon, khachhang, hanghoa. Lúc lập hoá đơn lưu lại dữ liệu vào bảng hoadon.
Form phiếu thu/chi
Lập phiếu thu/ chi cho khách hàng, cập nhật thêm, sửa, xoá hoá đơn và in ra hoá đơn. Dữ liệu thay đổi được lưu vào bảng phieutc
Hì
n h
Hình 3.24: Form phiếu chi
3.2.3. Giới thiệu các chức năng của chương trình
Chương trình được thiết kế nhằm thực hiện các chức năng sau:
Chức năng quản lí người dùng:
+ Với bất kì người dùng nào của hệ thống đều có thể đăng nhập và thay đổi mật khẩu của mình
+ Ngồi ra, với người quản trị có thể thêm, xố, cập nhật thơng tin của người dùng.
+ Hệ thống đã phân quyền ở một mức nhất định thơng qua hệ thống thực đơn.
Quản lí các danh mục: Có thể thêm mới, sửa đổi thơng tin, xố một bản ghi trong cơ sở dữ liệu; và có thể xem thơng tin theo loại.
Quản lí các chứng từ : Cập nhật các Hóa đơn,Phiếu thu,Phiếu chi,Giấy báo nợ,Giáy báo có
Lập các báo cáo: Có thể lập các báo cáo một cách nhanh nhất, ngay khi có yêu cầu báo cáo.
Trong điều kiện thời gian không cho phép, đồ án đã thực hiện được một số module sau:
+ Xử lí cập nhật các danh mục, bao gồm: thêm mới, sửa, xố.
+ Xử lí nhập Hóa đơn,Phiếu thu,Phiếu chi,Giấy báo nợ,Giấy báo có. + Lập các báo cáo
PHẦN KẾT LUẬN
Sau quá trình nghiên cứu, tìm hiểu về thực trạng cơng tác kế tốn doanh thu bán hàng tại Công ty Cổ phần Thiết bị Y tế Việt Sing, cùng với những kiến thức được học từ trường lớp, thầy cô và bạn bè. Với sự hướng dẫn, giúp đỡ nhiệt tình của Cơ giáo Th.S Đồng Thị Ngọc Lan, em đã xây dựng thành cơng phần mềm kế tốn doanh thu bán hàng cho Công ty.
Với mục tiêu là giảm bớt những khó khăn cho bộ phận kế tốn bán hàng, đảm bảo chính xác các số liệu khi lên báo cáo, là tiền đề giúp Công ty định hướng xây dựng một phần mềm hồn thiện hơn cho bộ phận kế tốn. Phần mềm kế toán doanh thu bán hàng được xây dựng trong đề tài đã giải quyết được yêu cầu trên.
Bên cạnh đó do kiến thức còn hạn chế và kinh nghiệm thực tế cịn ít nên phần mềm của em khơng tránh khỏi những thiếu sót, em kính mong sẽ nhận được ý kiến đóng góp của các thầy giáo cơ giáo, các cơ chú, anh chị trong phòng kế tốn Cơng ty, để em có nhiều kinh nghiệm q giá hơn, khắc phục những khuyết điểm và có thể thêm những chức năng mới tốt hơn trong tương lai.
Một lần nữa em xin cảm ơn Cô giáo Th.S Đồng Thị Ngọc Lan, các cô chú, anh chị làm việc tại Công ty Cổ phần Thiết bị Y tế Việt Sing, gia đình, bạn bè đã giúp em hồn thành đề tài này.
Sinh viên
DANH MỤC TÀI LIỆU THAM KHẢO.
[1]. Nguyễn Văn Ba - Phân tích và thiết kế hệ thống thông tin - Nhà xuất bản Đại học Quốc Gia Hà Nội, Hà Nội 2006
[2]. ThS Vũ Bá Anh - Giáo trình Cơ sở dữ liệu II - Học viện tài chính [3]. GS.TS Ngơ Thế Chi, TS Trương Thị Thủy - Giáo trình Kế Tốn Tài
Chính - Nhà xuất bản Tài Chính 2010.
B. Một số đoạn code cơ bản 1. Form sao lưu dữ liệu
Sự kiện load của form sao lưu
CLOSE TABLES all OPEN DATABASE data1
Sự kiện click nút chọn
thisform.text1.Value=GETDIR("","","Chon thu muc de luu")
Sự kiện click nút sao lưu
SET TALK OFF SET SAFETY OFF
IF thisform.check1.Value=0 AND thisform.check2.Value=0 AND
thisform.check3.Value=0;
AND thisform.check4.Value=0 AND thisform.check5.value=0 ; AND thisform.check7.Value=0 AND thisform.check8.Value=0; MESSAGEBOX("Ban phai chon bang de sao luu",16)
ELSE
path=thisform.text1.value IF !EMPTY(path)
WAIT WINDOW [Dang thuc hien ] TIMEOUT 1 STORE path + "taikhoan" TO pTemp1 STORE path + "hanghoa" TO pTemp2 STORE path + "khachhang" TO pTemp3 STORE path + "nganhang" TO pTemp4 STORE path + "giaybao" TO pTemp5 STORE path + "hoadon" TO pTemp6 STORE path + "phieutc" TO pTemp7 STORE path + "matkhau" TO pTemp8 IF thisform.check1.Value==1 USE table\taikhoan IN 0 SELECT taikhoan COPY TO EVALUATE("pTemp1") ENDIF IF thisform.check2.Value==1 USE table\hanghoa IN 0 SELECT hanghoa COPY TO EVALUATE("pTemp2")
ENDIF IF thisform.check3.Value==1 USE table\khachhang IN 0 SELECT khachhang COPY TO EVALUATE("pTemp3") ENDIF IF thisform.check4.Value==1 USE table\nganhang IN 0 SELECT nganhang COPY TO EVALUATE("pTemp4") ENDIF IF thisform.check5.Value==1 USE table\giaybao IN 0 SELECT giaybao COPY TO EVALUATE("pTemp5") ENDIF IF thisform.check6.Value==1 USE table\hoadon IN 0 SELECT hoadon COPY TO EVALUATE("pTemp6") ENDIF IF thisform.check7.Value==1 USE table\phieutc IN 0 SELECT phieutc COPY TO EVALUATE("pTemp7") ENDIF IF thisform.check8.Value==1 USE free\matkhau IN 0 SELECT matkhau COPY TO EVALUATE("pTemp8") ENDIF
MESSAGEBOX("Sao luu thanh cong",0) ENDIF
ENDIF
2. Form phục hồi dữ liệu
Sự kiện click nút phục hồi
SET SAFETY OFF
IF thisform.check1.Value=0 AND thisform.check2.Value=0 AND
thisform.check3.Value=0;
AND thisform.check4.Value=0 AND thisform.check5.value=0 ; AND thisform.check7.Value=0 AND thisform.check8.Value=0
MESSAGEBOX("Ban phai chon bang can phuc hoi",16) ELSE
newpath=thisform.text1.value
IF !EMPTY(newpath)
WAIT WINDOW [Dang thuc hien ] TIMEOUT 1
STORE newpath + "taikhoan" TO pTemp1
STORE newpath + "hanghoa" TO pTemp2
STORE newpath + "khachhang" TO pTemp3 STORE newpath + "nganhang" TO pTemp4
STORE newpath + "giaybao" TO pTemp5 STORE newpath + "hoadon" TO pTemp7
STORE newpath + "phieutc" TO pTemp8
STORE newpath + "matkhau" TO pTemp9
IF thisform.check1.Value==1 USE table\taikhoan IN 0 SELECT taikhoan ZAP
APPEND FROM EVALUATE("pTemp1") ENDIF
IF thisform.check2.Value==1 USE table\hanghoa IN 0 SELECT hanghoa ZAP
APPEND FROM EVALUATE("pTemp2") ENDIF
IF thisform.check3.Value==1 USE table\khachhang IN 0 SELECT khachhang ZAP
APPEND FROM EVALUATE("pTemp3") ENDIF
IF thisform.check4.Value==1 USE table\nganhang IN 0
ZAP
APPEND FROM EVALUATE("pTemp4") ENDIF
IF thisform.check5.Value==1 USE table\giaybao IN 0 SELECT giaybao ZAP
APPEND FROM EVALUATE("pTemp5") ENDIF
IF thisform.check6.Value==1 USE table\hoadon IN 0 SELECT hoadon ZAP
APPEND FROM EVALUATE("pTemp6") ENDIF
IF thisform.check7.Value==1 USE table\phieutc IN 0 SELECT phieutc ZAP
APPEND FROM EVALUATE("pTemp7") ENDIF
IF thisform.check8.Value==1 USE table\matkhau IN 0 SELECT matkhau ZAP
APPEND FROM EVALUATE("pTemp8") ENDIF
MESSAGEBOX("Phuc hoi thanh cong",0) ELSE
=MESSAGEBOX("Ban phai chon duong dan.",16,"CHU Y") ENDIF
ENDIF
3. Form hoá đơn GTGT
Sự kiện click nút tạo hoá đơn
IF this.Caption='Tạo hoá đơn' this.Caption = 'Lưu'
thisform.text4.ReadOnly= .F. thisform.text5.ReadOnly= .F. thisform.text6.ReadOnly= .F. thisform.text7.ReadOnly= .F. thisform.text9.ReadOnly= .F. thisform.text10.ReadOnly= .F. thisform.text11.ReadOnly= .F. thisform.text12.ReadOnly= .F. thisform.text13.ReadOnly= .F. thisform.text14.ReadOnly= .F. thisform.text15.ReadOnly= .F. thisform.combo1.ReadOnly= .F. thisform.combo2.ReadOnly= .F. thisform.combo3.ReadOnly= .F. thisform.combo4.ReadOnly= .F. thisform.combo5.ReadOnly= .F. thisform.combo6.ReadOnly= .F. thisform.command5.Enabled=.T. thisform.command6.Enabled=.T. thisform.command7.Enabled=.T. ******************************* thisform.text1.value='' thisform.text4.value='' thisform.text5.value='' thisform.text6.value='' thisform.text7.value='' thisform.text9.value='' thisform.text2.value= DATE() *CTOD('') thisform.text11.value='' thisform.text10.value=0 thisform.text12.value=0 thisform.text13.value=0 thisform.text14.value=0 thisform.text15.value=0 thisform.combo5.setfocus ********************************************** SELECT hoadon
Public x,i,j
j=''
GO BOTTOM
x=STR((VAL(RIGHT(ALLTRIM(sohdb),5))+1),5)
FOR i=1 TO LEN(x)
IF SUBSTR(x,i,1)=' ' j=j+'0' ENDIF ENDFOR x='HD'+j+ALLTRIM(x) thisform.text1.Value=x tongtien1=0 *********************************************************** SELECT donghoadon
SET FILTER TO ALLTRIM(sohdb)=ALLTRIM(thisform.text1.Value)
***********************************************************
ELSE
this.Caption='Tao hoa don' SELECT hoadon
APPEND BLANK
replace sohdb WITH thisform.text1.value replace ngay WITH thisform.text2.value replace makh WITH thisform.combo5.value replace noidung WITH thisform.text7.value replace hinhthuctt WITH thisform.combo1.value replace tkno WITH thisform.combo2.value replace tkco WITH thisform.combo3.value replace tongtien WITH thisform.text12.value replace chietkhau WITH thisform.text14.value
replace thuegtgt WITH
IIF(thisform.combo4.value='0%',0,IIF(thisform.combo4.value='5%',0.05,IIF(thisfor m.combo4.value='10%',0.1,0.2))) thisform.grid1.Refresh ******************************* thisform.text1.ReadOnly= .T. thisform.text2.ReadOnly= .T.
thisform.text4.ReadOnly= .T. thisform.text5.ReadOnly= .T. thisform.text6.ReadOnly= .T. thisform.text7.ReadOnly= .T. thisform.text9.ReadOnly= .T. thisform.text10.ReadOnly= .T. thisform.text11.ReadOnly= .T. thisform.text12.ReadOnly= .T. thisform.text13.ReadOnly= .T. thisform.text14.ReadOnly= .T. thisform.text15.ReadOnly= .T. thisform.combo1.ReadOnly= .T. thisform.combo2.ReadOnly= .T. thisform.combo3.ReadOnly= .T. thisform.combo4.ReadOnly= .T. thisform.combo5.ReadOnly= .T. thisform.combo6.ReadOnly= .T. thisform.command5.Enabled=.F. thisform.command6.Enabled=.F. thisform.command7.Enabled=.F. ENDIF
4. Form báo cáo tổng hợp doanh thu
Sự kiện click của nút xem
SET SAFETY OFF
ngay1=thisform.text1.Value ngay2=thisform.text2.value
CREATE TABLE b1 FREE (mahh c(12),tenhh c(50),makh c(20), tenkh c(60),
dt n(12,2),gtdt n(12,2))
SELECT hoadon
INDEX on ALLTRIM(makh) TO i1 FOR ngay>=ngay1 .and. ngay<=ngay2 TOTAL ON ALLTRIM(makh) TO tg1 FIELDS tongtien
CLOSE TABLES ALL USE b1 IN 0 SELECT b1 APPEND FROM tg1 INDEX on ALLTRIM(makh) TO i2 USE tg1 IN 0 SELECT tg1 INDEX on ALLTRIM(makh) TO i3 SELECT b1
SET RELATION TO ALLTRIM(makh) INTO tg1 replace ALL dt WITH tg1.tongtien
CLOSE TABLES ALL USE table\khachhang IN 0 SELECT khachhang INDEX on ALLTRIM(makh) TO i3 USE b1 IN 0 SELECT b1 INDEX on ALLTRIM(makh) TO i2
SET RELATION TO ALLTRIM(makh) INTO khachhang replace ALL tenkh WITH khachhang.tenkh
replace ALL gtdt WITH 0
*************************************************************
CLOSE TABLES ALL USE table\phieutc IN 0 SELECT phieutc
INDEX on ALLTRIM(makh) TO i3 FOR ngayphieu>=ngay1 .and.
ngayphieu<=ngay2 .and. loaiphieu=.F.
TOTAL ON ALLTRIM(makh) TO tg2 FIELDS sotien CLOSE TABLES ALL
USE tg2 IN 0 SELECT tg2 INDEX on ALLTRIM(makh) TO i3 USE b1 IN 0 SELECT b1 INDEX on ALLTRIM(makh) TO i2
SET RELATION TO ALLTRIM(makh) INTO tg2 replace ALL gtdt WITH gtdt+tg2.sotien
**************************
CLOSE TABLES ALL USE table\giaybao IN 0 SELECT giaybao
INDEX on ALLTRIM(makh) TO i3 FOR ngayct>=ngay1 .and.
ngayct<=ngay2 .and. loaigb=.T.
TOTAL ON ALLTRIM(makh) TO tg3 FIELDS stien CLOSE TABLES ALL
USE tg3 IN 0 SELECT tg3 INDEX on ALLTRIM(makh) TO i3 USE b1 IN 0 SELECT b1 INDEX on ALLTRIM(makh) TO i2
SET RELATION TO ALLTRIM(makh) INTO tg3 replace ALL gtdt WITH gtdt+tg3.stien
*********************************************
USE b1 IN 0 SELECT b1
INDEX on ALLTRIM(makh) TO i2
REPORT FORM report\bcthdt PREVIEW
Sự kiện click của nút in
SET SAFETY OFF
ngay1=thisform.text1.Value ngay2=thisform.text2.value
CREATE TABLE b1 FREE (mahh c(12),tenhh c(50),makh c(20), tenkh c(60),
dt n(12,2),gtdt n(12,2))
USE hoadon IN 0 SELECT hoadon
INDEX on ALLTRIM(makh) TO i1 FOR ngay>=ngay1 .and. ngay<=ngay2 TOTAL ON ALLTRIM(makh) TO tg1 FIELDS tongtien
CLOSE TABLES ALL USE b1 IN 0 SELECT b1 APPEND FROM tg1 INDEX on ALLTRIM(makh) TO i2 USE tg1 IN 0 SELECT tg1 INDEX on ALLTRIM(makh) TO i3 SELECT b1
SET RELATION TO ALLTRIM(makh) INTO tg1 replace ALL dt WITH tg1.tongtien
CLOSE TABLES ALL USE table\khachhang IN 0 SELECT khachhang
INDEX on ALLTRIM(makh) TO i3 USE b1 IN 0
SELECT b1
INDEX on ALLTRIM(makh) TO i2
SET RELATION TO ALLTRIM(makh) INTO khachhang replace ALL tenkh WITH khachhang.tenkh
replace ALL gtdt WITH 0
*************************************************************
CLOSE TABLES ALL USE table\phieutc IN 0 SELECT phieutc
INDEX on ALLTRIM(makh) TO i3 FOR ngayphieu>=ngay1 .and.
ngayphieu<=ngay2 .and. loaiphieu=.F.
TOTAL ON ALLTRIM(makh) TO tg2 FIELDS sotien CLOSE TABLES ALL
USE tg2 IN 0 SELECT tg2 INDEX on ALLTRIM(makh) TO i3 USE b1 IN 0 SELECT b1 INDEX on ALLTRIM(makh) TO i2
SET RELATION TO ALLTRIM(makh) INTO tg2 replace ALL gtdt WITH gtdt+tg2.sotien
**************************
CLOSE TABLES ALL USE table\giaybao IN 0 SELECT giaybao
INDEX on ALLTRIM(makh) TO i3 FOR ngayct>=ngay1 .and.
TOTAL ON ALLTRIM(makh) TO tg3 FIELDS stien CLOSE TABLES ALL
USE tg3 IN 0 SELECT tg3 INDEX on ALLTRIM(makh) TO i3 USE b1 IN 0 SELECT b1 INDEX on ALLTRIM(makh) TO i2
SET RELATION TO ALLTRIM(makh) INTO tg3 replace ALL gtdt WITH gtdt+tg3.stien
CLOSE TABLES ALL
*********************************************
USE b1 IN 0 SELECT b1
INDEX on ALLTRIM(makh) TO i2