fix: internal transfer GLE validation
This commit is contained in:
parent
b29edb302c
commit
65b21ee7d6
@ -166,7 +166,7 @@ class StockController(AccountsController):
|
||||
"against": warehouse_account[sle.warehouse]["account"],
|
||||
"cost_center": item_row.cost_center,
|
||||
"remarks": self.get("remarks") or _("Accounting Entry for Stock"),
|
||||
"credit": flt(sle.stock_value_difference, precision),
|
||||
"debit": -1 * flt(sle.stock_value_difference, precision),
|
||||
"project": item_row.get("project") or self.get("project"),
|
||||
"is_opening": item_row.get("is_opening") or self.get("is_opening") or "No",
|
||||
},
|
||||
|
@ -375,6 +375,12 @@ def create_internal_customer(
|
||||
if not allowed_to_interact_with:
|
||||
allowed_to_interact_with = represents_company
|
||||
|
||||
exisiting_representative = frappe.db.get_value(
|
||||
"Customer", {"represents_company": represents_company}
|
||||
)
|
||||
if exisiting_representative:
|
||||
return exisiting_representative
|
||||
|
||||
if not frappe.db.exists("Customer", customer_name):
|
||||
customer = frappe.get_doc(
|
||||
{
|
||||
|
@ -1064,6 +1064,33 @@ class TestDeliveryNote(FrappeTestCase):
|
||||
|
||||
self.assertEqual(dn.items[0].rate, rate)
|
||||
|
||||
def test_internal_transfer_precision_gle(self):
|
||||
from erpnext.selling.doctype.customer.test_customer import create_internal_customer
|
||||
|
||||
item = make_item(properties={"valuation_method": "Moving Average"}).name
|
||||
company = "_Test Company with perpetual inventory"
|
||||
warehouse = "Stores - TCP1"
|
||||
target = "Finished Goods - TCP1"
|
||||
customer = create_internal_customer(represents_company=company)
|
||||
|
||||
# average rate = 128.015
|
||||
rates = [101.45, 150.46, 138.25, 121.9]
|
||||
|
||||
for rate in rates:
|
||||
make_stock_entry(item_code=item, target=warehouse, qty=1, rate=rate)
|
||||
|
||||
dn = create_delivery_note(
|
||||
item_code=item,
|
||||
company=company,
|
||||
customer=customer,
|
||||
qty=4,
|
||||
warehouse=warehouse,
|
||||
target_warehouse=target,
|
||||
)
|
||||
self.assertFalse(
|
||||
frappe.db.exists("GL Entry", {"voucher_no": dn.name, "voucher_type": dn.doctype})
|
||||
)
|
||||
|
||||
|
||||
def create_delivery_note(**args):
|
||||
dn = frappe.new_doc("Delivery Note")
|
||||
|
Loading…
x
Reference in New Issue
Block a user