Tạo nhập xuất tồn bằng query

  • Thread starter tung1999
  • Ngày gửi
T

tung1999

Sơ cấp
9/2/09
41
0
0
can gio
Mình có file access quản lý nhập xuất tồn kho chỉ dùng query không dùng code. Trong đó có UNION query dữ liệu tồn đầu và nhập (gọi là QNHAP), tạo query xuất (QXUAT) sau đó dùng QNHAP và QXUAT để tạo tồn kho (QTON) như vậy sẽ theo dõi được tồn hàng hoá hiện tại của các hoá đơn. Việc nầy mình thấy ổn
Nhưng đến phần lập báo cáo thì mình gặp 2 rắc rối như sau:
1- Nếu trong 1 hoá đơn nhập kho có 1 loại hàng hoá có 2 giá khác nhau ( thí dụ: gạo 14.000 đ/ kg và 12.000 đ/ kg) thì phải tính giá bình quân (đơn giá nhập: Avg chứ không thể Group by được). Cái nầy thì không phù hợp với công việc thực tế của mình. ( hiện tại nếu gặp 2 giá như vậy tạm thời mình tách riêng ra 2 hoá đơn). Mình muốn trong 1 hoá đơn giá nào phải ra giá đó thì phải làm sao?
2- Khi lập báo cáo nhập xuất tồn: mình chọn 3 nguồn dữ liệu:
- tbDANH MUC HANG HOA: gồm: MAHH, TENHH, DV, SLDK, DG, TT
- QNHAP MOI: gồm: MAHH, TENHH, DV, SLN, TTNHAP
- QXUAT: gồm: MAHH, TENHH, DV, SLX, TTXUAT
Cũng lập được báo cáo nhập xuất tồn chính xác nhưng đơn giá trong phần nhập và đơn giá xuất thì không phù hợp, mỗi 1 hàng hoá chỉ có 1 dòng báo cáo và 1 đơn giá nhất định. Công việc mình cần là nhập giá nào xuất y như giá đó và thể hiện được trong bảng báo cáo.
Nhờ các anh, các bạn giúp đỡ dùm rất cảm ơn!
 
Khóa học Quản trị dòng tiền
hai2hai

hai2hai

VNUNI Makes a difference
29/4/04
2,030
125
63
52
Hà nội
vnuni.net
Mình có file access quản lý nhập xuất tồn kho chỉ dùng query không dùng code. Trong đó có UNION query dữ liệu tồn đầu và nhập (gọi là QNHAP), tạo query xuất (QXUAT) sau đó dùng QNHAP và QXUAT để tạo tồn kho (QTON) như vậy sẽ theo dõi được tồn hàng hoá hiện tại của các hoá đơn. Việc nầy mình thấy ổn
Nhưng đến phần lập báo cáo thì mình gặp 2 rắc rối như sau:
1- Nếu trong 1 hoá đơn nhập kho có 1 loại hàng hoá có 2 giá khác nhau ( thí dụ: gạo 14.000 đ/ kg và 12.000 đ/ kg) thì phải tính giá bình quân (đơn giá nhập: Avg chứ không thể Group by được). Cái nầy thì không phù hợp với công việc thực tế của mình. ( hiện tại nếu gặp 2 giá như vậy tạm thời mình tách riêng ra 2 hoá đơn). Mình muốn trong 1 hoá đơn giá nào phải ra giá đó thì phải làm sao?

Đó là 2 loại gạo khác nhau. Tức là 2 loại hàng hoá khác nhau. Gạo A và Gạo B chứ ko phải là Gạo.

2- Khi lập báo cáo nhập xuất tồn: mình chọn 3 nguồn dữ liệu:
- tbDANH MUC HANG HOA: gồm: MAHH, TENHH, DV, SLDK, DG, TT
- QNHAP MOI: gồm: MAHH, TENHH, DV, SLN, TTNHAP
- QXUAT: gồm: MAHH, TENHH, DV, SLX, TTXUAT
Cũng lập được báo cáo nhập xuất tồn chính xác nhưng đơn giá trong phần nhập và đơn giá xuất thì không phù hợp, mỗi 1 hàng hoá chỉ có 1 dòng báo cáo và 1 đơn giá nhất định. Công việc mình cần là nhập giá nào xuất y như giá đó và thể hiện được trong bảng báo cáo.
Nhờ các anh, các bạn giúp đỡ dùm rất cảm ơn!

Bạn tìm hiểu thêm và phân biệt các khái niệm:
- Giá trị hàng tồn kho
- Giá vốn hàng bán
- Giá bán

Ghi chú:
Không ai làm dư đầu kỳ trong DANH MUC HANG HOA cả. (làm tạm vui vui thì được)

Về bản chất, dư đầu kỳ là 1 loại chứng từ đặc biệt, cũng có số chứng từ, ngày chứng từ, loại chứng từ (là DDK hay Opening Balance), kỳ (xác định bởi năm, tháng). Phần thân chứng từ là các đối tượng chi tiết có số dư đầu kỳ (Đối với các đối tượng là 15* như HH, VT, ... thì dư đầu kỳ có cả SL và Giá trị), đối với các đối tượng khác như đối tượng công nợ (131, 331, 141,...) thì dư đầu kỳ là giá trị. v.v...
 
