/* SO SÁNH DỮ LIỆU CÂN XUẤT VỚI PHIẾU XUẤT KHO */;WITH AccDocItem AS ( SELECT MAX(doc.BranchCode) AS BranchCode, doc.Stt, doc.SourceKey, MAX(doc.DocDate) AS DocDate, MAX(doc.DocCode) AS DocCode, MAX(doc.DocNo) AS DocNo, MAX(doc.DocStatus) AS DocStatus, ct0.ItemId, MAX(ct0.Unit) AS Unit, SUM(ct0.Quantity9) AS Quantity9, doc.IsActive FROM dbo.B30AccDocItem doc INNER JOIN dbo.B30AccDocItem2 ct0 ON doc.Stt = ct0.Stt WHERE doc.DocCode = 'PX' AND ISNULL(doc.SourceKey, '') <> '' GROUP BY doc.Stt, doc.SourceKey, ct0.ItemId, doc.IsActive)SELECT wd.BranchCode, wd.Stt, wd.DocDate, wd.DocNo, wd.ItemId, wd.ItemCode, wd.ItemName, wd.Unit, wd.WeightValue, wd.WeightBag, IIF(wd.CementType<>1, (wd.WeightValue/1000), (wd.WeightBag/1000)) AS Quantity_WE, ISNULL(AccDocItem.Quantity9,0) AS Quantity_PX, (IIF(wd.CementType<>1, (wd.WeightValue/1000), (wd.WeightBag/1000)) - ISNULL(AccDocItem.Quantity9,0)) AS DiffQty, AccDocItem.DocDate AS AccDocItem_DocDate, AccDocItem.DocNo AS AccDocItem_DocNo, AccDocItem.SourceKey, wd.WeighingType, wd.DocStatus, wd.CreatedBy, wd.CreatedBy_NameFROM dbo.vB30WeighingData wd LEFT OUTER JOIN AccDocItem AccDocItem ON AccDocItem.SourceKey = wd.Stt AND AccDocItem.ItemId = wd.ItemIdWHERE wd.WeighingType = '2' AND wd.PostGL = 1 AND wd.DocDate BETWEEN '2026-01-01' AND '2026-12-31' AND (IIF(wd.CementType<>1, (wd.WeightValue/1000), (wd.WeightBag/1000)) - ISNULL(AccDocItem.Quantity9,0)) <> 0ORDER BY wd.DocDate DESC, wd.DocNo DESC;
/* CẬP NHẬT DỮ LIỆU SỐ LƯỢNG ĐÃ THỰC HIỆN CỦA ĐƠN ĐẶT HÀNG BÁN */EXECUTE dbo.usp_sys_B30BizDoc_CalcTransferedQuantity @_TransferedType = 'SO', @_BranchCode = 'A01';