mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-02 21:18:27 +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 (
|
||||
get_accounting_dimensions,
|
||||
)
|
||||
from erpnext.stock.utils import get_default_stock_uom
|
||||
|
||||
|
||||
class OpeningInvoiceCreationTool(Document):
|
||||
@@ -172,7 +173,7 @@ class OpeningInvoiceCreationTool(Document):
|
||||
income_expense_account_field = (
|
||||
"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)
|
||||
|
||||
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.regional.italy import state_codes
|
||||
from erpnext.stock.utils import get_default_stock_uom
|
||||
|
||||
|
||||
def update_itemised_tax_data(doc):
|
||||
@@ -159,7 +160,7 @@ def get_invoice_summary(items, taxes):
|
||||
rate=reference_row.tax_amount,
|
||||
qty=1.0,
|
||||
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_amount=(reference_row.tax_amount * tax.rate) / 100,
|
||||
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()
|
||||
|
||||
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