mirror of
https://github.com/frappe/erpnext.git
synced 2026-07-31 16:24:37 +00:00
feat(stock): expose all Bin qty fields in Stock Summary and Stock Projected Qty
Stock Summary's sort selector only offered 5 of Bin's 10 qty fields; add
the rest (ordered, requested, planned, reserved for production plan,
reserved stock) and extend get_data's or_filters so bins whose only
nonzero qty is one of the new fields show up when sorted by it. Sort
labels now mirror Bin field labels.
Stock Projected Qty report had a column for every Bin qty field except
reserved_stock; add it.
(cherry picked from commit 59c0c15c2e)
This commit is contained in:
@@ -53,6 +53,11 @@ def get_data(
|
||||
"reserved_qty": ["!=", 0],
|
||||
"reserved_qty_for_production": ["!=", 0],
|
||||
"reserved_qty_for_sub_contract": ["!=", 0],
|
||||
"reserved_qty_for_production_plan": ["!=", 0],
|
||||
"reserved_stock": ["!=", 0],
|
||||
"ordered_qty": ["!=", 0],
|
||||
"indented_qty": ["!=", 0],
|
||||
"planned_qty": ["!=", 0],
|
||||
"actual_qty": ["!=", 0],
|
||||
},
|
||||
filters=filters,
|
||||
|
||||
@@ -48,11 +48,19 @@ frappe.pages["stock-balance"].on_page_load = function (wrapper) {
|
||||
sort_by: "projected_qty",
|
||||
sort_order: "asc",
|
||||
options: [
|
||||
{ fieldname: "projected_qty", label: __("Projected qty") },
|
||||
{ fieldname: "reserved_qty", label: __("Reserved for sale") },
|
||||
{ fieldname: "reserved_qty_for_production", label: __("Reserved for manufacturing") },
|
||||
{ fieldname: "reserved_qty_for_sub_contract", label: __("Reserved for sub contracting") },
|
||||
{ fieldname: "actual_qty", label: __("Actual qty in stock") },
|
||||
{ fieldname: "projected_qty", label: __("Projected Qty") },
|
||||
{ fieldname: "reserved_qty", label: __("Reserved Qty") },
|
||||
{ fieldname: "reserved_qty_for_production", label: __("Reserved Qty for Production") },
|
||||
{ fieldname: "reserved_qty_for_sub_contract", label: __("Reserved Qty for Subcontract") },
|
||||
{
|
||||
fieldname: "reserved_qty_for_production_plan",
|
||||
label: __("Reserved Qty for Production Plan"),
|
||||
},
|
||||
{ fieldname: "reserved_stock", label: __("Reserved Stock") },
|
||||
{ fieldname: "ordered_qty", label: __("Ordered Qty") },
|
||||
{ fieldname: "indented_qty", label: __("Requested Qty") },
|
||||
{ fieldname: "planned_qty", label: __("Planned Qty") },
|
||||
{ fieldname: "actual_qty", label: __("Actual Qty") },
|
||||
],
|
||||
},
|
||||
change: function (sort_by, sort_order) {
|
||||
|
||||
@@ -84,6 +84,7 @@ def execute(filters=None):
|
||||
bin.reserved_qty_for_production_plan,
|
||||
bin.reserved_qty_for_sub_contract,
|
||||
reserved_qty_for_pos,
|
||||
bin.reserved_stock,
|
||||
bin.projected_qty,
|
||||
re_order_level,
|
||||
re_order_qty,
|
||||
@@ -200,6 +201,13 @@ def get_columns():
|
||||
"width": 100,
|
||||
"convertible": "qty",
|
||||
},
|
||||
{
|
||||
"label": _("Reserved Stock"),
|
||||
"fieldname": "reserved_stock",
|
||||
"fieldtype": "Float",
|
||||
"width": 100,
|
||||
"convertible": "qty",
|
||||
},
|
||||
{
|
||||
"label": _("Projected Qty"),
|
||||
"fieldname": "projected_qty",
|
||||
@@ -246,6 +254,7 @@ def get_bin_list(filters):
|
||||
bin.reserved_qty_for_production,
|
||||
bin.reserved_qty_for_sub_contract,
|
||||
bin.reserved_qty_for_production_plan,
|
||||
bin.reserved_stock,
|
||||
bin.projected_qty,
|
||||
)
|
||||
.orderby(bin.item_code, bin.warehouse)
|
||||
|
||||
Reference in New Issue
Block a user