SlideShare a Scribd company logo
1 of 40
MỤC LỤC
LỜI MỞ ĐẦU ............................................................................................................4
Chƣơng 1: TÌM HIỂU VỀ NGÔN NGỮ LẬP TRÌNH C# .......................................5
  1.1. Giới thiệu ngôn ngữ C# ..................................................................................5
   1.2. Kiểu dữ liệu, biến hằng ...................................................................................5
       1.2.1. Các kiểu dữ liệu .......................................................................................5
       1.2.2. Hằng .........................................................................................................6
   1.3. Các câu lệnh ....................................................................................................7
       1.3.1. Toán tử if ..................................................................................................7
       1.3.2. Câu lệnh switch ........................................................................................7
       1.3.3. Vòng lặp do..while ...................................................................................8
       1.3.4. Vòng lặp for .............................................................................................8
       1.3.5. Vòng lặp forreach ....................................................................................8
   1.4. Lớp ..................................................................................................................8
     1.4.1. Định nghĩa lớp .........................................................................................8
       1.4.2. Tạo các biến thành viên .........................................................................10
       1.4.3. Sử dụng các thành viên tĩnh (static member) ........................................10
       1.4.4. Hủy đối tƣợng ........................................................................................11
       1.4.5. Truyền tham số ......................................................................................13
    1.4.6. Nạp chồng phƣơng thức .........................................................................15
Chƣơng 2: KHẢO SÁT THỰC TRẠNG VÀ PHÂN TÍCH NGHIỆP VỤ .............16
   2.1. Đặt vấn đề .....................................................................................................16
   2.2. Giới thiệu doanh nghiệp................................................................................16
   2.3. Thực trạng công tác kế toán tại công ty cổ phần Hoàng Cầm ......................19
       2.3.1. Chứng từ sổ sách của công ty cổ phần Hoàng Cầm ..............................19
       2.3.2. Khái quát chung về CCDC tại công ty .................................................19
   2.4. Phƣơng pháp hạch toán CCDC .....................................................................22
Chƣơng 3: XÂY DỰNG PHÂN HỆ KẾ TOÁN TRONG CÔNG TY ....................25
   3.1. Biểu đồ phân cấp chức năng .........................................................................25

                                                              1
3.2. Biểu đồ mức đỉnh ..........................................................................................26
   3.3. Mô hình thực thể quan hệ .............................................................................27
   3.4.Thiết kế cơ sở dữ liệu.....................................................................................28
   3.5.Thiết kế giao diện...........................................................................................32
      3.5.1.Thiết kế form đăng nhập hệ thống ..........................................................32
      3.5.2. Thiết kế form hệ thống ...........................................................................33
      3.5.3. Cập nhật thông tin nhân viên .................................................................34
      3.5.4. Phiếu xuất công cụ dụng cụ ...................................................................35
   3.5.5. Phiếu điều chuyển công cụ dụng cụ......................................................36
TỔNG KẾT VÀ HƢỚNG PHÁT TRIỂN ...............................................................37
   1. Kết luận ............................................................................................................37
   2. Hƣớng phát triển ..............................................................................................37
NHẬN XÉT CỦA GIÁO VIÊN ..............................................................................38
NHẬN XÉT CỦA GIÁO VIÊN ..............................................................................39
TÀI LIỆU THAM KHẢO .......................................................................................40




                                                             2
DANH MỤC HÌNH ẢNH


STT       Tên hình

1     Hình 2.1: Sơ đồ tổ chức bộ máy quản lý

2     Hình 2.2: Tổ chức bộ máy quản lý kế toán tại công ty Hoàng
      Cầm

3     Hình 2.3: Sơ đồ hạch toán CCDC theo phƣơng pháp        kê
      khai thƣờng xuyên

4     Hình 2.4: Sơ đồ CCD hạch toán theo phƣơng pháp kiểm kê
      định kỳ

5     Hình 3.1: Biểu đồ phân cấp chức năng

6     Hình 3.2.Biểu đồ mức đỉnh

7     Hình 3.3: Sơ đồ liên kết

8     Hình 3.4: Giao diện form đăng nhập

9     Hình 3.5: Giao diện form hệ thống

10    Hình 3.6: Giao diện form nhân viên

11    Hình 3.7: Giao diện form xuất cộng cụ dụng cụ

12    Hình 3.8:Giao diện form điều chuyển công cụ dụng cụ




                          3
LỜI MỞĐẦU
          Trong những năm gần đây, công nghệ thông tin phát triển nhƣ vũ bão, có tác
dụng mạnh mẽ phục vụ đời sống, ngày càng thúc đẩy sự phát triển mạnh về kinh tế và
trở thành ngành mũi nhọn, vì vậy đảng và nhà nƣớc đang bắt đầu chú trọng đầu tƣ vào
phát triển ngành công nghệ thông tin.

          Tổ chức hạch toán kế toán, một bộ phận quan trọng của hệ thống công cụ quản
lý kinh tế, tài chính có vai trò tích cực trong việc quản lý điều hành và kiểm soát các hoạt
động kinh tế. Quy mô sản xuất xã hội ngày càng phát triển thì yêu cầu và phạm vi công
tác kế toán ngày càng mở rộng, vai trò và vị trí của công tác kế toán ngày càng cao.

          Đối với doanh nghiệp sản xuất thì yếu tố quyết định cơ bản để đảm bảo cho quá
trình sản xuất đƣợc tiến hành liên tục chính là nguyên vật liệu và công cụ dụng cụ. Đây là
yếu tố tiền đề để tạo nên hình thái vật chất của sản phẩm. Nó không chỉ ảnh hƣởng tới
quá trình sản xuất mà còn là nhân tố quyết định tới giá thành sản phẩm và công tác tài
chính của doanh nghiệp. Ngoài yếu tố thƣờng xuyên biến động từng ngày, từng giờ nên
việc tổ chức và hoạch toán tốt nguyên vật liệu và công cụ dụng cụ sẽ giúp cho nhà quản
trị đề ra các chính sách đúng đắn mang lại hiệu quả cho doanh nghiệp.

          Quá trình khảo sát công tác kế toán công ty cổ phần Hoàng Cầm em nhận
thấy công ty cần một phần mềm quản lý công cụ dụng cụ. Dựa vào những kiến thức đã
học em chọn đề tài xây dựng phân hệ kế toán công cụ dụng cụ cho công ty.

       Mục đích đề tài :

       -Tìm hiểu về các nghiêp vụ kế toán tài chính trong doanh nghiệp

       -Tìm hiểu về ngôn ngữ lập trình C#

       -Vận dụng vào xây dựng phân hệ kế toán công cụ dụng cụ trong công ty cổ phần
Hoàng Cầm.




                                             4
Chƣơng 1: TÌM HIỂU VỀ NGÔN NGỮ LẬP TRÌNH C#


1.1. Giới thiệu ngôn ngữ C#
     Ngôn ngữ C# là một ngôn ngữ đƣợc dẫn xuất từ C và C++, nhƣng nó đƣợc tạo từ
nền tảng phát triển hơn.Microsoft bắt đầu với công việc trong C và C++ và thêm vào
những đặc tính mới để làm cho ngôn ngữ này dễ sử dụng hơn.
        - C# là ngôn ngữ đơn giản.
        - C# là ngôn ngữ hƣớng đối tƣợng.
        - C# là ngôn ngữ mạnh mẽ và cũng mềm dẻo.
        - C# là ngôn ngữ ít từ khóa.
        - C# là ngôn ngữ hƣớng module.

1.2. Kiểu dữ liệu, biến hằng
1.2.1. Các kiểu dữ liệu

 Kiểu C#       Sốbyte     Kiểu                        Mô tả
                          .NET

 byte              1      Byte       Số nguyên dƣơng không dấu từ 0-255

 char              2      Char       Ký tự Unicode

 bool              1      Boolean Giá trị logic true/false

 sbyte             1      Sbyte      Số nguyên có dấu (từ-128 đến 127)

 short             2      Int16      Số nguyên có dấu giá trị từ -32768 đến 2767.

 ushort            2      Uịnt16 Số nguyên không dấu 0 – 65.535

 int               4      Int32      Số nguyên có dấu –2.147.483.647 và
                                     2.147.483.647


                                                5
uint             4       Uint32 Số nguyên không dấu 0 – .294.967.295

 float            4       Single    Kiểu dấu chấm động, giá trị xấp xỉ từ 3,4E-38 đến
                                    3,4E+38, với 7 chữ số có nghĩa..

 double           8       Double Kiểu dấu chấm động có độ chính xác gấp đôi,giá trị xấp
                                    xỉ từ1,7E-308đến1,7E+308,với 15,16 chữ số có nghĩa.

 decimal          8       Decimal Có độ chính xác đến28con sốvà giá trị thập phân, đƣợc
                                  dùng trong tính toán tài chính, kiểu này đòi hỏi phải có
                                    hậu tố“m”hay“M” theo sau giá trị.

 long             8       Int64     Kiểu số nguyên có dấu có giá trị trong khoảng:-
                                    9.223.370.036.854.775.808đến
                                    9.223.372.036.854.775.807

 ulong            8       Uint64 Số nguyên không dấu từ 0 đến 0xffffffffffffffff

Để khai báo một kiểu dữ liệu ta sẽ sử dụng cú pháp
         [Kiểu biến] [tên biến]= giá trị;
         hoặc [Kiểu biến] [tên biến];

1.2.2. Hằng
         - Giá trị hằng: Ta có một câu lệnh gán nhƣ sau: ví dụ x = 100;
      - Biểu tƣợng hằng: Gán một tên cho một giá trị hằng, để tạo một biểu tƣợng hằng
dung từ khóa const và cú pháp sau: <const><type><tên hằng> = <giá trị>;




                                               6
- Kiểu liệt kê: Kiểu liệt kê đơn giản là tập hợp các tên hằng có giá trị không thay
đổi(thƣờng đƣợc gọi là danh sách liệt kê).
      -Kiểu chuỗi ký tự: Kiểu dữ liệu chuỗi khá thân thiện với ngƣời lập trình trong bất
cứ ngôn ngữ lập trình nào,kiểu dữ liệu chuỗi lƣu giữ một mảng những ký tự. Để khai
báo một chuỗi chúng ta sử dụng từ khoá string tƣơng tự nhƣ cách tạo một thể hiện của bất
cứ đối tƣợng nào.

1.3. Các câu lệnh
1.3.1. Toán tử if
      -Câu lệnh:
            if(biểu thức điều kiện)


              <Khối lệnh thực hiện khi điều kiện đúng>


              [else


              <Khối lệnh thực hiện khi điều kiện sai>]

1.3.2. Câu lệnh switch
      -Cú pháp:
      switch(biểu thức điều kiện)

                      {

                            case<giá trị>:


                                      <Các câu lệnh thực hiện>


                      <lệnh nhảy>
                                 [default:


                                              7
<Các câu lệnh thực hiện mặc định>]

                      }


1.3.3. Vòng lặp do..while
      -Cú pháp: do
                      <Câu lệnh thực hiện>


                      while( điều kiện)



1.3.4. Vòng lặp for
      -Cú pháp:
      for ([ phầnkhởitạo]; [biểu thức điềukiện]; [bƣớc lặp])
                             <Câu lệnhthực hiện>

1.3.5. Vòng lặp forreach
       -Cú pháp:
                      foreach(<kiểutập hợp><têntruy cậpthành phần>in<tên tập hợp>)
                      <Cáccâulệnhthực hiện>

1.4. Lớp
1.4.1. Định nghĩa lớp
      Để định nghĩa một kiểu dữ liệu mới hay một lớp đầu tiên phải khai báo rồi sau đó
mới định nghĩa các thuộc tính và phƣơng thức của kiểu dữ liệu đó. Khai báo một lớp
bằng cách sử dụng từ khoá class. Cú pháp đầy đủ của khai báo một lớp nhƣ sau:
[Thuộc tính] [Bổ sung truy cập] class <Định danh lớp> [: Lớp cơ sở]
     {<Phần thân của lớp: bao gồm định nghĩa các thuộc tính và phƣơng thức hành
động>}
       Thành phần thuộc tính của đối tƣợng sẽ đƣợc trình bày chi tiết trong chƣơng sau,
còn thành phần bổ sung truy cập cũng sẽ đƣợc trình bày tiếp ngay mục dƣới. Định danh
lớp chính là tên của lớp do ngƣời xây dựng chƣơng trình tạo ra. Lớp cơ sở là lớp mà đối

                                             8
tƣợng sẽ kế thừa để phát triển ta sẽ bàn sau.Tất cả các thành viên của lớp đƣợc định nghĩa
bên trong thân của lớp, phần thân này sẽ đƣợc bao bọc bởi hai dấu ({}).
+ Thuộc tính truy cập
          Thuộc tính truy cập quyết định khả năng các phƣơng thức của lớp bao gồm việc
các phƣơng thức của lớp khác có thể nhìn thấy và sử dụng các biến thành viên hay những
phƣơng thức bên trong lớp.



  Thuộc
tính Giới
                                  Thuộc tính Giới hạn truy cập
hạn truy
   cập

Public         Không hạn chế. Những thành viên đƣợc đánh dấu public có thể đƣợc
               dùng bởi bất kì các phƣơng thức của lớp.

private        Thành viên trong một lớp A đƣợc đánh dấu là private thì chỉ đƣợc truy
               cập bởi các phƣơng thức của lớp A.

protected      Thành viên trong lớp A đƣợc đánh dấu là protected thì chỉ đƣợc các
               phƣơng thức bên trong lớp A và những phƣơng thức dẫn xuất từ lớp A
               truy cập.

internal       Thành viên trong lớp A đƣợc đánh dấu là internal thì đƣợc truy cập
               bởi những phƣơng thức của bất cứ lớp nào trong cùng khối hợp ngữ
               với A.

protected      Thành viên trong lớp A đƣợc đánh dấu là protectedinternal đƣợc truy
internal       cập bởi các phƣơng thức của lớp A, các phƣơng thức của lớp dẫn xuất
               của A, và bất cứ lớp nào trong cùng khối hợp ngữ của A.




                                             9
+ Tham số của phương thức
      Trong các ngôn ngữ lập trình thì tham số và đối mục đƣợc xem là nhƣ nhau, cũng
tƣơng tự khi đang nói về ngôn ngữ hƣớng đối tƣợng thì ta gọi một hàm là một phƣơng
thức hay hành vi. Tất cả các tên này điều tƣơng đồng với nhau. Một phƣơng thức có thể
lấy bất kỳ số lƣợng tham số nào, các tham số này theo sau bởi tên của phƣơng thức và
đƣợc bao bọc bên trong dấu ngoặc tròn ().
      void Method( int param1, button param2)
      { //...
      }

1.4.2. Tạo các biến thành viên
       Các biến thành viên có thể đƣợc khởi tạo trực tiếp khi khai báo trong quá trình
khởi tạo, thay vì phải thực hiện việc khởi tạo các biến trong bộ khởi dựng. Để thực hiện
việc khởi tạo này rất đơn giản là việc sử dụng phép gán giá trị cho một biến:
      private int Giay = 30; // Khởi tạo
      Việc khởi tạo biến thành viên sẽ rất có ý nghĩa, vì khi xác định giá trị khởi tạo nhƣ
vậy thì biến sẽ không nhận giá trị mặc định mà trình biên dịch cung cấp.Khi đó nếu các
biến này không đƣợc gán lại trong các phƣơng thức khởi dựng thì nó sẽ có giá trị mà ta
đã khởi tạo.

