mirror of
https://github.com/frappe/erpnext.git
synced 2026-06-07 07:02:54 +00:00
Merge pull request #50594 from frappe/version-14-hotfix
This commit is contained in:
@@ -449,7 +449,7 @@ def send_auto_email():
|
|||||||
selected = frappe.get_list(
|
selected = frappe.get_list(
|
||||||
"Process Statement Of Accounts",
|
"Process Statement Of Accounts",
|
||||||
filters={"enable_auto_email": 1},
|
filters={"enable_auto_email": 1},
|
||||||
or_filters={"to_date": format_date(today()), "posting_date": format_date(today())},
|
or_filters={"to_date": today(), "posting_date": today()},
|
||||||
)
|
)
|
||||||
for entry in selected:
|
for entry in selected:
|
||||||
send_emails(entry.name, from_scheduler=True)
|
send_emails(entry.name, from_scheduler=True)
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ from erpnext.controllers.stock_controller import StockController
|
|||||||
from erpnext.stock.doctype.batch.batch import get_batch_qty
|
from erpnext.stock.doctype.batch.batch import get_batch_qty
|
||||||
from erpnext.stock.doctype.inventory_dimension.inventory_dimension import get_inventory_dimensions
|
from erpnext.stock.doctype.inventory_dimension.inventory_dimension import get_inventory_dimensions
|
||||||
from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos
|
from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos
|
||||||
from erpnext.stock.utils import get_stock_balance
|
from erpnext.stock.utils import get_combine_datetime, get_stock_balance
|
||||||
|
|
||||||
|
|
||||||
class OpeningEntryAccountError(frappe.ValidationError):
|
class OpeningEntryAccountError(frappe.ValidationError):
|
||||||
@@ -646,6 +646,7 @@ class StockReconciliation(StockController):
|
|||||||
self.posting_date,
|
self.posting_date,
|
||||||
self.posting_time,
|
self.posting_time,
|
||||||
self.name,
|
self.name,
|
||||||
|
sle_creation,
|
||||||
)
|
)
|
||||||
|
|
||||||
precesion = row.precision("current_qty")
|
precesion = row.precision("current_qty")
|
||||||
@@ -705,8 +706,11 @@ class StockReconciliation(StockController):
|
|||||||
return allow_negative_stock
|
return allow_negative_stock
|
||||||
|
|
||||||
|
|
||||||
def get_batch_qty_for_stock_reco(item_code, warehouse, batch_no, posting_date, posting_time, voucher_no):
|
def get_batch_qty_for_stock_reco(
|
||||||
|
item_code, warehouse, batch_no, posting_date, posting_time, voucher_no, sle_creation
|
||||||
|
):
|
||||||
ledger = frappe.qb.DocType("Stock Ledger Entry")
|
ledger = frappe.qb.DocType("Stock Ledger Entry")
|
||||||
|
posting_datetime = get_combine_datetime(posting_date, posting_time)
|
||||||
|
|
||||||
query = (
|
query = (
|
||||||
frappe.qb.from_(ledger)
|
frappe.qb.from_(ledger)
|
||||||
@@ -719,12 +723,11 @@ def get_batch_qty_for_stock_reco(item_code, warehouse, batch_no, posting_date, p
|
|||||||
& (ledger.docstatus == 1)
|
& (ledger.docstatus == 1)
|
||||||
& (ledger.is_cancelled == 0)
|
& (ledger.is_cancelled == 0)
|
||||||
& (ledger.batch_no == batch_no)
|
& (ledger.batch_no == batch_no)
|
||||||
& (ledger.posting_date <= posting_date)
|
|
||||||
& (
|
|
||||||
CombineDatetime(ledger.posting_date, ledger.posting_time)
|
|
||||||
<= CombineDatetime(posting_date, posting_time)
|
|
||||||
)
|
|
||||||
& (ledger.voucher_no != voucher_no)
|
& (ledger.voucher_no != voucher_no)
|
||||||
|
& (
|
||||||
|
(ledger.posting_datetime < posting_datetime)
|
||||||
|
| ((ledger.posting_datetime == posting_datetime) & (ledger.creation < sle_creation))
|
||||||
|
)
|
||||||
)
|
)
|
||||||
.groupby(ledger.batch_no)
|
.groupby(ledger.batch_no)
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user