Merge pull request #25015 from rohitwaghchaure/fixed-patch-item-reposting-for-incorrect-sl-and-gl-develop
fix: patch
This commit is contained in:
commit
5899477cbb
@ -328,6 +328,21 @@ class TestPricingRule(unittest.TestCase):
|
|||||||
self.assertEquals(item.discount_amount, 110)
|
self.assertEquals(item.discount_amount, 110)
|
||||||
self.assertEquals(item.rate, 990)
|
self.assertEquals(item.rate, 990)
|
||||||
|
|
||||||
|
def test_pricing_rule_with_margin_and_discount_amount(self):
|
||||||
|
frappe.delete_doc_if_exists('Pricing Rule', '_Test Pricing Rule')
|
||||||
|
make_pricing_rule(selling=1, margin_type="Percentage", margin_rate_or_amount=10,
|
||||||
|
rate_or_discount="Discount Amount", discount_amount=110)
|
||||||
|
si = create_sales_invoice(do_not_save=True)
|
||||||
|
si.items[0].price_list_rate = 1000
|
||||||
|
si.payment_schedule = []
|
||||||
|
si.insert(ignore_permissions=True)
|
||||||
|
|
||||||
|
item = si.items[0]
|
||||||
|
self.assertEquals(item.margin_rate_or_amount, 10)
|
||||||
|
self.assertEquals(item.rate_with_margin, 1100)
|
||||||
|
self.assertEquals(item.discount_amount, 110)
|
||||||
|
self.assertEquals(item.rate, 990)
|
||||||
|
|
||||||
def test_pricing_rule_for_product_discount_on_same_item(self):
|
def test_pricing_rule_for_product_discount_on_same_item(self):
|
||||||
frappe.delete_doc_if_exists('Pricing Rule', '_Test Pricing Rule')
|
frappe.delete_doc_if_exists('Pricing Rule', '_Test Pricing Rule')
|
||||||
test_record = {
|
test_record = {
|
||||||
@ -560,6 +575,7 @@ def make_pricing_rule(**args):
|
|||||||
"margin_rate_or_amount": args.margin_rate_or_amount or 0.0,
|
"margin_rate_or_amount": args.margin_rate_or_amount or 0.0,
|
||||||
"condition": args.condition or '',
|
"condition": args.condition or '',
|
||||||
"priority": 1,
|
"priority": 1,
|
||||||
|
"discount_amount": args.discount_amount or 0.0,
|
||||||
"apply_multiple_pricing_rules": args.apply_multiple_pricing_rules or 0
|
"apply_multiple_pricing_rules": args.apply_multiple_pricing_rules or 0
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@ -406,8 +406,7 @@ class StockController(AccountsController):
|
|||||||
def set_rate_of_stock_uom(self):
|
def set_rate_of_stock_uom(self):
|
||||||
if self.doctype in ["Purchase Receipt", "Purchase Invoice", "Purchase Order", "Sales Invoice", "Sales Order", "Delivery Note", "Quotation"]:
|
if self.doctype in ["Purchase Receipt", "Purchase Invoice", "Purchase Order", "Sales Invoice", "Sales Order", "Delivery Note", "Quotation"]:
|
||||||
for d in self.get("items"):
|
for d in self.get("items"):
|
||||||
if d.conversion_factor:
|
d.stock_uom_rate = d.rate / (d.conversion_factor or 1)
|
||||||
d.stock_uom_rate = d.rate / d.conversion_factor
|
|
||||||
|
|
||||||
def validate_internal_transfer(self):
|
def validate_internal_transfer(self):
|
||||||
if self.doctype in ('Sales Invoice', 'Delivery Note', 'Purchase Invoice', 'Purchase Receipt') \
|
if self.doctype in ('Sales Invoice', 'Delivery Note', 'Purchase Invoice', 'Purchase Receipt') \
|
||||||
|
|||||||
@ -20,9 +20,11 @@ def execute():
|
|||||||
frappe.clear_cache()
|
frappe.clear_cache()
|
||||||
frappe.flags.warehouse_account_map = {}
|
frappe.flags.warehouse_account_map = {}
|
||||||
|
|
||||||
|
company_list = []
|
||||||
|
|
||||||
data = frappe.db.sql('''
|
data = frappe.db.sql('''
|
||||||
SELECT
|
SELECT
|
||||||
name, item_code, warehouse, voucher_type, voucher_no, posting_date, posting_time
|
name, item_code, warehouse, voucher_type, voucher_no, posting_date, posting_time, company
|
||||||
FROM
|
FROM
|
||||||
`tabStock Ledger Entry`
|
`tabStock Ledger Entry`
|
||||||
WHERE
|
WHERE
|
||||||
@ -36,6 +38,9 @@ def execute():
|
|||||||
total_sle = len(data)
|
total_sle = len(data)
|
||||||
i = 0
|
i = 0
|
||||||
for d in data:
|
for d in data:
|
||||||
|
if d.company not in company_list:
|
||||||
|
company_list.append(d.company)
|
||||||
|
|
||||||
update_entries_after({
|
update_entries_after({
|
||||||
"item_code": d.item_code,
|
"item_code": d.item_code,
|
||||||
"warehouse": d.warehouse,
|
"warehouse": d.warehouse,
|
||||||
@ -53,8 +58,10 @@ def execute():
|
|||||||
|
|
||||||
print("Reposting General Ledger Entries...")
|
print("Reposting General Ledger Entries...")
|
||||||
|
|
||||||
for row in frappe.get_all('Company', filters= {'enable_perpetual_inventory': 1}):
|
if data:
|
||||||
update_gl_entries_after(posting_date, posting_time, company=row.name)
|
for row in frappe.get_all('Company', filters= {'enable_perpetual_inventory': 1}):
|
||||||
|
if row.name in company_list:
|
||||||
|
update_gl_entries_after(posting_date, posting_time, company=row.name)
|
||||||
|
|
||||||
frappe.db.auto_commit_on_many_writes = 0
|
frappe.db.auto_commit_on_many_writes = 0
|
||||||
|
|
||||||
|
|||||||
@ -124,7 +124,7 @@ def repost_entries():
|
|||||||
return
|
return
|
||||||
|
|
||||||
for d in frappe.get_all('Company', filters= {'enable_perpetual_inventory': 1}):
|
for d in frappe.get_all('Company', filters= {'enable_perpetual_inventory': 1}):
|
||||||
check_if_stock_and_account_balance_synced(today(), d.company)
|
check_if_stock_and_account_balance_synced(today(), d.name)
|
||||||
|
|
||||||
def get_repost_item_valuation_entries():
|
def get_repost_item_valuation_entries():
|
||||||
date = add_to_date(today(), hours=-12)
|
date = add_to_date(today(), hours=-12)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user