1.4.3. Sử dụng các thành viên tĩnh (static member)
       Những thuộc tính và phƣơng thức trong một lớp có thể là những thành viên thể
hiện (instance members) hay những thành viên tĩnh (static members). Những thành viên
thể hiện hay thành viên của đối tƣợng liên quan đến thể hiện của một kiểu dữ liệu. Trong
khi thành viên tĩnh đƣợc xem nhƣ một phần của lớp.Chúng ta có thể truy cập đến thành
viên tĩnh của một lớp thông qua tên lớp đã đƣợc khai báo biến thành viên tĩnh thông qua
một thể hiện, nếu chúng ta cố làm điều đó thì trình biên dịch C# sẽ báo lỗi, điều này khác
với ngôn ngữ C++.Phƣơng thức tĩnh hoạt động ít nhiều giống nhƣ phƣơng thức toàn cục,
ta truy cập phƣơng thức này mà không cần phải tạo bất cứ thể hiện hay đối tƣợng của lớp
chứa phƣơng thức toàn cục.




                                           10
1.4.3.1. Gọi một phương thức tĩnh
        Phƣơng thức tĩnh không thể truy cập trực tiếp đến các thành viên không có tính
chất tĩnh (nonstatic). Nhƣ vậy Main() không thể gọi một phƣơng thức không tĩnh bên
trong lớp. Sau khi tạo thì có thể thông qua đối tƣợng ta có thể gọi đƣợc đƣợc phƣơng
thức.
1.4.3.2. Sử dụng bộ khởi dựng tĩnh
        Nếu một lớp khai báo một bộ khởi tạo tĩnh (static constructor), thì đƣợc đảm bảo
rằng phƣơng thức khởi dựng tĩnh này sẽ đƣợc thực hiện trƣớc bất cứ thể hiện nào của lớp
đƣợc tạo ra.
        Lƣu ý rằng ở đây không có bất cứ thuộc tính truy cập nào nhƣ public trƣớc bộ
khởi dựng tĩnh. Thuộc tính truy cập không cho phép theo sau một phƣơng thức khởi dựng
tĩnh. Do phƣơng thức tĩnh nên không thể truy cập bất cứ biến thành viên không thuộc loại
tĩnh, vì vậy biến thành viên Name bên trên cũng phải đƣợc khai báo là tĩnh:
        Vd: private static string Ten;
1.4.3.3. Sử dụng bộ khởi dựng private
        Nhƣ đã nói ngôn ngữ C# không có phƣơng thức toàn cục và hằng số toàn cục. Do
vậy chúng ta có thể tạo ra những lớp tiện ích nhỏ chỉ để chứa các phƣơng thức tĩnh. Cách
thực hiện này luôn có hai mặt tốt và không tốt.Nếu chúng ta tạo một lớp tiện ích nhƣ vậy
và không muốn bất cứ một thể hiện nào đƣợc tạo ra.Để ngăn ngừa việc tạo bất cứ thể
hiện của lớp ta tạo ra bộ khởi dựng không có tham số và không làm gì cả, tức là bên trong
thân của phƣơng thức rỗng, và thêm vào đó phƣơng thức này đƣợc đánh dầu là private.
Do không có bộ khởi dựng public, nên tkhông thể tạo ra bất cứ thể hiện nào của lớp đó.

1.4.4. Hủy đối tượng
        Ngôn ngữ C# cung cấp cơ chế thu dọn(garbage collection) và do vậy không cần
phải khai báo tƣờng minh các phƣơng thức hủy. Tuy nhiên, khi làm việc với các đoạn mã
không đƣợc quản lý thì cần phải khai báo tƣờng minh các phƣơng thức hủy để giải phóng
các tài nguyên.
      C# cung cấp ngầm định một phƣơng thức để thực hiện điều khiển công việc này,
phƣơng thức đó là Finalize() hay còn gọi là bộ kết thúc. Phƣơng thức Finalize này sẽ
đƣợc gọi bởi cơ chế thu dọn khi đối tƣợng bị hủy.

                                           11
Phƣơng thức kết thúc chỉ giải phóng các tài nguyên mà đối tƣợng nắm giữ, và
không tham chiếu đến các đối tƣợng khác. Nếu với những đoạn mã bình thƣờng tức là
chứa các tham chiếu kiểm soát đƣợc thì không cần thiết phải tạo và thực thi phƣơng thức
Finalize(). Chúng ta chỉ làm điều này khi xử lý các tài nguyên không kiểm soát đƣợc.
Chúng ta không bao giờ gọi một phƣơng thức Finalize() của một đối tƣợng một cách trực
tiếp, ngoại trừ gọi phƣơng thức này của lớp cơ sở khi ở bên trong phƣơng thức Finalize()
của chúng ta. Trình thu dọn sẽ thực hiện việc gọi Finalize() cho chúng ta.
1.4.4.1. Bộ hủy của C#
      Cú pháp phƣơng thức hủy trong ngôn ngữ C# cũng giống nhƣ trong ngôn ngữ