T

tung1999

Sơ cấp
9/2/09
41
0
0
can gio
Cảm ơn anh hai2hai về sự góp ý trên
Mình có ý kiến thêm thế nầy:
- Việc gạo có 2 giá (gạo A, gạo B) là mình thí dụ và nói ngắn gọn như vậy vì đó không phải là nội dung chính nên mình không diễn đạt dài dòng sợ phân tán nội dung. Anh hiểu dùm là trên thực tế đó là sự việc có thật, một hàng hoá cùng chủng loại, thuộc 2 lô sản xuất, nhưng do biến động giá nên nhà cung cấp xuất hoá đơn với 2 giá khác nhau ( thí dụ gạo đã đóng gói sẵn, hoá đơn ghi là: Gạo A lôSX 100309 giá 14.000đ/ bao và Gạo A lôSX 100409 giá 12.000đ/ bao)
- Về giá thì mình cần nhập giá nào xuất y giá đó (không tính lãi), như vậy là giá vốn = giá bán
- Việc tồn đầu kỳ (TDK) mình ghi nhận: số lượng (SDK), đơn giá (DGDK), thành tiền (TTDK) trong danh mục hàng hoá và sau đó make table query sang table khác với mã chứng từ là "tồn đầu kỳ" và ngày cụ thể.
- Quản lý được tồn hiện tại từng hàng hoá rồi. Mình đang bí trong việc đưa ra được bảng báo cáo tổng hợp nhập xuất tồn tất cả hàng hoá, không biết anh hai2hai có thể chỉ giúp được không?
Cảm ơn anh nhiều!
 
Sửa lần cuối:
hai2hai

hai2hai

VNUNI Makes a difference
29/4/04
2,030
125
63
52
Hà nội
vnuni.net
Cảm ơn anh hai2hai về sự góp ý trên
Mình có ý kiến thêm thế nầy:
- Việc gạo có 2 giá (gạo A, gạo B) là mình thí dụ và nói ngắn gọn như vậy vì đó không phải là nội dung chính nên mình không diễn đạt dài dòng sợ phân tán nội dung. Anh hiểu dùm là trên thực tế đó là sự việc có thật, một hàng hoá cùng chủng loại, thuộc 2 lô sản xuất, nhưng do biến động giá nên nhà cung cấp xuất hoá đơn với 2 giá khác nhau ( thí dụ gạo đã đóng gói sẵn, hoá đơn ghi là: Gạo A lôSX 100309 giá 14.000đ/ bao và Gạo A lôSX 100409 giá 12.000đ/ bao)

Khi quản lý theo lô thì trên chi tiết dòng chứng từ cũng phải thể hiện lô của hàng hóa và tính tồn theo từng lô của hàng hóa. Khi bán hàng theo lô thì cùng 1 chứng từ vẫn có thể có 2 dòng của 1 mặt hàng, nhưng khác nhau về số lô (và đương nhiên khác nhau về các thứ khác nữa như giá bán chẳng hạn)

- Việc tồn đầu kỳ (TDK) mình ghi nhận: số lượng (SDK), đơn giá (DGDK), thành tiền (TTDK) trong danh mục hàng hoá và sau đó make table query sang table khác với mã chứng từ là "tồn đầu kỳ" và ngày cụ thể.

Như đã nói ở trên thì đây chỉ là cách làm tạm thời mà thôi. Vì danh mục HH là duy nhất, trong khi dư đầu kỳ của cùng 1 HH có thể nhập cho nhiều kho hàng khác nhau. Làm "chính thống" thì ko ai để dư đầu kỳ (chả biết là kỳ nào cả) trên các danh mục đâu bạn ạ. Chuyên nghiệp là: "Chứng từ dư đầu kỳ" (hoặc là chứng từ điều chỉnh kho với loại chứng từ là "Dư đầu kỳ")

- Quản lý được tồn hiện tại từng hàng hoá rồi. Mình đang bí trong việc đưa ra được bảng báo cáo tổng hợp nhập xuất tồn tất cả hàng hoá, không biết anh hai2hai có thể chỉ giúp được không?

Mình đã giới thiệu cách tính NXT (bằng Union All SQL) trên box access rồi nên sẽ ko nhắc lại ở đây. (Chú ý là nên dùng Union ALL chứ ko dùng Union (ko có ALL) vì nếu ko sẽ sót dòng chứng từ nếu trùng nhau)

Tuy nhiên, để tính toán nhanh thì bao giờ cũng cần bảng lưu giá trị kết chuyển từng kỳ (tháng) chứ ko bao giờ tính từ đầu kỳ tới hiện thời vì nếu sau 10 năm thì số chứng từ lên tới cả triệu chứng từ và khi đó chả có SQL nào chạy NXT nổi cả.

Và như nói ở trên, mỗi kỳ bạn kết chuyển 1 lần để tính NXT cho nhanh.
 
Sửa lần cuối:

Xem nhiều