Tuesday, December 25, 2012

SugarCRM: Stock and Inventory Module

(Anhgolden's Blog)-Ngoài những Module cần thiết cho nhu cầu kinh doanh như: Product (Quản lý hàng hóa, sản phầm), Invoice (Quản lý hóa đơn), Quote (Báo giá). Tôi còn có nhu cầu quản lý xuất - nhập - tồn hàng hóa.

Tôi xin chia sẻ cách thức tôi tạo 1 Module đơn giản quản lý xuất - nhập - tồn như sau:

Bước 1: Tạo mới 1 Module - Inventory Module
Trong đó, bao gồm các trường như:
- Ngày nhập xuất
- Hàng hóa: Được link đến module Product (Tôi chọn type là Relate to Product Module)
- Số lượng
- Diễn giải

Bước 2: Tạo 1 trigger trên SQL
Để khi có 1 sự kiện nhập hoặc xuất trên Inventory Module sẽ tính Tồn kho (Stock) và ghi vào bảng Product (tôi dùng cột Part_number để hiển thị Stock).

CREATE TRIGGER `insert_stock` AFTER INSERT
ON `aos_inventory` FOR EACH ROW
BEGIN
        SET @ton = new.Quantity;
        SET @ma_hang = new.aos_products_id_c;
        UPDATE aos_products
        SET part_number = IFNULL(part_number, 0) + IFNULL(@ton, 0)
        WHERE id = @ma_hang;
END;
Ngoài ra, có thể tạo thêm 1 Trigger để điều chỉnh Stock khi có chỉnh sửa số lượng Inventory.
CREATE TRIGGER `update_stock` AFTER UPDATE ON `aos_inventory`
 FOR EACH ROW BEGIN
SET @old = old.Quantity;
SET @new = new.Quantity;   SET @ma_hang = new.aos_products_id_c;
  UPDATE aos_products
  SET part_number = IFNULL(part_number, 0) + IFNULL(@new-@old, 0)
  WHERE id = @ma_hang;
END;

No comments:

Post a Comment