C++.Nhƣng về hành động cụ thể chúng có nhiều điểm khác nhau. Ta khao báo một
phƣơng thức hủy trong C# nhƣ sau:~Class1() {}
Tuy nhiên, trong ngôn ngữ C# thì cú pháp khai báo trên là một shortcut liên kết đến một
phƣơng thức kết thúc Finalize đƣợc kết với lớp cơ sở, do vậy khi viết
      ~Class1()
             {// Thực hiện một số công việc}
      Cũng tƣơng tự nhƣ viết :
      Class1.Finalize()
             {// Thực hiện một số công việc
                    base.Finalize();}
       Do sự tƣơng tự nhƣ trên nên khả năng dẫn đến sự lộn xộn nhầm lẫn là không tránh
khỏi, nên chúng ta phải tránh viết các phƣơng thức hủy và viết các phƣơng thức Finalize
tƣờng minh nếu có thể đƣợc.
1.4.4.2. Phương thức Dispose
       Nhƣ chúng ta đã biết thì việc gọi một phƣơng thức kết thúc Finalize trong C# là
không hợp lệ, vì phƣơng thức này dành cho bộ thu dọn thực hiện. Nếu chúng ta xử lý các
tài nguyên không kiểm soát nhƣ xử lý các handle của tập tin và ta muốn đƣợc đóng hay
giải phóng nhanh chóng bất cứ lúc nào, ta có thực thi giao diện IDisposable. Giao diện
IDisposable yêu cầu những thành phần thực thi của nó định nghĩa một phƣơng thức tên là
Dispose() để thực hiện công việc dọn dẹp mà ta yêu cầu. Ý nghĩa của phƣơng thức

                                          12
Dispose là cho phép chƣơng trình thực hiện các công việc # dọn dẹp hay giải phóng tài
nguyên mong muốn mà không phải chờ cho đến khi phƣơng thức Finalize() đƣợc gọi.
Khi chúng ta cung cấp một phƣơng thức Dispose thì phải ngƣng bộ thu dọn gọi phƣơng
thức Finalize() trong đối tƣợng của chúng ta. Để ngƣng bộ thu dọn, chúng ta gọi một
phƣơng thức tĩnh của lớp GC (garbage collector) là GC.SuppressFinalize() và truyền
tham số là tham chiếu this của đối tƣợng. Và sau đó phƣơng thức Finalize() sử dụng để
gọi phƣơng thức Dispose() nhƣ đoạn mã sau:
      base.Finalize();
1.4.4.3 Phương thức Close
       Khi xây dựng các đối tƣợng, chúng ta có muốn cung cấp cho ngƣời sử dụng
phƣơng thức Close(), vì phƣơng thức Close có vẻ tự nhiên hơn phƣơng thức Dispose
trong các đối tƣợng có liên quan đến xử lý tập tin. Ta có thể xây dựng phƣơng thức
Dispose() với thuộc tính là private và phƣơng thức Close() với thuộc tính public. Trong
phƣơng thức Close() đơn giản là gọi thực hiện phƣơng thức Dispose().
1.4.4.4 Câu lệnh using
      Khi xây dựng các đối tƣợng chúng ta không thể chắc chắn đƣợc rằng ngƣời sử
dụng có thể gọi hàm Dispose(). Và cũng không kiểm soát đƣợc lúc nào thì bộ thu dọn GC
thực hiện việc dọn dẹp. Do đó để cung cấp khả năng mạnh hơn để kiểm soát việc giải
phóng tài nguyên thì C# đƣa ra cú pháp chỉ dẫn using, cú pháp này đảm bảo phƣơng thức
Dispose() sẽ đƣợc gọi sớm nhất có thể đƣợc. Ý tƣởng là khai báo các đối tƣợng với cú
pháp using và sau đó tạo một phạm vi hoạt động cho các đối tƣợng này trong khối đƣợc
bao bởi dấu ({}). Khi khối phạm vi này kết thúc, thì phƣơng thức Dispose() của đối
tƣợng sẽ đƣợc gọi một cách tự động.

1.4.5. Truyền tham số
      Tham số có kiểu dữ liệu là giá trị thì sẽ đƣợc truyền giá trị vào cho phƣơng
thức.Điều này có nghĩa rằng khi một đối tƣợng có kiểu là giá trị đƣợc truyền vào cho một
phƣơng thức, thì có một bản sao chép đối tƣợng đó đƣợc tạo ra bên trong phƣơng
thức.Một khi phƣơng thức đƣợc thực hiện xong thì đối tƣợng sao chép này sẽ đƣợc
hủy.Tuy nhiên, đây chỉ là trƣờng hợp bình thƣờng, ngôn ngữ C# còn cung cấp khả năng
cho phép ta truyền các đối tƣợng có kiểu giá trị dƣới hình thức là tham chiếu. Ngôn ngữ
C# đƣa ra một bổ sung tham số là ref cho phép truyền các đối tƣợng giá trị vào trong

                                          13
phƣơng thức theo kiểu tham chiếu. Và tham số bổ sung out trong trƣờng hợp muốn
truyền dƣới dạng tham chiếu mà không cần phải khởi tạo giá trị ban đầu cho tham số
truyền. Ngoài ra ngôn ngữ C# còn hỗ trợ bổ sung params cho phép phƣơng thức chấp
nhận nhiều số lƣợng các tham số.
+ Truyền tham chiếu
       Những phƣơng thức chỉ có thể trả về duy nhất một giá trị, mặc dù giá trị này có
thể là một tập hợp các giá trị.Nếu chúng ta muốn phƣơng thức trả về nhiều hơn một giá
trị thì cách thực hiện là tạo các tham số dƣới hình thức tham chiếu.Khi đó trong phƣơng
thức ta sẽ xử lý và gán các giá trị mới cho các tham số tham chiếu này, kết quả là sau khi
phƣơng thức thực hiện xong ta dùng các tham số truyền vào nhƣ là các kết quả trả
về.Cuối cùng khi biên dịch lại chƣơng trình ta đƣợc kết quả đúng nhƣ yêu cầu.Bằng việc
khai báo tham số tham chiếu, trình biên dịch sẽ truyền các tham số dƣới dạng các tham
chiếu, thay cho việc tạo ra một bản sao chép các tham số này. Khi đó các tham số bên
trong GetTime() sẽ tham chiếu đến cùng biến đã đƣợc khai báo trong hàm Main(). Nhƣ
vậy mọi sự thay đổi với các biến này điều có hiệu lực tƣơng tự nhƣ là thay đổi trong hàm
Main().
      Tóm lại, cơ chế truyền tham số dạng tham chiếu sẽ thực hiện trên chính đối tƣợng
đƣa vào.Còn cơ chế truyền tham số giá trị thì sẽ tạo ra các bản sao các đối tƣợng đƣợc
truyền vào, do đó mọi thay đổi bên trong phƣơng thức không làm ảnh hƣởng đến các đối
tƣợng đƣợc truyền vào dƣới dạng giá trị.
+ Truyền tham chiếu với biến chưa khởi tạo
       Ngôn ngữ C# bắt buộc phải thực hiện một phép gán cho biến trƣớc khi sử dụng,
do đó khi khai báo một biến nhƣ kiểu cơ bản thì trƣớc khi có lệnh nào sử dụng các biến
này thì phải có lệnh thực hiện việc gán giá trị xác định cho biến. Để mở rộng cho yêu cầu
trong trƣờng hợp này ngôn ngữ C# cung cấp thêm một bổ sung tham chiếu là out. Khi sử
dụng tham chiếu out thì yêu cầu bắt buộc phải khởi tạo các tham số tham chiếu đƣợc bỏ
qua. Nhƣ các tham số trong phƣơng thức GetTime(), các tham số này không cung cấp bất
cứ thông tin nào cho phƣơng thức mà chỉ đơn giản là cơ chế nhận thông tin và đƣa ra bên
ngoài. Do vậy ta có thể đánh dấu tất cả các tham số tham chiếu này là out, khi đó ta sẽ
giảm đƣợc công việc phải khởi tạo các biến này trƣớc khi đƣa vào phƣơng thức.



                                           14
Lƣu ý là bên trong phƣơng thức có các tham số tham chiếu out thì các tham số này
phải đƣợc gán giá trị trƣớc khi trả về

1.4.6. Nạp chồng phương thức
       Thông thƣờng khi xây dựng các lớp, ta có mong muốn là tạo ra nhiều hàm có cùng
tên.Cũng nhƣ hầu hết trong các ví dụ trƣớc thì các lớp điều có nhiều hơn một phƣơng
thức khởi dựng. Nhƣ trong lớp Time có các phƣơng thức khởi dựng nhận các tham số
khác nhau, nhƣ tham số là đối tƣợng DateTime, hay tham số có thể đƣợc tùy chọn để
thiết lập các giá trị của các biến thành viên thông qua các tham số nguyên.

       Tóm lại ta có thể xây dựng nhiều các phƣơng thức cùng tên nhƣng nhận các tham
số khác nhau.Chức năng này đƣợc gọi là nạp chồng phƣơng thức.Một ký hiệu (signature)
của một phƣơng thức đƣợc định nghĩa nhƣ tên của phƣơng thức cùng với danh sách tham
số của phƣơng thức. Hai phƣơng thức khác nhau khi ký hiệu của chúng khác là khác nhau
tức là khác nhau khi tên phƣơng thức khác nhau hay danh sách tham số khác nhau. Danh
sách tham số đƣợc xem là khác nhau bởi số lƣợng các tham số hoặc là kiểu dữ liệu của
tham số.

       Khi thực hiện nạp chồng một phƣơng thức, bắt buộc chúng ta phải thay đổi ký
hiệu của phƣơng thức, số tham số, hay kiểu dữ liệu của tham số. Chúng ta cũng có thể
toàn quyền thay đổi giá trị trả về, nhƣng đây là tùy chọn.Nếu chỉ thay đổi giá trị trả về thì
không phải nạp chồng phƣơng thức mà khi đó hai phƣơng thức khác nhau, và nếu tạo ra
hai phƣơng thức cùng ký hiệu nhƣng khác nhau kiểu giá trị trả về sẽ gây lỗi biên dịch.




                                             15
Chƣơng 2: KHẢO SÁT THỰC TRẠNG VÀ PHÂN TÍCH NGHIỆP VỤ



2.1. Đặ t vấ n đề
          Trong các doanh nghiệp sản xuất vật chất, khoản mục chi phí nguyên vật liệu-
công cụ dụng cụ chiếm một tỷ trọng lớn trong toàn bộ chi phí của doanh nghiệp, chỉ cần
một biến động nhỏ về chi phí nguyên vật liệu- công cụ dụng cụ cũng làm ảnh hƣởng đáng
kể đến giá thành sản phẩm, ảnh hƣởng đến thu nhập của doanh nghiệp. Vì vậy bên cạnh
vấn đề trọng tâm là kế toán tập hợp chi phí và tính giá thành, thì tổ chức công tác kế toán
nguyên vật liệu- công cụ dụng cụ cũng là một vấn đề đang đƣợc các doanh nghiệp quan
tâm trong điều kiện hiện nay.

         Công ty cổ phần Hoàng Cầm là một công ty xây dựng lớn với đặc điểm lƣợng
công cụ dụng cụ sử dụng vào các công trình lại khá nhiều thì vấn đề tiết kiệm triệt để có
thể coi là biện pháp hữu hiệu để giảm giá thành, tăng lợi nhuận cho công ty. Vì vậy công
ty cần có một phần mềm kế toán để quản lý công cụ dụng cụ.

2.2. Giới thiệ u doanh nghiệ p
      - Tên doanh nghiệp:

      Công ty cổ phần Hoàng Cầm

      - Địa chỉ: - Số 09 ngõ 3 Đƣờng Lê Trọng Tấn – Phƣờng Quang Trung –Thành phố
Hà Đông - Tỉnh Hà Tây

              Điện thoại : 0343.510828 / 091.2329627 / 091.3539408
              Fax : 0373– 3849424
             Tài khoản số: 102010000239329
             Mở tại Ngân hàng Công thƣơng Quang Trung Hà Nội.
              Ma số thuế: 050415242
              Đƣợc cấp giấy đăng ký kinh doanh số 0303000033.
              Vốn pháp định: 10.000.000.000 đồng ( Mƣời tỷ đồng ).


                                            16
-Loại hình doanh nghiệp: công ty cổ phần

      -Ngành nghề đăng kí kinh doanh:

            Xây dựng nhà các loại
            Xây dựng công trình đƣờng sắt và đƣờng bộ
            Xây dựng công trình công ích
            Xây dựng công trình kỹ thuật dân dụng khác
            Lắp đặt hệ thống cấp nƣớc, thoát nƣớc, lò sƣởi và điều hòa không khí, lắp
đặt hệ thống xây dựng khác , hoàn thiện công trình xây dựng
            Lắp đặt máy móc thiết bị công nghiệp

      -Sơ đồ tổ chức bộ máy quản lý




                           Hình 2.1: Sơ đồ tổ chức bộ máy quản lý
      Chức năng của các phòng ban:

                                          17
+Phòng hành chính : tham mƣu cho giám đốc về công tác xử lý, sử dụng lao động,
an toàn lao động, quản lý hồ sơ, quản lý con dấu của công ty. Phụ trách công tác thi đua
khen thƣởng, bảo vệ tài sản của công ty,…
      +Phòng tài chính kế toán: giúp giám đốc về công tác sử dụng vốn và tài sản, tổ
chức hạch toán toàn bộ quá trình sản xuất kinh doanh, lập báo cáo tài chính, thực hiện
chức năng giám sát bằng tiền trong mọi hoạt động sản xuất kinh doanh của công ty…
      +Phòng kế hoạch và đầu tƣ: lập các kế hoạch, thiết kế các phƣơng án đầu tƣ hiệu
quả, đƣa ra các dự đoán về mức chi phí công ty cần để đầu tƣ….
      +Phòng quản lý dự án: giúp giám đốc giám sát các dự án đang thực thi và báo cáo
những dự án hoàn thành, đề xuất những dự án mới có hiệu quả….

      -Tổ chức bộ máy kế toán tại công ty cổ phần Hoàng Cầm




      Hình 2.2: Tổ chức bộ máy quản kế toán tại công ty Hoàng Cầm


                                            18
2.3. Thực trạ ng công tác kế toán tạ i công ty cổ phầ n Hoàng Cầ m
2.3.1. Chứng từ sổ sách của công ty cổ phầ n Hoàng Cầ m
      - Phiếu nhập kho (MS S01-VT)

      - Hóa đơn giá trị gia tăng (MS 01GTKT-3LL)

      - Phiếu xuất kho (MS S02-VT)

      - Bảng phân bổ vật liệu CCDC

      - Thẻ kho (MS S12-DN)

      - Sổ chi tiết vật liệu CCDC (MS S10-DN)

      - Bảng tổng hợp nhập – xuất – tồn vật liệu CCDC

      - Sổ chi tiết thanh toán với ngƣời bán (MS S31-DN)

      - Sổ nhật ky mua hàng (MS S03a3-DN)

      - Sổ nhật ký chung (MS 03a-DN)

      - Sổ cái NVL_CCDC(MS SO3V_DN)

2.3.2. Khái quát chung về CCDC tạ i công ty
      2.3.2.1.Khái niệm

       CCDC trong xây dựng công ty cổ phần Hoàng Cầm là những tƣ liêu lao động có
giá trị nhỏ hơn 10 triệu đồng và thời gian sử dụng dƣới một năm thì gọi là công cụ dụng
cụ. Ví dụ nhƣ các loại giàn ván khuôn, máy khoan, máy cắt sắt, các loại quần áo và mũ
chuyên dụng để làm việc.

      2.3.2.2.Phân loại CCDC

       Căn cứ vào yêu cầu quản lý và hạch toán chi tiết CCDC, đƣợc chia thành:

      -Các loại quần áo và mũ chuyên dụng cho hoạt động xây lắp để làm việc

      -Các loại máy khoan, máy cắt sắt, máy đầm…

      -Các loại cuốc xẻng, bay, dao xây,…

                                          19
2.3.2.3.Tính giá CCDC nhập kho

       Giá thực tế CCDC nhập kho bao gồm giá mua ghi trên hóa đơn, các khoản thuế
không đƣợc hoàn lại, chi phí thu mua, giảm giá hàng mua, hàng mua bị trả lại,… Đối với
CCDC xuất kho sẽ xử lý vào từng trƣờng hợp riêng.

       2.3.2.4.Hạch toán CCDC tại công ty

          Chứng từ sử dụng gồm: hóa đơn giá trị gia tăng, phiếu nhập kho, phiếu
xuất kho, quy trình luân chuyển phiếu nhập kho-phiếu xuất kho.

        Thủ tục nhập kho, xuất kho CCDC tai công ty

              Thủ tục chứng từ nhập kho CCDC: Quy trình luân chuyển phiếu nhập kho:
Theo quy định tất cả CCDC khi về đến công ty thì đều phải làm thủ tục kiểm nhận và
nhập kho. Khi nhận đƣợc hóa đơn của ngƣời bán hoặc của nhân viên mua CCDC mang
về, ban kiểm nghiệm của công ty sẽ đối chiếu với kế hoạch thu mua và kiểm tra số lƣợng,
chất lƣợng, quy cách sản xuất của CCDC để nhập kho.

       - Căn cứ vào hóa đơn thuế giá trị gia tăng kế toán lập phiếu nhập kho theo (MS01-
VT) phiếu nhập kho phải có đầy đủ chữ kí của kế toán trƣởng và thủ kho mới hợp lệ.

       - Phiếu nhập kho CCDC đƣợc lập thành 3 liên đặt giấy than viết một lần trong đó:
liên 1 lƣu tại quyển, liên 2 giao cho ngƣời nhập hàng, liên 3 dùng để luân chuyển và ghi
sổ kế toán.

       - Ngƣời lập phiếu nhập kho ghi tên chủng loại, quy cách số lƣợng theo chứng từ.

               Thủ tục xuất kho CCDC : Quy trình luân chuyển phiếu xuất khi có nhu
cầu sử dụng CC DC, các đội trƣởng lập phiếu yêu cầu xin lĩnh vật tƣ gửi lên phòng kế
hoạch và đầu tƣ, phòng kế hoạch và đấu tƣ xem xét kế hoạch sản xuất và định mức tiêu
hao CCDC để duyệt phiếu yêu cầu xin lĩnh vật tƣ. Nếu CCDC có giá trị lớn thi phải qua
ban giám đốc công ty xét duyệt. Nếu là CCDC xuất kho theo định kì thì không cần phải
qua xét duyệt của ban lãnh đạo công ty. Sau đó phòng thiết bị vật tƣ sẽ lập phiếu xuất kho



                                            20
cho thủ kho, thủ kho CCDC ghi thẻ kho, kí phiếu xuất kho chuyển cho kế toán ghi sổ và
bảo quản lƣu trữ.

      - Phiếu xuất kho theo (MS02-VT), phiếu này do cán bộ phòng cung ứng lập thành
3 liên, đặt lên giấy than viết 1 lần trong đó: liên 1 lƣu tại quyển, liên 2 giao cho ngƣời
nhận hàng, liên 3 giao cho thủ kho để vào thẻ kho sau đó chuyển lên phòng kế toán để
làm căn cứ ghi sổ.

      - Trên phiếu xuất kho ngƣời lập phiếu ghi cột tên chủng loại, quy cách, số lƣợng
xuất theo yêu cầu, thủ kho ghi cột thực xuất, kế toán ghi cột đơn giá và thành tiền. Phiếu
xuất kho phải ghi chép đầy đủ, rõ ràng và chính xác, không tẩy xóa, đầy đủ số lƣợng giá
trị CCDC và có đầy đủ chữ ký của ngƣời xuất.

       Bảng phân bổ CCDC

      - Dùng để phản ánh tổng giá tị xuất kho trong tháng và phân bổ giá trị CCDC xuất
dùng cho các đối tƣợng sử dụng hàng tháng. Bảng này dùng để phản ánh phân bổ giá trị
xuất dung một lần có giá trị lớn, thời gian dƣới một năm hoặc trên một năm đƣợc phản
ánh vào tài khoản 142 hoặc 242.

      - Bảng CCDC gồm các cột dọc phản ánh CCDc xuất dung trong tháng, các dòng
ngang phản ánh đối tƣợng sử dụng CCDC.

      - Giá trị CCDC xuất kho trong tháng phản ánh trong bảng phân bổ CCDC theo
từng đối tƣợng đƣợc dùng để làm căn cứ ghi vào bên có các tài khoản 153, 142 hoặc 242.

      Kế toán tổng hợp CCDC

       - Sổ nhật kí chung: Hàng ngày căn cứ vào các hóa đơn giá trị gia tăng, phiếu
nhập kho, phiếu nhập kho CCDC kế toán ghi sổ các nghiệp vụ kinh tế phát sinh vào sổ
nhật ký chung. Sổ nhật ký chung là sổ kế toan tổng hợp dùng để ghi chép các nghiệpvụ
kinh tế phát sinh theo trình tự thời gian đồng thời phản ánh theo quan hệ đối ứng tài
khoản, các số liệu trên sổ nhật ký chung đƣợc dùng làm căn cứ để ghi sổ cái TK 153.




                                           21
- Sổ nhật ký mua hàng: sổ nhật ký mua hàng là sổ ghi chép các nghiệp vụ mua
hàng của đơn vị. Cơ sở lập sổ mua hàng căn cứ hóa đơn giá trị gia tăng, mối nghiệp vụ
phát sinh nhập hàng đƣợc ghi vào một dòng trên nhật ký mua hàng.

      - Sổ cái TK 153: Cơ sở lập sổ căn cứ vào nhật ký chung hoặc nhật ký mua hàng kế
toán phản ánh vào sổ cái của TK 153 và cuối tháng cộng sổ cái các tài khoản để ghi vào
bảng cân đối số phát sinh.

      Đánh giá hệ thống kế toán trong công ty

      Ƣu điểm:

      -Các chứng từ kế toán kế toán của công ty cập nhật đầy đủ, kịp thời đảm bảo tính
pháp lý, tổ chức luân chuyển chứng từ khoa học thuận tiện cho việc ghi sổ kế toán.

      -Duy trì chế độ báo cáo tháng đối với những hoạt động phân tán.

      -Quy trình kế toán cũng nhƣ quản lý đã tuân thủ các quy định của cấp trên và nhà
nƣớc.Song bên cạnh những ƣu điểm cũng cần có những vấn đề cần bổ sung.

      Nhƣợc điểm:

      -Khi CCDC mua về để phục vụ cho việc thi công các hạng mục công trình thì thủ
kho vẫn tiến hành làm thủ tục nhập kho và xuất kho theo quy định hiện hành.Nhƣng trên
thực tế thì vật liệu CCDC mua về đƣợc chuyển thẳng đến các công trình đƣợc xây dựng
mà không nhập vào kho của công ty.

      -Các loại giấy chứng từ gốc nhƣ hóa đơn giá trị gia tăng, mua CCDC, phiếu nhập
kho, phiếu xuất kho, sổ chi tiết CCDC đƣợc kế toán dƣới đội tập hợp tình hình nhập xuất
trong tháng rồi mới chuyển chứng từ gốc về phòng kế toán của công ty.

      -Vật liêu CCDC mua về thì ban kiểm vật tƣ của công ty không kiểm tra đƣợc số
lƣợng, chủng loại, quy cách và chất lƣợng vật tƣ CCDC mà kế toán vật tƣ dƣới đội làm
thủ tục nhập kho và kiểm tra chất lƣợng quy cách, chủng loại, số lƣợng CCDC.

2.4. Phương pháp hạ ch toán CCDC


                                           22
Hình 2.3.Sơ đồ hạch toán CCDC theo phƣơng pháp kê khai thƣờng xuyên




                                23
Hình 2.4.Sơ đồ CCD hạch toán theo phƣơng pháp kiểm kê định kỳ



                             24
Chương 3: XÂY DỰ PHÂN HỆ KẾ TOÁN TRONG CÔNG TY
                          NG


3.1. Biể u đồ phân cấ p chức năng
      -Hệ thống kế toán trong công ty có nhiều phân hệ, mỗi phân hệ có những chức
năng riêng và đƣợc liên kết với các phân hệ khác một cách chặt chẽ. Trong quá trình tìm
hiểu về cách thức quản lý công cụ dụng cụ trong công ty em đi xây dựng phân hệ kế toán
công cụ dụng cụ với các chức năng nhƣ sau:




                  Hình 3.1: Biểu đồ phân cấp chức năng




                                          25
3.2. Biể u đồ mức đỉ nh




                          Hình 3.2: Biểu đồ mức đỉnh




                                     26
3.3. Mô hình thực thể quan hệ




                            Hình 3.3: Sơ đồ liên kết




                                      27
3.4.Thiế t kế cơ sở dữ liệ u
       Bảng 1. Bảng Nhân viên

STT   Tên thuộc tính     Kiểu dữ liệu     Ràng buộc      Diễn giải

1     MANV               nchar(10)        Khóa chính     Mã nhân viên

2     TENNV              nvarchar(50)                    Tên nhân viên

3     NGAYSINH           datetime                        Ngày sinh

4     DIACHI             Nvarchar(max)                   Địa chỉ

      Bảng 2.Bảng CCDC



STT   Tên thuộc tính     Kiểu dữ liệu   Ràng buộc      Diễn giải

1     MACCDC             nchar(10)      Khóa chính     Mã công cụ dụng cụ

2     TENCCDC            nvarchar(50)                  Tên công cụ dụng cụ

3     DONVITINH          nvarchar(50)                  Đơn vị tính



       Bảng 3. Chi tiết phiếu nhập

STT   Tên thuộc tính     Kiểu dữ liệu Ràng buộc        Diễn giải

1     SOPHIEUNHAP        nchar(10)      Khóa chính     Số phiếu nhập

2     MACCDC             nchar(10)      Khóa chính     Mã công cụ dụng cụ

3     SOLUONG            int                           Số lƣợng

4     DƠNGIA             float                         Đơn giá

5     THANHTIEN          float                         Thành tiền

                                         28
6     TKNO             Nchar(10)                   Tài khoản ghi nợ

7     TKCO             Nchar(10)                   Tài khoản ghi có

8     TIENTHUE         float                       Tiền thuế

9     TONGTIEN         float                       Tổng tiền


      Bảng 4. Bảng nhà cung cấp

STT   Tên thuộc tính   Kiểu dữ liệu   Ràng buộc    Diễn giải

1     MANCC            nchar(10)      Khóa chính   Mã nhà cung cấp

2     TENNCC           nvarchar(50)                Tên nhà cung cấp



      Bảng 6. Bảng kho công cụ dụng cụ

STT   Tên thuộc tính   Kiểu dữ liệu   Ràng buộc    Diễn giải

1     MAKHO            nchar(10)      Khóa chính   Mã kho

2     TENKHO           nvarchar(50)                Tên kho



      Bảng 7. Bảng bộ phận sử dụng ccdc

STT   Tên thuộc tính   Kiểu dữ liệu   Ràng buộc    Diễn giải

1     MABPSD           nchar(10)      Khóa chính   Mã bộ phận sử dụng

2     TENBPSD          nvarchar(50)                Tên bộ phận sử dụng




                                         29
Bảng 8.Bảng điều chuyển công cụ dụng cụ

STT   Tên thuộc tính            Kiểu dữ liệu Ràng buộc        Diễn giải

1     MADIEUCHUYEN              nchar(10)        Khóa chính   Mã điều chuyển

2     MACCDC                    nchar(10)                     Mã công cụ dụng cụ

3     MABPSD                    Nchar(10)                     Mã bộ phận sử dụng

4     NGAYDIEUCHUYEN datetime                                 Ngày điều chuyển

5     SOLUONG                   int                           Số lƣợng



      Bảng 9. Bảng báo hỏng công cụ dụng cụ

STT   Tên thuộc tính    Kiểu dữ liệu Ràng buộc          Diễn giải

1     MACCDC            nchar(10)       Khóa chính      Mã công cụ dụng cụ

2     MABPSD            nchar(10)       Khóa chính      Mã bộ phận sử dụng
3     SOLUONG           int                             Số lƣợng                   B

      Bảng 10. Bảng chi tiết phiếu xuất
STT   Tên thuộc tính    Kiểu dữ liệu Ràng buộc          Diễn giải
1     SOPHIEUXUAT       nchar(10)       Khóa chính      Số phiếu xuất
2     MACCDC            nchar(10)                       Mã công cụ dụng cụ
3     SOLUONG           int                             Số lƣợng
4     DONGIA            float                           Đơn giá
5     THANHTIEN         float                           Thành tiền
6     TKNO              Nchar(10)                       Tài khoản ghi nợ
7     TKCO              Nchar(10)                       Tài khoản ghi có




                                            30
Bảng 11.Bảng danh mục phiếu nhập

STT    Tên thuộc tính     Kiểu dữ liệu      Ràng buộc    Diễn giải

1      SOPHIEUNHAP        nchar(10)         Khóa chính   Số phiếu xuất

2      MACCDC             nchar(10)         Khóa chính   Mã công cụ dụng cụ

3      NGAYNHAP           datetime                       Ngày nhập

4      MANV               Nchar(10)                      Mã nhân viên

5      MAKHO              Nchar(10)                      Mã kho

6      SOCT               Nchar(10)                      Số chứng từ

7      DIENGIAI           Nvarchar(max)                  Diễn giải



      -Cơ sở dữ liệu đƣợc xây dựng với các bảng trên , trong quá trình xây dựng chƣơng
trình có phát sinh một số yêu cầu về thông tin không chi có ở một bảng mà đƣợc lấy từ
nhiều bảng, các bảng liên kết với nhau nhờ khóa ngoài.

      -Ngoài các bảng trên còn có các bảng ảo với tên gọi khác là view đƣợc tạo để lập
các báo cáo cho chƣơng trình.

      -Cơ sở dữ liệu trong kế toán khá phong phú và đa dạng, tùy theo yêu cầu của hệ
thống để xây dựng các bảng dữ liệu cần thiết.

         Do em chƣa có kinh nghiệm chuyên sâu về dữ liệu kế toán nên trong quá trình
tạo các bảng dữ liệu vẫn chƣa đáp ứng đƣợc yêu cầu cao của thực tế. Kính mong các thầy
cô giúp đỡ để em phát triển đề tài chuyên sâu hơn.




                                           31
3.5.Thiế t kế giao diệ n
3.5.1.Thiế t kế form đăng nhậ p hệ thống
      - Để hệ thống có thể quản lý hiệu quả cần có một form quản lý quyền truy nhập
vào hệ thống. Đáp ứng đƣợc yêu cầu bài toán em xây dựng một form đăng nhập vào hệ
thống. Trong form gồm có tên đăng nhập và mật khẩu, muốn đăng nhập vào hệ thống
ngƣời dùng cần đƣợc cấp quyền đăng nhập với tên đăng nhập và mật khẩu riêng.

      -Khi ngƣời dùng viết sai tên đăng nhập hoặc mật khẩu thì hệ thống sẽ báo lỗi .Khi
đăng nhập thành công giao diện sẽ hiện ra form hệ thống giúp ngƣời dùng thực hiện các
chức năng trong chƣơng trình.




                            Hình 3.5: Giao diện form đăng nhập




                                         32
3.5.2. Thiế t kế form hệ thống
       - Đây là form giao diện chính trong chƣơng trình.

       - Dựa vào các yêu cầu của phân hệ em đi xây dựng form hệ thống với các chức
năng nhƣ cập nhật thông tin của nhân viên, nhà cung cấp, bộ phận sử dụng, công cụ dụng
cụ,…

       - Chức năng nhập công cụ dụng cụ đƣợc dùng trong việc xử lý nghiệp vụ kế toán
nhập công cụ dụng cụ, chức năng xuất dùng để xử ý nghiệp vụ xuất công cụ dụng cụ.

       - Các chức năng đƣợc xây dựng có mỗi tab sẽ có các các form riêng.




                           Hình 3.6.Giao diện form hệ thống



                                           33
3.5.3. Cậ p nhậ t thông tin nhân viên
       -Khi có muốn thêm nhân viên vào để quản lý, ngƣời dùng có thể khai báo thông
tin của nhân viên đó trong bảng nhân viên với các thuộc tính nhƣ: mã nhân viên, tên nhân
viên, ngày sinh, giới tính, địa chỉ,…

       -Trong form nhân viên ngƣời quản lý có thể thêm, sửa, xóa thông tin về mỗi nhân
viên khi cần thiết.

       -Khi sửa thông tin nhân viên ngƣời quản lý sửa đƣợc các thông tin của họ với điều
kiện mã nhân viên không thay đổi vì mỗi nhân viên chỉ có một mã.




                           Hinh 3.7: Giao diện form nhân viên




                                          34
3.5.4. Phiế u xuấ t công cụ dụng cụ
       - Khi nhận đƣợc yêu cầu lập phiếu xuất công cụ dụng cụ bộ phận kế toán sẽ lập
phiếu xuất theo yêu cầu. Form xuất công cụ dụng cụ sẽ đáp ứng yêu cầu trên.

       - Phiếu xuất phải đƣợc điền đầy đủ thông tin và thông tin cần chính xác đảm bảo
cho việc quản lý và kiểm kê sau này.

       -Khi lập xong phiếu xuất ngƣời quản lý cần ghi chi tiết thông tin cho phiếu xuất có
trong form chi tiết xuất của chƣơng trình.

       -Mỗi phiếu xuất chỉ có một mã là số phiếu xuất, vì vậy không lập các phiếu có
trùng mã.




                          Hình 3.8. Giao diện form xuất CCDC


                                             35
3.5.5. Phiế u điề u chuyể n công cụ dụng cụ
      - Khi bộ phận sử dụng công cụ dụng cụ không có nhu cầu sử dụng công cụ dụng
cụ đã đƣợc cấp trƣớc đó sẽ yêu cầu kế toán lập phiếu điều chuyển ngƣng sử dụng lƣu kho
hoặc chuyển cho bộ phận khác trong điều kiện giá trị của công cụ dụng cụ lớn.

      -CCDC điều chuyển ngay trong nội bộ công ty nên nghiệp vụ này không ảnh
hƣởng đến tài chính của công ty, không có phát sinh tăng hay giảm về tài sản nào trong
công ty. Phiếu điều chuyển CCDC tới bộ phận giúp ngƣời quản lý nắm đƣợc tình hình sử
dụng CCDC và có những kế hoạch phù hợp với mỗi bộ phận.




                      Hình 3.9.Giao diện form điều chuyển CCDC




                                          36
TỔNG KẾT VÀ HƢỚNG PHÁT TRIỂN
1. Kết luận
       Sau khi làm đề tài thực tập chuyên ngành em thấy việc kinh doanh không phải là
khó nếu ta biết vận dụng những ứng dụng từ công nghệ thông tin.Bên cạnh đó, thực tập
chuyên ngành giúp em hiểu thêm về một ngôn ngữ lập trình là C#. Em đã hiểu thêm về
ngôn ngữ này tuy là vẫn chƣa thành thạo và cũng chƣa hiểu hết về ngôn ngữ này. Đồng
thời với đó là những kiến thức thu thập về nghiệp vụ kế toán trong doanh tài chính trong
doanh nghiệp giúp em hiểu hơn về hoạt động và công việc tại kế toán tại mỗi doanh
nghiệp trong nền kinh tế thị trƣờng.

               Qua tìm hiểu nghiên cứu đề tài em đã hiểu rõ việc áp dụng bài học lý
thuyết vào một dự án thực tế.
               Hiểu đƣợc tầm quan trọng của hệ quản trị cơ sở dữ liệu và lợi ích mang lại
vô cùng to lớn.
               Đã nắm đƣợc kỹ năng trong việc sử dụng ngôn ngữ C# và biết đƣợc tính
mềm dẻo của nó mang lại.
               Hạn chế : Tuy đạt đƣợc một số kết quả nhƣ trên nhƣng thời gian có hạn nên
việc viết phần mềm không thể tránh khỏi một số tồn tại chƣa giải quyết đƣợc nhƣ : ràng
buộc các chức năng của hệ thống, sao lƣu dữ liệu, phục hồi dữ liệu tại form.

2. Hướng phát triể n
           -Việc xây dựng hệ mở rộng và chuyên hơn sẽ mang lại lợi ích thiết thực đối với
doanh nghiệp.

       - Tiếp tục hoàn thiện hệ thống công nghệ thông tin trong doanh nghiệp.

       - Xây dựng cơ sở dữ liệu chặt chẽ, chính xác.

       -Liên kết chức năng của các phân hệ với nhau để phần mềm hoạt động hiệu quả
mang lại lợi ích lớn nhất.




                                            37
NHẬN XÉT CỦA GIÁO VIÊN
................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

                                          Thái nguyên, Ngày ……. Tháng ……. Năm 2012

Giáo viên hƣớng dẫn 1                                                            Giáo viên hƣớng dẫn 2




                                                     38
NHẬN XÉT CỦA GIÁO VIÊN
................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

................................................................................................................

                                          Thái nguyên, Ngày ……. Tháng ……. Năm 2012

Giáo viên hƣớng dẫn 1                                                            Giáo viên hƣớng dẫn 2




                                                     39
TÀI LIỆU THAM KHẢO
[1].Nguyễn Ngọc Bình Phƣơng(2006)Các giải pháp lập trình c#, Nhà xuất bản giao
thông vận tải
[2].Dƣơng Quang Thiện(2005) Lập trình visual c# như thế nào ,tập 1,2,3, Nhà xuất bản
Tp Hồ Chí Minh
[3].Đoàn Xuân Tiến(2007)Bài giảng kế toán quản trị doanh nghiệp, Học viện tài chính
[4].Nguyễn Năng Phúc(2008)Giáo trình phân tích báo cáo tài chính, Đại học kinh tế
quốc dân




                                         40

More Related Content

Similar to Thực tập (ccdc))

