Sales Order Status _ Complete empy Row

PHOTO EMBED

Fri Mar 07 2025 10:57:20 GMT+0000 (Coordinated Universal Time)

Saved by @Taimoor

WITH FilteredSales AS (
    -- Get only the sales orders matching the date filter
    SELECT 
        so.customer,
        so.transaction_date,
        so.name AS sales_order_no,
        soi.item_code,
        soi.qty,
        IFNULL(soi.delivered_qty, 0) AS delivered_qty,
        (soi.qty - IFNULL(soi.delivered_qty, 0)) AS pending_qty
    FROM `tabSales Order` so
    JOIN `tabSales Order Item` soi ON so.name = soi.parent
    WHERE 
        so.company = 'Cotton Craft Pvt Ltd'
        AND so.docstatus != 2  
        AND (soi.qty - IFNULL(soi.delivered_qty, 0)) > 0  
        AND (%(from_date)s IS NULL OR so.transaction_date >= %(from_date)s)
        AND (%(to_date)s IS NULL OR so.transaction_date <= %(to_date)s)
),
CustomersWithOrders AS (
    -- Get distinct customers who have sales orders in the filtered dataset
    SELECT DISTINCT customer FROM FilteredSales
)

SELECT 
    `Customer Name`, 
    `Sales Order Date`, 
    `Sales Order No`, 
    `Item Code`, 
    FORMAT(`Qty`, 2) AS `Qty`, 
    FORMAT(`Delivered Qty`, 2) AS `Delivered Qty`, 
    FORMAT(`Pending Qty`, 2) AS `Pending Qty`
FROM (
    -- Insert exactly one blank row per customer in the filtered dataset
    SELECT 
        '' AS `Customer Name`, 
        NULL AS `Sales Order Date`, 
        NULL AS `Sales Order No`, 
        NULL AS `Item Code`,
        NULL AS `Qty`, 
        NULL AS `Delivered Qty`, 
        NULL AS `Pending Qty`,
        -1 AS sort_order, 
        c.customer AS `Group Identifier`
    FROM CustomersWithOrders c

    UNION ALL

    -- Main sales order data
    SELECT 
        f.customer AS `Customer Name`, 
        f.transaction_date AS `Sales Order Date`, 
        f.sales_order_no AS `Sales Order No`, 
        f.item_code AS `Item Code`,
        f.qty AS `Qty`, 
        f.delivered_qty AS `Delivered Qty`, 
        f.pending_qty AS `Pending Qty`,
        0 AS sort_order,
        f.customer AS `Group Identifier`
    FROM FilteredSales f
) grouped_data
ORDER BY 
    `Group Identifier`, sort_order, `Sales Order Date`, `Sales Order No`, `Item Code`;
content_copyCOPY

Filters Label: From Date, To Date Fieldtype: Date, Date Fieldname: from_date, to_date ---------------------------------- Columns: Fieldname: Label: Fieldtype: Width: Option: