fix: Update Existing Price List Rate not working (#40333)
This commit is contained in:
@@ -2141,6 +2141,40 @@ class TestSalesOrder(FrappeTestCase):
|
|||||||
dn.submit()
|
dn.submit()
|
||||||
dn.reload()
|
dn.reload()
|
||||||
|
|
||||||
|
def test_auto_update_price_list(self):
|
||||||
|
item = make_item(
|
||||||
|
"_Test Auto Update Price List Item",
|
||||||
|
)
|
||||||
|
|
||||||
|
frappe.db.set_single_value("Stock Settings", "auto_insert_price_list_rate_if_missing", 1)
|
||||||
|
so = make_sales_order(
|
||||||
|
item_code=item.name, currency="USD", qty=1, rate=100, price_list_rate=100, do_not_submit=True
|
||||||
|
)
|
||||||
|
so.save()
|
||||||
|
|
||||||
|
item_price = frappe.db.get_value("Item Price", {"item_code": item.name}, "price_list_rate")
|
||||||
|
self.assertEqual(item_price, 100)
|
||||||
|
|
||||||
|
so = make_sales_order(
|
||||||
|
item_code=item.name, currency="USD", qty=1, rate=200, price_list_rate=100, do_not_submit=True
|
||||||
|
)
|
||||||
|
so.save()
|
||||||
|
|
||||||
|
item_price = frappe.db.get_value("Item Price", {"item_code": item.name}, "price_list_rate")
|
||||||
|
self.assertEqual(item_price, 100)
|
||||||
|
|
||||||
|
frappe.db.set_single_value("Stock Settings", "update_existing_price_list_rate", 1)
|
||||||
|
so = make_sales_order(
|
||||||
|
item_code=item.name, currency="USD", qty=1, rate=200, price_list_rate=200, do_not_submit=True
|
||||||
|
)
|
||||||
|
so.save()
|
||||||
|
|
||||||
|
item_price = frappe.db.get_value("Item Price", {"item_code": item.name}, "price_list_rate")
|
||||||
|
self.assertEqual(item_price, 200)
|
||||||
|
|
||||||
|
frappe.db.set_single_value("Stock Settings", "update_existing_price_list_rate", 0)
|
||||||
|
frappe.db.set_single_value("Stock Settings", "auto_insert_price_list_rate_if_missing", 0)
|
||||||
|
|
||||||
|
|
||||||
def automatically_fetch_payment_terms(enable=1):
|
def automatically_fetch_payment_terms(enable=1):
|
||||||
accounts_settings = frappe.get_doc("Accounts Settings")
|
accounts_settings = frappe.get_doc("Accounts Settings")
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
"item_group": "Demo Item Group",
|
"item_group": "Demo Item Group",
|
||||||
"item_code": "SKU001",
|
"item_code": "SKU001",
|
||||||
"item_name": "T-shirt",
|
"item_name": "T-shirt",
|
||||||
|
"valuation_rate": 400.0,
|
||||||
"gst_hsn_code": "999512",
|
"gst_hsn_code": "999512",
|
||||||
"image": "https://images.pexels.com/photos/1484808/pexels-photo-1484808.jpeg"
|
"image": "https://images.pexels.com/photos/1484808/pexels-photo-1484808.jpeg"
|
||||||
},
|
},
|
||||||
@@ -11,6 +12,7 @@
|
|||||||
"doctype": "Item",
|
"doctype": "Item",
|
||||||
"item_group": "Demo Item Group",
|
"item_group": "Demo Item Group",
|
||||||
"item_code": "SKU002",
|
"item_code": "SKU002",
|
||||||
|
"valuation_rate": 300.0,
|
||||||
"item_name": "Laptop",
|
"item_name": "Laptop",
|
||||||
"gst_hsn_code": "999512",
|
"gst_hsn_code": "999512",
|
||||||
"image": "https://images.pexels.com/photos/3999538/pexels-photo-3999538.jpeg"
|
"image": "https://images.pexels.com/photos/3999538/pexels-photo-3999538.jpeg"
|
||||||
@@ -19,6 +21,7 @@
|
|||||||
"doctype": "Item",
|
"doctype": "Item",
|
||||||
"item_group": "Demo Item Group",
|
"item_group": "Demo Item Group",
|
||||||
"item_code": "SKU003",
|
"item_code": "SKU003",
|
||||||
|
"valuation_rate": 523.0,
|
||||||
"item_name": "Book",
|
"item_name": "Book",
|
||||||
"gst_hsn_code": "999512",
|
"gst_hsn_code": "999512",
|
||||||
"image": "https://images.pexels.com/photos/2422178/pexels-photo-2422178.jpeg"
|
"image": "https://images.pexels.com/photos/2422178/pexels-photo-2422178.jpeg"
|
||||||
@@ -27,6 +30,7 @@
|
|||||||
"doctype": "Item",
|
"doctype": "Item",
|
||||||
"item_group": "Demo Item Group",
|
"item_group": "Demo Item Group",
|
||||||
"item_code": "SKU004",
|
"item_code": "SKU004",
|
||||||
|
"valuation_rate": 725.0,
|
||||||
"item_name": "Smartphone",
|
"item_name": "Smartphone",
|
||||||
"gst_hsn_code": "999512",
|
"gst_hsn_code": "999512",
|
||||||
"image": "https://images.pexels.com/photos/1647976/pexels-photo-1647976.jpeg"
|
"image": "https://images.pexels.com/photos/1647976/pexels-photo-1647976.jpeg"
|
||||||
@@ -35,6 +39,7 @@
|
|||||||
"doctype": "Item",
|
"doctype": "Item",
|
||||||
"item_group": "Demo Item Group",
|
"item_group": "Demo Item Group",
|
||||||
"item_code": "SKU005",
|
"item_code": "SKU005",
|
||||||
|
"valuation_rate": 222.0,
|
||||||
"item_name": "Sneakers",
|
"item_name": "Sneakers",
|
||||||
"gst_hsn_code": "999512",
|
"gst_hsn_code": "999512",
|
||||||
"image": "https://images.pexels.com/photos/1598505/pexels-photo-1598505.jpeg"
|
"image": "https://images.pexels.com/photos/1598505/pexels-photo-1598505.jpeg"
|
||||||
@@ -43,6 +48,7 @@
|
|||||||
"doctype": "Item",
|
"doctype": "Item",
|
||||||
"item_group": "Demo Item Group",
|
"item_group": "Demo Item Group",
|
||||||
"item_code": "SKU006",
|
"item_code": "SKU006",
|
||||||
|
"valuation_rate": 420.0,
|
||||||
"item_name": "Coffee Mug",
|
"item_name": "Coffee Mug",
|
||||||
"gst_hsn_code": "999512",
|
"gst_hsn_code": "999512",
|
||||||
"image": "https://images.pexels.com/photos/585753/pexels-photo-585753.jpeg"
|
"image": "https://images.pexels.com/photos/585753/pexels-photo-585753.jpeg"
|
||||||
@@ -51,6 +57,7 @@
|
|||||||
"doctype": "Item",
|
"doctype": "Item",
|
||||||
"item_group": "Demo Item Group",
|
"item_group": "Demo Item Group",
|
||||||
"item_code": "SKU007",
|
"item_code": "SKU007",
|
||||||
|
"valuation_rate": 375.0,
|
||||||
"item_name": "Television",
|
"item_name": "Television",
|
||||||
"gst_hsn_code": "999512",
|
"gst_hsn_code": "999512",
|
||||||
"image": "https://images.pexels.com/photos/8059376/pexels-photo-8059376.jpeg"
|
"image": "https://images.pexels.com/photos/8059376/pexels-photo-8059376.jpeg"
|
||||||
@@ -59,6 +66,7 @@
|
|||||||
"doctype": "Item",
|
"doctype": "Item",
|
||||||
"item_group": "Demo Item Group",
|
"item_group": "Demo Item Group",
|
||||||
"item_code": "SKU008",
|
"item_code": "SKU008",
|
||||||
|
"valuation_rate": 333.0,
|
||||||
"item_name": "Backpack",
|
"item_name": "Backpack",
|
||||||
"gst_hsn_code": "999512",
|
"gst_hsn_code": "999512",
|
||||||
"image": "https://images.pexels.com/photos/3731256/pexels-photo-3731256.jpeg"
|
"image": "https://images.pexels.com/photos/3731256/pexels-photo-3731256.jpeg"
|
||||||
@@ -67,6 +75,7 @@
|
|||||||
"doctype": "Item",
|
"doctype": "Item",
|
||||||
"item_group": "Demo Item Group",
|
"item_group": "Demo Item Group",
|
||||||
"item_code": "SKU009",
|
"item_code": "SKU009",
|
||||||
|
"valuation_rate": 700.0,
|
||||||
"item_name": "Headphones",
|
"item_name": "Headphones",
|
||||||
"gst_hsn_code": "999512",
|
"gst_hsn_code": "999512",
|
||||||
"image": "https://images.pexels.com/photos/3587478/pexels-photo-3587478.jpeg"
|
"image": "https://images.pexels.com/photos/3587478/pexels-photo-3587478.jpeg"
|
||||||
@@ -75,6 +84,7 @@
|
|||||||
"doctype": "Item",
|
"doctype": "Item",
|
||||||
"item_group": "Demo Item Group",
|
"item_group": "Demo Item Group",
|
||||||
"item_code": "SKU010",
|
"item_code": "SKU010",
|
||||||
|
"valuation_rate": 500.0,
|
||||||
"item_name": "Camera",
|
"item_name": "Camera",
|
||||||
"gst_hsn_code": "999512",
|
"gst_hsn_code": "999512",
|
||||||
"image": "https://images.pexels.com/photos/51383/photo-camera-subject-photographer-51383.jpeg"
|
"image": "https://images.pexels.com/photos/51383/photo-camera-subject-photographer-51383.jpeg"
|
||||||
|
|||||||
@@ -816,7 +816,9 @@ def get_price_list_rate(args, item_doc, out=None):
|
|||||||
price_list_rate = get_price_list_rate_for(args, item_doc.variant_of)
|
price_list_rate = get_price_list_rate_for(args, item_doc.variant_of)
|
||||||
|
|
||||||
# insert in database
|
# insert in database
|
||||||
if price_list_rate is None:
|
if price_list_rate is None or frappe.db.get_single_value(
|
||||||
|
"Stock Settings", "update_existing_price_list_rate"
|
||||||
|
):
|
||||||
if args.price_list and args.rate:
|
if args.price_list and args.rate:
|
||||||
insert_item_price(args)
|
insert_item_price(args)
|
||||||
return out
|
return out
|
||||||
|
|||||||
Reference in New Issue
Block a user