Giao trinh ky thuat lap trinh 2
Giao trinh ky thuat lap trinh 2Giao trinh ky thuat lap trinh 2
Giao trinh ky thuat lap trinh 2Hồ Lợi
 
Hệ thống thông tin kế toán tiền lương tại công ty TAFCO Hà Nội, 9đ - Gửi miễn...
Hệ thống thông tin kế toán tiền lương tại công ty TAFCO Hà Nội, 9đ - Gửi miễn...Hệ thống thông tin kế toán tiền lương tại công ty TAFCO Hà Nội, 9đ - Gửi miễn...
Hệ thống thông tin kế toán tiền lương tại công ty TAFCO Hà Nội, 9đ - Gửi miễn...Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Giải pháp nâng cao sự thành công của các dự án phát triển phần mềm tại Công t...
Giải pháp nâng cao sự thành công của các dự án phát triển phần mềm tại Công t...Giải pháp nâng cao sự thành công của các dự án phát triển phần mềm tại Công t...
Giải pháp nâng cao sự thành công của các dự án phát triển phần mềm tại Công t...NuioKila
 
Ứng dụng Mircosoft Excel trong phân tích dữ liệu và dự báo doanh thu của Công...
Ứng dụng Mircosoft Excel trong phân tích dữ liệu và dự báo doanh thu của Công...Ứng dụng Mircosoft Excel trong phân tích dữ liệu và dự báo doanh thu của Công...
Ứng dụng Mircosoft Excel trong phân tích dữ liệu và dự báo doanh thu của Công...
 
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vn
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vnPdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vn
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vnMasterCode.vn
 
BÀI 3: Các khái niệm cơ bản trong lập trình - Giáo trình FPT
BÀI 3: Các khái niệm cơ bản trong lập trình - Giáo trình FPTBÀI 3: Các khái niệm cơ bản trong lập trình - Giáo trình FPT
BÀI 3: Các khái niệm cơ bản trong lập trình - Giáo trình FPTMasterCode.vn
 

Similar to Thực tập (ccdc)) (20)

Đề tài: Quản lí tiền điện
Đề tài: Quản lí tiền điệnĐề tài: Quản lí tiền điện
Đề tài: Quản lí tiền điện
 
Giao trinh ky thuat lap trinh 2
Giao trinh ky thuat lap trinh 2Giao trinh ky thuat lap trinh 2
Giao trinh ky thuat lap trinh 2
 
Phân tích hiệu quả hoạt động kinh doanh tại công ty thép Trường Phú.docx
Phân tích hiệu quả hoạt động kinh doanh tại công ty thép Trường Phú.docxPhân tích hiệu quả hoạt động kinh doanh tại công ty thép Trường Phú.docx
Phân tích hiệu quả hoạt động kinh doanh tại công ty thép Trường Phú.docx
 
Hoàn thiện công tác kế toán tiền lương và các khoản trích theo lương tại công...
Hoàn thiện công tác kế toán tiền lương và các khoản trích theo lương tại công...Hoàn thiện công tác kế toán tiền lương và các khoản trích theo lương tại công...
Hoàn thiện công tác kế toán tiền lương và các khoản trích theo lương tại công...
 
