mirror of
https://github.com/frappe/erpnext.git
synced 2026-03-30 01:22:18 +02:00
feat: specify expense account and cost center for raw materials in Subcontracting Receipt for GL entries
This commit is contained in:
@@ -11,6 +11,10 @@ import erpnext
|
||||
from erpnext.accounts.utils import get_account_currency
|
||||
from erpnext.buying.utils import check_on_hold_or_closed_status
|
||||
from erpnext.controllers.subcontracting_controller import SubcontractingController
|
||||
from erpnext.setup.doctype.brand.brand import get_brand_defaults
|
||||
from erpnext.setup.doctype.item_group.item_group import get_item_group_defaults
|
||||
from erpnext.stock.doctype.item.item import get_item_defaults
|
||||
from erpnext.stock.get_item_details import get_default_cost_center, get_default_expense_account
|
||||
from erpnext.stock.stock_ledger import get_valuation_rate
|
||||
|
||||
|
||||
@@ -244,6 +248,16 @@ class SubcontractingReceipt(SubcontractingController):
|
||||
if not item.cost_center:
|
||||
item.cost_center = cost_center
|
||||
|
||||
for item in self.supplied_items:
|
||||
if not item.cost_center:
|
||||
item.cost_center = get_default_cost_center(
|
||||
{"project": self.project},
|
||||
get_item_defaults(item.rm_item_code, self.company),
|
||||
get_item_group_defaults(item.rm_item_code, self.company),
|
||||
get_brand_defaults(item.rm_item_code, self.company),
|
||||
self.company,
|
||||
)
|
||||
|
||||
def set_items_expense_account(self):
|
||||
if self.company:
|
||||
expense_account = self.get_company_default("default_expense_account", ignore_validation=True)
|
||||
@@ -252,6 +266,15 @@ class SubcontractingReceipt(SubcontractingController):
|
||||
if not item.expense_account:
|
||||
item.expense_account = expense_account
|
||||
|
||||
for item in self.supplied_items:
|
||||
if not item.expense_account:
|
||||
item.expense_account = get_default_expense_account(
|
||||
frappe._dict({"expense_account": expense_account}),
|
||||
get_item_defaults(item.rm_item_code, self.company),
|
||||
get_item_group_defaults(item.rm_item_code, self.company),
|
||||
get_brand_defaults(item.rm_item_code, self.company),
|
||||
)
|
||||
|
||||
def reset_supplied_items(self):
|
||||
if (
|
||||
frappe.db.get_single_value("Buying Settings", "backflush_raw_materials_of_subcontract_based_on")
|
||||
|
||||
@@ -33,7 +33,11 @@
|
||||
"section_break_zwnh",
|
||||
"serial_no",
|
||||
"column_break_qibi",
|
||||
"batch_no"
|
||||
"batch_no",
|
||||
"accounting_details_section",
|
||||
"expense_account",
|
||||
"accounting_dimensions_section",
|
||||
"cost_center"
|
||||
],
|
||||
"fields": [
|
||||
{
|
||||
@@ -103,7 +107,7 @@
|
||||
{
|
||||
"fieldname": "stock_uom",
|
||||
"fieldtype": "Link",
|
||||
"label": "Stock Uom",
|
||||
"label": "Stock UOM",
|
||||
"options": "UOM",
|
||||
"read_only": 1
|
||||
},
|
||||
@@ -231,20 +235,45 @@
|
||||
"fieldname": "add_serial_batch_bundle",
|
||||
"fieldtype": "Button",
|
||||
"label": "Add Serial / Batch Bundle"
|
||||
},
|
||||
{
|
||||
"fieldname": "accounting_details_section",
|
||||
"fieldtype": "Section Break",
|
||||
"label": "Accounting Details"
|
||||
},
|
||||
{
|
||||
"fieldname": "expense_account",
|
||||
"fieldtype": "Link",
|
||||
"label": "Expense Account",
|
||||
"options": "Account"
|
||||
},
|
||||
{
|
||||
"fieldname": "accounting_dimensions_section",
|
||||
"fieldtype": "Section Break",
|
||||
"label": "Accounting Dimensions"
|
||||
},
|
||||
{
|
||||
"depends_on": "eval:cint(erpnext.is_perpetual_inventory_enabled(parent.company))",
|
||||
"fieldname": "cost_center",
|
||||
"fieldtype": "Link",
|
||||
"label": "Cost Center",
|
||||
"options": "Cost Center",
|
||||
"print_hide": 1
|
||||
}
|
||||
],
|
||||
"idx": 1,
|
||||
"istable": 1,
|
||||
"links": [],
|
||||
"modified": "2024-03-30 10:26:27.237371",
|
||||
"modified": "2025-05-27 12:33:58.772638",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Subcontracting",
|
||||
"name": "Subcontracting Receipt Supplied Item",
|
||||
"naming_rule": "Autoincrement",
|
||||
"owner": "Administrator",
|
||||
"permissions": [],
|
||||
"row_format": "Dynamic",
|
||||
"sort_field": "modified",
|
||||
"sort_order": "DESC",
|
||||
"states": [],
|
||||
"track_changes": 1
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,8 +20,10 @@ class SubcontractingReceiptSuppliedItem(Document):
|
||||
bom_detail_no: DF.Data | None
|
||||
consumed_qty: DF.Float
|
||||
conversion_factor: DF.Float
|
||||
cost_center: DF.Link | None
|
||||
current_stock: DF.Float
|
||||
description: DF.TextEditor | None
|
||||
expense_account: DF.Link | None
|
||||
item_name: DF.Data | None
|
||||
main_item_code: DF.Link | None
|
||||
parent: DF.Data
|
||||
|
||||
Reference in New Issue
Block a user