3.3. Xây dựng phần mềm kế toán doanh thu bán hàng tại Công ty TNHH FSI Việt Nam FSI Việt Nam
3.1.1 Hệ thống giao diện tương tác
Menu hệ thống
Menu sổ sách
Menu cập nhật
Menu số dư đầu kỳ
3.3.2.Thiết kế giao diện
Giao diện đăng ký
Giao diện danh mục khách hàng
Giao diện cập nhật,thêm mới Hóa đơn GTGT
Form thêm sửa xóa
Phiếu nhập kho From thêm sửa xóa
Phiếu xuất kho From thêm sửa xóa
Phiếu giảm giá hàng bán From thêm sửa xóa
Mẫu in
Hóa đơn trả lại hàng bán From thêm sửa xóa
Sổ sách:
Sổ chi tiết tài khoản Giao diện
Sổ cái tài khoản Giao diện
Các báo cáo
Báo cáo giảm trừ doanh thu
PHẦN KẾT LUẬN
Đối với nền kinh tê thị trường cạnh tranh như hiện nay thì việc ứng dụng tin học vào cơng tác quản lý là vấn đề quyết định sự sống còn của mỗi doanh nghiệp, trong đó hệ thống quản lý doanh thu bán hàng là vô cùng quan trọng.
Đề tài : Xây dựng phần mềm kế tốn doanh thu bán hàng tại Cơng ty TNHH Thương Mại Và Dịch Vụ Dược Phẩm CIC được thực hiện dựa trên nhu cầu thực tế với mong muốn giảm bớt khó khan trong việc quản lý doanh thu bán hàng. Trong q trình nghiên cứu và hồn thành đề tài, em đã đạt được một số kết quả sau:
- Khảo sát được hiện trạng hệ thống bán hàng tại Công ty TNHH Thương Mại Và Dịch Vụ Dược Phẩm CIC
- Phân tích chi tiết đề tài
- Xây dựng hoàn thành chỉnh cơ sở dữ liệu về quản lý bán hàng tại Công ty. - Xây dựng được một số module cơ bản của công tác quản lý doanh thu bán hàng tại công ty.
Do thời gian và lượng kiến thức có hạn, kinh nghiệm cịn nhiều hạn chế nên đề tài của em khơng thể tránh được những thiếu sót. Em rất mong nhận được sự góp ý nhiệt tình của các thầy cơ và các bạn để em có thể bổ sung, hoàn thiện đề tài hơn.
Một lần nữa em xin chân thành cảm ơn các thầy cô đã giúp đỡ em trong quán trình làm đồ án, cảm ơn các anh chị trong phịng tài chính kế tốn của Cơng ty TNHH Thương Mại Và Dịch Vụ Dược Phẩm CIC đã giúp em hiểu rõ hơn các nghiệp vụ kế toán. Đặc biệt, em xin chân thành cảm ơn cô giáo ThS. Đồng Thị Ngọc Lan đã trực tiếp hướng dẫn em hoàn thành đồ án.
DANH MỤC TÀI LIỆU THAM KHẢO
[1]. TS Vũ Bá Anh - Giáo trình Cơ sở dữ liệu II - Học viện Tài Chính
[2]. TS Vũ Bá Anh - Giáo trình Phân tích thiết kế Hệ thống thơng tin - Học viện Tài Chính
[3]. ThS Phan Phước Long – Bài giảng gốc Cơ sở dữ liệu III - Học viện Tài chính
[4]. TS Hà Văn Sang – Bài giảng gốc Cơ sở lập trình II - Học viện Tài Chính [5]. TS Nguyễn Hữu Xuân Trường – Bài giảng gốc Cơ sở lập trình III – Học viện Tài Chính
[6]. 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.
PHỤ LỤC
Phụ lục B: Một số mẫu chứng từ, mẫu sổ, mẫu báo cáo của Công ty TNHH Thương Mại Và Dịch Vụ Dược Phẩm CIC
Phụ lục C: Một số đoạn code cơ bản
MỘT SỐ ĐOẠN CODE CƠ BẢN Form Đăng ký using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using DevExpress.XtraEditors; using System.Data.SqlClient; namespace KeToan {
public partial class frmDangKy : DevexpressNVP.frmBase {
public frmDangKy() {
InitializeComponent();
foreach (Control control in this.Controls) {
SqlConnect.connect.ViewControls(control); }
cboRole.Properties.DataSource = SqlConnect.connect.GetTable("SELECT 1 AS Quyen, N'Toàn quyền' AS TenQuyen UNION ALL SELECT 2, N'Nhập liệu' UNION ALL SELECT 3, N'Xem báo cáo' ORDER BY Quyen");
cboRole.Properties.ValueMember = "Quyen"; cboRole.Properties.DisplayMember = "Quyen"; }
public void btnDangKy_Click(object sender, EventArgs e) {
if (txtUser.Text == "") {
txtUser.Focus(); return;
}
if (txtPassword.Text == "") {
MessageBox.Show("Mật khẩu không được để trống", "Thông báo"); txtPassword.Focus();
return; }
if (txtPassword2.Text != txtPassword.Text) {
MessageBox.Show("Xác nhận mật khẩu không đúng", "Thông Báo"); txtPassword2.Refresh(); txtPassword2.Focus(); return; } if (SqlConnect.connect.CheckPrimary("NguoiDung", "TenDN", txtUser.Text.Trim()) == false) {
string tentruong = "TenDN, MatKhau, TenNguoiDung, Quyen"; string giatri = "'" + txtUser.Text + "','" + txtPassword.Text + "',N'" + txtFullName.Text + "'," + cboRole.EditValue + "";
//"',N'"+txtquyen.Text+"'";
SqlConnect.connect.Insert("NguoiDung", tentruong, giatri, "TenDN", txtUser.Text.Trim(), true);
MessageBox.Show("Đăng kí thành cơng", "Thơng báo"); this.Close();
} else {
MessageBox.Show("Tên người dùng đã tồn tại", "Thông báo"); txtUser.Refresh(); txtPassword.Refresh(); txtPassword2.Refresh(); //txtquyen.Clear(); txtUser.Select(); } }
{ this.Close(); } } } Form Phiếu nhập using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using DevExpress.XtraGrid.Views.Base; namespace KeToan {
public partial class frmPhieuNhapEdit : DevexpressNVP.frmCatalogBase {
// Load dữ liệu khi sửa int isLoadEdit = 0;
public frmPhieuNhapEdit() {
InitializeComponent(); }
public void frmDMTKEdit_Load(object sender, EventArgs e) { // Load dữ liệu ngầm định base.LoadData(); isLoadEdit = 1; controls_EditValueChanged(null, null); isLoadEdit = 0;
SqlConnect.connect.GridLookUpEditData(cboMaKH, "DMKH", "MaKH, TenKH, MaSoThue", "MaKH", "MaKH");
SqlConnect.connect.GridLookUpEditData(cboMaKho, "DMKho", "MaKho, TenKho", "MaKho", "MaKho");
SqlConnect.connect.GridLookUpEditData(cboMaTK, "DMTK", "MaTK, TenTK", "MaTK", "MaTK");
SqlConnect.connect.GridLookUpEditData(cboMaHH, "DMHH", "MaHH, TenHH", "MaHH", "MaHH");
// Gán mã chứng từ txtMaCT.EditValue = SqlConnect.connect.maCT; txtMaCT.Visible = false; // Xử lý tự tăng số chứng từ if (SqlConnect.connect.isAdd == 1) txtSoCT.EditValue = SqlConnect.connect.CreateColKeyNew("PhieuNhap", "SoCT", SqlConnect.connect.maCT, 3); }
public override void Save() {
base.Save(); }
public override void grv_CellValueChanged(object sender, CellValueChangedEventArgs e)
{
base.grv_CellValueChanged(sender, e);
var editor = sender as DevExpress.XtraGrid.Views.Grid.GridView; if (e.Column.FieldName == "MaHH")
{
string s = SqlConnect.connect.GetTable("SELECT T1.TenHH FROM DMHH T1 WHERE MaHH = N'"
+ editor.GetRowCellValue(e.RowHandle, "MaHH") + "'").Rows[0][0].ToString();
editor.SetRowCellValue(e.RowHandle, "TenHH",
SqlConnect.connect.GetTable("SELECT T1.TenHH FROM DMHH T1 WHERE MaHH = N'" + editor.GetRowCellValue(e.RowHandle,"MaHH") + "'").Rows[0][0].ToString()); editor.SetRowCellValue(e.RowHandle, "DVT", SqlConnect.connect.GetTable("SELECT T1.DVT FROM DMHH T1 WHERE MaHH = N'"
+ editor.GetRowCellValue(e.RowHandle, "MaHH") + "'").Rows[0][0].ToString());
}
if (e.Column.FieldName == "SoLuong" || e.Column.FieldName == "DonGia") { editor.SetRowCellValue(e.RowHandle, "ThanhTien", Math.Round((Convert.ToDecimal(editor.GetRowCellValue(e.RowHandle, "SoLuong"))) * Convert.ToDecimal(editor.GetRowCellValue(e.RowHandle, "DonGia")), 0)); } }
public override void controls_EditValueChanged(object sender, EventArgs e) {
if(cboMaKH.ContainsFocus || isLoadEdit == 1) {
txtTenKH.EditValue = SqlConnect.connect.GetValue("SELECT TenKH FROM DMKH WHERE MaKH = N'"
+ cboMaKH.EditValue + "'");
txtDiaChi.EditValue = SqlConnect.connect.GetValue("SELECT DiaChi FROM DMKH WHERE MaKH = N'"
+ cboMaKH.EditValue + "'"); } } } } Form HDHH using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks;
using DevExpress.XtraGrid.Views.Base; namespace KeToan
{
public partial class frmHDHHEdit : DevexpressNVP.frmCatalogBase {
// Load dữ liệu khi sửa int isLoadEdit = 0; public frmHDHHEdit() {
InitializeComponent(); }
public void frmDMTKEdit_Load(object sender, EventArgs e) { // Load dữ liệu ngầm định base.LoadData(); isLoadEdit = 1; controls_EditValueChanged(null, null); isLoadEdit = 0;
// Load dữ liệu cho GridLookupEdit
SqlConnect.connect.GridLookUpEditData(cboMaKH, "DMKH", "MaKH, TenKH, MaSoThue", "MaKH", "MaKH");
SqlConnect.connect.GridLookUpEditData(cboMaTK, "DMTK", "MaTK, TenTK", "MaTK", "MaTK");
SqlConnect.connect.GridLookUpEditData(cboTKNoThanhToan, "DMTK", "MaTK, TenTK", "MaTK", "MaTK");
SqlConnect.connect.GridLookUpEditData(cboTKCoDoanhThu, "DMTK", "MaTK, TenTK", "MaTK", "MaTK");
SqlConnect.connect.GridLookUpEditData(cboTKChietKhau, "DMTK", "MaTK, TenTK", "MaTK", "MaTK");
SqlConnect.connect.GridLookUpEditData(cboTKCoThue, "DMTK", "MaTK, TenTK", "MaTK", "MaTK");
SqlConnect.connect.GridLookUpEditData(cboMaHH, "DMHH", "MaHH, TenHH", "MaHH", "MaHH");
// Gán mã chứng từ
txtMaCT.EditValue = SqlConnect.connect.maCT; txtMaCT.Visible = false;
// Xử lý tự tăng số chứng từ
txtSoCT.EditValue = SqlConnect.connect.CreateColKeyNew("HDHH", "SoCT", SqlConnect.connect.maCT, 3);
}
public override void Save() {
base.Save(); }
public override void grv_CellValueChanged(object sender, CellValueChangedEventArgs e)
{
base.grv_CellValueChanged(sender, e);
var editor = sender as DevExpress.XtraGrid.Views.Grid.GridView; if (e.Column.FieldName == "MaHH")
{
string s = SqlConnect.connect.GetTable("SELECT T1.TenHH FROM DMHH T1 WHERE MaHH = N'"
+ editor.GetRowCellValue(e.RowHandle, "MaHH") + "'").Rows[0][0].ToString();
editor.SetRowCellValue(e.RowHandle, "TenHH",
SqlConnect.connect.GetTable("SELECT T1.TenHH FROM DMHH T1 WHERE MaHH = N'" + editor.GetRowCellValue(e.RowHandle,"MaHH") + "'").Rows[0][0].ToString()); editor.SetRowCellValue(e.RowHandle, "DVT", SqlConnect.connect.GetTable("SELECT T1.DVT FROM DMHH T1 WHERE MaHH = N'" + editor.GetRowCellValue(e.RowHandle, "MaHH") + "'").Rows[0][0].ToString()); }
if (e.Column.FieldName == "SoLuong" || e.Column.FieldName == "DonGia") { editor.SetRowCellValue(e.RowHandle, "ThanhTien", Math.Round((Convert.ToDecimal(editor.GetRowCellValue(e.RowHandle, "SoLuong"))) * Convert.ToDecimal(editor.GetRowCellValue(e.RowHandle, "DonGia")), 0)); }
decimal tongtien = 0;
for (int i = 0; i < grview.RowCount - 1; i++) { decimal _d1 = Convert.ToDecimal(grview.GetRowCellValue(i, "ThanhTien")); tongtien = tongtien + _d1; ktrasua = 1; } if (ktrasua == 1) { calTienDoanhThu.EditValue = tongtien; //txtThue.EditValue = tongtien * Convert.ToDecimal(txtThue_Suat.EditValue)/100;
//txtTongtien.EditValue = tongtien + tongtien * Convert.ToDecimal(txtThue_Suat.EditValue)/100;
calTienCK.EditValue = tongtien * Convert.ToDecimal(calTyLeCK.EditValue) / 100;
calTienThue.EditValue = (tongtien - tongtien * Convert.ToDecimal(calTyLeCK.EditValue) / 100) * Convert.ToDecimal(calThueSuat.EditValue) / 100;
calTienThanhToan.EditValue = tongtien + ((tongtien - tongtien * Convert.ToDecimal(calTyLeCK.EditValue) / 100) *
Convert.ToDecimal(calThueSuat.EditValue) / 100) - (tongtien * Convert.ToDecimal(calTyLeCK.EditValue) / 100);
} }
public override void controls_EditValueChanged(object sender, EventArgs e) {
if(cboMaKH.ContainsFocus || isLoadEdit == 1) {
txtTenKH.EditValue = SqlConnect.connect.GetValue("SELECT TenKH FROM DMKH WHERE MaKH = N'"
+ cboMaKH.EditValue + "'");
txtDiaChi.EditValue = SqlConnect.connect.GetValue("SELECT DiaChi FROM DMKH WHERE MaKH = N'"
+ cboMaKH.EditValue + "'");
txtMaSoThue.EditValue = SqlConnect.connect.GetValue("SELECT MaSoThue FROM DMKH WHERE MaKH = N'"
+ cboMaKH.EditValue + "'"); }
} } }