Hệ thống thông tin kế toán tiền lương tại công ty TAFCO Hà Nội, 9đ - Gửi miễn...
Hệ thống thông tin kế toán tiền lương tại công ty TAFCO Hà Nội, 9đ - Gửi miễn...Hệ thống thông tin kế toán tiền lương tại công ty TAFCO Hà Nội, 9đ - Gửi miễn...
Hệ thống thông tin kế toán tiền lương tại công ty TAFCO Hà Nội, 9đ - Gửi miễn...
 
Phân hệ khách hàng và hợp đồng trong CRM của doanh nghiệp
Phân hệ khách hàng và hợp đồng trong CRM của doanh nghiệpPhân hệ khách hàng và hợp đồng trong CRM của doanh nghiệp
Phân hệ khách hàng và hợp đồng trong CRM của doanh nghiệp
 
Luận văn: Phân hệ hợp đồng trong CRM của doanh nghiệp, HAY
Luận văn: Phân hệ hợp đồng trong CRM của doanh nghiệp, HAYLuận văn: Phân hệ hợp đồng trong CRM của doanh nghiệp, HAY
Luận văn: Phân hệ hợp đồng trong CRM của doanh nghiệp, HAY
 
Giải pháp nâng cao sự thành công của các dự án phát triển phần mềm tại Công t...
Giải pháp nâng cao sự thành công của các dự án phát triển phần mềm tại Công t...Giải pháp nâng cao sự thành công của các dự án phát triển phần mềm tại Công t...
Giải pháp nâng cao sự thành công của các dự án phát triển phần mềm tại Công t...
 
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOTĐề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
 
Luận Văn Các Nhân Tố Ảnh Hưởng Đến Chất Lượng Dịch Vụ Kế Toán.doc
Luận Văn Các Nhân Tố Ảnh Hưởng Đến Chất Lượng Dịch Vụ Kế Toán.docLuận Văn Các Nhân Tố Ảnh Hưởng Đến Chất Lượng Dịch Vụ Kế Toán.doc
Luận Văn Các Nhân Tố Ảnh Hưởng Đến Chất Lượng Dịch Vụ Kế Toán.doc
 
Phân tích tình hình tài chính tổng ctcp bia rượu- nước giải khát hà nội giai ...
Phân tích tình hình tài chính tổng ctcp bia rượu- nước giải khát hà nội giai ...Phân tích tình hình tài chính tổng ctcp bia rượu- nước giải khát hà nội giai ...
Phân tích tình hình tài chính tổng ctcp bia rượu- nước giải khát hà nội giai ...
 
Đề tài: Ứng dụng Mircosoft Excel phân tích dữ liệu doanh thu, 9đ
Đề tài: Ứng dụng Mircosoft Excel phân tích dữ liệu doanh thu, 9đĐề tài: Ứng dụng Mircosoft Excel phân tích dữ liệu doanh thu, 9đ
Đề tài: Ứng dụng Mircosoft Excel phân tích dữ liệu doanh thu, 9đ
 
Ứng dụng Mircosoft Excel trong phân tích dữ liệu và dự báo doanh thu của Công...
Ứng dụng Mircosoft Excel trong phân tích dữ liệu và dự báo doanh thu của Công...Ứng dụng Mircosoft Excel trong phân tích dữ liệu và dự báo doanh thu của Công...
Ứng dụng Mircosoft Excel trong phân tích dữ liệu và dự báo doanh thu của Công...
 
Đề tài: Hoạt động phát triển thị trường tại Công ty cổ phần đầu tư và phát tr...
Đề tài: Hoạt động phát triển thị trường tại Công ty cổ phần đầu tư và phát tr...Đề tài: Hoạt động phát triển thị trường tại Công ty cổ phần đầu tư và phát tr...
Đề tài: Hoạt động phát triển thị trường tại Công ty cổ phần đầu tư và phát tr...
 
Hoàn thiện công tác lập và phân tích bảng cân đối kế toán tại Công ty Công ng...
Hoàn thiện công tác lập và phân tích bảng cân đối kế toán tại Công ty Công ng...Hoàn thiện công tác lập và phân tích bảng cân đối kế toán tại Công ty Công ng...
Hoàn thiện công tác lập và phân tích bảng cân đối kế toán tại Công ty Công ng...
 
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vn
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vnPdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vn
Pdf bai tap_nen_tang_lap_trinh_-_c#-mastercode.vn
 
BÀI 3: Các khái niệm cơ bản trong lập trình - Giáo trình FPT
BÀI 3: Các khái niệm cơ bản trong lập trình - Giáo trình FPTBÀI 3: Các khái niệm cơ bản trong lập trình - Giáo trình FPT
BÀI 3: Các khái niệm cơ bản trong lập trình - Giáo trình FPT
 
Luận án: Tái cơ cấu tổ chức các doanh nghiệp may của Tập đoàn Dệt May VN
Luận án: Tái cơ cấu tổ chức các doanh nghiệp may của Tập đoàn Dệt May VNLuận án: Tái cơ cấu tổ chức các doanh nghiệp may của Tập đoàn Dệt May VN
Luận án: Tái cơ cấu tổ chức các doanh nghiệp may của Tập đoàn Dệt May VN
 
Luận văn: Tính toán khoảng giải các ràng buộc không tuyến tính
Luận văn: Tính toán khoảng giải các ràng buộc không tuyến tínhLuận văn: Tính toán khoảng giải các ràng buộc không tuyến tính
Luận văn: Tính toán khoảng giải các ràng buộc không tuyến tính
 
Luận Văn Hoàn thiện chiến lược kinh doanh Việt Nam giai đoạn 2010-2015.doc
Luận Văn Hoàn thiện chiến lược kinh doanh Việt Nam giai đoạn 2010-2015.docLuận Văn Hoàn thiện chiến lược kinh doanh Việt Nam giai đoạn 2010-2015.doc
Luận Văn Hoàn thiện chiến lược kinh doanh Việt Nam giai đoạn 2010-2015.doc
 

