mirror of
https://github.com/frappe/erpnext.git
synced 2026-06-02 11:49:10 +00:00
fix: get default stock uom (#45384)
Co-authored-by: Sagar Vora <sagar@resilient.tech>
This commit is contained in:
@@ -11,6 +11,7 @@ from frappe.utils.background_jobs import enqueue, is_job_enqueued
|
|||||||
from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import (
|
from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import (
|
||||||
get_accounting_dimensions,
|
get_accounting_dimensions,
|
||||||
)
|
)
|
||||||
|
from erpnext.stock.utils import get_default_stock_uom
|
||||||
|
|
||||||
|
|
||||||
class OpeningInvoiceCreationTool(Document):
|
class OpeningInvoiceCreationTool(Document):
|
||||||
@@ -172,7 +173,7 @@ class OpeningInvoiceCreationTool(Document):
|
|||||||
income_expense_account_field = (
|
income_expense_account_field = (
|
||||||
"income_account" if row.party_type == "Customer" else "expense_account"
|
"income_account" if row.party_type == "Customer" else "expense_account"
|
||||||
)
|
)
|
||||||
default_uom = frappe.db.get_single_value("Stock Settings", "stock_uom") or "Nos"
|
default_uom = get_default_stock_uom()
|
||||||
rate = flt(row.outstanding_amount) / flt(row.qty)
|
rate = flt(row.outstanding_amount) / flt(row.qty)
|
||||||
|
|
||||||
item_dict = frappe._dict(
|
item_dict = frappe._dict(
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ from frappe.utils.file_manager import remove_file
|
|||||||
|
|
||||||
from erpnext.controllers.taxes_and_totals import ItemWiseTaxDetail, get_itemised_tax
|
from erpnext.controllers.taxes_and_totals import ItemWiseTaxDetail, get_itemised_tax
|
||||||
from erpnext.regional.italy import state_codes
|
from erpnext.regional.italy import state_codes
|
||||||
|
from erpnext.stock.utils import get_default_stock_uom
|
||||||
|
|
||||||
|
|
||||||
def update_itemised_tax_data(doc):
|
def update_itemised_tax_data(doc):
|
||||||
@@ -159,7 +160,7 @@ def get_invoice_summary(items, taxes):
|
|||||||
rate=reference_row.tax_amount,
|
rate=reference_row.tax_amount,
|
||||||
qty=1.0,
|
qty=1.0,
|
||||||
amount=reference_row.tax_amount,
|
amount=reference_row.tax_amount,
|
||||||
stock_uom=frappe.db.get_single_value("Stock Settings", "stock_uom") or "Nos",
|
stock_uom=get_default_stock_uom(),
|
||||||
tax_rate=tax.rate,
|
tax_rate=tax.rate,
|
||||||
tax_amount=(reference_row.tax_amount * tax.rate) / 100,
|
tax_amount=(reference_row.tax_amount * tax.rate) / 100,
|
||||||
net_amount=reference_row.tax_amount,
|
net_amount=reference_row.tax_amount,
|
||||||
|
|||||||
@@ -658,3 +658,26 @@ def get_combine_datetime(posting_date, posting_time):
|
|||||||
posting_time = (datetime.datetime.min + posting_time).time()
|
posting_time = (datetime.datetime.min + posting_time).time()
|
||||||
|
|
||||||
return datetime.datetime.combine(posting_date, posting_time).replace(microsecond=0)
|
return datetime.datetime.combine(posting_date, posting_time).replace(microsecond=0)
|
||||||
|
|
||||||
|
|
||||||
|
@frappe.request_cache
|
||||||
|
def get_default_stock_uom() -> str | None:
|
||||||
|
if default_uom := frappe.get_cached_value("Stock Settings", None, "stock_uom"):
|
||||||
|
return default_uom
|
||||||
|
|
||||||
|
acceptable_default_uoms = dict.fromkeys(
|
||||||
|
(
|
||||||
|
"Nos",
|
||||||
|
# In the past, we used to create translated UOMs during initial setup.
|
||||||
|
# These could either be in the system language...
|
||||||
|
_("Nos", frappe.get_system_settings("language")),
|
||||||
|
# or the current user's language
|
||||||
|
_("Nos"),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
available_default_uoms = frappe.db.get_values(
|
||||||
|
"UOM", {"name": ("in", tuple(acceptable_default_uoms))}, pluck="name"
|
||||||
|
)
|
||||||
|
|
||||||
|
return next((uom for uom in acceptable_default_uoms if uom in available_default_uoms), None)
|
||||||
|
|||||||
Reference in New Issue
Block a user