Thực tập (ccdc))

  • 1. MỤC LỤC LỜI MỞ ĐẦU ............................................................................................................4 Chƣơng 1: TÌM HIỂU VỀ NGÔN NGỮ LẬP TRÌNH C# .......................................5 1.1. Giới thiệu ngôn ngữ C# ..................................................................................5 1.2. Kiểu dữ liệu, biến hằng ...................................................................................5 1.2.1. Các kiểu dữ liệu .......................................................................................5 1.2.2. Hằng .........................................................................................................6 1.3. Các câu lệnh ....................................................................................................7 1.3.1. Toán tử if ..................................................................................................7 1.3.2. Câu lệnh switch ........................................................................................7 1.3.3. Vòng lặp do..while ...................................................................................8 1.3.4. Vòng lặp for .............................................................................................8 1.3.5. Vòng lặp forreach ....................................................................................8 1.4. Lớp ..................................................................................................................8 1.4.1. Định nghĩa lớp .........................................................................................8 1.4.2. Tạo các biến thành viên .........................................................................10 1.4.3. Sử dụng các thành viên tĩnh (static member) ........................................10 1.4.4. Hủy đối tƣợng ........................................................................................11 1.4.5. Truyền tham số ......................................................................................13 1.4.6. Nạp chồng phƣơng thức .........................................................................15 Chƣơng 2: KHẢO SÁT THỰC TRẠNG VÀ PHÂN TÍCH NGHIỆP VỤ .............16 2.1. Đặt vấn đề .....................................................................................................16 2.2. Giới thiệu doanh nghiệp................................................................................16 2.3. Thực trạng công tác kế toán tại công ty cổ phần Hoàng Cầm ......................19 2.3.1. Chứng từ sổ sách của công ty cổ phần Hoàng Cầm ..............................19 2.3.2. Khái quát chung về CCDC tại công ty .................................................19 2.4. Phƣơng pháp hạch toán CCDC .....................................................................22 Chƣơng 3: XÂY DỰNG PHÂN HỆ KẾ TOÁN TRONG CÔNG TY ....................25 3.1. Biểu đồ phân cấp chức năng .........................................................................25 1
  • 2. 3.2. Biểu đồ mức đỉnh ..........................................................................................26 3.3. Mô hình thực thể quan hệ .............................................................................27 3.4.Thiết kế cơ sở dữ liệu.....................................................................................28 3.5.Thiết kế giao diện...........................................................................................32 3.5.1.Thiết kế form đăng nhập hệ thống ..........................................................32 3.5.2. Thiết kế form hệ thống ...........................................................................33 3.5.3. Cập nhật thông tin nhân viên .................................................................34 3.5.4. Phiếu xuất công cụ dụng cụ ...................................................................35 3.5.5. Phiếu điều chuyển công cụ dụng cụ......................................................36 TỔNG KẾT VÀ HƢỚNG PHÁT TRIỂN ...............................................................37 1. Kết luận ............................................................................................................37 2. Hƣớng phát triển ..............................................................................................37 NHẬN XÉT CỦA GIÁO VIÊN ..............................................................................38 NHẬN XÉT CỦA GIÁO VIÊN ..............................................................................39 TÀI LIỆU THAM KHẢO .......................................................................................40 2
  • 3. DANH MỤC HÌNH ẢNH STT Tên hình 1 Hình 2.1: Sơ đồ tổ chức bộ máy quản lý 2 Hình 2.2: Tổ chức bộ máy quản lý kế toán tại công ty Hoàng Cầm 3 Hình 2.3: Sơ đồ hạch toán CCDC theo phƣơng pháp kê khai thƣờng xuyên 4 Hình 2.4: Sơ đồ CCD hạch toán theo phƣơng pháp kiểm kê định kỳ 5 Hình 3.1: Biểu đồ phân cấp chức năng 6 Hình 3.2.Biểu đồ mức đỉnh 7 Hình 3.3: Sơ đồ liên kết 8 Hình 3.4: Giao diện form đăng nhập 9 Hình 3.5: Giao diện form hệ thống 10 Hình 3.6: Giao diện form nhân viên 11 Hình 3.7: Giao diện form xuất cộng cụ dụng cụ 12 Hình 3.8:Giao diện form điều chuyển công cụ dụng cụ 3
  • 4. LỜI MỞĐẦU Trong những năm gần đây, công nghệ thông tin phát triển nhƣ vũ bão, có tác dụng mạnh mẽ phục vụ đời sống, ngày càng thúc đẩy sự phát triển mạnh về kinh tế và trở thành ngành mũi nhọn, vì vậy đảng và nhà nƣớc đang bắt đầu chú trọng đầu tƣ vào phát triển ngành công nghệ thông tin. Tổ chức hạch toán kế toán, một bộ phận quan trọng của hệ thống công cụ quản lý kinh tế, tài chính có vai trò tích cực trong việc quản lý điều hành và kiểm soát các hoạt động kinh tế. Quy mô sản xuất xã hội ngày càng phát triển thì yêu cầu và phạm vi công tác kế toán ngày càng mở rộng, vai trò và vị trí của công tác kế toán ngày càng cao. Đối với doanh nghiệp sản xuất thì yếu tố quyết định cơ bản để đảm bảo cho quá trình sản xuất đƣợc tiến hành liên tục chính là nguyên vật liệu và công cụ dụng cụ. Đây là yếu tố tiền đề để tạo nên hình thái vật chất của sản phẩm. Nó không chỉ ảnh hƣởng tới quá trình sản xuất mà còn là nhân tố quyết định tới giá thành sản phẩm và công tác tài chính của doanh nghiệp. Ngoài yếu tố thƣờng xuyên biến động từng ngày, từng giờ nên việc tổ chức và hoạch toán tốt nguyên vật liệu và công cụ dụng cụ sẽ giúp cho nhà quản trị đề ra các chính sách đúng đắn mang lại hiệu quả cho doanh nghiệp. Quá trình khảo sát công tác kế toán công ty cổ phần Hoàng Cầm em nhận thấy công ty cần một phần mềm quản lý công cụ dụng cụ. Dựa vào những kiến thức đã học em chọn đề tài xây dựng phân hệ kế toán công cụ dụng cụ cho công ty. Mục đích đề tài : -Tìm hiểu về các nghiêp vụ kế toán tài chính trong doanh nghiệp -Tìm hiểu về ngôn ngữ lập trình C# -Vận dụng vào xây dựng phân hệ kế toán công cụ dụng cụ trong công ty cổ phần Hoàng Cầm. 4
  • 5. Chƣơng 1: TÌM HIỂU VỀ NGÔN NGỮ LẬP TRÌNH C# 1.1. Giới thiệu ngôn ngữ C# Ngôn ngữ C# là một ngôn ngữ đƣợc dẫn xuất từ C và C++, nhƣng nó đƣợc tạo từ nền tảng phát triển hơn.Microsoft bắt đầu với công việc trong C và C++ và thêm vào những đặc tính mới để làm cho ngôn ngữ này dễ sử dụng hơn. - C# là ngôn ngữ đơn giản. - C# là ngôn ngữ hƣớng đối tƣợng. - C# là ngôn ngữ mạnh mẽ và cũng mềm dẻo. - C# là ngôn ngữ ít từ khóa. - C# là ngôn ngữ hƣớng module. 1.2. Kiểu dữ liệu, biến hằng 1.2.1. Các kiểu dữ liệu Kiểu C# Sốbyte Kiểu Mô tả .NET byte 1 Byte Số nguyên dƣơng không dấu từ 0-255 char 2 Char Ký tự Unicode bool 1 Boolean Giá trị logic true/false sbyte 1 Sbyte Số nguyên có dấu (từ-128 đến 127) short 2 Int16 Số nguyên có dấu giá trị từ -32768 đến 2767. ushort 2 Uịnt16 Số nguyên không dấu 0 – 65.535 int 4 Int32 Số nguyên có dấu –2.147.483.647 và 2.147.483.647 5
  • 6. uint 4 Uint32 Số nguyên không dấu 0 – .294.967.295 float 4 Single Kiểu dấu chấm động, giá trị xấp xỉ từ 3,4E-38 đến 3,4E+38, với 7 chữ số có nghĩa.. double 8 Double Kiểu dấu chấm động có độ chính xác gấp đôi,giá trị xấp xỉ từ1,7E-308đến1,7E+308,với 15,16 chữ số có nghĩa. decimal 8 Decimal Có độ chính xác đến28con sốvà giá trị thập phân, đƣợc dùng trong tính toán tài chính, kiểu này đòi hỏi phải có hậu tố“m”hay“M” theo sau giá trị. long 8 Int64 Kiểu số nguyên có dấu có giá trị trong khoảng:- 9.223.370.036.854.775.808đến 9.223.372.036.854.775.807 ulong 8 Uint64 Số nguyên không dấu từ 0 đến 0xffffffffffffffff Để khai báo một kiểu dữ liệu ta sẽ sử dụng cú pháp [Kiểu biến] [tên biến]= giá trị; hoặc [Kiểu biến] [tên biến]; 1.2.2. Hằng - Giá trị hằng: Ta có một câu lệnh gán nhƣ sau: ví dụ x = 100; - Biểu tƣợng hằng: Gán một tên cho một giá trị hằng, để tạo một biểu tƣợng hằng dung từ khóa const và cú pháp sau: <const><type><tên hằng> = <giá trị>; 6
  • 7. - Kiểu liệt kê: Kiểu liệt kê đơn giản là tập hợp các tên hằng có giá trị không thay đổi(thƣờng đƣợc gọi là danh sách liệt kê). -Kiểu chuỗi ký tự: Kiểu dữ liệu chuỗi khá thân thiện với ngƣời lập trình trong bất cứ ngôn ngữ lập trình nào,kiểu dữ liệu chuỗi lƣu giữ một mảng những ký tự. Để khai báo một chuỗi chúng ta sử dụng từ khoá string tƣơng tự nhƣ cách tạo một thể hiện của bất cứ đối tƣợng nào. 1.3. Các câu lệnh 1.3.1. Toán tử if -Câu lệnh: if(biểu thức điều kiện) <Khối lệnh thực hiện khi điều kiện đúng> [else <Khối lệnh thực hiện khi điều kiện sai>] 1.3.2. Câu lệnh switch -Cú pháp: switch(biểu thức điều kiện) { case<giá trị>: <Các câu lệnh thực hiện> <lệnh nhảy> [default: 7
  • 8. <Các câu lệnh thực hiện mặc định>] } 1.3.3. Vòng lặp do..while -Cú pháp: do <Câu lệnh thực hiện> while( điều kiện) 1.3.4. Vòng lặp for -Cú pháp: for ([ phầnkhởitạo]; [biểu thức điềukiện]; [bƣớc lặp]) <Câu lệnhthực hiện> 1.3.5. Vòng lặp forreach -Cú pháp: foreach(<kiểutập hợp><têntruy cậpthành phần>in<tên tập hợp>) <Cáccâulệnhthực hiện> 1.4. Lớp 1.4.1. Định nghĩa lớp Để định nghĩa một kiểu dữ liệu mới hay một lớp đầu tiên phải khai báo rồi sau đó mới định nghĩa các thuộc tính và phƣơng thức của kiểu dữ liệu đó. Khai báo một lớp bằng cách sử dụng từ khoá class. Cú pháp đầy đủ của khai báo một lớp nhƣ sau: [Thuộc tính] [Bổ sung truy cập] class <Định danh lớp> [: Lớp cơ sở] {<Phần thân của lớp: bao gồm định nghĩa các thuộc tính và phƣơng thức hành động>} Thành phần thuộc tính của đối tƣợng sẽ đƣợc trình bày chi tiết trong chƣơng sau, còn thành phần bổ sung truy cập cũng sẽ đƣợc trình bày tiếp ngay mục dƣới. Định danh lớp chính là tên của lớp do ngƣời xây dựng chƣơng trình tạo ra. Lớp cơ sở là lớp mà đối 8
  • 9. tƣợng sẽ kế thừa để phát triển ta sẽ bàn sau.Tất cả các thành viên của lớp đƣợc định nghĩa bên trong thân của lớp, phần thân này sẽ đƣợc bao bọc bởi hai dấu ({}). + Thuộc tính truy cập Thuộc tính truy cập quyết định khả năng các phƣơng thức của lớp bao gồm việc các phƣơng thức của lớp khác có thể nhìn thấy và sử dụng các biến thành viên hay những phƣơng thức bên trong lớp. Thuộc tính Giới Thuộc tính Giới hạn truy cập hạn truy cập Public Không hạn chế. Những thành viên đƣợc đánh dấu public có thể đƣợc dùng bởi bất kì các phƣơng thức của lớp. private Thành viên trong một lớp A đƣợc đánh dấu là private thì chỉ đƣợc truy cập bởi các phƣơng thức của lớp A. protected Thành viên trong lớp A đƣợc đánh dấu là protected thì chỉ đƣợc các phƣơng thức bên trong lớp A và những phƣơng thức dẫn xuất từ lớp A truy cập. internal Thành viên trong lớp A đƣợc đánh dấu là internal thì đƣợc truy cập bởi những phƣơng thức của bất cứ lớp nào trong cùng khối hợp ngữ với A. protected Thành viên trong lớp A đƣợc đánh dấu là protectedinternal đƣợc truy internal cập bởi các phƣơng thức của lớp A, các phƣơng thức của lớp dẫn xuất của A, và bất cứ lớp nào trong cùng khối hợp ngữ của A. 9
  • 10. + Tham số của phương thức Trong các ngôn ngữ lập trình thì tham số và đối mục đƣợc xem là nhƣ nhau, cũng tƣơng tự khi đang nói về ngôn ngữ hƣớng đối tƣợng thì ta gọi một hàm là một phƣơng thức hay hành vi. Tất cả các tên này điều tƣơng đồng với nhau. Một phƣơng thức có thể lấy bất kỳ số lƣợng tham số nào, các tham số này theo sau bởi tên của phƣơng thức và đƣợc bao bọc bên trong dấu ngoặc tròn (). void Method( int param1, button param2) { //... } 1.4.2. Tạo các biến thành viên Các biến thành viên có thể đƣợc khởi tạo trực tiếp khi khai báo trong quá trình khởi tạo, thay vì phải thực hiện việc khởi tạo các biến trong bộ khởi dựng. Để thực hiện việc khởi tạo này rất đơn giản là việc sử dụng phép gán giá trị cho một biến: private int Giay = 30; // Khởi tạo Việc khởi tạo biến thành viên sẽ rất có ý nghĩa, vì khi xác định giá trị khởi tạo nhƣ vậy thì biến sẽ không nhận giá trị mặc định mà trình biên dịch cung cấp.Khi đó nếu các biến này không đƣợc gán lại trong các phƣơng thức khởi dựng thì nó sẽ có giá trị mà ta đã khởi tạo. 1.4.3. Sử dụng các thành viên tĩnh (static member) Những thuộc tính và phƣơng thức trong một lớp có thể là những thành viên thể hiện (instance members) hay những thành viên tĩnh (static members). Những thành viên thể hiện hay thành viên của đối tƣợng liên quan đến thể hiện của một kiểu dữ liệu. Trong khi thành viên tĩnh đƣợc xem nhƣ một phần của lớp.Chúng ta có thể truy cập đến thành viên tĩnh của một lớp thông qua tên lớp đã đƣợc khai báo biến thành viên tĩnh thông qua một thể hiện, nếu chúng ta cố làm điều đó thì trình biên dịch C# sẽ báo lỗi, điều này khác với ngôn ngữ C++.Phƣơng thức tĩnh hoạt động ít nhiều giống nhƣ phƣơng thức toàn cục, ta truy cập phƣơng thức này mà không cần phải tạo bất cứ thể hiện hay đối tƣợng của lớp chứa phƣơng thức toàn cục. 10
  • 11. 1.4.3.1. Gọi một phương thức tĩnh Phƣơng thức tĩnh không thể truy cập trực tiếp đến các thành viên không có tính chất tĩnh (nonstatic). Nhƣ vậy Main() không thể gọi một phƣơng thức không tĩnh bên trong lớp. Sau khi tạo thì có thể thông qua đối tƣợng ta có thể gọi đƣợc đƣợc phƣơng thức. 1.4.3.2. Sử dụng bộ khởi dựng tĩnh Nếu một lớp khai báo một bộ khởi tạo tĩnh (static constructor), thì đƣợc đảm bảo rằng phƣơng thức khởi dựng tĩnh này sẽ đƣợc thực hiện trƣớc bất cứ thể hiện nào của lớp đƣợc tạo ra. Lƣu ý rằng ở đây không có bất cứ thuộc tính truy cập nào nhƣ public trƣớc bộ khởi dựng tĩnh. Thuộc tính truy cập không cho phép theo sau một phƣơng thức khởi dựng tĩnh. Do phƣơng thức tĩnh nên không thể truy cập bất cứ biến thành viên không thuộc loại tĩnh, vì vậy biến thành viên Name bên trên cũng phải đƣợc khai báo là tĩnh: Vd: private static string Ten; 1.4.3.3. Sử dụng bộ khởi dựng private Nhƣ đã nói ngôn ngữ C# không có phƣơng thức toàn cục và hằng số toàn cục. Do vậy chúng ta có thể tạo ra những lớp tiện ích nhỏ chỉ để chứa các phƣơng thức tĩnh. Cách thực hiện này luôn có hai mặt tốt và không tốt.Nếu chúng ta tạo một lớp tiện ích nhƣ vậy và không muốn bất cứ một thể hiện nào đƣợc tạo ra.Để ngăn ngừa việc tạo bất cứ thể hiện của lớp ta tạo ra bộ khởi dựng không có tham số và không làm gì cả, tức là bên trong thân của phƣơng thức rỗng, và thêm vào đó phƣơng thức này đƣợc đánh dầu là private. Do không có bộ khởi dựng public, nên tkhông thể tạo ra bất cứ thể hiện nào của lớp đó. 1.4.4. Hủy đối tượng Ngôn ngữ C# cung cấp cơ chế thu dọn(garbage collection) và do vậy không cần phải khai báo tƣờng minh các phƣơng thức hủy. Tuy nhiên, khi làm việc với các đoạn mã không đƣợc quản lý thì cần phải khai báo tƣờng minh các phƣơng thức hủy để giải phóng các tài nguyên. C# cung cấp ngầm định một phƣơng thức để thực hiện điều khiển công việc này, phƣơng thức đó là Finalize() hay còn gọi là bộ kết thúc. Phƣơng thức Finalize này sẽ đƣợc gọi bởi cơ chế thu dọn khi đối tƣợng bị hủy. 11
  • 12. Phƣơng thức kết thúc chỉ giải phóng các tài nguyên mà đối tƣợng nắm giữ, và không tham chiếu đến các đối tƣợng khác. Nếu với những đoạn mã bình thƣờng tức là chứa các tham chiếu kiểm soát đƣợc thì không cần thiết phải tạo và thực thi phƣơng thức Finalize(). Chúng ta chỉ làm điều này khi xử lý các tài nguyên không kiểm soát đƣợc. Chúng ta không bao giờ gọi một phƣơng thức Finalize() của một đối tƣợng một cách trực tiếp, ngoại trừ gọi phƣơng thức này của lớp cơ sở khi ở bên trong phƣơng thức Finalize() của chúng ta. Trình thu dọn sẽ thực hiện việc gọi Finalize() cho chúng ta. 1.4.4.1. Bộ hủy của C# Cú pháp phƣơng thức hủy trong ngôn ngữ C# cũng giống nhƣ trong ngôn ngữ C++.Nhƣng về hành động cụ thể chúng có nhiều điểm khác nhau. Ta khao báo một phƣơng thức hủy trong C# nhƣ sau:~Class1() {} Tuy nhiên, trong ngôn ngữ C# thì cú pháp khai báo trên là một shortcut liên kết đến một phƣơng thức kết thúc Finalize đƣợc kết với lớp cơ sở, do vậy khi viết ~Class1() {// Thực hiện một số công việc} Cũng tƣơng tự nhƣ viết : Class1.Finalize() {// Thực hiện một số công việc base.Finalize();} Do sự tƣơng tự nhƣ trên nên khả năng dẫn đến sự lộn xộn nhầm lẫn là không tránh khỏi, nên chúng ta phải tránh viết các phƣơng thức hủy và viết các phƣơng thức Finalize tƣờng minh nếu có thể đƣợc. 1.4.4.2. Phương thức Dispose Nhƣ chúng ta đã biết thì việc gọi một phƣơng thức kết thúc Finalize trong C# là không hợp lệ, vì phƣơng thức này dành cho bộ thu dọn thực hiện. Nếu chúng ta xử lý các tài nguyên không kiểm soát nhƣ xử lý các handle của tập tin và ta muốn đƣợc đóng hay giải phóng nhanh chóng bất cứ lúc nào, ta có thực thi giao diện IDisposable. Giao diện IDisposable yêu cầu những thành phần thực thi của nó định nghĩa một phƣơng thức tên là Dispose() để thực hiện công việc dọn dẹp mà ta yêu cầu. Ý nghĩa của phƣơng thức 12
  • 13. Dispose là cho phép chƣơng trình thực hiện các công việc # dọn dẹp hay giải phóng tài nguyên mong muốn mà không phải chờ cho đến khi phƣơng thức Finalize() đƣợc gọi. Khi chúng ta cung cấp một phƣơng thức Dispose thì phải ngƣng bộ thu dọn gọi phƣơng thức Finalize() trong đối tƣợng của chúng ta. Để ngƣng bộ thu dọn, chúng ta gọi một phƣơng thức tĩnh của lớp GC (garbage collector) là GC.SuppressFinalize() và truyền tham số là tham chiếu this của đối tƣợng. Và sau đó phƣơng thức Finalize() sử dụng để gọi phƣơng thức Dispose() nhƣ đoạn mã sau: base.Finalize(); 1.4.4.3 Phương thức Close Khi xây dựng các đối tƣợng, chúng ta có muốn cung cấp cho ngƣời sử dụng phƣơng thức Close(), vì phƣơng thức Close có vẻ tự nhiên hơn phƣơng thức Dispose trong các đối tƣợng có liên quan đến xử lý tập tin. Ta có thể xây dựng phƣơng thức Dispose() với thuộc tính là private và phƣơng thức Close() với thuộc tính public. Trong phƣơng thức Close() đơn giản là gọi thực hiện phƣơng thức Dispose(). 1.4.4.4 Câu lệnh using Khi xây dựng các đối tƣợng chúng ta không thể chắc chắn đƣợc rằng ngƣời sử dụng có thể gọi hàm Dispose(). Và cũng không kiểm soát đƣợc lúc nào thì bộ thu dọn GC thực hiện việc dọn dẹp. Do đó để cung cấp khả năng mạnh hơn để kiểm soát việc giải phóng tài nguyên thì C# đƣa ra cú pháp chỉ dẫn using, cú pháp này đảm bảo phƣơng thức Dispose() sẽ đƣợc gọi sớm nhất có thể đƣợc. Ý tƣởng là khai báo các đối tƣợng với cú pháp using và sau đó tạo một phạm vi hoạt động cho các đối tƣợng này trong khối đƣợc bao bởi dấu ({}). Khi khối phạm vi này kết thúc, thì phƣơng thức Dispose() của đối tƣợng sẽ đƣợc gọi một cách tự động. 1.4.5. Truyền tham số Tham số có kiểu dữ liệu là giá trị thì sẽ đƣợc truyền giá trị vào cho phƣơng thức.Điều này có nghĩa rằng khi một đối tƣợng có kiểu là giá trị đƣợc truyền vào cho một phƣơng thức, thì có một bản sao chép đối tƣợng đó đƣợc tạo ra bên trong phƣơng thức.Một khi phƣơng thức đƣợc thực hiện xong thì đối tƣợng sao chép này sẽ đƣợc hủy.Tuy nhiên, đây chỉ là trƣờng hợp bình thƣờng, ngôn ngữ C# còn cung cấp khả năng cho phép ta truyền các đối tƣợng có kiểu giá trị dƣới hình thức là tham chiếu. Ngôn ngữ C# đƣa ra một bổ sung tham số là ref cho phép truyền các đối tƣợng giá trị vào trong 13
  • 14. phƣơng thức theo kiểu tham chiếu. Và tham số bổ sung out trong trƣờng hợp muốn truyền dƣới dạng tham chiếu mà không cần phải khởi tạo giá trị ban đầu cho tham số truyền. Ngoài ra ngôn ngữ C# còn hỗ trợ bổ sung params cho phép phƣơng thức chấp nhận nhiều số lƣợng các tham số. + Truyền tham chiếu Những phƣơng thức chỉ có thể trả về duy nhất một giá trị, mặc dù giá trị này có thể là một tập hợp các giá trị.Nếu chúng ta muốn phƣơng thức trả về nhiều hơn một giá trị thì cách thực hiện là tạo các tham số dƣới hình thức tham chiếu.Khi đó trong phƣơng thức ta sẽ xử lý và gán các giá trị mới cho các tham số tham chiếu này, kết quả là sau khi phƣơng thức thực hiện xong ta dùng các tham số truyền vào nhƣ là các kết quả trả về.Cuối cùng khi biên dịch lại chƣơng trình ta đƣợc kết quả đúng nhƣ yêu cầu.Bằng việc khai báo tham số tham chiếu, trình biên dịch sẽ truyền các tham số dƣới dạng các tham chiếu, thay cho việc tạo ra một bản sao chép các tham số này. Khi đó các tham số bên trong GetTime() sẽ tham chiếu đến cùng biến đã đƣợc khai báo trong hàm Main(). Nhƣ vậy mọi sự thay đổi với các biến này điều có hiệu lực tƣơng tự nhƣ là thay đổi trong hàm Main(). Tóm lại, cơ chế truyền tham số dạng tham chiếu sẽ thực hiện trên chính đối tƣợng đƣa vào.Còn cơ chế truyền tham số giá trị thì sẽ tạo ra các bản sao các đối tƣợng đƣợc truyền vào, do đó mọi thay đổi bên trong phƣơng thức không làm ảnh hƣởng đến các đối tƣợng đƣợc truyền vào dƣới dạng giá trị. + Truyền tham chiếu với biến chưa khởi tạo Ngôn ngữ C# bắt buộc phải thực hiện một phép gán cho biến trƣớc khi sử dụng, do đó khi khai báo một biến nhƣ kiểu cơ bản thì trƣớc khi có lệnh nào sử dụng các biến này thì phải có lệnh thực hiện việc gán giá trị xác định cho biến. Để mở rộng cho yêu cầu trong trƣờng hợp này ngôn ngữ C# cung cấp thêm một bổ sung tham chiếu là out. Khi sử dụng tham chiếu out thì yêu cầu bắt buộc phải khởi tạo các tham số tham chiếu đƣợc bỏ qua. Nhƣ các tham số trong phƣơng thức GetTime(), các tham số này không cung cấp bất cứ thông tin nào cho phƣơng thức mà chỉ đơn giản là cơ chế nhận thông tin và đƣa ra bên ngoài. Do vậy ta có thể đánh dấu tất cả các tham số tham chiếu này là out, khi đó ta sẽ giảm đƣợc công việc phải khởi tạo các biến này trƣớc khi đƣa vào phƣơng thức. 14
  • 15. Lƣu ý là bên trong phƣơng thức có các tham số tham chiếu out thì các tham số này phải đƣợc gán giá trị trƣớc khi trả về 1.4.6. Nạp chồng phương thức Thông thƣờng khi xây dựng các lớp, ta có mong muốn là tạo ra nhiều hàm có cùng tên.Cũng nhƣ hầu hết trong các ví dụ trƣớc thì các lớp điều có nhiều hơn một phƣơng thức khởi dựng. Nhƣ trong lớp Time có các phƣơng thức khởi dựng nhận các tham số khác nhau, nhƣ tham số là đối tƣợng DateTime, hay tham số có thể đƣợc tùy chọn để thiết lập các giá trị của các biến thành viên thông qua các tham số nguyên. Tóm lại ta có thể xây dựng nhiều các phƣơng thức cùng tên nhƣng nhận các tham số khác nhau.Chức năng này đƣợc gọi là nạp chồng phƣơng thức.Một ký hiệu (signature) của một phƣơng thức đƣợc định nghĩa nhƣ tên của phƣơng thức cùng với danh sách tham số của phƣơng thức. Hai phƣơng thức khác nhau khi ký hiệu của chúng khác là khác nhau tức là khác nhau khi tên phƣơng thức khác nhau hay danh sách tham số khác nhau. Danh sách tham số đƣợc xem là khác nhau bởi số lƣợng các tham số hoặc là kiểu dữ liệu của tham số. Khi thực hiện nạp chồng một phƣơng thức, bắt buộc chúng ta phải thay đổi ký hiệu của phƣơng thức, số tham số, hay kiểu dữ liệu của tham số. Chúng ta cũng có thể toàn quyền thay đổi giá trị trả về, nhƣng đây là tùy chọn.Nếu chỉ thay đổi giá trị trả về thì không phải nạp chồng phƣơng thức mà khi đó hai phƣơng thức khác nhau, và nếu tạo ra hai phƣơng thức cùng ký hiệu nhƣng khác nhau kiểu giá trị trả về sẽ gây lỗi biên dịch. 15
  • 16. Chƣơng 2: KHẢO SÁT THỰC TRẠNG VÀ PHÂN TÍCH NGHIỆP VỤ 2.1. Đặ t vấ n đề Trong các doanh nghiệp sản xuất vật chất, khoản mục chi phí nguyên vật liệu- công cụ dụng cụ chiếm một tỷ trọng lớn trong toàn bộ chi phí của doanh nghiệp, chỉ cần một biến động nhỏ về chi phí nguyên vật liệu- công cụ dụng cụ cũng làm ảnh hƣởng đáng kể đến giá thành sản phẩm, ảnh hƣởng đến thu nhập của doanh nghiệp. Vì vậy bên cạnh vấn đề trọng tâm là kế toán tập hợp chi phí và tính giá thành, thì tổ chức công tác kế toán nguyên vật liệu- công cụ dụng cụ cũng là một vấn đề đang đƣợc các doanh nghiệp quan tâm trong điều kiện hiện nay. Công ty cổ phần Hoàng Cầm là một công ty xây dựng lớn với đặc điểm lƣợng công cụ dụng cụ sử dụng vào các công trình lại khá nhiều thì vấn đề tiết kiệm triệt để có thể coi là biện pháp hữu hiệu để giảm giá thành, tăng lợi nhuận cho công ty. Vì vậy công ty cần có một phần mềm kế toán để quản lý công cụ dụng cụ. 2.2. Giới thiệ u doanh nghiệ p - Tên doanh nghiệp: Công ty cổ phần Hoàng Cầm - Địa chỉ: - Số 09 ngõ 3 Đƣờng Lê Trọng Tấn – Phƣờng Quang Trung –Thành phố Hà Đông - Tỉnh Hà Tây Điện thoại : 0343.510828 / 091.2329627 / 091.3539408 Fax : 0373– 3849424 Tài khoản số: 102010000239329 Mở tại Ngân hàng Công thƣơng Quang Trung Hà Nội. Ma số thuế: 050415242 Đƣợc cấp giấy đăng ký kinh doanh số 0303000033. Vốn pháp định: 10.000.000.000 đồng ( Mƣời tỷ đồng ). 16
  • 17. -Loại hình doanh nghiệp: công ty cổ phần -Ngành nghề đăng kí kinh doanh:  Xây dựng nhà các loại  Xây dựng công trình đƣờng sắt và đƣờng bộ  Xây dựng công trình công ích  Xây dựng công trình kỹ thuật dân dụng khác  Lắp đặt hệ thống cấp nƣớc, thoát nƣớc, lò sƣởi và điều hòa không khí, lắp đặt hệ thống xây dựng khác , hoàn thiện công trình xây dựng  Lắp đặt máy móc thiết bị công nghiệp -Sơ đồ tổ chức bộ máy quản lý Hình 2.1: Sơ đồ tổ chức bộ máy quản lý Chức năng của các phòng ban: 17
  • 18. +Phòng hành chính : tham mƣu cho giám đốc về công tác xử lý, sử dụng lao động, an toàn lao động, quản lý hồ sơ, quản lý con dấu của công ty. Phụ trách công tác thi đua khen thƣởng, bảo vệ tài sản của công ty,… +Phòng tài chính kế toán: giúp giám đốc về công tác sử dụng vốn và tài sản, tổ chức hạch toán toàn bộ quá trình sản xuất kinh doanh, lập báo cáo tài chính, thực hiện chức năng giám sát bằng tiền trong mọi hoạt động sản xuất kinh doanh của công ty… +Phòng kế hoạch và đầu tƣ: lập các kế hoạch, thiết kế các phƣơng án đầu tƣ hiệu quả, đƣa ra các dự đoán về mức chi phí công ty cần để đầu tƣ…. +Phòng quản lý dự án: giúp giám đốc giám sát các dự án đang thực thi và báo cáo những dự án hoàn thành, đề xuất những dự án mới có hiệu quả…. -Tổ chức bộ máy kế toán tại công ty cổ phần Hoàng Cầm Hình 2.2: Tổ chức bộ máy quản kế toán tại công ty Hoàng Cầm 18
  • 19. 2.3. Thực trạ ng công tác kế toán tạ i công ty cổ phầ n Hoàng Cầ m 2.3.1. Chứng từ sổ sách của công ty cổ phầ n Hoàng Cầ m - Phiếu nhập kho (MS S01-VT) - Hóa đơn giá trị gia tăng (MS 01GTKT-3LL) - Phiếu xuất kho (MS S02-VT) - Bảng phân bổ vật liệu CCDC - Thẻ kho (MS S12-DN) - Sổ chi tiết vật liệu CCDC (MS S10-DN) - Bảng tổng hợp nhập – xuất – tồn vật liệu CCDC - Sổ chi tiết thanh toán với ngƣời bán (MS S31-DN) - Sổ nhật ky mua hàng (MS S03a3-DN) - Sổ nhật ký chung (MS 03a-DN) - Sổ cái NVL_CCDC(MS SO3V_DN) 2.3.2. Khái quát chung về CCDC tạ i công ty 2.3.2.1.Khái niệm CCDC trong xây dựng công ty cổ phần Hoàng Cầm là những tƣ liêu lao động có giá trị nhỏ hơn 10 triệu đồng và thời gian sử dụng dƣới một năm thì gọi là công cụ dụng cụ. Ví dụ nhƣ các loại giàn ván khuôn, máy khoan, máy cắt sắt, các loại quần áo và mũ chuyên dụng để làm việc. 2.3.2.2.Phân loại CCDC Căn cứ vào yêu cầu quản lý và hạch toán chi tiết CCDC, đƣợc chia thành: -Các loại quần áo và mũ chuyên dụng cho hoạt động xây lắp để làm việc -Các loại máy khoan, máy cắt sắt, máy đầm… -Các loại cuốc xẻng, bay, dao xây,… 19
  • 20. 2.3.2.3.Tính giá CCDC nhập kho Giá thực tế CCDC nhập kho bao gồm giá mua ghi trên hóa đơn, các khoản thuế không đƣợc hoàn lại, chi phí thu mua, giảm giá hàng mua, hàng mua bị trả lại,… Đối với CCDC xuất kho sẽ xử lý vào từng trƣờng hợp riêng. 2.3.2.4.Hạch toán CCDC tại công ty Chứng từ sử dụng gồm: hóa đơn giá trị gia tăng, phiếu nhập kho, phiếu xuất kho, quy trình luân chuyển phiếu nhập kho-phiếu xuất kho. Thủ tục nhập kho, xuất kho CCDC tai công ty Thủ tục chứng từ nhập kho CCDC: Quy trình luân chuyển phiếu nhập kho: Theo quy định tất cả CCDC khi về đến công ty thì đều phải làm thủ tục kiểm nhận và nhập kho. Khi nhận đƣợc hóa đơn của ngƣời bán hoặc của nhân viên mua CCDC mang về, ban kiểm nghiệm của công ty sẽ đối chiếu với kế hoạch thu mua và kiểm tra số lƣợng, chất lƣợng, quy cách sản xuất của CCDC để nhập kho. - Căn cứ vào hóa đơn thuế giá trị gia tăng kế toán lập phiếu nhập kho theo (MS01- VT) phiếu nhập kho phải có đầy đủ chữ kí của kế toán trƣởng và thủ kho mới hợp lệ. - Phiếu nhập kho CCDC đƣợc lập thành 3 liên đặt giấy than viết một lần trong đó: liên 1 lƣu tại quyển, liên 2 giao cho ngƣời nhập hàng, liên 3 dùng để luân chuyển và ghi sổ kế toán. - Ngƣời lập phiếu nhập kho ghi tên chủng loại, quy cách số lƣợng theo chứng từ. Thủ tục xuất kho CCDC : Quy trình luân chuyển phiếu xuất khi có nhu cầu sử dụng CC DC, các đội trƣởng lập phiếu yêu cầu xin lĩnh vật tƣ gửi lên phòng kế hoạch và đầu tƣ, phòng kế hoạch và đấu tƣ xem xét kế hoạch sản xuất và định mức tiêu hao CCDC để duyệt phiếu yêu cầu xin lĩnh vật tƣ. Nếu CCDC có giá trị lớn thi phải qua ban giám đốc công ty xét duyệt. Nếu là CCDC xuất kho theo định kì thì không cần phải qua xét duyệt của ban lãnh đạo công ty. Sau đó phòng thiết bị vật tƣ sẽ lập phiếu xuất kho 20
  • 21. cho thủ kho, thủ kho CCDC ghi thẻ kho, kí phiếu xuất kho chuyển cho kế toán ghi sổ và bảo quản lƣu trữ. - Phiếu xuất kho theo (MS02-VT), phiếu này do cán bộ phòng cung ứng lập thành 3 liên, đặt lên giấy than viết 1 lần trong đó: liên 1 lƣu tại quyển, liên 2 giao cho ngƣời nhận hàng, liên 3 giao cho thủ kho để vào thẻ kho sau đó chuyển lên phòng kế toán để làm căn cứ ghi sổ. - Trên phiếu xuất kho ngƣời lập phiếu ghi cột tên chủng loại, quy cách, số lƣợng xuất theo yêu cầu, thủ kho ghi cột thực xuất, kế toán ghi cột đơn giá và thành tiền. Phiếu xuất kho phải ghi chép đầy đủ, rõ ràng và chính xác, không tẩy xóa, đầy đủ số lƣợng giá trị CCDC và có đầy đủ chữ ký của ngƣời xuất. Bảng phân bổ CCDC - Dùng để phản ánh tổng giá tị xuất kho trong tháng và phân bổ giá trị CCDC xuất dùng cho các đối tƣợng sử dụng hàng tháng. Bảng này dùng để phản ánh phân bổ giá trị xuất dung một lần có giá trị lớn, thời gian dƣới một năm hoặc trên một năm đƣợc phản ánh vào tài khoản 142 hoặc 242. - Bảng CCDC gồm các cột dọc phản ánh CCDc xuất dung trong tháng, các dòng ngang phản ánh đối tƣợng sử dụng CCDC. - Giá trị CCDC xuất kho trong tháng phản ánh trong bảng phân bổ CCDC theo từng đối tƣợng đƣợc dùng để làm căn cứ ghi vào bên có các tài khoản 153, 142 hoặc 242. Kế toán tổng hợp CCDC - Sổ nhật kí chung: Hàng ngày căn cứ vào các hóa đơn giá trị gia tăng, phiếu nhập kho, phiếu nhập kho CCDC kế toán ghi sổ các nghiệp vụ kinh tế phát sinh vào sổ nhật ký chung. Sổ nhật ký chung là sổ kế toan tổng hợp dùng để ghi chép các nghiệpvụ kinh tế phát sinh theo trình tự thời gian đồng thời phản ánh theo quan hệ đối ứng tài khoản, các số liệu trên sổ nhật ký chung đƣợc dùng làm căn cứ để ghi sổ cái TK 153. 21
  • 22. - Sổ nhật ký mua hàng: sổ nhật ký mua hàng là sổ ghi chép các nghiệp vụ mua hàng của đơn vị. Cơ sở lập sổ mua hàng căn cứ hóa đơn giá trị gia tăng, mối nghiệp vụ phát sinh nhập hàng đƣợc ghi vào một dòng trên nhật ký mua hàng. - Sổ cái TK 153: Cơ sở lập sổ căn cứ vào nhật ký chung hoặc nhật ký mua hàng kế toán phản ánh vào sổ cái của TK 153 và cuối tháng cộng sổ cái các tài khoản để ghi vào bảng cân đối số phát sinh. Đánh giá hệ thống kế toán trong công ty Ƣu điểm: -Các chứng từ kế toán kế toán của công ty cập nhật đầy đủ, kịp thời đảm bảo tính pháp lý, tổ chức luân chuyển chứng từ khoa học thuận tiện cho việc ghi sổ kế toán. -Duy trì chế độ báo cáo tháng đối với những hoạt động phân tán. -Quy trình kế toán cũng nhƣ quản lý đã tuân thủ các quy định của cấp trên và nhà nƣớc.Song bên cạnh những ƣu điểm cũng cần có những vấn đề cần bổ sung. Nhƣợc điểm: -Khi CCDC mua về để phục vụ cho việc thi công các hạng mục công trình thì thủ kho vẫn tiến hành làm thủ tục nhập kho và xuất kho theo quy định hiện hành.Nhƣng trên thực tế thì vật liệu CCDC mua về đƣợc chuyển thẳng đến các công trình đƣợc xây dựng mà không nhập vào kho của công ty. -Các loại giấy chứng từ gốc nhƣ hóa đơn giá trị gia tăng, mua CCDC, phiếu nhập kho, phiếu xuất kho, sổ chi tiết CCDC đƣợc kế toán dƣới đội tập hợp tình hình nhập xuất trong tháng rồi mới chuyển chứng từ gốc về phòng kế toán của công ty. -Vật liêu CCDC mua về thì ban kiểm vật tƣ của công ty không kiểm tra đƣợc số lƣợng, chủng loại, quy cách và chất lƣợng vật tƣ CCDC mà kế toán vật tƣ dƣới đội làm thủ tục nhập kho và kiểm tra chất lƣợng quy cách, chủng loại, số lƣợng CCDC. 2.4. Phương pháp hạ ch toán CCDC 22
  • 23. Hình 2.3.Sơ đồ hạch toán CCDC theo phƣơng pháp kê khai thƣờng xuyên 23
  • 24. Hình 2.4.Sơ đồ CCD hạch toán theo phƣơng pháp kiểm kê định kỳ 24
  • 25. Chương 3: XÂY DỰ PHÂN HỆ KẾ TOÁN TRONG CÔNG TY NG 3.1. Biể u đồ phân cấ p chức năng -Hệ thống kế toán trong công ty có nhiều phân hệ, mỗi phân hệ có những chức năng riêng và đƣợc liên kết với các phân hệ khác một cách chặt chẽ. Trong quá trình tìm hiểu về cách thức quản lý công cụ dụng cụ trong công ty em đi xây dựng phân hệ kế toán công cụ dụng cụ với các chức năng nhƣ sau: Hình 3.1: Biểu đồ phân cấp chức năng 25
  • 26. 3.2. Biể u đồ mức đỉ nh Hình 3.2: Biểu đồ mức đỉnh 26
  • 27. 3.3. Mô hình thực thể quan hệ Hình 3.3: Sơ đồ liên kết 27
  • 28. 3.4.Thiế t kế cơ sở dữ liệ u Bảng 1. Bảng Nhân viên STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải 1 MANV nchar(10) Khóa chính Mã nhân viên 2 TENNV nvarchar(50) Tên nhân viên 3 NGAYSINH datetime Ngày sinh 4 DIACHI Nvarchar(max) Địa chỉ Bảng 2.Bảng CCDC STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải 1 MACCDC nchar(10) Khóa chính Mã công cụ dụng cụ 2 TENCCDC nvarchar(50) Tên công cụ dụng cụ 3 DONVITINH nvarchar(50) Đơn vị tính Bảng 3. Chi tiết phiếu nhập STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải 1 SOPHIEUNHAP nchar(10) Khóa chính Số phiếu nhập 2 MACCDC nchar(10) Khóa chính Mã công cụ dụng cụ 3 SOLUONG int Số lƣợng 4 DƠNGIA float Đơn giá 5 THANHTIEN float Thành tiền 28
  • 29. 6 TKNO Nchar(10) Tài khoản ghi nợ 7 TKCO Nchar(10) Tài khoản ghi có 8 TIENTHUE float Tiền thuế 9 TONGTIEN float Tổng tiền Bảng 4. Bảng nhà cung cấp STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải 1 MANCC nchar(10) Khóa chính Mã nhà cung cấp 2 TENNCC nvarchar(50) Tên nhà cung cấp Bảng 6. Bảng kho công cụ dụng cụ STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải 1 MAKHO nchar(10) Khóa chính Mã kho 2 TENKHO nvarchar(50) Tên kho Bảng 7. Bảng bộ phận sử dụng ccdc STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải 1 MABPSD nchar(10) Khóa chính Mã bộ phận sử dụng 2 TENBPSD nvarchar(50) Tên bộ phận sử dụng 29
  • 30. Bảng 8.Bảng điều chuyển công cụ dụng cụ STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải 1 MADIEUCHUYEN nchar(10) Khóa chính Mã điều chuyển 2 MACCDC nchar(10) Mã công cụ dụng cụ 3 MABPSD Nchar(10) Mã bộ phận sử dụng 4 NGAYDIEUCHUYEN datetime Ngày điều chuyển 5 SOLUONG int Số lƣợng Bảng 9. Bảng báo hỏng công cụ dụng cụ STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải 1 MACCDC nchar(10) Khóa chính Mã công cụ dụng cụ 2 MABPSD nchar(10) Khóa chính Mã bộ phận sử dụng 3 SOLUONG int Số lƣợng B Bảng 10. Bảng chi tiết phiếu xuất STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải 1 SOPHIEUXUAT nchar(10) Khóa chính Số phiếu xuất 2 MACCDC nchar(10) Mã công cụ dụng cụ 3 SOLUONG int Số lƣợng 4 DONGIA float Đơn giá 5 THANHTIEN float Thành tiền 6 TKNO Nchar(10) Tài khoản ghi nợ 7 TKCO Nchar(10) Tài khoản ghi có 30
  • 31. Bảng 11.Bảng danh mục phiếu nhập STT Tên thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải 1 SOPHIEUNHAP nchar(10) Khóa chính Số phiếu xuất 2 MACCDC nchar(10) Khóa chính Mã công cụ dụng cụ 3 NGAYNHAP datetime Ngày nhập 4 MANV Nchar(10) Mã nhân viên 5 MAKHO Nchar(10) Mã kho 6 SOCT Nchar(10) Số chứng từ 7 DIENGIAI Nvarchar(max) Diễn giải -Cơ sở dữ liệu đƣợc xây dựng với các bảng trên , trong quá trình xây dựng chƣơng trình có phát sinh một số yêu cầu về thông tin không chi có ở một bảng mà đƣợc lấy từ nhiều bảng, các bảng liên kết với nhau nhờ khóa ngoài. -Ngoài các bảng trên còn có các bảng ảo với tên gọi khác là view đƣợc tạo để lập các báo cáo cho chƣơng trình. -Cơ sở dữ liệu trong kế toán khá phong phú và đa dạng, tùy theo yêu cầu của hệ thống để xây dựng các bảng dữ liệu cần thiết. Do em chƣa có kinh nghiệm chuyên sâu về dữ liệu kế toán nên trong quá trình tạo các bảng dữ liệu vẫn chƣa đáp ứng đƣợc yêu cầu cao của thực tế. Kính mong các thầy cô giúp đỡ để em phát triển đề tài chuyên sâu hơn. 31
  • 32. 3.5.Thiế t kế giao diệ n 3.5.1.Thiế t kế form đăng nhậ p hệ thống - Để hệ thống có thể quản lý hiệu quả cần có một form quản lý quyền truy nhập vào hệ thống. Đáp ứng đƣợc yêu cầu bài toán em xây dựng một form đăng nhập vào hệ thống. Trong form gồm có tên đăng nhập và mật khẩu, muốn đăng nhập vào hệ thống ngƣời dùng cần đƣợc cấp quyền đăng nhập với tên đăng nhập và mật khẩu riêng. -Khi ngƣời dùng viết sai tên đăng nhập hoặc mật khẩu thì hệ thống sẽ báo lỗi .Khi đăng nhập thành công giao diện sẽ hiện ra form hệ thống giúp ngƣời dùng thực hiện các chức năng trong chƣơng trình. Hình 3.5: Giao diện form đăng nhập 32
  • 33. 3.5.2. Thiế t kế form hệ thống - Đây là form giao diện chính trong chƣơng trình. - Dựa vào các yêu cầu của phân hệ em đi xây dựng form hệ thống với các chức năng nhƣ cập nhật thông tin của nhân viên, nhà cung cấp, bộ phận sử dụng, công cụ dụng cụ,… - Chức năng nhập công cụ dụng cụ đƣợc dùng trong việc xử lý nghiệp vụ kế toán nhập công cụ dụng cụ, chức năng xuất dùng để xử ý nghiệp vụ xuất công cụ dụng cụ. - Các chức năng đƣợc xây dựng có mỗi tab sẽ có các các form riêng. Hình 3.6.Giao diện form hệ thống 33
  • 34. 3.5.3. Cậ p nhậ t thông tin nhân viên -Khi có muốn thêm nhân viên vào để quản lý, ngƣời dùng có thể khai báo thông tin của nhân viên đó trong bảng nhân viên với các thuộc tính nhƣ: mã nhân viên, tên nhân viên, ngày sinh, giới tính, địa chỉ,… -Trong form nhân viên ngƣời quản lý có thể thêm, sửa, xóa thông tin về mỗi nhân viên khi cần thiết. -Khi sửa thông tin nhân viên ngƣời quản lý sửa đƣợc các thông tin của họ với điều kiện mã nhân viên không thay đổi vì mỗi nhân viên chỉ có một mã. Hinh 3.7: Giao diện form nhân viên 34
  • 35. 3.5.4. Phiế u xuấ t công cụ dụng cụ - Khi nhận đƣợc yêu cầu lập phiếu xuất công cụ dụng cụ bộ phận kế toán sẽ lập phiếu xuất theo yêu cầu. Form xuất công cụ dụng cụ sẽ đáp ứng yêu cầu trên. - Phiếu xuất phải đƣợc điền đầy đủ thông tin và thông tin cần chính xác đảm bảo cho việc quản lý và kiểm kê sau này. -Khi lập xong phiếu xuất ngƣời quản lý cần ghi chi tiết thông tin cho phiếu xuất có trong form chi tiết xuất của chƣơng trình. -Mỗi phiếu xuất chỉ có một mã là số phiếu xuất, vì vậy không lập các phiếu có trùng mã. Hình 3.8. Giao diện form xuất CCDC 35
  • 36. 3.5.5. Phiế u điề u chuyể n công cụ dụng cụ - Khi bộ phận sử dụng công cụ dụng cụ không có nhu cầu sử dụng công cụ dụng cụ đã đƣợc cấp trƣớc đó sẽ yêu cầu kế toán lập phiếu điều chuyển ngƣng sử dụng lƣu kho hoặc chuyển cho bộ phận khác trong điều kiện giá trị của công cụ dụng cụ lớn. -CCDC điều chuyển ngay trong nội bộ công ty nên nghiệp vụ này không ảnh hƣởng đến tài chính của công ty, không có phát sinh tăng hay giảm về tài sản nào trong công ty. Phiếu điều chuyển CCDC tới bộ phận giúp ngƣời quản lý nắm đƣợc tình hình sử dụng CCDC và có những kế hoạch phù hợp với mỗi bộ phận. Hình 3.9.Giao diện form điều chuyển CCDC 36
  • 37. TỔNG KẾT VÀ HƢỚNG PHÁT TRIỂN 1. Kết luận Sau khi làm đề tài thực tập chuyên ngành em thấy việc kinh doanh không phải là khó nếu ta biết vận dụng những ứng dụng từ công nghệ thông tin.Bên cạnh đó, thực tập chuyên ngành giúp em hiểu thêm về một ngôn ngữ lập trình là C#. Em đã hiểu thêm về ngôn ngữ này tuy là vẫn chƣa thành thạo và cũng chƣa hiểu hết về ngôn ngữ này. Đồng thời với đó là những kiến thức thu thập về nghiệp vụ kế toán trong doanh tài chính trong doanh nghiệp giúp em hiểu hơn về hoạt động và công việc tại kế toán tại mỗi doanh nghiệp trong nền kinh tế thị trƣờng.  Qua tìm hiểu nghiên cứu đề tài em đã hiểu rõ việc áp dụng bài học lý thuyết vào một dự án thực tế.  Hiểu đƣợc tầm quan trọng của hệ quản trị cơ sở dữ liệu và lợi ích mang lại vô cùng to lớn.  Đã nắm đƣợc kỹ năng trong việc sử dụng ngôn ngữ C# và biết đƣợc tính mềm dẻo của nó mang lại.  Hạn chế : Tuy đạt đƣợc một số kết quả nhƣ trên nhƣng thời gian có hạn nên việc viết phần mềm không thể tránh khỏi một số tồn tại chƣa giải quyết đƣợc nhƣ : ràng buộc các chức năng của hệ thống, sao lƣu dữ liệu, phục hồi dữ liệu tại form. 2. Hướng phát triể n -Việc xây dựng hệ mở rộng và chuyên hơn sẽ mang lại lợi ích thiết thực đối với doanh nghiệp. - Tiếp tục hoàn thiện hệ thống công nghệ thông tin trong doanh nghiệp. - Xây dựng cơ sở dữ liệu chặt chẽ, chính xác. -Liên kết chức năng của các phân hệ với nhau để phần mềm hoạt động hiệu quả mang lại lợi ích lớn nhất. 37
  • 38. NHẬN XÉT CỦA GIÁO VIÊN ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ Thái nguyên, Ngày ……. Tháng ……. Năm 2012 Giáo viên hƣớng dẫn 1 Giáo viên hƣớng dẫn 2 38
  • 39. NHẬN XÉT CỦA GIÁO VIÊN ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ ................................................................................................................ Thái nguyên, Ngày ……. Tháng ……. Năm 2012 Giáo viên hƣớng dẫn 1 Giáo viên hƣớng dẫn 2 39
  • 40. TÀI LIỆU THAM KHẢO [1].Nguyễn Ngọc Bình Phƣơng(2006)Các giải pháp lập trình c#, Nhà xuất bản giao thông vận tải [2].Dƣơng Quang Thiện(2005) Lập trình visual c# như thế nào ,tập 1,2,3, Nhà xuất bản Tp Hồ Chí Minh [3].Đoàn Xuân Tiến(2007)Bài giảng kế toán quản trị doanh nghiệp, Học viện tài chính [4].Nguyễn Năng Phúc(2008)Giáo trình phân tích báo cáo tài chính, Đại học kinh tế quốc dân 40