diff --git a/.mergify.yml b/.mergify.yml index 53596060b1f..1ed5e32bbed 100644 --- a/.mergify.yml +++ b/.mergify.yml @@ -2,29 +2,27 @@ pull_request_rules: - name: Auto-close PRs on stable branch conditions: - and: - - and: - - author!=surajshetty3416 - - author!=gavindsouza - - author!=rohitwaghchaure - - author!=nabinhait - - author!=ankush - - author!=deepeshgarg007 - - author!=frappe-pr-bot - - author!=mergify[bot] - - - or: - - base=version-13 - - base=version-12 - - base=version-14 - - base=version-15 - - base=version-16 + - and: + - author!=surajshetty3416 + - author!=gavindsouza + - author!=rohitwaghchaure + - author!=nabinhait + - author!=ankush + - author!=deepeshgarg007 + - author!=frappe-pr-bot + - author!=mergify[bot] + - or: + - base=version-13 + - base=version-12 + - base=version-14 + - base=version-15 + - base=version-16 actions: close: comment: - message: | - @{{author}}, thanks for the contribution, but we do not accept pull requests on a stable branch. Please raise PR on an appropriate hotfix branch. - https://github.com/frappe/erpnext/wiki/Pull-Request-Checklist#which-branch - + message: | + @{{author}}, thanks for the contribution, but we do not accept pull requests on a stable branch. Please raise PR on an appropriate hotfix branch. + https://github.com/frappe/erpnext/wiki/Pull-Request-Checklist#which-branch - name: backport to develop conditions: - label="backport develop" @@ -34,7 +32,6 @@ pull_request_rules: - develop assignees: - "{{ author }}" - - name: backport to version-14-hotfix conditions: - label="backport version-14-hotfix" @@ -44,7 +41,6 @@ pull_request_rules: - version-14-hotfix assignees: - "{{ author }}" - - name: backport to version-15-hotfix conditions: - label="backport version-15-hotfix" @@ -54,18 +50,6 @@ pull_request_rules: - version-15-hotfix assignees: - "{{ author }}" - - - name: backport to version-13-hotfix - conditions: - - label="backport version-13-hotfix" - actions: - backport: - branches: - - version-13-hotfix - assignees: - - "{{ author }}" - - - name: Automatic merge on CI success and review conditions: - status-success=linters @@ -96,6 +80,6 @@ pull_request_rules: merge: method: squash commit_message_template: | - {{ title }} (#{{ number }}) + {{ title }} (#{{ number }}) - {{ body }} + {{ body }} diff --git a/README.md b/README.md index 8f9d09c9426..cb32e7966e4 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@
- + ERPNext Logo

ERPNext

@@ -19,9 +19,9 @@
Live Demo - - Website + Website - - Documentation + Documentation
## ERPNext @@ -115,16 +115,16 @@ To setup the repository locally follow the steps mentioned below: ``` # Create a new site bench new-site erpnext.dev - + # Map your site to localhost bench --site erpnext.dev add-to-hosts ``` - + 3. Get the ERPNext app and install it ``` # Get the ERPNext app bench get-app https://github.com/frappe/erpnext - + # Install the app bench --site erpnext.dev install-app erpnext ``` diff --git a/erpnext/accounts/doctype/account/account.py b/erpnext/accounts/doctype/account/account.py index d9f42db1429..c0d9176f1ba 100644 --- a/erpnext/accounts/doctype/account/account.py +++ b/erpnext/accounts/doctype/account/account.py @@ -4,7 +4,7 @@ import frappe from frappe import _, throw -from frappe.utils import cint, cstr +from frappe.utils import add_to_date, cint, cstr, pretty_date from frappe.utils.nestedset import NestedSet, get_ancestors_of, get_descendants_of import erpnext @@ -479,6 +479,7 @@ def get_account_autoname(account_number, account_name, company): @frappe.whitelist() def update_account_number(name, account_name, account_number=None, from_descendant=False): + _ensure_idle_system() account = frappe.get_cached_doc("Account", name) if not account: return @@ -540,6 +541,7 @@ def update_account_number(name, account_name, account_number=None, from_descenda @frappe.whitelist() def merge_account(old, new): + _ensure_idle_system() # Validate properties before merging new_account = frappe.get_cached_doc("Account", new) old_account = frappe.get_cached_doc("Account", old) @@ -593,3 +595,27 @@ def sync_update_account_number_in_child( for d in frappe.db.get_values("Account", filters=filters, fieldname=["company", "name"], as_dict=True): update_account_number(d["name"], account_name, account_number, from_descendant=True) + + +def _ensure_idle_system(): + # Don't allow renaming if accounting entries are actively being updated, there are two main reasons: + # 1. Correctness: It's next to impossible to ensure that renamed account is not being used *right now*. + # 2. Performance: Renaming requires locking out many tables entirely and severely degrades performance. + + if frappe.flags.in_test: + return + + try: + # We also lock inserts to GL entry table with for_update here. + last_gl_update = frappe.db.get_value("GL Entry", {}, "modified", for_update=True, wait=False) + except frappe.QueryTimeoutError: + # wait=False fails immediately if there's an active transaction. + last_gl_update = add_to_date(None, seconds=-1) + + if last_gl_update > add_to_date(None, minutes=-5): + frappe.throw( + _( + "Last GL Entry update was done {}. This operation is not allowed while system is actively being used. Please wait for 5 minutes before retrying." + ).format(pretty_date(last_gl_update)), + title=_("System In Use"), + ) diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry.js b/erpnext/accounts/doctype/payment_entry/payment_entry.js index c13fa5a8343..37913093e2b 100644 --- a/erpnext/accounts/doctype/payment_entry/payment_entry.js +++ b/erpnext/accounts/doctype/payment_entry/payment_entry.js @@ -258,6 +258,10 @@ frappe.ui.form.on("Payment Entry", { frappe.flags.allocate_payment_amount = true; }, + validate: async function (frm) { + await frm.events.set_exchange_gain_loss_deduction(frm); + }, + validate_company: (frm) => { if (!frm.doc.company) { frappe.throw({ message: __("Please select a Company first."), title: __("Mandatory") }); @@ -1837,8 +1841,6 @@ function prompt_for_missing_account(frm, account) { (values) => resolve(values?.[account]), __("Please Specify Account") ); - - dialog.on_hide = () => resolve(""); }); } diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry.py b/erpnext/accounts/doctype/payment_entry/payment_entry.py index 2bf46ceb243..46d520e7e34 100644 --- a/erpnext/accounts/doctype/payment_entry/payment_entry.py +++ b/erpnext/accounts/doctype/payment_entry/payment_entry.py @@ -1942,7 +1942,7 @@ class PaymentEntry(AccountsController): allocated_positive_outstanding = paid_amount + allocated_negative_outstanding - elif self.party_type in ("Supplier", "Employee"): + elif self.party_type in ("Supplier", "Customer"): if paid_amount > total_negative_outstanding: if total_negative_outstanding == 0: frappe.msgprint( @@ -3437,13 +3437,14 @@ def add_income_discount_loss(pe, doc, total_discount_percent) -> float: """Add loss on income discount in base currency.""" precision = doc.precision("total") base_loss_on_income = doc.get("base_total") * (total_discount_percent / 100) + positive_negative = -1 if pe.payment_type == "Pay" else 1 pe.append( "deductions", { "account": frappe.get_cached_value("Company", pe.company, "default_discount_account"), "cost_center": pe.cost_center or frappe.get_cached_value("Company", pe.company, "cost_center"), - "amount": flt(base_loss_on_income, precision), + "amount": flt(base_loss_on_income, precision) * positive_negative, }, ) @@ -3455,6 +3456,7 @@ def add_tax_discount_loss(pe, doc, total_discount_percentage) -> float: tax_discount_loss = {} base_total_tax_loss = 0 precision = doc.precision("tax_amount_after_discount_amount", "taxes") + positive_negative = -1 if pe.payment_type == "Pay" else 1 # The same account head could be used more than once for tax in doc.get("taxes", []): @@ -3477,7 +3479,7 @@ def add_tax_discount_loss(pe, doc, total_discount_percentage) -> float: "account": account, "cost_center": pe.cost_center or frappe.get_cached_value("Company", pe.company, "cost_center"), - "amount": flt(loss, precision), + "amount": flt(loss, precision) * positive_negative, }, ) diff --git a/erpnext/accounts/doctype/payment_entry/test_payment_entry.py b/erpnext/accounts/doctype/payment_entry/test_payment_entry.py index 4d48f10fcde..bb8cc15f1d4 100644 --- a/erpnext/accounts/doctype/payment_entry/test_payment_entry.py +++ b/erpnext/accounts/doctype/payment_entry/test_payment_entry.py @@ -291,6 +291,48 @@ class TestPaymentEntry(IntegrationTestCase): self.assertEqual(si.payment_schedule[0].paid_amount, 200.0) self.assertEqual(si.payment_schedule[1].paid_amount, 36.0) + def test_payment_entry_against_payment_terms_with_discount_on_pi(self): + pi = make_purchase_invoice(do_not_save=1) + create_payment_terms_template_with_discount() + pi.payment_terms_template = "Test Discount Template" + + frappe.db.set_value("Company", pi.company, "default_discount_account", "Write Off - _TC") + + pi.append( + "taxes", + { + "charge_type": "On Net Total", + "account_head": "_Test Account Service Tax - _TC", + "cost_center": "_Test Cost Center - _TC", + "description": "Service Tax", + "rate": 18, + }, + ) + pi.save() + pi.submit() + + frappe.db.set_single_value("Accounts Settings", "book_tax_discount_loss", 1) + pe_with_tax_loss = get_payment_entry("Purchase Invoice", pi.name, bank_account="_Test Cash - _TC") + + self.assertEqual(pe_with_tax_loss.references[0].payment_term, "30 Credit Days with 10% Discount") + self.assertEqual(pe_with_tax_loss.payment_type, "Pay") + self.assertEqual(pe_with_tax_loss.references[0].allocated_amount, 295.0) + self.assertEqual(pe_with_tax_loss.paid_amount, 265.5) + self.assertEqual(pe_with_tax_loss.difference_amount, 0) + self.assertEqual(pe_with_tax_loss.deductions[0].amount, -25.0) # Loss on Income + self.assertEqual(pe_with_tax_loss.deductions[1].amount, -4.5) # Loss on Tax + self.assertEqual(pe_with_tax_loss.deductions[1].account, "_Test Account Service Tax - _TC") + + frappe.db.set_single_value("Accounts Settings", "book_tax_discount_loss", 0) + pe = get_payment_entry("Purchase Invoice", pi.name, bank_account="_Test Cash - _TC") + + self.assertEqual(pe.references[0].payment_term, "30 Credit Days with 10% Discount") + self.assertEqual(pe.payment_type, "Pay") + self.assertEqual(pe.references[0].allocated_amount, 295.0) + self.assertEqual(pe.paid_amount, 265.5) + self.assertEqual(pe.deductions[0].amount, -29.5) + self.assertEqual(pe.difference_amount, 0) + def test_payment_entry_against_payment_terms_with_discount(self): si = create_sales_invoice(do_not_save=1, qty=1, rate=200) create_payment_terms_template_with_discount() diff --git a/erpnext/accounts/doctype/pos_invoice/pos_invoice.json b/erpnext/accounts/doctype/pos_invoice/pos_invoice.json index b98e0f9776b..684b0b0ff49 100644 --- a/erpnext/accounts/doctype/pos_invoice/pos_invoice.json +++ b/erpnext/accounts/doctype/pos_invoice/pos_invoice.json @@ -1625,6 +1625,5 @@ "states": [], "timeline_field": "customer", "title_field": "customer_name", - "track_changes": 1, - "track_seen": 1 -} \ No newline at end of file + "track_changes": 1 +} diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js index ace2d3ef6a6..75b8434ac48 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js @@ -895,8 +895,16 @@ frappe.ui.form.on("Sales Invoice", { project: function (frm) { if (frm.doc.project) { - frm.events.add_timesheet_data(frm, { - project: frm.doc.project, + frappe.call({ + method: "is_auto_fetch_timesheet_enabled", + doc: frm.doc, + callback: function (r) { + if (cint(r.message)) { + frm.events.add_timesheet_data(frm, { + project: frm.doc.project, + }); + } + }, }); } }, diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py index 076c7221b8d..ae12c717345 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py @@ -1096,16 +1096,17 @@ class SalesInvoice(SellingController): timesheet.billing_amount = ts_doc.total_billable_amount def update_timesheet_billing_for_project(self): - if self.timesheets: + if not self.timesheets and self.project and self.is_auto_fetch_timesheet_enabled(): + self.add_timesheet_data() + else: self.calculate_billing_amount_for_timesheet() - @frappe.whitelist(methods=["PUT"]) - def add_timesheet_data(self): - if not self.timesheets and self.project: - self._add_timesheet_data() - self.save() + @frappe.whitelist() + def is_auto_fetch_timesheet_enabled(self): + return frappe.db.get_single_value("Projects Settings", "fetch_timesheet_in_sales_invoice") - def _add_timesheet_data(self): + @frappe.whitelist() + def add_timesheet_data(self): self.set("timesheets", []) if self.project: for data in get_projectwise_timesheet_data(self.project): diff --git a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py index de488aebcbf..9ee30acbb77 100644 --- a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py @@ -4305,6 +4305,31 @@ class TestSalesInvoice(IntegrationTestCase): doc = frappe.get_doc("Project", project.name) self.assertEqual(doc.total_billed_amount, si.grand_total) + def test_total_billed_amount_with_different_projects(self): + # This test case is for checking the scenario where project is set at document level and for **some** child items only, not all + from copy import copy + + si = create_sales_invoice(do_not_submit=True) + + project = frappe.new_doc("Project") + project.company = "_Test Company" + project.project_name = "Test Total Billed Amount" + project.save() + + si.project = project.name + si.items.append(copy(si.items[0])) + si.items.append(copy(si.items[0])) + si.items[0].project = project.name + si.items[1].project = project.name + # Not setting project on last item + si.items[1].insert() + si.items[2].insert() + si.submit() + + project.reload() + self.assertIsNone(si.items[2].project) + self.assertEqual(project.total_billed_amount, 300) + def test_pos_returns_with_party_account_currency(self): from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_sales_return diff --git a/erpnext/accounts/doctype/tax_withheld_vouchers/tax_withheld_vouchers.json b/erpnext/accounts/doctype/tax_withheld_vouchers/tax_withheld_vouchers.json index a8a79ce3c24..667da42bb8a 100644 --- a/erpnext/accounts/doctype/tax_withheld_vouchers/tax_withheld_vouchers.json +++ b/erpnext/accounts/doctype/tax_withheld_vouchers/tax_withheld_vouchers.json @@ -13,17 +13,15 @@ "fields": [ { "fieldname": "voucher_type", - "fieldtype": "Link", + "fieldtype": "Data", "in_list_view": 1, - "label": "Voucher Type", - "options": "DocType" + "label": "Voucher Type" }, { "fieldname": "voucher_name", - "fieldtype": "Dynamic Link", + "fieldtype": "Data", "in_list_view": 1, - "label": "Voucher Name", - "options": "voucher_type" + "label": "Voucher Name" }, { "fieldname": "taxable_amount", @@ -36,7 +34,7 @@ "index_web_pages_for_search": 1, "istable": 1, "links": [], - "modified": "2024-03-27 13:10:52.307012", + "modified": "2025-02-05 16:39:14.863698", "modified_by": "Administrator", "module": "Accounts", "name": "Tax Withheld Vouchers", diff --git a/erpnext/accounts/doctype/tax_withheld_vouchers/tax_withheld_vouchers.py b/erpnext/accounts/doctype/tax_withheld_vouchers/tax_withheld_vouchers.py index bc2003e2bea..dbb69a2e769 100644 --- a/erpnext/accounts/doctype/tax_withheld_vouchers/tax_withheld_vouchers.py +++ b/erpnext/accounts/doctype/tax_withheld_vouchers/tax_withheld_vouchers.py @@ -18,8 +18,8 @@ class TaxWithheldVouchers(Document): parentfield: DF.Data parenttype: DF.Data taxable_amount: DF.Currency - voucher_name: DF.DynamicLink | None - voucher_type: DF.Link | None + voucher_name: DF.Data | None + voucher_type: DF.Data | None # end: auto-generated types pass diff --git a/erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py b/erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py index 06549973242..a355e5ddf44 100644 --- a/erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py +++ b/erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py @@ -436,6 +436,7 @@ def get_invoice_vouchers(parties, tax_details, company, party_type="Supplier"): tax_details.get("tax_withholding_category"), company, ), + as_dict=1, ) for d in journal_entries_details: diff --git a/erpnext/accounts/report/accounts_payable/test_accounts_payable.py b/erpnext/accounts/report/accounts_payable/test_accounts_payable.py index d07b0aa43ad..27af4232374 100644 --- a/erpnext/accounts/report/accounts_payable/test_accounts_payable.py +++ b/erpnext/accounts/report/accounts_payable/test_accounts_payable.py @@ -38,6 +38,23 @@ class TestAccountsPayable(AccountsTestMixin, IntegrationTestCase): self.assertEqual(data[1][0].get("outstanding"), 300) self.assertEqual(data[1][0].get("currency"), "USD") + def test_account_payable_for_debit_note(self): + pi = self.create_purchase_invoice(do_not_submit=True) + pi.is_return = 1 + pi.items[0].qty = -1 + pi = pi.save().submit() + + filters = { + "company": self.company, + "party_type": "Supplier", + "party": [self.supplier], + "report_date": today(), + "range": "30, 60, 90, 120", + } + + data = execute(filters) + self.assertEqual(data[1][0].get("invoiced"), 300) + def create_purchase_invoice(self, do_not_submit=False): frappe.set_user("Administrator") pi = make_purchase_invoice( diff --git a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py b/erpnext/accounts/report/accounts_receivable/accounts_receivable.py index c7df618dd6a..39615aa14c4 100644 --- a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py +++ b/erpnext/accounts/report/accounts_receivable/accounts_receivable.py @@ -267,6 +267,18 @@ class ReceivablePayableReport: row.invoiced_in_account_currency += amount_in_account_currency else: if self.is_invoice(ple): + # when invoice has is_return marked + if self.invoice_details.get(row.voucher_no, {}).get("is_return"): + # for Credit Note + if row.voucher_type == "Sales Invoice": + row.credit_note -= amount + row.credit_note_in_account_currency -= amount_in_account_currency + # for Debit Note + else: + row.invoiced -= amount + row.invoiced_in_account_currency -= amount_in_account_currency + return + if row.voucher_no == ple.voucher_no == ple.against_voucher_no: row.paid -= amount row.paid_in_account_currency -= amount_in_account_currency @@ -421,7 +433,7 @@ class ReceivablePayableReport: # nosemgrep si_list = frappe.db.sql( """ - select name, due_date, po_no + select name, due_date, po_no, is_return from `tabSales Invoice` where posting_date <= %s and company = %s @@ -453,7 +465,7 @@ class ReceivablePayableReport: # nosemgrep for pi in frappe.db.sql( """ - select name, due_date, bill_no, bill_date + select name, due_date, bill_no, bill_date, is_return from `tabPurchase Invoice` where posting_date <= %s diff --git a/erpnext/accounts/report/accounts_receivable/test_accounts_receivable.py b/erpnext/accounts/report/accounts_receivable/test_accounts_receivable.py index 88c7909154d..0574c39b7f5 100644 --- a/erpnext/accounts/report/accounts_receivable/test_accounts_receivable.py +++ b/erpnext/accounts/report/accounts_receivable/test_accounts_receivable.py @@ -204,7 +204,7 @@ class TestAccountsReceivable(AccountsTestMixin, IntegrationTestCase): expected_data_after_credit_note = [ [100.0, 100.0, 40.0, 0.0, 60.0, si.name], - [0, 0, 100.0, 0.0, -100.0, cr_note.name], + [0, 0, 0, 100.0, -100.0, cr_note.name], ] self.assertEqual(len(report[1]), 2) si_row = next( @@ -478,13 +478,19 @@ class TestAccountsReceivable(AccountsTestMixin, IntegrationTestCase): report = execute(filters)[1] self.assertEqual(len(report), 2) - expected_data = {sr.name: [10.0, -10.0, 0.0, -10], si.name: [100.0, 100.0, 10.0, 90.0]} + expected_data = {sr.name: [0.0, 10.0, -10.0, 0.0, -10], si.name: [100.0, 0.0, 100.0, 10.0, 90.0]} rows = report[:2] for row in rows: self.assertEqual( expected_data[row.voucher_no], - [row.invoiced or row.paid, row.outstanding, row.remaining_balance, row.future_amount], + [ + row.invoiced or row.paid, + row.credit_note, + row.outstanding, + row.remaining_balance, + row.future_amount, + ], ) pe.cancel() diff --git a/erpnext/accounts/report/billed_items_to_be_received/billed_items_to_be_received.py b/erpnext/accounts/report/billed_items_to_be_received/billed_items_to_be_received.py index f6efc8a685c..dc6192e7544 100644 --- a/erpnext/accounts/report/billed_items_to_be_received/billed_items_to_be_received.py +++ b/erpnext/accounts/report/billed_items_to_be_received/billed_items_to_be_received.py @@ -27,6 +27,7 @@ def get_report_filters(report_filters): ["Purchase Invoice", "docstatus", "=", 1], ["Purchase Invoice", "per_received", "<", 100], ["Purchase Invoice", "update_stock", "=", 0], + ["Purchase Invoice", "is_opening", "!=", "Yes"], ] if report_filters.get("purchase_invoice"): diff --git a/erpnext/accounts/report/budget_variance_report/budget_variance_report.py b/erpnext/accounts/report/budget_variance_report/budget_variance_report.py index e540aa9993c..db42d23a839 100644 --- a/erpnext/accounts/report/budget_variance_report/budget_variance_report.py +++ b/erpnext/accounts/report/budget_variance_report/budget_variance_report.py @@ -263,6 +263,7 @@ def get_actual_details(name, filters): and ba.account=gl.account and b.{budget_against} = gl.{budget_against} and gl.fiscal_year between %s and %s + and gl.is_cancelled = 0 and b.{budget_against} = %s and exists( select diff --git a/erpnext/assets/doctype/asset/asset.js b/erpnext/assets/doctype/asset/asset.js index 9ed3c275697..e425908ca66 100644 --- a/erpnext/assets/doctype/asset/asset.js +++ b/erpnext/assets/doctype/asset/asset.js @@ -652,6 +652,9 @@ frappe.ui.form.on("Asset", { frm.set_value("purchase_amount", data.gross_purchase_amount); frm.set_value("asset_quantity", data.asset_quantity); frm.set_value("cost_center", data.cost_center); + if (data.asset_location) { + frm.set_value("location", data.asset_location); + } if (doctype === "Purchase Receipt") { frm.set_value("purchase_receipt_item", data.purchase_receipt_item); diff --git a/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.js b/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.js index 49cf0da02f7..99b4c26ac8e 100644 --- a/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.js +++ b/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.js @@ -19,6 +19,10 @@ frappe.query_reports["Purchase Order Analysis"] = { width: "80", reqd: 1, default: frappe.datetime.add_months(frappe.datetime.get_today(), -1), + on_change: (report) => { + report.set_filter_value("name", []); + report.refresh(); + }, }, { fieldname: "to_date", @@ -27,6 +31,10 @@ frappe.query_reports["Purchase Order Analysis"] = { width: "80", reqd: 1, default: frappe.datetime.get_today(), + on_change: (report) => { + report.set_filter_value("name", []); + report.refresh(); + }, }, { fieldname: "project", @@ -38,13 +46,17 @@ frappe.query_reports["Purchase Order Analysis"] = { { fieldname: "name", label: __("Purchase Order"), - fieldtype: "Link", + fieldtype: "MultiSelectList", width: "80", options: "Purchase Order", - get_query: () => { - return { - filters: { docstatus: 1 }, - }; + get_data: function (txt) { + let filters = { docstatus: 1 }; + + const from_date = frappe.query_report.get_filter_value("from_date"); + const to_date = frappe.query_report.get_filter_value("to_date"); + if (from_date && to_date) filters["transaction_date"] = ["between", [from_date, to_date]]; + + return frappe.db.get_link_options("Purchase Order", txt, filters); }, }, { @@ -52,9 +64,16 @@ frappe.query_reports["Purchase Order Analysis"] = { label: __("Status"), fieldtype: "MultiSelectList", width: "80", - options: ["To Pay", "To Bill", "To Receive", "To Receive and Bill", "Completed"], + options: ["To Pay", "To Bill", "To Receive", "To Receive and Bill", "Completed", "Closed"], get_data: function (txt) { - let status = ["To Pay", "To Bill", "To Receive", "To Receive and Bill", "Completed"]; + let status = [ + "To Pay", + "To Bill", + "To Receive", + "To Receive and Bill", + "Completed", + "Closed", + ]; let options = []; for (let option of status) { options.push({ diff --git a/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py b/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py index f583ce3e6c8..b6bf1d9f8da 100644 --- a/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py +++ b/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py @@ -70,14 +70,16 @@ def get_data(filters): po.company, po_item.name, ) - .where((po_item.parent == po.name) & (po.status.notin(("Stopped", "Closed"))) & (po.docstatus == 1)) + .where((po_item.parent == po.name) & (po.status.notin(("Stopped", "On Hold"))) & (po.docstatus == 1)) .groupby(po_item.name) .orderby(po.transaction_date) ) - for field in ("company", "name"): - if filters.get(field): - query = query.where(po[field] == filters.get(field)) + if filters.get("company"): + query = query.where(po.company == filters.get("company")) + + if filters.get("name"): + query = query.where(po.name.isin(filters.get("name"))) if filters.get("from_date") and filters.get("to_date"): query = query.where(po.transaction_date.between(filters.get("from_date"), filters.get("to_date"))) diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py index 93489231cf0..d53a67eff70 100644 --- a/erpnext/controllers/accounts_controller.py +++ b/erpnext/controllers/accounts_controller.py @@ -197,6 +197,14 @@ class AccountsController(TransactionBase): self.set_incoming_rate() self.init_internal_values() + # Need to set taxes based on taxes_and_charges template + # before calculating taxes and totals + if self.meta.get_field("taxes_and_charges"): + self.validate_enabled_taxes_and_charges() + self.validate_tax_account_company() + + self.set_taxes_and_charges() + if self.meta.get_field("currency"): self.calculate_taxes_and_totals() @@ -207,10 +215,6 @@ class AccountsController(TransactionBase): self.validate_all_documents_schedule() - if self.meta.get_field("taxes_and_charges"): - self.validate_enabled_taxes_and_charges() - self.validate_tax_account_company() - self.validate_party() self.validate_currency() self.validate_party_account_currency() @@ -255,8 +259,6 @@ class AccountsController(TransactionBase): self.validate_deferred_income_expense_account() self.set_inter_company_account() - self.set_taxes_and_charges() - if self.doctype == "Purchase Invoice": self.calculate_paid_amount() # apply tax withholding only if checked and applicable @@ -823,11 +825,15 @@ class AccountsController(TransactionBase): and item.get("use_serial_batch_fields") ) ): - if fieldname == "batch_no" and not item.batch_no and not item.is_free_item: - item.set("rate", ret.get("rate")) - item.set("price_list_rate", ret.get("price_list_rate")) item.set(fieldname, value) + if fieldname == "batch_no" and item.batch_no and not item.is_free_item: + if ret.get("rate"): + item.set("rate", ret.get("rate")) + + if not item.get("price_list_rate") and ret.get("price_list_rate"): + item.set("price_list_rate", ret.get("price_list_rate")) + elif fieldname in ["cost_center", "conversion_factor"] and not item.get( fieldname ): diff --git a/erpnext/controllers/tests/test_accounts_controller.py b/erpnext/controllers/tests/test_accounts_controller.py index 8c8191f2070..92e312c3df7 100644 --- a/erpnext/controllers/tests/test_accounts_controller.py +++ b/erpnext/controllers/tests/test_accounts_controller.py @@ -935,6 +935,35 @@ class TestAccountsController(IntegrationTestCase): self.assertEqual(exc_je_for_si, []) self.assertEqual(exc_je_for_pe, []) + @IntegrationTestCase.change_settings("Accounts Settings", {"add_taxes_from_item_tax_template": 1}) + def test_18_fetch_taxes_based_on_taxes_and_charges_template(self): + # Create a Sales Taxes and Charges Template + if not frappe.db.exists("Sales Taxes and Charges Template", "_Test Tax - _TC"): + doc = frappe.new_doc("Sales Taxes and Charges Template") + doc.company = self.company + doc.title = "_Test Tax" + doc.append( + "taxes", + { + "charge_type": "On Net Total", + "account_head": "Sales Expenses - _TC", + "description": "Test taxes", + "rate": 9, + }, + ) + doc.insert() + + # Create a Sales Invoice + sinv = frappe.new_doc("Sales Invoice") + sinv.customer = self.customer + sinv.company = self.company + sinv.currency = "INR" + sinv.taxes_and_charges = "_Test Tax - _TC" + sinv.append("items", {"item_code": "_Test Item", "qty": 1, "rate": 50}) + sinv.insert() + + self.assertEqual(sinv.total_taxes_and_charges, 4.5) + def test_20_journal_against_sales_invoice(self): # Invoice in Foreign Currency si = self.create_sales_invoice(qty=1, conversion_rate=80, rate=1) diff --git a/erpnext/hooks.py b/erpnext/hooks.py index 270797b7404..83418f2243b 100644 --- a/erpnext/hooks.py +++ b/erpnext/hooks.py @@ -4,7 +4,7 @@ app_publisher = "Frappe Technologies Pvt. Ltd." app_description = """ERP made simple""" app_icon = "fa fa-th" app_color = "#e74c3c" -app_email = "info@erpnext.com" +app_email = "hello@frappe.io" app_license = "GNU General Public License (v3)" source_link = "https://github.com/frappe/erpnext" app_logo_url = "/assets/erpnext/images/erpnext-logo.svg" @@ -479,7 +479,7 @@ email_brand_image = "assets/erpnext/images/erpnext-logo.jpg" default_mail_footer = """ Sent via - + ERPNext diff --git a/erpnext/locale/ar.po b/erpnext/locale/ar.po index 48c256b6c98..4d92fe09628 100644 --- a/erpnext/locale/ar.po +++ b/erpnext/locale/ar.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: frappe\n" "Report-Msgid-Bugs-To: info@erpnext.com\n" -"POT-Creation-Date: 2025-02-16 09:34+0000\n" -"PO-Revision-Date: 2025-02-16 23:45\n" +"POT-Creation-Date: 2025-03-02 09:35+0000\n" +"PO-Revision-Date: 2025-03-03 04:14\n" "Last-Translator: info@erpnext.com\n" "Language-Team: Arabic\n" "MIME-Version: 1.0\n" @@ -254,11 +254,11 @@ msgstr "\"من تاريخ \" يجب أن يكون بعد \" إلى تاريخ \" msgid "'Has Serial No' can not be 'Yes' for non-stock item" msgstr "\"لهُ رقم تسلسل\" لا يمكن ان يكون \"نعم\" لبند غير قابل للتخزين" -#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:159 +#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:160 msgid "'Inspection Required before Delivery' has disabled for the item {0}, no need to create the QI" msgstr "" -#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:150 +#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:151 msgid "'Inspection Required before Purchase' has disabled for the item {0}, no need to create the QI" msgstr "" @@ -786,11 +786,11 @@ msgstr "" msgid "Your Shortcuts" msgstr "" -#: erpnext/accounts/doctype/payment_request/payment_request.py:1004 +#: erpnext/accounts/doctype/payment_request/payment_request.py:1007 msgid "Grand Total: {0}" msgstr "" -#: erpnext/accounts/doctype/payment_request/payment_request.py:1005 +#: erpnext/accounts/doctype/payment_request/payment_request.py:1008 msgid "Outstanding Amount: {0}" msgstr "" @@ -1064,7 +1064,7 @@ msgstr "" #. Label of the qty (Float) field in DocType 'Purchase Receipt Item' #. Label of the qty (Float) field in DocType 'Subcontracting Receipt Item' -#: erpnext/public/js/controllers/transaction.js:2339 +#: erpnext/public/js/controllers/transaction.js:2341 #: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json #: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json msgid "Accepted Quantity" @@ -1179,18 +1179,6 @@ msgstr "حساب" msgid "Account Balance" msgstr "رصيد حسابك" -#. Label of the paid_from_account_balance (Currency) field in DocType 'Payment -#. Entry' -#: erpnext/accounts/doctype/payment_entry/payment_entry.json -msgid "Account Balance (From)" -msgstr "" - -#. Label of the paid_to_account_balance (Currency) field in DocType 'Payment -#. Entry' -#: erpnext/accounts/doctype/payment_entry/payment_entry.json -msgid "Account Balance (To)" -msgstr "" - #. Name of a DocType #: erpnext/accounts/doctype/account_closing_balance/account_closing_balance.json msgid "Account Closing Balance" @@ -1380,7 +1368,7 @@ msgstr "الحساب إلزامي للحصول على إدخالات الدفع" msgid "Account is not set for the dashboard chart {0}" msgstr "لم يتم تعيين الحساب لمخطط لوحة المعلومات {0}" -#: erpnext/assets/doctype/asset/asset.py:700 +#: erpnext/assets/doctype/asset/asset.py:733 msgid "Account not Found" msgstr "" @@ -1417,7 +1405,7 @@ msgstr "الحساب {0} لا يتنمى للشركة {1}\\n
\\nAccount {0} d msgid "Account {0} does not belongs to company {1}" msgstr "الحساب {0} لا ينتمي للشركة {1}\\n
\\nAccount {0} does not belongs to company {1}" -#: erpnext/accounts/doctype/account/account.py:548 +#: erpnext/accounts/doctype/account/account.py:550 msgid "Account {0} does not exist" msgstr "حساب {0} غير موجود" @@ -1433,7 +1421,7 @@ msgstr "الحساب {0} غير موجود في مخطط لوحة المعلوم msgid "Account {0} does not match with Company {1} in Mode of Account: {2}" msgstr "الحساب {0} لا يتطابق مع الشركة {1} في طريقة الحساب: {2}" -#: erpnext/accounts/doctype/account/account.py:506 +#: erpnext/accounts/doctype/account/account.py:507 msgid "Account {0} exists in parent company {1}." msgstr "الحساب {0} موجود في الشركة الأم {1}." @@ -1477,7 +1465,7 @@ msgstr "الحساب: {0} عبارة "Capital work" قيد ال msgid "Account: {0} can only be updated via Stock Transactions" msgstr "الحساب: {0} لا يمكن تحديثه إلا من خلال معاملات المخزون" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2752 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2739 msgid "Account: {0} is not permitted under Payment Entry" msgstr "الحساب: {0} غير مسموح به بموجب إدخال الدفع" @@ -1651,6 +1639,8 @@ msgstr "" #. Label of the accounting_dimensions_section (Section Break) field in DocType #. 'Sales Order' #. Label of the accounting_dimensions_section (Section Break) field in DocType +#. 'Sales Order Item' +#. Label of the accounting_dimensions_section (Section Break) field in DocType #. 'Delivery Note' #. Label of the accounting_dimensions_section (Section Break) field in DocType #. 'Delivery Note Item' @@ -1704,6 +1694,7 @@ msgstr "" #: erpnext/buying/doctype/supplier_quotation/supplier_quotation.json #: erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.json #: erpnext/selling/doctype/sales_order/sales_order.json +#: erpnext/selling/doctype/sales_order_item/sales_order_item.json #: erpnext/stock/doctype/delivery_note/delivery_note.json #: erpnext/stock/doctype/delivery_note_item/delivery_note_item.json #: erpnext/stock/doctype/landed_cost_item/landed_cost_item.json @@ -1748,8 +1739,8 @@ msgstr "" msgid "Accounting Entries" msgstr "القيود المحاسبة" -#: erpnext/assets/doctype/asset/asset.py:734 -#: erpnext/assets/doctype/asset/asset.py:749 +#: erpnext/assets/doctype/asset/asset.py:767 +#: erpnext/assets/doctype/asset/asset.py:782 #: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:551 msgid "Accounting Entry for Asset" msgstr "المدخلات الحسابية للأصول" @@ -2553,7 +2544,7 @@ msgstr "الوقت الفعلي (بالساعات)" msgid "Actual qty in stock" msgstr "الكمية الفعلية في المخزون" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1511 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1490 #: erpnext/public/js/controllers/accounts.js:176 msgid "Actual type tax cannot be included in Item rate in row {0}" msgstr "نوع الضريبة الفعلي لا يمكن تضمينه في معدل الصنف في الصف {0}" @@ -3247,7 +3238,7 @@ msgstr "العنوان المستخدم لتحديد فئة الضريبة في msgid "Adjust Asset Value" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1051 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1059 msgid "Adjustment Against" msgstr "" @@ -3502,7 +3493,7 @@ msgid "Against Income Account" msgstr "مقابل حساب الدخل" #: erpnext/accounts/doctype/journal_entry/journal_entry.py:678 -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:785 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:775 msgid "Against Journal Entry {0} does not have any unmatched {1} entry" msgstr "قيد اليومية المقابل {0} لا يحتوى مدخل {1} غير مطابق\\n
\\nAgainst Journal Entry {0} does not have any unmatched {1} entry" @@ -3886,7 +3877,7 @@ msgstr "" msgid "All items have already been transferred for this Work Order." msgstr "جميع الإصناف تم نقلها لأمر العمل" -#: erpnext/public/js/controllers/transaction.js:2442 +#: erpnext/public/js/controllers/transaction.js:2444 msgid "All items in this document already have a linked Quality Inspection." msgstr "" @@ -3896,6 +3887,10 @@ msgstr "" msgid "All the Comments and Emails will be copied from one document to another newly created document(Lead -> Opportunity -> Quotation) throughout the CRM documents." msgstr "" +#: erpnext/selling/page/point_of_sale/pos_past_order_summary.js:200 +msgid "All the items have been already returned." +msgstr "" + #: erpnext/manufacturing/doctype/work_order/work_order.js:1072 msgid "All the required items (raw materials) will be fetched from BOM and populated in this table. Here you can also change the Source Warehouse for any item. And during the production, you can track transferred raw materials from this table." msgstr "" @@ -3919,7 +3914,7 @@ msgstr "تخصيص" msgid "Allocate Advances Automatically (FIFO)" msgstr "تخصيص السلف تلقائيا (الداخل أولا الخارج أولا)" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:924 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:903 msgid "Allocate Payment Amount" msgstr "تخصيص مبلغ الدفع" @@ -3929,7 +3924,7 @@ msgstr "تخصيص مبلغ الدفع" msgid "Allocate Payment Based On Payment Terms" msgstr "تخصيص الدفع على أساس شروط الدفع" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1732 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1680 msgid "Allocate Payment Request" msgstr "" @@ -3960,7 +3955,7 @@ msgstr "تخصيص" #: erpnext/accounts/doctype/advance_taxes_and_charges/advance_taxes_and_charges.json #: erpnext/accounts/doctype/bank_transaction/bank_transaction.json #: erpnext/accounts/doctype/bank_transaction_payments/bank_transaction_payments.json -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1723 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1671 #: erpnext/accounts/doctype/payment_reconciliation_allocation/payment_reconciliation_allocation.json #: erpnext/accounts/doctype/process_payment_reconciliation_log_allocations/process_payment_reconciliation_log_allocations.json #: erpnext/accounts/doctype/purchase_invoice_advance/purchase_invoice_advance.json @@ -4023,7 +4018,7 @@ msgstr "السماح" #. Label of the allow_account_creation_against_child_company (Check) field in #. DocType 'Company' -#: erpnext/accounts/doctype/account/account.py:504 +#: erpnext/accounts/doctype/account/account.py:505 #: erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py:68 #: erpnext/setup/doctype/company/company.json msgid "Allow Account Creation Against Child Company" @@ -4080,7 +4075,7 @@ msgstr "" msgid "Allow Item To Be Added Multiple Times in a Transaction" msgstr "السماح بإضافة العنصر عدة مرات في المعاملة" -#: erpnext/controllers/selling_controller.py:754 +#: erpnext/controllers/selling_controller.py:755 msgid "Allow Item to Be Added Multiple Times in a Transaction" msgstr "" @@ -4123,8 +4118,8 @@ msgstr "السماح بأوامر مبيعات متعددة مقابل طلب ا #: erpnext/stock/doctype/item/item.json #: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.json #: erpnext/stock/doctype/stock_settings/stock_settings.json -#: erpnext/stock/doctype/stock_settings/stock_settings.py:183 -#: erpnext/stock/doctype/stock_settings/stock_settings.py:195 +#: erpnext/stock/doctype/stock_settings/stock_settings.py:185 +#: erpnext/stock/doctype/stock_settings/stock_settings.py:197 msgid "Allow Negative Stock" msgstr "السماح بالقيم السالبة للمخزون" @@ -4350,7 +4345,7 @@ msgstr "" msgid "Already record exists for the item {0}" msgstr "يوجد سجل للصنف {0}" -#: erpnext/accounts/doctype/pos_profile/pos_profile.py:106 +#: erpnext/accounts/doctype/pos_profile/pos_profile.py:110 msgid "Already set default in pos profile {0} for user {1}, kindly disabled default" msgstr "تم تعيين الإعداد الافتراضي في الملف الشخصي لنقطة البيع {0} للمستخدم {1}، يرجى تعطيل الإعداد الافتراضي" @@ -4692,7 +4687,7 @@ msgstr "معدل من" #: erpnext/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.json #: erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.json #: erpnext/buying/report/item_wise_purchase_history/item_wise_purchase_history.py:72 -#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:273 +#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:275 #: erpnext/crm/doctype/opportunity_item/opportunity_item.json #: erpnext/crm/doctype/prospect_opportunity/prospect_opportunity.json #: erpnext/manufacturing/doctype/bom_creator_item/bom_creator_item.json @@ -4831,24 +4826,24 @@ msgstr "" msgid "Amount in {0}" msgstr "" -#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:187 +#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:189 #: erpnext/selling/report/sales_order_analysis/sales_order_analysis.py:209 msgid "Amount to Bill" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1306 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1296 msgid "Amount {0} {1} against {2} {3}" msgstr "مبلغ {0} {1} مقابل {2} {3}" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1317 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1307 msgid "Amount {0} {1} deducted against {2}" msgstr "مبلغ {0} {1} خصم مقابل {2}" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1281 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1271 msgid "Amount {0} {1} transferred from {2} to {3}" msgstr "القيمة {0} {1} نقلت من {2} إلى {3}" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1287 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1277 msgid "Amount {0} {1} {2} {3}" msgstr "القيمة {0} {1} {2} {3}" @@ -5132,8 +5127,8 @@ msgstr "تطبيق تخفيض على" #. Label of the apply_discount_on_rate (Check) field in DocType 'Pricing Rule' #: erpnext/accounts/doctype/pricing_rule/pricing_rule.json -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:189 -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:198 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:190 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:199 msgid "Apply Discount on Discounted Rate" msgstr "تطبيق الخصم على السعر المخفض" @@ -5385,11 +5380,11 @@ msgstr "" msgid "As per Stock UOM" msgstr "وفقا للأوراق UOM" -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:188 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:189 msgid "As the field {0} is enabled, the field {1} is mandatory." msgstr "نظرًا لتمكين الحقل {0} ، يكون الحقل {1} إلزاميًا." -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:196 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:197 msgid "As the field {0} is enabled, the value of the field {1} should be more than 1." msgstr "أثناء تمكين الحقل {0} ، يجب أن تكون قيمة الحقل {1} أكثر من 1." @@ -5397,11 +5392,11 @@ msgstr "أثناء تمكين الحقل {0} ، يجب أن تكون قيمة ا msgid "As there are existing submitted transactions against item {0}, you can not change the value of {1}." msgstr "" -#: erpnext/stock/doctype/stock_settings/stock_settings.py:214 +#: erpnext/stock/doctype/stock_settings/stock_settings.py:216 msgid "As there are negative stock, you can not enable {0}." msgstr "" -#: erpnext/stock/doctype/stock_settings/stock_settings.py:228 +#: erpnext/stock/doctype/stock_settings/stock_settings.py:230 msgid "As there are reserved stock, you cannot disable {0}." msgstr "" @@ -5413,8 +5408,8 @@ msgstr "" msgid "As there are sufficient raw materials, Material Request is not required for Warehouse {0}." msgstr "نظرًا لوجود مواد خام كافية ، فإن طلب المواد ليس مطلوبًا للمستودع {0}." -#: erpnext/stock/doctype/stock_settings/stock_settings.py:182 -#: erpnext/stock/doctype/stock_settings/stock_settings.py:194 +#: erpnext/stock/doctype/stock_settings/stock_settings.py:184 +#: erpnext/stock/doctype/stock_settings/stock_settings.py:196 msgid "As {0} is enabled, you can not enable {1}." msgstr "" @@ -5584,8 +5579,8 @@ msgstr "" msgid "Asset Depreciation Schedule {0} for Asset {1} and Finance Book {2} already exists." msgstr "" -#: erpnext/assets/doctype/asset/asset.py:146 -#: erpnext/assets/doctype/asset/asset.py:185 +#: erpnext/assets/doctype/asset/asset.py:147 +#: erpnext/assets/doctype/asset/asset.py:186 msgid "Asset Depreciation Schedules created:
{0}

Please check, edit if needed, and submit the Asset." msgstr "" @@ -5662,7 +5657,7 @@ msgstr "حركة الأصول" msgid "Asset Movement Item" msgstr "بند حركة الأصول" -#: erpnext/assets/doctype/asset/asset.py:982 +#: erpnext/assets/doctype/asset/asset.py:1015 msgid "Asset Movement record {0} created" msgstr "تم إنشاء سجل حركة الأصول {0}\\n
\\nAsset Movement record {0} created" @@ -5796,11 +5791,11 @@ msgstr "لا يمكن نشر تسوية قيمة الأصل قبل تاريخ ش msgid "Asset Value Analytics" msgstr "تحليلات قيمة الأصول" -#: erpnext/assets/doctype/asset/asset.py:176 +#: erpnext/assets/doctype/asset/asset.py:177 msgid "Asset cancelled" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:532 +#: erpnext/assets/doctype/asset/asset.py:565 msgid "Asset cannot be cancelled, as it is already {0}" msgstr "لا يمكن إلغاء الأصل، لانه بالفعل {0}" @@ -5812,7 +5807,7 @@ msgstr "" msgid "Asset capitalized after Asset Capitalization {0} was submitted" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:198 +#: erpnext/assets/doctype/asset/asset.py:199 msgid "Asset created" msgstr "" @@ -5820,11 +5815,11 @@ msgstr "" msgid "Asset created after Asset Capitalization {0} was submitted" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:1231 +#: erpnext/assets/doctype/asset/asset.py:1288 msgid "Asset created after being split from Asset {0}" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:201 +#: erpnext/assets/doctype/asset/asset.py:202 msgid "Asset deleted" msgstr "" @@ -5848,7 +5843,7 @@ msgstr "" msgid "Asset restored after Asset Capitalization {0} was cancelled" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1353 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1354 msgid "Asset returned" msgstr "" @@ -5860,11 +5855,11 @@ msgstr "" msgid "Asset scrapped via Journal Entry {0}" msgstr "ألغت الأصول عن طريق قيد اليومية {0}\\n
\\n Asset scrapped via Journal Entry {0}" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1390 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1391 msgid "Asset sold" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:164 +#: erpnext/assets/doctype/asset/asset.py:165 msgid "Asset submitted" msgstr "" @@ -5872,7 +5867,7 @@ msgstr "" msgid "Asset transferred to Location {0}" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:1165 +#: erpnext/assets/doctype/asset/asset.py:1222 msgid "Asset updated after being split into Asset {0}" msgstr "" @@ -5951,13 +5946,13 @@ msgstr "" msgid "Assets" msgstr "الأصول" -#: erpnext/controllers/buying_controller.py:795 +#: erpnext/controllers/buying_controller.py:797 msgid "Assets not created for {0}. You will have to create asset manually." msgstr "لم يتم إنشاء الأصول لـ {0}. سيكون عليك إنشاء الأصل يدويًا." #: erpnext/controllers/buying_controller.py:783 -msgid "Asset{} {assets_link} created for {}" -msgstr "الأصل {} {assets_link} الذي تم إنشاؤه لـ {}" +msgid "Asset{is_plural} {assets_link} created for {item_code}" +msgstr "" #: erpnext/manufacturing/doctype/job_card/job_card.js:146 msgid "Assign Job to Employee" @@ -6009,11 +6004,11 @@ msgstr "" msgid "At least one account with exchange gain or loss is required" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:1088 +#: erpnext/assets/doctype/asset/asset.py:1121 msgid "At least one asset has to be selected." msgstr "" -#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:813 +#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:832 msgid "At least one invoice has to be selected." msgstr "" @@ -6021,7 +6016,7 @@ msgstr "" msgid "At least one item should be entered with negative quantity in return document" msgstr "" -#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:423 +#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:428 #: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:513 msgid "At least one mode of payment is required for POS invoice." msgstr "يلزم وضع واحد نمط واحد للدفع لفاتورة نقطة البيع.\\n
\\nAt least one mode of payment is required for POS invoice." @@ -6030,7 +6025,7 @@ msgstr "يلزم وضع واحد نمط واحد للدفع لفاتورة نق msgid "At least one of the Applicable Modules should be selected" msgstr "يجب اختيار واحدة على الأقل من الوحدات القابلة للتطبيق" -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:203 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:204 msgid "At least one of the Selling or Buying must be selected" msgstr "" @@ -6042,7 +6037,7 @@ msgstr "" msgid "At row #{0}: the sequence id {1} cannot be less than previous row sequence id {2}" msgstr "في الصف # {0}: لا يمكن أن يكون معرف التسلسل {1} أقل من معرف تسلسل الصف السابق {2}" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:825 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:845 msgid "At row {0}: Batch No is mandatory for Item {1}" msgstr "" @@ -6050,11 +6045,11 @@ msgstr "" msgid "At row {0}: Parent Row No cannot be set for item {1}" msgstr "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:810 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:830 msgid "At row {0}: Qty is mandatory for the batch {1}" msgstr "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:817 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:837 msgid "At row {0}: Serial No is mandatory for Item {1}" msgstr "" @@ -6540,7 +6535,7 @@ msgstr "المخزون المتوفر" msgid "Available Stock for Packing Items" msgstr "المخزون المتاج للأصناف المعبأة" -#: erpnext/assets/doctype/asset/asset.py:272 +#: erpnext/assets/doctype/asset/asset.py:305 msgid "Available for use date is required" msgstr "مطلوب تاريخ متاح للاستخدام" @@ -6557,7 +6552,7 @@ msgstr "متاح {0}" msgid "Available-for-use Date" msgstr "التاريخ المتاح للاستخدام" -#: erpnext/assets/doctype/asset/asset.py:366 +#: erpnext/assets/doctype/asset/asset.py:399 msgid "Available-for-use Date should be after purchase date" msgstr "يجب أن يكون التاريخ متاحًا بعد تاريخ الشراء" @@ -7657,7 +7652,7 @@ msgstr "حالة انتهاء صلاحية الدفعة الصنف" #: erpnext/manufacturing/doctype/job_card/job_card.json #: erpnext/manufacturing/report/cost_of_poor_quality_report/cost_of_poor_quality_report.js:89 #: erpnext/manufacturing/report/cost_of_poor_quality_report/cost_of_poor_quality_report.py:115 -#: erpnext/public/js/controllers/transaction.js:2365 +#: erpnext/public/js/controllers/transaction.js:2367 #: erpnext/public/js/utils/barcode_scanner.js:260 #: erpnext/public/js/utils/serial_no_batch_selector.js:438 #: erpnext/stock/doctype/delivery_note_item/delivery_note_item.json @@ -7684,11 +7679,11 @@ msgstr "حالة انتهاء صلاحية الدفعة الصنف" msgid "Batch No" msgstr "رقم دفعة" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:828 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:848 msgid "Batch No is mandatory" msgstr "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:2521 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:2541 msgid "Batch No {0} does not exists" msgstr "" @@ -7696,7 +7691,7 @@ msgstr "" msgid "Batch No {0} is linked with Item {1} which has serial no. Please scan serial no instead." msgstr "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:324 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:344 msgid "Batch No {0} is not present in the original {1} {2}, hence you can't return it against the {1} {2}" msgstr "" @@ -7711,11 +7706,11 @@ msgstr "" msgid "Batch Nos" msgstr "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1382 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1402 msgid "Batch Nos are created successfully" msgstr "" -#: erpnext/controllers/sales_and_purchase_return.py:1079 +#: erpnext/controllers/sales_and_purchase_return.py:1080 msgid "Batch Not Available for Return" msgstr "" @@ -7764,7 +7759,7 @@ msgstr "" msgid "Batch {0} and Warehouse" msgstr "" -#: erpnext/controllers/sales_and_purchase_return.py:1078 +#: erpnext/controllers/sales_and_purchase_return.py:1079 msgid "Batch {0} is not available in warehouse {1}" msgstr "" @@ -7856,8 +7851,8 @@ msgstr "تمت الفوترة" #: erpnext/accounts/report/received_items_to_be_billed/received_items_to_be_billed.py:50 #: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json #: erpnext/buying/report/item_wise_purchase_history/item_wise_purchase_history.py:125 -#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:187 -#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:281 +#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:189 +#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:283 #: erpnext/selling/report/item_wise_sales_history/item_wise_sales_history.py:107 #: erpnext/selling/report/sales_order_analysis/sales_order_analysis.py:209 #: erpnext/selling/report/sales_order_analysis/sales_order_analysis.py:298 @@ -7878,7 +7873,7 @@ msgstr "فوترة AMT" msgid "Billed Items To Be Received" msgstr "" -#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:259 +#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:261 #: erpnext/selling/report/sales_order_analysis/sales_order_analysis.py:276 msgid "Billed Qty" msgstr "الفواتير الكمية" @@ -8199,7 +8194,7 @@ msgstr "النص الأساسي والنص الختامي تعليمات" msgid "Bom No" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:284 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:281 msgid "Book Advance Payments as Liability option is chosen. Paid From account changed from {0} to {1}." msgstr "" @@ -8648,7 +8643,7 @@ msgstr "إعدادات الشراء" msgid "Buying and Selling" msgstr "" -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:218 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:219 msgid "Buying must be checked, if Applicable For is selected as {0}" msgstr "يجب أن يتم التحقق الشراء، إذا تم تحديد مطبق للك {0}" @@ -9003,25 +8998,25 @@ msgid "Can not filter based on Voucher No, if grouped by Voucher" msgstr "لا يمكن الفلتره علي اساس (رقم الأيصال)، إذا تم وضعه في مجموعة على اساس (ايصال)" #: erpnext/accounts/doctype/journal_entry/journal_entry.py:1294 -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2910 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2897 msgid "Can only make payment against unbilled {0}" msgstr "يمكن إجراء دفعة فقط مقابل فاتورة غير مدفوعة {0}" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1479 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1458 #: erpnext/controllers/accounts_controller.py:2840 #: erpnext/public/js/controllers/accounts.js:90 msgid "Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total'" msgstr "" -#: erpnext/stock/doctype/stock_settings/stock_settings.py:149 +#: erpnext/stock/doctype/stock_settings/stock_settings.py:151 msgid "Can't change the valuation method, as there are transactions against some items which do not have its own valuation method" msgstr "" -#: erpnext/stock/doctype/stock_settings/stock_settings.py:121 +#: erpnext/stock/doctype/stock_settings/stock_settings.py:123 msgid "Can't disable batch wise valuation for active batches." msgstr "" -#: erpnext/stock/doctype/stock_settings/stock_settings.py:118 +#: erpnext/stock/doctype/stock_settings/stock_settings.py:120 msgid "Can't disable batch wise valuation for items with FIFO valuation method." msgstr "" @@ -9216,7 +9211,7 @@ msgstr "لا يمكن الإلغاء لان هناك تدوينات مخزون msgid "Cannot cancel the transaction. Reposting of item valuation on submission is not completed yet." msgstr "" -#: erpnext/controllers/buying_controller.py:880 +#: erpnext/controllers/buying_controller.py:882 msgid "Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue." msgstr "لا يمكن إلغاء هذا المستند لأنه مرتبط بالأصل المقدم {0}. من فضلك قم بإلغائها للمتابعة." @@ -9294,7 +9289,7 @@ msgstr "لا يمكن ان تعلن بانها فقدت ، لأنه تم تقد msgid "Cannot deduct when category is for 'Valuation' or 'Valuation and Total'" msgstr "لا يمكن الخصم عندما تكون الفئة \"التقييم\" أو \"التقييم والإجمالي\"" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1829 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1777 msgid "Cannot delete Exchange Gain/Loss row" msgstr "" @@ -9302,7 +9297,7 @@ msgstr "" msgid "Cannot delete Serial No {0}, as it is used in stock transactions" msgstr "لا يمكن حذف الرقم التسلسلي {0}، لانه يتم استخدامها في قيود المخزون" -#: erpnext/stock/doctype/stock_settings/stock_settings.py:113 +#: erpnext/stock/doctype/stock_settings/stock_settings.py:115 msgid "Cannot disable batch wise valuation for FIFO valuation method." msgstr "" @@ -9343,11 +9338,11 @@ msgstr "" msgid "Cannot produce more than {0} items for {1}" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:355 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:352 msgid "Cannot receive from customer against negative outstanding" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1496 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1475 #: erpnext/controllers/accounts_controller.py:2855 #: erpnext/public/js/controllers/accounts.js:100 msgid "Cannot refer row number greater than or equal to current row number for this Charge type" @@ -9361,9 +9356,9 @@ msgstr "" msgid "Cannot retrieve link token. Check Error Log for more information" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1488 -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1667 -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1849 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1467 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1646 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1839 #: erpnext/controllers/accounts_controller.py:2845 #: erpnext/public/js/controllers/accounts.js:94 #: erpnext/public/js/controllers/taxes_and_totals.js:457 @@ -9394,7 +9389,7 @@ msgstr "لا يمكن تعيين كمية أقل من الكمية المستل msgid "Cannot set the field {0} for copying in variants" msgstr "لا يمكن تعيين الحقل {0} للنسخ في المتغيرات" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1959 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1949 msgid "Cannot {0} from {1} without any negative outstanding invoice" msgstr "" @@ -9762,7 +9757,7 @@ msgstr "لا يسمح بتغيير مجموعة العملاء للعميل ال msgid "Channel Partner" msgstr "شريك القناة" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2278 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2268 #: erpnext/controllers/accounts_controller.py:2908 msgid "Charge of type 'Actual' in row {0} cannot be included in Item Rate or Paid Amount" msgstr "" @@ -9946,7 +9941,7 @@ msgstr "عرض الشيك" #. Label of the reference_date (Date) field in DocType 'Payment Entry' #: erpnext/accounts/doctype/payment_entry/payment_entry.json -#: erpnext/public/js/controllers/transaction.js:2276 +#: erpnext/public/js/controllers/transaction.js:2278 msgid "Cheque/Reference Date" msgstr "تاريخ الصك / السند المرجع" @@ -9994,7 +9989,7 @@ msgstr "اسم الطفل" #. Label of the child_row_reference (Data) field in DocType 'Quality #. Inspection' -#: erpnext/public/js/controllers/transaction.js:2371 +#: erpnext/public/js/controllers/transaction.js:2373 #: erpnext/stock/doctype/quality_inspection/quality_inspection.json msgid "Child Row Reference" msgstr "" @@ -10230,12 +10225,12 @@ msgid "Closing" msgstr "" #: erpnext/accounts/report/trial_balance/trial_balance.py:481 -#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:213 +#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:226 msgid "Closing (Cr)" msgstr "إغلاق (دائن)" #: erpnext/accounts/report/trial_balance/trial_balance.py:474 -#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:206 +#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:219 msgid "Closing (Dr)" msgstr "إغلاق (مدين)" @@ -10753,7 +10748,7 @@ msgstr "شركات" #: erpnext/buying/report/procurement_tracker/procurement_tracker.js:8 #: erpnext/buying/report/purchase_analytics/purchase_analytics.js:49 #: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.js:8 -#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:312 +#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:314 #: erpnext/buying/report/requested_items_to_order_and_receive/requested_items_to_order_and_receive.js:8 #: erpnext/buying/report/requested_items_to_order_and_receive/requested_items_to_order_and_receive.py:266 #: erpnext/buying/report/subcontract_order_summary/subcontract_order_summary.js:7 @@ -11060,7 +11055,7 @@ msgstr "" msgid "Company and Posting Date is mandatory" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2215 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2216 msgid "Company currencies of both the companies should match for Inter Company Transactions." msgstr "يجب أن تتطابق عملات الشركة لكلتا الشركتين مع معاملات Inter Inter Company." @@ -11085,7 +11080,7 @@ msgstr "" msgid "Company name not same" msgstr "اسم الشركة ليس مماثل\\n
\\nCompany name not same" -#: erpnext/assets/doctype/asset/asset.py:210 +#: erpnext/assets/doctype/asset/asset.py:243 msgid "Company of asset {0} and purchase document {1} doesn't matches." msgstr "شركة الأصل {0} ومستند الشراء {1} غير متطابقين." @@ -11124,7 +11119,7 @@ msgstr "" msgid "Company {} does not exist yet. Taxes setup aborted." msgstr "" -#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:467 +#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:472 msgid "Company {} does not match with POS Profile Company {}" msgstr "" @@ -11712,7 +11707,7 @@ msgstr "اتصال" msgid "Contact Desc" msgstr "الاتصال التفاصيل" -#: erpnext/selling/page/point_of_sale/pos_item_cart.js:857 +#: erpnext/selling/page/point_of_sale/pos_item_cart.js:859 msgid "Contact Details" msgstr "تفاصيل الاتصال" @@ -11899,7 +11894,7 @@ msgid "Content Type" msgstr "نوع المحتوى" #: erpnext/erpnext_integrations/doctype/plaid_settings/plaid_settings.js:162 -#: erpnext/public/js/controllers/transaction.js:2289 +#: erpnext/public/js/controllers/transaction.js:2291 #: erpnext/selling/doctype/quotation/quotation.js:345 msgid "Continue" msgstr "استمر" @@ -12228,6 +12223,7 @@ msgstr "كلفة" #. Label of the cost_center (Link) field in DocType 'Supplier Quotation' #. Label of the cost_center (Link) field in DocType 'Supplier Quotation Item' #. Label of the cost_center (Link) field in DocType 'Sales Order' +#. Label of the cost_center (Link) field in DocType 'Sales Order Item' #. Label of the cost_center (Link) field in DocType 'Delivery Note' #. Label of the cost_center (Link) field in DocType 'Delivery Note Item' #. Label of the cost_center (Link) field in DocType 'Landed Cost Item' @@ -12312,6 +12308,7 @@ msgstr "كلفة" #: erpnext/buying/report/procurement_tracker/procurement_tracker.py:32 #: erpnext/public/js/financial_statements.js:239 #: erpnext/selling/doctype/sales_order/sales_order.json +#: erpnext/selling/doctype/sales_order_item/sales_order_item.json #: erpnext/stock/doctype/delivery_note/delivery_note.json #: erpnext/stock/doctype/delivery_note_item/delivery_note_item.json #: erpnext/stock/doctype/landed_cost_item/landed_cost_item.json @@ -12390,11 +12387,11 @@ msgstr "مركز التكلفة مع المعاملات الحالية لا يم msgid "Cost Center {0} cannot be used for allocation as it is used as main cost center in other allocation record." msgstr "" -#: erpnext/assets/doctype/asset/asset.py:248 +#: erpnext/assets/doctype/asset/asset.py:281 msgid "Cost Center {} doesn't belong to Company {}" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:255 +#: erpnext/assets/doctype/asset/asset.py:288 msgid "Cost Center {} is a group cost center and group cost centers cannot be used in transactions" msgstr "" @@ -12695,7 +12692,7 @@ msgstr "" #: erpnext/public/js/communication.js:19 erpnext/public/js/communication.js:31 #: erpnext/public/js/communication.js:41 #: erpnext/public/js/controllers/transaction.js:314 -#: erpnext/public/js/controllers/transaction.js:2412 +#: erpnext/public/js/controllers/transaction.js:2414 #: erpnext/selling/doctype/customer/customer.js:176 #: erpnext/selling/doctype/quotation/quotation.js:113 #: erpnext/selling/doctype/quotation/quotation.js:122 @@ -12990,7 +12987,7 @@ msgstr "" msgid "Create a variant with the template image." msgstr "" -#: erpnext/stock/stock_ledger.py:1848 +#: erpnext/stock/stock_ledger.py:1852 msgid "Create an incoming stock transaction for the Item." msgstr "قم بإنشاء حركة مخزون واردة للصنف." @@ -13118,7 +13115,7 @@ msgstr "" #: erpnext/accounts/report/purchase_register/purchase_register.py:241 #: erpnext/accounts/report/sales_register/sales_register.py:277 #: erpnext/accounts/report/trial_balance/trial_balance.py:467 -#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:199 +#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:212 #: erpnext/accounts/report/voucher_wise_balance/voucher_wise_balance.py:34 msgid "Credit" msgstr "دائن" @@ -13481,7 +13478,7 @@ msgstr "" #: erpnext/accounts/report/sales_register/sales_register.py:265 #: erpnext/accounts/report/trial_balance/trial_balance.js:76 #: erpnext/accounts/report/trial_balance/trial_balance.py:439 -#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:220 +#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:233 #: erpnext/accounts/workspace/accounting/accounting.json #: erpnext/buying/doctype/purchase_order/purchase_order.json #: erpnext/buying/doctype/supplier_quotation/supplier_quotation.json @@ -13571,8 +13568,8 @@ msgstr "العملة وقائمة الأسعار" msgid "Currency can not be changed after making entries using some other currency" msgstr "لا يمكن تغيير العملة بعد إجراء إدخالات باستخدام بعض العملات الأخرى" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1622 -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1684 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1612 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1674 #: erpnext/accounts/utils.py:2203 msgid "Currency for {0} must be {1}" msgstr "العملة ل {0} يجب أن تكون {1} \\n
\\nCurrency for {0} must be {1}" @@ -13585,7 +13582,7 @@ msgstr "عملة الحساب الختامي يجب أن تكون {0}" msgid "Currency of the price list {0} must be {1} or {2}" msgstr "العملة من قائمة الأسعار {0} يجب أن تكون {1} أو {2}" -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:297 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:298 msgid "Currency should be same as Price List Currency: {0}" msgstr "يجب أن تكون العملة مماثلة لعملة قائمة الأسعار: {0}" @@ -14306,7 +14303,7 @@ msgstr "نوع العميل" msgid "Customer Warehouse (Optional)" msgstr "مستودع العميل (اختياري)" -#: erpnext/selling/page/point_of_sale/pos_item_cart.js:957 +#: erpnext/selling/page/point_of_sale/pos_item_cart.js:959 msgid "Customer contact updated successfully." msgstr "تم تحديث جهة اتصال العميل بنجاح." @@ -14580,7 +14577,7 @@ msgstr "استيراد البيانات والإعدادات" #: erpnext/buying/doctype/purchase_order/purchase_order.json #: erpnext/buying/doctype/request_for_quotation/request_for_quotation.json #: erpnext/buying/doctype/supplier_quotation/supplier_quotation.json -#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:198 +#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:200 #: erpnext/buying/report/requested_items_to_order_and_receive/requested_items_to_order_and_receive.py:190 #: erpnext/buying/report/subcontracted_item_to_be_received/subcontracted_item_to_be_received.py:28 #: erpnext/buying/report/subcontracted_raw_materials_to_be_transferred/subcontracted_raw_materials_to_be_transferred.py:28 @@ -14800,7 +14797,7 @@ msgstr "عزيزي مدير النظام،" #: erpnext/accounts/report/purchase_register/purchase_register.py:240 #: erpnext/accounts/report/sales_register/sales_register.py:276 #: erpnext/accounts/report/trial_balance/trial_balance.py:460 -#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:192 +#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:205 #: erpnext/accounts/report/voucher_wise_balance/voucher_wise_balance.py:27 msgid "Debit" msgstr "مدين" @@ -15837,7 +15834,7 @@ msgstr "" msgid "Delivery Note Trends" msgstr "توجهات إشعارات التسليم" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1171 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1172 msgid "Delivery Note {0} is not submitted" msgstr "لم يتم اعتماد ملاحظه التسليم {0}\\n
\\nDelivery Note {0} is not submitted" @@ -16115,23 +16112,23 @@ msgstr "خيارات الإهلاك" msgid "Depreciation Posting Date" msgstr "تاريخ ترحيل الإهلاك" -#: erpnext/assets/doctype/asset/asset.js:797 +#: erpnext/assets/doctype/asset/asset.js:786 msgid "Depreciation Posting Date cannot be before Available-for-use Date" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:277 +#: erpnext/assets/doctype/asset/asset.py:310 msgid "Depreciation Row {0}: Depreciation Posting Date cannot be before Available-for-use Date" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:517 +#: erpnext/assets/doctype/asset/asset.py:550 msgid "Depreciation Row {0}: Expected value after useful life must be greater than or equal to {1}" msgstr "صف الإهلاك {0}: يجب أن تكون القيمة المتوقعة بعد العمر الافتراضي أكبر من أو تساوي {1}" -#: erpnext/assets/doctype/asset/asset.py:476 +#: erpnext/assets/doctype/asset/asset.py:509 msgid "Depreciation Row {0}: Next Depreciation Date cannot be before Available-for-use Date" msgstr "صف الإهلاك {0}: لا يمكن أن يكون تاريخ الاستهلاك التالي قبل تاريخ المتاح للاستخدام" -#: erpnext/assets/doctype/asset/asset.py:467 +#: erpnext/assets/doctype/asset/asset.py:500 msgid "Depreciation Row {0}: Next Depreciation Date cannot be before Purchase Date" msgstr "صف الإهلاك {0}: لا يمكن أن يكون تاريخ الاستهلاك قبل تاريخ الشراء" @@ -16158,7 +16155,7 @@ msgstr "جدول الاهلاك الزمني" msgid "Depreciation Schedule View" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:360 +#: erpnext/assets/doctype/asset/asset.py:393 msgid "Depreciation cannot be calculated for fully depreciated assets" msgstr "" @@ -16380,7 +16377,7 @@ msgstr "" #: erpnext/projects/doctype/task_type/task_type.json #: erpnext/projects/doctype/timesheet_detail/timesheet_detail.json #: erpnext/public/js/bank_reconciliation_tool/data_table_manager.js:55 -#: erpnext/public/js/controllers/transaction.js:2353 +#: erpnext/public/js/controllers/transaction.js:2355 #: erpnext/selling/doctype/installation_note_item/installation_note_item.json #: erpnext/selling/doctype/product_bundle/product_bundle.json #: erpnext/selling/doctype/product_bundle_item/product_bundle_item.json @@ -16591,7 +16588,7 @@ msgstr "مقدار الفرق" msgid "Difference Amount (Company Currency)" msgstr "فروق المبلغ ( عملة الشركة ) ." -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:201 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:198 msgid "Difference Amount must be zero" msgstr "مبلغ الفرق يجب أن يكون صفر\\n
\\nDifference Amount must be zero" @@ -16880,7 +16877,7 @@ msgstr "مصروف" #: erpnext/accounts/doctype/payment_term/payment_term.json #: erpnext/accounts/doctype/payment_terms_template_detail/payment_terms_template_detail.json #: erpnext/selling/page/point_of_sale/pos_item_cart.js:387 -#: erpnext/selling/page/point_of_sale/pos_past_order_summary.js:115 +#: erpnext/selling/page/point_of_sale/pos_past_order_summary.js:140 #: erpnext/templates/form_grid/item_grid.html:71 msgid "Discount" msgstr "خصم" @@ -17030,7 +17027,7 @@ msgstr "" msgid "Discount and Margin" msgstr "الخصم والهامش" -#: erpnext/selling/page/point_of_sale/pos_item_cart.js:790 +#: erpnext/selling/page/point_of_sale/pos_item_cart.js:792 msgid "Discount cannot be greater than 100%" msgstr "" @@ -17042,7 +17039,7 @@ msgstr "" msgid "Discount must be less than 100" msgstr "يجب أن يكون الخصم أقل من 100" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:3381 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:3368 msgid "Discount of {} applied as per Payment Term" msgstr "" @@ -17330,7 +17327,7 @@ msgstr "لا تقم بتحديث المتغيرات عند الحفظ" msgid "Do reposting for each Stock Transaction" msgstr "" -#: erpnext/assets/doctype/asset/asset.js:835 +#: erpnext/assets/doctype/asset/asset.js:824 msgid "Do you really want to restore this scrapped asset?" msgstr "هل تريد حقا استعادة هذه الأصول المخردة ؟" @@ -17473,6 +17470,12 @@ msgstr "إعدادات النطاق" msgid "Don't Create Loyalty Points" msgstr "" +#. Label of the dont_enforce_free_item_qty (Check) field in DocType 'Pricing +#. Rule' +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.json +msgid "Don't Enforce Free Item Qty" +msgstr "" + #. Label of the dont_reserve_sales_order_qty_on_sales_return (Check) field in #. DocType 'Selling Settings' #: erpnext/selling/doctype/selling_settings/selling_settings.json @@ -17740,7 +17743,7 @@ msgstr "إسقاط الشحن" #: erpnext/accounts/doctype/journal_entry/journal_entry.json #: erpnext/accounts/doctype/opening_invoice_creation_tool_item/opening_invoice_creation_tool_item.json #: erpnext/accounts/doctype/overdue_payment/overdue_payment.json -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:888 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:867 #: erpnext/accounts/doctype/payment_entry_reference/payment_entry_reference.json #: erpnext/accounts/doctype/payment_ledger_entry/payment_ledger_entry.json #: erpnext/accounts/doctype/payment_schedule/payment_schedule.json @@ -17829,7 +17832,7 @@ msgstr "نوع الطلب" msgid "Duplicate" msgstr "مكررة" -#: erpnext/accounts/doctype/pos_profile/pos_profile.py:144 +#: erpnext/accounts/doctype/pos_profile/pos_profile.py:148 msgid "Duplicate Customer Group" msgstr "" @@ -17837,11 +17840,11 @@ msgstr "" msgid "Duplicate Entry. Please check Authorization Rule {0}" msgstr "إدخال مكرر. يرجى التحقق من قاعدة التخويل {0}" -#: erpnext/assets/doctype/asset/asset.py:301 +#: erpnext/assets/doctype/asset/asset.py:334 msgid "Duplicate Finance Book" msgstr "" -#: erpnext/accounts/doctype/pos_profile/pos_profile.py:138 +#: erpnext/accounts/doctype/pos_profile/pos_profile.py:142 msgid "Duplicate Item Group" msgstr "" @@ -17862,7 +17865,7 @@ msgstr "مشروع مكرر مع المهام" msgid "Duplicate Stock Closing Entry" msgstr "" -#: erpnext/accounts/doctype/pos_profile/pos_profile.py:143 +#: erpnext/accounts/doctype/pos_profile/pos_profile.py:147 msgid "Duplicate customer group found in the customer group table" msgstr "" @@ -17870,7 +17873,7 @@ msgstr "" msgid "Duplicate entry against the item code {0} and manufacturer {1}" msgstr "إدخال مكرر مقابل رمز العنصر {0} والشركة المصنعة {1}" -#: erpnext/accounts/doctype/pos_profile/pos_profile.py:138 +#: erpnext/accounts/doctype/pos_profile/pos_profile.py:142 msgid "Duplicate item group found in the item group table" msgstr "تم العثور علي مجموعه عناصر مكرره في جدول مجموعه الأصناف\\n
\\nDuplicate item group found in the item group table" @@ -17882,7 +17885,7 @@ msgstr "تم إنشاء مشروع مكرر" msgid "Duplicate row {0} with same {1}" msgstr "صف مكرر {0} مع نفس {1}" -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:156 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:157 msgid "Duplicate {0} found in the table" msgstr "مكرر {0} موجود في الجدول" @@ -18035,11 +18038,11 @@ msgstr "" msgid "Edit Posting Date and Time" msgstr "تحرير تاريخ النشر والوقت" -#: erpnext/selling/page/point_of_sale/pos_past_order_summary.js:248 +#: erpnext/selling/page/point_of_sale/pos_past_order_summary.js:282 msgid "Edit Receipt" msgstr "تحرير الإيصال" -#: erpnext/selling/page/point_of_sale/pos_item_cart.js:743 +#: erpnext/selling/page/point_of_sale/pos_item_cart.js:745 msgid "Editing {0} is not allowed as per POS Profile settings" msgstr "" @@ -18138,7 +18141,7 @@ msgstr "" #: erpnext/crm/doctype/prospect_lead/prospect_lead.json #: erpnext/crm/report/lead_details/lead_details.py:41 #: erpnext/projects/doctype/project_user/project_user.json -#: erpnext/selling/page/point_of_sale/pos_item_cart.js:902 +#: erpnext/selling/page/point_of_sale/pos_item_cart.js:904 #: erpnext/setup/doctype/company/company.json msgid "Email" msgstr "البريد الإلكتروني" @@ -18261,7 +18264,7 @@ msgstr "إعدادات البريد الإلكتروني" msgid "Email Template" msgstr "قالب البريد الإلكتروني" -#: erpnext/selling/page/point_of_sale/pos_past_order_summary.js:279 +#: erpnext/selling/page/point_of_sale/pos_past_order_summary.js:313 msgid "Email not sent to {0} (unsubscribed / disabled)" msgstr "البريد الإلكتروني لا يرسل إلى {0} (غير مشترك / غيرمفعل)" @@ -18269,7 +18272,7 @@ msgstr "البريد الإلكتروني لا يرسل إلى {0} (غير مش msgid "Email or Phone/Mobile of the Contact are mandatory to continue." msgstr "" -#: erpnext/selling/page/point_of_sale/pos_past_order_summary.js:284 +#: erpnext/selling/page/point_of_sale/pos_past_order_summary.js:318 msgid "Email sent successfully." msgstr "تم إرسال البريد الإلكتروني بنجاح." @@ -18445,6 +18448,10 @@ msgstr "الموظف مطلوب أثناء إصدار الأصول {0}" msgid "Employee {0} does not belongs to the company {1}" msgstr "الموظف {0} لا ينتمي للشركة {1}" +#: erpnext/manufacturing/doctype/job_card/job_card.py:297 +msgid "Employee {0} is currently working on another workstation. Please assign another employee." +msgstr "" + #: erpnext/manufacturing/doctype/workstation/workstation.js:351 msgid "Employees" msgstr "الموظفين" @@ -18614,6 +18621,12 @@ msgstr "" msgid "Enabled" msgstr "تمكين" +#. Description of the 'Fetch Timesheet in Sales Invoice' (Check) field in +#. DocType 'Projects Settings' +#: erpnext/projects/doctype/projects_settings/projects_settings.json +msgid "Enabling the check box will fetch timesheet on select of a Project in Sales Invoice" +msgstr "" + #. Description of the 'Check Supplier Invoice Number Uniqueness' (Check) field #. in DocType 'Accounts Settings' #: erpnext/accounts/doctype/accounts_settings/accounts_settings.json @@ -18799,19 +18812,19 @@ msgstr "أدخل المبلغ المراد استرداده." msgid "Enter an Item Code, the name will be auto-filled the same as Item Code on clicking inside the Item Name field." msgstr "" -#: erpnext/selling/page/point_of_sale/pos_item_cart.js:905 +#: erpnext/selling/page/point_of_sale/pos_item_cart.js:907 msgid "Enter customer's email" msgstr "أدخل البريد الإلكتروني الخاص بالعميل" -#: erpnext/selling/page/point_of_sale/pos_item_cart.js:911 +#: erpnext/selling/page/point_of_sale/pos_item_cart.js:913 msgid "Enter customer's phone number" msgstr "أدخل رقم هاتف العميل" -#: erpnext/assets/doctype/asset/asset.js:806 +#: erpnext/assets/doctype/asset/asset.js:795 msgid "Enter date to scrap asset" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:358 +#: erpnext/assets/doctype/asset/asset.py:391 msgid "Enter depreciation details" msgstr "أدخل تفاصيل الاستهلاك" @@ -18917,9 +18930,9 @@ msgstr "" #: erpnext/accounts/doctype/ledger_merge/ledger_merge.json #: erpnext/accounts/doctype/payment_request/payment_request.py:446 #: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.json -#: erpnext/manufacturing/doctype/job_card/job_card.py:862 +#: erpnext/manufacturing/doctype/job_card/job_card.py:868 #: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.json -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:269 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:289 msgid "Error" msgstr "خطأ" @@ -18989,7 +19002,7 @@ msgid "Error: This asset already has {0} depreciation periods booked.\n" "\t\t\t\tPlease correct the dates accordingly." msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:976 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:955 msgid "Error: {0} is mandatory field" msgstr "الخطأ: {0} هو حقل إلزامي" @@ -19057,7 +19070,7 @@ msgstr "" msgid "Example: ABCD.#####. If series is set and Batch No is not mentioned in transactions, then automatic batch number will be created based on this series. If you always want to explicitly mention Batch No for this item, leave this blank. Note: this setting will take priority over the Naming Series Prefix in Stock Settings." msgstr "مثال: ABCD. #####. إذا تم ضبط المسلسل ولم يتم ذكر رقم الدفعة في المعاملات ، فسيتم إنشاء رقم الدفعة تلقائيًا استنادًا إلى هذه السلسلة. إذا كنت تريد دائمًا الإشارة صراحة إلى Batch No لهذا العنصر ، فاترك هذا فارغًا. ملاحظة: سيأخذ هذا الإعداد الأولوية على بادئة Naming Series في إعدادات المخزون." -#: erpnext/stock/stock_ledger.py:2135 +#: erpnext/stock/stock_ledger.py:2139 msgid "Example: Serial No {0} reserved in {1}." msgstr "" @@ -19071,7 +19084,7 @@ msgstr "دور الموافقة على الموازنة الاستثنائية" msgid "Excess Materials Consumed" msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:956 +#: erpnext/manufacturing/doctype/job_card/job_card.py:962 msgid "Excess Transfer" msgstr "" @@ -19814,10 +19827,16 @@ msgstr "" msgid "Fetch Subscription Updates" msgstr "جلب تحديثات الاشتراك" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1007 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1015 msgid "Fetch Timesheet" msgstr "" +#. Label of the fetch_timesheet_in_sales_invoice (Check) field in DocType +#. 'Projects Settings' +#: erpnext/projects/doctype/projects_settings/projects_settings.json +msgid "Fetch Timesheet in Sales Invoice" +msgstr "" + #. Label of the fetch_from_parent (Select) field in DocType 'Inventory #. Dimension' #: erpnext/stock/doctype/inventory_dimension/inventory_dimension.json @@ -19954,7 +19973,7 @@ msgstr "" #. Payment Ledger' #. Label of the filters (Section Break) field in DocType 'Tax Rule' #. Label of the filters (Section Break) field in DocType 'Production Plan' -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:951 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:930 #: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.json #: erpnext/accounts/doctype/pos_profile/pos_profile.json #: erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.json @@ -20362,7 +20381,7 @@ msgstr "الأصول الثابتة" #. Capitalization Asset Item' #. Label of the fixed_asset_account (Link) field in DocType 'Asset Category #. Account' -#: erpnext/assets/doctype/asset/asset.py:696 +#: erpnext/assets/doctype/asset/asset.py:729 #: erpnext/assets/doctype/asset_capitalization_asset_item/asset_capitalization_asset_item.json #: erpnext/assets/doctype/asset_category_account/asset_category_account.json msgid "Fixed Asset Account" @@ -20457,11 +20476,11 @@ msgstr "تم رفع طلبات المواد التالية تلقائيا بنا msgid "Following fields are mandatory to create address:" msgstr "الحقول التالية إلزامية لإنشاء العنوان:" -#: erpnext/controllers/buying_controller.py:974 +#: erpnext/controllers/buying_controller.py:976 msgid "Following item {0} is not marked as {1} item. You can enable them as {1} item from its Item master" msgstr "لم يتم وضع علامة على البند {0} التالي كعنصر {1}. يمكنك تمكينها كـ عنصر {1} من العنصر الرئيسي الخاص بها" -#: erpnext/controllers/buying_controller.py:970 +#: erpnext/controllers/buying_controller.py:972 msgid "Following items {0} are not marked as {1} item. You can enable them as {1} item from its Item master" msgstr "العناصر التالية {0} غير مميزة كعنصر {1}. يمكنك تمكينها كـ عنصر {1} من العنصر الرئيسي الخاص بها" @@ -20624,7 +20643,7 @@ msgstr "" msgid "For reference" msgstr "للرجوع إليها" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1518 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1497 #: erpnext/public/js/controllers/accounts.js:182 msgid "For row {0} in {1}. To include {2} in Item rate, rows {3} must also be included" msgstr "" @@ -20633,7 +20652,7 @@ msgstr "" msgid "For row {0}: Enter Planned Qty" msgstr "بالنسبة إلى الصف {0}: أدخل الكمية المخطط لها" -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:177 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:178 msgid "For the 'Apply Rule On Other' condition the field {0} is mandatory" msgstr "بالنسبة لشرط "تطبيق القاعدة على أخرى" ، يكون الحقل {0} إلزاميًا" @@ -20650,7 +20669,7 @@ msgstr "" msgid "For the {0}, no stock is available for the return in the warehouse {1}." msgstr "" -#: erpnext/controllers/sales_and_purchase_return.py:1127 +#: erpnext/controllers/sales_and_purchase_return.py:1128 msgid "For the {0}, the quantity is required to make the return entry" msgstr "" @@ -20723,7 +20742,7 @@ msgstr "" msgid "Free On Board" msgstr "" -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:282 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:283 msgid "Free item code is not selected" msgstr "لم يتم تحديد رمز العنصر المجاني" @@ -20799,7 +20818,7 @@ msgstr "الجمعة" #. Label of the from_uom (Link) field in DocType 'UOM Conversion Factor' #. Label of the from (Data) field in DocType 'Call Log' -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1010 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1018 #: erpnext/setup/doctype/uom_conversion_factor/uom_conversion_factor.json #: erpnext/telephony/doctype/call_log/call_log.json #: erpnext/templates/pages/projects.html:67 @@ -20861,8 +20880,8 @@ msgstr "من العملاء" #: erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.json #: erpnext/accounts/doctype/bisect_accounting_statements/bisect_accounting_statements.json #: erpnext/accounts/doctype/loyalty_program/loyalty_program.json -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:882 -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:889 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:861 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:868 #: erpnext/accounts/doctype/pos_invoice/pos_invoice.json #: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.json #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json @@ -21665,7 +21684,7 @@ msgstr "احصل على البنود" #: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:266 #: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:295 #: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:326 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1046 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1054 #: erpnext/buying/doctype/purchase_order/purchase_order.js:573 #: erpnext/buying/doctype/purchase_order/purchase_order.js:593 #: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:336 @@ -21814,7 +21833,7 @@ msgstr "الحصول على الموردين" msgid "Get Suppliers By" msgstr "الحصول على الموردين من قبل" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1042 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1050 msgid "Get Timesheets" msgstr "" @@ -22032,7 +22051,7 @@ msgstr "" #: erpnext/selling/page/point_of_sale/pos_item_cart.js:92 #: erpnext/selling/page/point_of_sale/pos_item_cart.js:529 #: erpnext/selling/page/point_of_sale/pos_item_cart.js:533 -#: erpnext/selling/page/point_of_sale/pos_past_order_summary.js:155 +#: erpnext/selling/page/point_of_sale/pos_past_order_summary.js:180 #: erpnext/selling/page/point_of_sale/pos_payment.js:611 #: erpnext/setup/doctype/authorization_rule/authorization_rule.json #: erpnext/stock/doctype/delivery_note/delivery_note.json @@ -22079,7 +22098,7 @@ msgstr "المجموع الكلي (العملات شركة)" msgid "Grant Commission" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:895 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:874 msgid "Greater Than Amount" msgstr "أكبر من المبلغ" @@ -22165,11 +22184,11 @@ msgstr "اجمالي مبلغ المشتريات" msgid "Gross Purchase Amount Too Low: {0} cannot be depreciated over {1} cycles with a frequency of {2} depreciations." msgstr "" -#: erpnext/assets/doctype/asset/asset.py:328 +#: erpnext/assets/doctype/asset/asset.py:361 msgid "Gross Purchase Amount is mandatory" msgstr "مبلغ الشراء الإجمالي إلزامي\\n
\\nGross Purchase Amount is mandatory" -#: erpnext/assets/doctype/asset/asset.py:373 +#: erpnext/assets/doctype/asset/asset.py:406 msgid "Gross Purchase Amount should be equal to purchase amount of one single Asset." msgstr "" @@ -22225,7 +22244,7 @@ msgstr "عقدة المجموعة" msgid "Group Same Items" msgstr "تجميع العناصر المتشابهة" -#: erpnext/stock/doctype/stock_settings/stock_settings.py:128 +#: erpnext/stock/doctype/stock_settings/stock_settings.py:130 msgid "Group Warehouses cannot be used in transactions. Please change the value of {0}" msgstr "لا يمكن استخدام مستودعات المجموعة في المعاملات. يرجى تغيير قيمة {0}" @@ -22252,11 +22271,11 @@ msgstr "تجميع حسب طلب المواد" msgid "Group by Party" msgstr "مجموعة حسب الحزب" -#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.js:71 +#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.js:90 msgid "Group by Purchase Order" msgstr "تجميع حسب أمر الشراء" -#: erpnext/selling/report/sales_order_analysis/sales_order_analysis.js:73 +#: erpnext/selling/report/sales_order_analysis/sales_order_analysis.js:89 msgid "Group by Sales Order" msgstr "التجميع حسب طلب المبيعات" @@ -22566,7 +22585,7 @@ msgstr "" msgid "Here are the error logs for the aforementioned failed depreciation entries: {0}" msgstr "" -#: erpnext/stock/stock_ledger.py:1833 +#: erpnext/stock/stock_ledger.py:1837 msgid "Here are the options to proceed:" msgstr "" @@ -23047,7 +23066,7 @@ msgstr "" msgid "If more than one package of the same type (for print)" msgstr "إذا كان أكثر من حزمة واحدة من نفس النوع (للطباعة)" -#: erpnext/stock/stock_ledger.py:1843 +#: erpnext/stock/stock_ledger.py:1847 msgid "If not, you can Cancel / Submit this entry" msgstr "" @@ -23072,7 +23091,7 @@ msgstr "" msgid "If the account is frozen, entries are allowed to restricted users." msgstr "إذا الحساب مجمد، يسمح بالدخول إلى المستخدمين المحددين." -#: erpnext/stock/stock_ledger.py:1836 +#: erpnext/stock/stock_ledger.py:1840 msgid "If the item is transacting as a Zero Valuation Rate item in this entry, please enable 'Allow Zero Valuation Rate' in the {0} Item table." msgstr "إذا كان العنصر يتعامل كعنصر سعر تقييم صفري في هذا الإدخال ، فالرجاء تمكين "السماح بمعدل تقييم صفري" في جدول العناصر {0}." @@ -23120,7 +23139,7 @@ msgstr "إذا كان هذا غير محدد ، فسيتم حفظ إدخالات msgid "If this is unchecked, direct GL entries will be created to book deferred revenue or expense" msgstr "إذا لم يتم تحديد ذلك ، فسيتم إنشاء إدخالات دفتر الأستاذ العام المباشرة لحجز الإيرادات أو المصاريف المؤجلة" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:754 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:744 msgid "If this is undesirable please cancel the corresponding Payment Entry." msgstr "" @@ -23920,7 +23939,7 @@ msgstr "تشمل الاصناف الغير مخزنية" msgid "Include POS Transactions" msgstr "تشمل معاملات نقطه البيع" -#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:190 +#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:194 msgid "Include Payment" msgstr "" @@ -24080,7 +24099,7 @@ msgstr "" msgid "Incorrect Component Quantity" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:280 +#: erpnext/assets/doctype/asset/asset.py:313 #: erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py:77 msgid "Incorrect Date" msgstr "تاريخ غير صحيح" @@ -24094,7 +24113,7 @@ msgstr "" msgid "Incorrect Movement Purpose" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:356 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:353 msgid "Incorrect Payment Type" msgstr "" @@ -24126,7 +24145,7 @@ msgid "Incorrect Type of Transaction" msgstr "" #: erpnext/stock/doctype/pick_list/pick_list.py:149 -#: erpnext/stock/doctype/stock_settings/stock_settings.py:131 +#: erpnext/stock/doctype/stock_settings/stock_settings.py:133 msgid "Incorrect Warehouse" msgstr "مستودع غير صحيح" @@ -24393,12 +24412,12 @@ msgstr "أذونات غير كافية" #: erpnext/stock/doctype/pick_list/pick_list.py:126 #: erpnext/stock/doctype/pick_list/pick_list.py:915 #: erpnext/stock/doctype/stock_entry/stock_entry.py:736 -#: erpnext/stock/serial_batch_bundle.py:978 erpnext/stock/stock_ledger.py:1530 -#: erpnext/stock/stock_ledger.py:2003 +#: erpnext/stock/serial_batch_bundle.py:978 erpnext/stock/stock_ledger.py:1534 +#: erpnext/stock/stock_ledger.py:2007 msgid "Insufficient Stock" msgstr "المالية غير كافية" -#: erpnext/stock/stock_ledger.py:2018 +#: erpnext/stock/stock_ledger.py:2022 msgid "Insufficient Stock for Batch" msgstr "" @@ -24512,7 +24531,7 @@ msgstr "إعدادات نقل المستودعات الداخلية" msgid "Interest" msgstr "فائدة" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:3018 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:3005 msgid "Interest and/or dunning fee" msgstr "" @@ -24619,8 +24638,8 @@ msgstr "غير صالحة" msgid "Invalid Account" msgstr "حساب غير صالح" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:395 -#: erpnext/accounts/doctype/payment_request/payment_request.py:881 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:392 +#: erpnext/accounts/doctype/payment_request/payment_request.py:884 msgid "Invalid Allocated Amount" msgstr "" @@ -24640,7 +24659,7 @@ msgstr "" msgid "Invalid Barcode. There is no Item attached to this barcode." msgstr "الباركود غير صالح. لا يوجد عنصر مرفق بهذا الرمز الشريطي." -#: erpnext/public/js/controllers/transaction.js:2607 +#: erpnext/public/js/controllers/transaction.js:2609 msgid "Invalid Blanket Order for the selected Customer and Item" msgstr "طلب فارغ غير صالح للعميل والعنصر المحدد" @@ -24648,12 +24667,12 @@ msgstr "طلب فارغ غير صالح للعميل والعنصر المحدد msgid "Invalid Child Procedure" msgstr "إجراء الطفل غير صالح" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1994 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1995 msgid "Invalid Company for Inter Company Transaction." msgstr "شركة غير صالحة للمعاملات بين الشركات." -#: erpnext/assets/doctype/asset/asset.py:251 -#: erpnext/assets/doctype/asset/asset.py:258 +#: erpnext/assets/doctype/asset/asset.py:284 +#: erpnext/assets/doctype/asset/asset.py:291 #: erpnext/controllers/accounts_controller.py:2892 msgid "Invalid Cost Center" msgstr "" @@ -24678,12 +24697,12 @@ msgstr "" msgid "Invalid Document Type" msgstr "" -#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:322 -#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:327 +#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:323 +#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:328 msgid "Invalid Formula" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:378 +#: erpnext/assets/doctype/asset/asset.py:411 msgid "Invalid Gross Purchase Amount" msgstr "مبلغ الشراء الإجمالي غير صالح" @@ -24691,7 +24710,7 @@ msgstr "مبلغ الشراء الإجمالي غير صالح" msgid "Invalid Group By" msgstr "" -#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:392 +#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:397 #: erpnext/manufacturing/doctype/production_plan/production_plan.py:875 msgid "Invalid Item" msgstr "عنصر غير صالح" @@ -24738,7 +24757,7 @@ msgstr "" msgid "Invalid Process Loss Configuration" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:713 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:703 msgid "Invalid Purchase Invoice" msgstr "" @@ -24750,9 +24769,13 @@ msgstr "" msgid "Invalid Quantity" msgstr "كمية غير صحيحة" -#: erpnext/assets/doctype/asset/asset.py:425 -#: erpnext/assets/doctype/asset/asset.py:432 -#: erpnext/assets/doctype/asset/asset.py:462 +#: erpnext/selling/page/point_of_sale/pos_past_order_summary.js:198 +msgid "Invalid Return" +msgstr "" + +#: erpnext/assets/doctype/asset/asset.py:458 +#: erpnext/assets/doctype/asset/asset.py:465 +#: erpnext/assets/doctype/asset/asset.py:495 msgid "Invalid Schedule" msgstr "" @@ -24777,7 +24800,7 @@ msgstr "قيمة غير صالحة" msgid "Invalid Warehouse" msgstr "" -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:311 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:312 msgid "Invalid condition expression" msgstr "تعبير شرط غير صالح" @@ -24805,11 +24828,10 @@ msgid "Invalid value {0} for {1} against account {2}" msgstr "" #: erpnext/accounts/doctype/pricing_rule/utils.py:197 -#: erpnext/assets/doctype/asset/asset.js:657 msgid "Invalid {0}" msgstr "غير صالح {0}" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1992 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1993 msgid "Invalid {0} for Inter Company Transaction." msgstr "غير صالح {0} للمعاملات بين الشركات." @@ -25000,7 +25022,7 @@ msgstr "" #: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.json #: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.json #: erpnext/accounts/doctype/pos_profile/pos_profile.json -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2043 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2044 #: erpnext/buying/doctype/supplier/supplier.json #: erpnext/selling/report/payment_terms_status_for_sales_order/payment_terms_status_for_sales_order.py:62 msgid "Invoices" @@ -25655,7 +25677,7 @@ msgstr "" msgid "It can take upto few hours for accurate stock values to be visible after merging items." msgstr "" -#: erpnext/public/js/controllers/transaction.js:2052 +#: erpnext/public/js/controllers/transaction.js:2054 msgid "It is needed to fetch Item Details." msgstr "هناك حاجة لجلب تفاصيل البند." @@ -25949,7 +25971,7 @@ msgstr "" #: erpnext/buying/doctype/request_for_quotation_item/request_for_quotation_item.json #: erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.json #: erpnext/buying/report/item_wise_purchase_history/item_wise_purchase_history.py:26 -#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:227 +#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:229 #: erpnext/buying/report/requested_items_to_order_and_receive/requested_items_to_order_and_receive.py:198 #: erpnext/buying/report/subcontracted_raw_materials_to_be_transferred/subcontracted_raw_materials_to_be_transferred.py:36 #: erpnext/crm/doctype/opportunity_item/opportunity_item.json @@ -25980,7 +26002,7 @@ msgstr "" #: erpnext/manufacturing/report/quality_inspection_summary/quality_inspection_summary.py:86 #: erpnext/manufacturing/report/work_order_stock_report/work_order_stock_report.py:119 #: erpnext/projects/doctype/timesheet/timesheet.js:213 -#: erpnext/public/js/controllers/transaction.js:2327 +#: erpnext/public/js/controllers/transaction.js:2329 #: erpnext/public/js/stock_reservation.js:99 #: erpnext/public/js/stock_reservation.js:292 erpnext/public/js/utils.js:495 #: erpnext/public/js/utils.js:651 @@ -26059,8 +26081,8 @@ msgstr "لا يمكن تغيير رمز السلعة للرقم التسلسلي msgid "Item Code required at Row No {0}" msgstr "رمز العنصر المطلوب في الصف رقم {0}\\n
\\nItem Code required at Row No {0}" -#: erpnext/selling/page/point_of_sale/pos_controller.js:743 -#: erpnext/selling/page/point_of_sale/pos_item_details.js:274 +#: erpnext/selling/page/point_of_sale/pos_controller.js:755 +#: erpnext/selling/page/point_of_sale/pos_item_details.js:280 msgid "Item Code: {0} is not available under warehouse {1}." msgstr "رمز العنصر: {0} غير متوفر ضمن المستودع {1}." @@ -26247,7 +26269,7 @@ msgstr "اسم مجموعة السلعة" msgid "Item Group Tree" msgstr "شجرة فئات البنود" -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:526 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:527 msgid "Item Group not mentioned in item master for item {0}" msgstr "فئة البند غير مذكورة في ماستر البند لهذا البند {0}" @@ -26417,7 +26439,7 @@ msgstr "مادة المصنع" #: erpnext/manufacturing/report/production_planning_report/production_planning_report.py:359 #: erpnext/manufacturing/report/quality_inspection_summary/quality_inspection_summary.py:92 #: erpnext/manufacturing/report/work_order_consumed_materials/work_order_consumed_materials.py:134 -#: erpnext/public/js/controllers/transaction.js:2333 +#: erpnext/public/js/controllers/transaction.js:2335 #: erpnext/public/js/utils.js:739 #: erpnext/selling/doctype/quotation_item/quotation_item.json #: erpnext/selling/doctype/sales_order_item/sales_order_item.json @@ -26649,8 +26671,8 @@ msgstr "الصنف لتصنيع" msgid "Item UOM" msgstr "وحدة قياس الصنف" -#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:353 -#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:360 +#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:358 +#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:365 msgid "Item Unavailable" msgstr "العنصر غير متوفر" @@ -26811,7 +26833,7 @@ msgstr "" msgid "Item {0} cannot be ordered more than {1} against Blanket Order {2}." msgstr "" -#: erpnext/assets/doctype/asset/asset.py:233 +#: erpnext/assets/doctype/asset/asset.py:266 #: erpnext/stock/doctype/item/item.py:628 #: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:167 msgid "Item {0} does not exist" @@ -26825,7 +26847,7 @@ msgstr "الصنف{0} غير موجود في النظام أو انتهت صلا msgid "Item {0} does not exist." msgstr "العنصر {0} غير موجود\\n
\\nItem {0} does not exist." -#: erpnext/controllers/selling_controller.py:751 +#: erpnext/controllers/selling_controller.py:752 msgid "Item {0} entered multiple times." msgstr "" @@ -26833,7 +26855,7 @@ msgstr "" msgid "Item {0} has already been returned" msgstr "تمت إرجاع الصنف{0} من قبل" -#: erpnext/assets/doctype/asset/asset.py:235 +#: erpnext/assets/doctype/asset/asset.py:268 msgid "Item {0} has been disabled" msgstr "الصنف{0} تم تعطيله" @@ -26877,7 +26899,7 @@ msgstr "" msgid "Item {0} is not active or end of life has been reached" msgstr "البند {0} غير نشط أو تم التوصل إلى نهاية الحياة" -#: erpnext/assets/doctype/asset/asset.py:237 +#: erpnext/assets/doctype/asset/asset.py:270 msgid "Item {0} must be a Fixed Asset Item" msgstr "البند {0} يجب أن يكون بند أصول ثابتة" @@ -26889,7 +26911,7 @@ msgstr "" msgid "Item {0} must be a Sub-contracted Item" msgstr "البند {0} يجب أن يكون عنصر التعاقد الفرعي" -#: erpnext/assets/doctype/asset/asset.py:239 +#: erpnext/assets/doctype/asset/asset.py:272 msgid "Item {0} must be a non-stock item" msgstr "الصنف {0} يجب ألا يكون صنف مخزن
Item {0} must be a non-stock item" @@ -27129,7 +27151,7 @@ msgstr "" #: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json #: erpnext/manufacturing/doctype/bom/bom.json #: erpnext/manufacturing/doctype/job_card/job_card.json -#: erpnext/manufacturing/doctype/job_card/job_card.py:855 +#: erpnext/manufacturing/doctype/job_card/job_card.py:861 #: erpnext/manufacturing/doctype/operation/operation.json #: erpnext/manufacturing/doctype/work_order/work_order.js:352 #: erpnext/manufacturing/doctype/work_order/work_order.json @@ -27190,7 +27212,7 @@ msgstr "سجل وقت بطاقة العمل" msgid "Job Card and Capacity Planning" msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:1253 +#: erpnext/manufacturing/doctype/job_card/job_card.py:1259 msgid "Job Card {0} has been completed" msgstr "" @@ -27488,7 +27510,7 @@ msgstr "" msgid "Kilowatt-Hour" msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:857 +#: erpnext/manufacturing/doctype/job_card/job_card.py:863 msgid "Kindly cancel the Manufacturing Entries first against the work order {0}." msgstr "" @@ -27600,6 +27622,10 @@ msgstr "تاريخ الاتصال الأخير" msgid "Last Completion Date" msgstr "تاريخ الانتهاء الأخير" +#: erpnext/accounts/doctype/account/account.py:617 +msgid "Last GL Entry update was done {}. This operation is not allowed while system is actively being used. Please wait for 5 minutes before retrying." +msgstr "" + #. Label of the last_integration_date (Date) field in DocType 'Bank Account' #: erpnext/accounts/doctype/bank_account/bank_account.json msgid "Last Integration Date" @@ -27652,7 +27678,7 @@ msgstr "كانت آخر معاملة مخزون للبند {0} تحت المست msgid "Last carbon check date cannot be a future date" msgstr "لا يمكن أن يكون تاريخ فحص الكربون الأخير تاريخًا مستقبلاً" -#: erpnext/selling/page/point_of_sale/pos_item_cart.js:988 +#: erpnext/selling/page/point_of_sale/pos_item_cart.js:990 msgid "Last transacted" msgstr "" @@ -27860,7 +27886,7 @@ msgid "Leave blank to use the standard Delivery Note format" msgstr "اتركه فارغًا لاستخدام تنسيق "ملاحظة التسليم" القياسي" #: erpnext/accounts/doctype/journal_entry/journal_entry.js:30 -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:403 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:406 #: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.js:43 msgid "Ledger" msgstr "" @@ -27942,7 +27968,7 @@ msgstr "طول" msgid "Length (cm)" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:900 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:879 msgid "Less Than Amount" msgstr "أقل من المبلغ" @@ -27967,6 +27993,7 @@ msgstr "أقل من المبلغ" #. Slip' #. Label of the letter_head (Link) field in DocType 'Packing Slip' #. Label of the letter_head (Link) field in DocType 'Purchase Receipt' +#. Label of the letter_head (Link) field in DocType 'Quality Inspection' #. Label of the letter_head (Link) field in DocType 'Stock Entry' #. Label of the letter_head (Link) field in DocType 'Subcontracting Order' #. Label of the letter_head (Link) field in DocType 'Subcontracting Receipt' @@ -27988,6 +28015,7 @@ msgstr "أقل من المبلغ" #: erpnext/stock/doctype/material_request/material_request.json #: erpnext/stock/doctype/packing_slip/packing_slip.json #: erpnext/stock/doctype/purchase_receipt/purchase_receipt.json +#: erpnext/stock/doctype/quality_inspection/quality_inspection.json #: erpnext/stock/doctype/stock_entry/stock_entry.json #: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.json #: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.json @@ -28413,7 +28441,7 @@ msgstr "نقطة الولاء دخول الفداء" #: erpnext/accounts/doctype/sales_invoice/sales_invoice.json #: erpnext/selling/doctype/customer/customer.json #: erpnext/selling/doctype/sales_order/sales_order.json -#: erpnext/selling/page/point_of_sale/pos_item_cart.js:922 +#: erpnext/selling/page/point_of_sale/pos_item_cart.js:924 msgid "Loyalty Points" msgstr "نقاط الولاء" @@ -28443,10 +28471,10 @@ msgstr "نقاط الولاء: {0}" #: erpnext/accounts/doctype/loyalty_point_entry/loyalty_point_entry.json #: erpnext/accounts/doctype/loyalty_program/loyalty_program.json #: erpnext/accounts/doctype/pos_invoice/pos_invoice.json -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1082 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1090 #: erpnext/accounts/doctype/sales_invoice/sales_invoice.json #: erpnext/selling/doctype/customer/customer.json -#: erpnext/selling/page/point_of_sale/pos_item_cart.js:915 +#: erpnext/selling/page/point_of_sale/pos_item_cart.js:917 #: erpnext/selling/workspace/selling/selling.json msgid "Loyalty Program" msgstr "برنامج الولاء" @@ -28876,7 +28904,7 @@ msgstr "" #. Label of the reqd (Check) field in DocType 'POS Field' #. Label of the reqd (Check) field in DocType 'Inventory Dimension' -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:263 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:267 #: erpnext/accounts/doctype/pos_field/pos_field.json #: erpnext/accounts/doctype/promotional_scheme/promotional_scheme.py:147 #: erpnext/buying/doctype/supplier_quotation/supplier_quotation.js:69 @@ -28885,7 +28913,7 @@ msgstr "" #: erpnext/manufacturing/doctype/bom/bom.py:261 #: erpnext/manufacturing/doctype/bom_update_log/bom_update_log.py:71 #: erpnext/public/js/controllers/accounts.js:249 -#: erpnext/public/js/controllers/transaction.js:2729 +#: erpnext/public/js/controllers/transaction.js:2731 #: erpnext/public/js/utils/party.js:317 #: erpnext/stock/doctype/delivery_note/delivery_note.js:164 #: erpnext/stock/doctype/inventory_dimension/inventory_dimension.json @@ -28895,7 +28923,7 @@ msgstr "" msgid "Mandatory" msgstr "إلزامي" -#: erpnext/accounts/doctype/pos_profile/pos_profile.py:89 +#: erpnext/accounts/doctype/pos_profile/pos_profile.py:93 msgid "Mandatory Accounting Dimension" msgstr "" @@ -28905,7 +28933,7 @@ msgstr "" msgid "Mandatory Depends On" msgstr "إلزامي يعتمد على" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1551 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1552 msgid "Mandatory Field" msgstr "" @@ -29632,7 +29660,7 @@ msgstr "مواد للمورد" msgid "Materials are already received against the {0} {1}" msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:714 +#: erpnext/manufacturing/doctype/job_card/job_card.py:720 msgid "Materials needs to be transferred to the work in progress warehouse for the job card {0}" msgstr "" @@ -29692,7 +29720,7 @@ msgstr "الحد الأقصى لعدد العينات" msgid "Max Score" msgstr "أقصى درجة" -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:291 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:292 msgid "Max discount allowed for item: {0} is {1}%" msgstr "" @@ -29809,7 +29837,7 @@ msgstr "" msgid "Megawatt" msgstr "" -#: erpnext/stock/stock_ledger.py:1849 +#: erpnext/stock/stock_ledger.py:1853 msgid "Mention Valuation Rate in the Item master." msgstr "اذكر معدل التقييم في مدير السلعة." @@ -29875,7 +29903,7 @@ msgstr "دمج مع الحالي" msgid "Merged" msgstr "" -#: erpnext/accounts/doctype/account/account.py:562 +#: erpnext/accounts/doctype/account/account.py:564 msgid "Merging is only possible if following properties are same in both records. Is Group, Root Type, Company and Account Currency" msgstr "" @@ -30092,7 +30120,7 @@ msgstr "الحد الأدنى للمبلغ" msgid "Min Amt" msgstr "مين امت" -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:227 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:228 msgid "Min Amt can not be greater than Max Amt" msgstr "مين آمت لا يمكن أن يكون أكبر من ماكس آمت" @@ -30124,11 +30152,11 @@ msgstr "الحد الأدنى من الكمية" msgid "Min Qty (As Per Stock UOM)" msgstr "" -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:223 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:224 msgid "Min Qty can not be greater than Max Qty" msgstr "الكمية الادنى لايمكن ان تكون اكبر من الكمية الاعلى" -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:237 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:238 msgid "Min Qty should be greater than Recurse Over Qty" msgstr "" @@ -30213,28 +30241,28 @@ msgid "Missing" msgstr "" #: erpnext/accounts/doctype/pos_opening_entry/pos_opening_entry.py:69 -#: erpnext/accounts/doctype/pos_profile/pos_profile.py:174 +#: erpnext/accounts/doctype/pos_profile/pos_profile.py:178 #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:585 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2059 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2617 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2060 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2618 #: erpnext/assets/doctype/asset_category/asset_category.py:117 msgid "Missing Account" msgstr "حساب مفقود" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1437 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1438 msgid "Missing Asset" msgstr "" #: erpnext/accounts/doctype/gl_entry/gl_entry.py:178 -#: erpnext/assets/doctype/asset/asset.py:267 +#: erpnext/assets/doctype/asset/asset.py:300 msgid "Missing Cost Center" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1195 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1185 msgid "Missing Default in Company" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:309 +#: erpnext/assets/doctype/asset/asset.py:342 msgid "Missing Finance Book" msgstr "" @@ -30242,7 +30270,7 @@ msgstr "" msgid "Missing Finished Good" msgstr "" -#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:307 +#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:308 msgid "Missing Formula" msgstr "" @@ -30855,6 +30883,8 @@ msgstr "" #. Label of the naming_series (Select) field in DocType 'Production Plan' #. Option for the 'Customer Naming By' (Select) field in DocType 'Selling #. Settings' +#. Label of the naming_series (Select) field in DocType 'Serial and Batch +#. Bundle' #. Label of the naming_series (Select) field in DocType 'Stock Closing Entry' #. Option for the 'Item Naming By' (Select) field in DocType 'Stock Settings' #: erpnext/accounts/doctype/pricing_rule/pricing_rule.json @@ -30868,6 +30898,7 @@ msgstr "" #: erpnext/manufacturing/doctype/job_card/job_card.json #: erpnext/manufacturing/doctype/production_plan/production_plan.json #: erpnext/selling/doctype/selling_settings/selling_settings.json +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.json #: erpnext/stock/doctype/stock_closing_entry/stock_closing_entry.json #: erpnext/stock/doctype/stock_settings/stock_settings.json msgid "Naming Series" @@ -30884,6 +30915,10 @@ msgstr "بادئة سلسلة التسمية" msgid "Naming Series and Price Defaults" msgstr "" +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:90 +msgid "Naming Series is mandatory" +msgstr "" + #. Name of a UOM #: erpnext/setup/setup_wizard/data/uom_data.json msgid "Nanocoulomb" @@ -31161,7 +31196,7 @@ msgstr "صافي السعر ( بعملة الشركة )" #: erpnext/selling/page/point_of_sale/pos_item_cart.js:92 #: erpnext/selling/page/point_of_sale/pos_item_cart.js:503 #: erpnext/selling/page/point_of_sale/pos_item_cart.js:507 -#: erpnext/selling/page/point_of_sale/pos_past_order_summary.js:125 +#: erpnext/selling/page/point_of_sale/pos_past_order_summary.js:150 #: erpnext/stock/doctype/delivery_note/delivery_note.json #: erpnext/stock/doctype/purchase_receipt/purchase_receipt.json #: erpnext/templates/includes/order/order_taxes.html:5 @@ -31487,12 +31522,12 @@ msgstr "لا رد فعل" msgid "No Answer" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2161 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2162 msgid "No Customer found for Inter Company Transactions which represents company {0}" msgstr "لم يتم العثور على زبون للمعاملات بين الشركات التي تمثل الشركة {0}" #: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.js:115 -#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py:360 +#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py:363 msgid "No Customers found with selected options." msgstr "" @@ -31536,7 +31571,7 @@ msgstr "" msgid "No Outstanding Invoices found for this party" msgstr "" -#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:548 +#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:567 msgid "No POS Profile found. Please create a New POS Profile first" msgstr "" @@ -31561,7 +31596,7 @@ msgstr "" msgid "No Remarks" msgstr "لا ملاحظات" -#: erpnext/controllers/sales_and_purchase_return.py:902 +#: erpnext/controllers/sales_and_purchase_return.py:903 msgid "No Serial / Batches are available for return" msgstr "" @@ -31573,7 +31608,7 @@ msgstr "" msgid "No Summary" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2145 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2146 msgid "No Supplier found for Inter Company Transactions which represents company {0}" msgstr "لم يتم العثور على مورد للمعاملات بين الشركات التي تمثل الشركة {0}" @@ -31610,7 +31645,7 @@ msgstr "لم يتم العثور على BOM نشط للعنصر {0}. لا يمك msgid "No additional fields available" msgstr "" -#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py:425 +#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py:428 msgid "No billing email found for customer: {0}" msgstr "" @@ -31740,7 +31775,7 @@ msgstr "لم يتم العثور على فواتير معلقة" msgid "No outstanding invoices require exchange rate revaluation" msgstr "لا تتطلب الفواتير المستحقة إعادة تقييم سعر الصرف" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2453 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2443 msgid "No outstanding {0} found for the {1} {2} which qualify the filters you have specified." msgstr "" @@ -31748,7 +31783,7 @@ msgstr "" msgid "No pending Material Requests found to link for the given items." msgstr "لم يتم العثور على طلبات المواد المعلقة للربط للعناصر المحددة." -#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py:432 +#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py:435 msgid "No primary email found for customer: {0}" msgstr "" @@ -31756,7 +31791,7 @@ msgstr "" msgid "No products found." msgstr "لم يتم العثور على منتجات." -#: erpnext/selling/page/point_of_sale/pos_item_cart.js:980 +#: erpnext/selling/page/point_of_sale/pos_item_cart.js:982 msgid "No recent transactions found" msgstr "" @@ -31797,7 +31832,7 @@ msgstr "لا توجد قيم" msgid "No {0} Accounts found for this company." msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2209 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2210 msgid "No {0} found for Inter Company Transactions." msgstr "لم يتم العثور على {0} معاملات Inter Company." @@ -31851,10 +31886,10 @@ msgid "Nos" msgstr "" #: erpnext/accounts/doctype/mode_of_payment/mode_of_payment.py:66 -#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:257 +#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:262 #: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:529 -#: erpnext/assets/doctype/asset/asset.js:618 -#: erpnext/assets/doctype/asset/asset.js:635 +#: erpnext/assets/doctype/asset/asset.js:616 +#: erpnext/assets/doctype/asset/asset.js:631 #: erpnext/controllers/buying_controller.py:202 #: erpnext/selling/doctype/product_bundle/product_bundle.py:72 #: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py:72 @@ -31868,8 +31903,8 @@ msgstr "غير مسموح" msgid "Not Applicable" msgstr "لا ينطبق" -#: erpnext/selling/page/point_of_sale/pos_controller.js:742 -#: erpnext/selling/page/point_of_sale/pos_controller.js:771 +#: erpnext/selling/page/point_of_sale/pos_controller.js:754 +#: erpnext/selling/page/point_of_sale/pos_controller.js:783 msgid "Not Available" msgstr "غير متوفرة" @@ -32671,12 +32706,12 @@ msgid "Opening & Closing" msgstr "" #: erpnext/accounts/report/trial_balance/trial_balance.py:453 -#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:185 +#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:198 msgid "Opening (Cr)" msgstr "افتتاحي (Cr)" #: erpnext/accounts/report/trial_balance/trial_balance.py:446 -#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:178 +#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:191 msgid "Opening (Dr)" msgstr "افتتاحي (Dr)" @@ -32692,7 +32727,7 @@ msgstr "افتتاحي (Dr)" msgid "Opening Accumulated Depreciation" msgstr "الاهلاك التراكمي الافتتاحي" -#: erpnext/assets/doctype/asset/asset.py:446 +#: erpnext/assets/doctype/asset/asset.py:479 msgid "Opening Accumulated Depreciation must be less than or equal to {0}" msgstr "" @@ -32762,7 +32797,7 @@ msgid "Opening Invoice Item" msgstr "فتح الفاتورة البند" #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1557 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1652 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1653 msgid "Opening Invoice has rounding adjustment of {0}.

'{1}' account is required to post these values. Please set it in Company: {2}.

Or, '{3}' can be enabled to not post any rounding adjustment." msgstr "" @@ -32962,7 +32997,7 @@ msgstr "" msgid "Operation {0} added multiple times in the work order {1}" msgstr "تمت إضافة العملية {0} عدة مرات في أمر العمل {1}" -#: erpnext/manufacturing/doctype/job_card/job_card.py:1070 +#: erpnext/manufacturing/doctype/job_card/job_card.py:1076 msgid "Operation {0} does not belong to the work order {1}" msgstr "العملية {0} لا تنتمي إلى أمر العمل {1}" @@ -33504,7 +33539,7 @@ msgstr "معلقة" #: erpnext/accounts/doctype/cashier_closing/cashier_closing.json #: erpnext/accounts/doctype/discounted_invoice/discounted_invoice.json #: erpnext/accounts/doctype/opening_invoice_creation_tool_item/opening_invoice_creation_tool_item.json -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:892 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:871 #: erpnext/accounts/doctype/payment_reconciliation_invoice/payment_reconciliation_invoice.json #: erpnext/accounts/doctype/payment_request/payment_request.json #: erpnext/accounts/doctype/pos_invoice/pos_invoice.json @@ -33794,7 +33829,7 @@ msgstr "" msgid "POS Invoice isn't created by user {}" msgstr "لم ينشئ المستخدم فاتورة نقاط البيع {}" -#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:190 +#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:194 msgid "POS Invoice should have the field {0} checked." msgstr "" @@ -33861,7 +33896,7 @@ msgstr "نقاط البيع الشخصية الملف الشخصي" msgid "POS Profile doesn't match {}" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1151 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1152 msgid "POS Profile required to make POS Entry" msgstr "ملف نقطة البيع مطلوب للقيام بإدخال خاص بنقطة البيع" @@ -34100,7 +34135,7 @@ msgstr "" msgid "Paid Amount After Tax (Company Currency)" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1966 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1956 msgid "Paid Amount cannot be greater than total negative outstanding amount {0}" msgstr "المبلغ المدفوع لا يمكن أن يكون أكبر من إجمالي المبلغ القائم السالب {0}" @@ -34199,7 +34234,7 @@ msgstr "" msgid "Parcel Template Name" msgstr "" -#: erpnext/stock/doctype/shipment/shipment.py:94 +#: erpnext/stock/doctype/shipment/shipment.py:96 msgid "Parcel weight cannot be 0" msgstr "" @@ -34298,7 +34333,7 @@ msgstr "الإجراء الرئيسي" msgid "Parent Row No" msgstr "" -#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:503 +#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:495 msgid "Parent Row No not found for {0}" msgstr "" @@ -34341,6 +34376,11 @@ msgstr "" msgid "Partial Material Transferred" msgstr "" +#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:498 +#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:503 +msgid "Partial Payment in POS Invoice is not allowed." +msgstr "" + #: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1295 msgid "Partial Stock Reservation" msgstr "" @@ -34575,11 +34615,6 @@ msgstr "" msgid "Party Account {0} currency ({1}) and document currency ({2}) should be same" msgstr "" -#. Label of the party_balance (Currency) field in DocType 'Payment Entry' -#: erpnext/accounts/doctype/payment_entry/payment_entry.json -msgid "Party Balance" -msgstr "ميزان الحزب" - #. Label of the party_bank_account (Link) field in DocType 'Payment Entry' #: erpnext/accounts/doctype/payment_entry/payment_entry.json msgid "Party Bank Account" @@ -34711,7 +34746,7 @@ msgstr "نوع الطرف والحزب إلزامي لحساب {0}" msgid "Party Type and Party is required for Receivable / Payable account {0}" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:518 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:514 msgid "Party Type is mandatory" msgstr "حقل نوع المستفيد إلزامي\\n
\\nParty Type is mandatory" @@ -34720,11 +34755,11 @@ msgstr "حقل نوع المستفيد إلزامي\\n
\\nParty Type is manda msgid "Party User" msgstr "مستخدم الحزب" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:460 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:455 msgid "Party can only be one of {0}" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:521 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:517 msgid "Party is mandatory" msgstr "حقل المستفيد إلزامي\\n
\\nParty is mandatory" @@ -35183,7 +35218,7 @@ msgstr "المراجع الدفع" #. Name of a DocType #. Label of a Link in the Receivables Workspace #: erpnext/accounts/doctype/accounts_settings/accounts_settings.json -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1723 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1671 #: erpnext/accounts/doctype/payment_entry_reference/payment_entry_reference.json #: erpnext/accounts/doctype/payment_order/payment_order.js:19 #: erpnext/accounts/doctype/payment_order/payment_order.json @@ -35359,7 +35394,7 @@ msgstr "شروط الدفع:" msgid "Payment Type" msgstr "نوع الدفع" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:609 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:599 msgid "Payment Type must be one of Receive, Pay and Internal Transfer" msgstr "نوع الدفع يجب أن يكون إما استلام , دفع أو مناقلة داخلية\\n
\\nPayment Type must be one of Receive, Pay and Internal Transfer" @@ -35376,11 +35411,11 @@ msgstr "" msgid "Payment against {0} {1} cannot be greater than Outstanding Amount {2}" msgstr "الدفعة مقابل {0} {1} لا يمكن أن تكون أكبر من المبلغ القائم {2}" -#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:673 +#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:692 msgid "Payment amount cannot be less than or equal to 0" msgstr "لا يمكن أن يكون مبلغ الدفعة أقل من أو يساوي 0" -#: erpnext/accounts/doctype/pos_profile/pos_profile.py:149 +#: erpnext/accounts/doctype/pos_profile/pos_profile.py:153 msgid "Payment methods are mandatory. Please add at least one payment method." msgstr "طرق الدفع إلزامية. الرجاء إضافة طريقة دفع واحدة على الأقل." @@ -35393,7 +35428,7 @@ msgstr "" msgid "Payment of {0} received successfully. Waiting for other requests to complete..." msgstr "" -#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:322 +#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:327 msgid "Payment related to {0} is not completed" msgstr "الدفع المتعلق بـ {0} لم يكتمل" @@ -35401,7 +35436,7 @@ msgstr "الدفع المتعلق بـ {0} لم يكتمل" msgid "Payment request failed" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:829 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:819 msgid "Payment term {0} not used in {1}" msgstr "" @@ -35500,13 +35535,13 @@ msgstr "الأنشطة المعلقة" #: erpnext/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.py:64 #: erpnext/accounts/report/received_items_to_be_billed/received_items_to_be_billed.py:64 -#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:289 +#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:291 #: erpnext/selling/report/sales_order_analysis/sales_order_analysis.py:306 msgid "Pending Amount" msgstr "في انتظار المبلغ" #. Label of the pending_qty (Float) field in DocType 'Production Plan Item' -#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:252 +#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:254 #: erpnext/manufacturing/doctype/production_plan_item/production_plan_item.json #: erpnext/manufacturing/doctype/work_order/work_order.js:299 #: erpnext/manufacturing/report/production_plan_summary/production_plan_summary.py:183 @@ -35855,7 +35890,7 @@ msgstr "رقم الهاتف" #. Label of the customer_phone_number (Data) field in DocType 'Appointment' #: erpnext/accounts/doctype/payment_request/payment_request.json #: erpnext/crm/doctype/appointment/appointment.json -#: erpnext/selling/page/point_of_sale/pos_item_cart.js:909 +#: erpnext/selling/page/point_of_sale/pos_item_cart.js:911 msgid "Phone Number" msgstr "رقم الهاتف" @@ -35947,7 +35982,7 @@ msgstr "" msgid "Pickup From" msgstr "" -#: erpnext/stock/doctype/shipment/shipment.py:98 +#: erpnext/stock/doctype/shipment/shipment.py:106 msgid "Pickup To time should be greater than Pickup From time" msgstr "" @@ -36193,7 +36228,7 @@ msgstr "الرجاء تحديد عميل" msgid "Please Select a Supplier" msgstr "الرجاء تحديد مورد" -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:160 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:161 msgid "Please Set Priority" msgstr "" @@ -36201,7 +36236,7 @@ msgstr "" msgid "Please Set Supplier Group in Buying Settings." msgstr "يرجى تعيين مجموعة الموردين في إعدادات الشراء." -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1894 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1842 msgid "Please Specify Account" msgstr "" @@ -36253,7 +36288,7 @@ msgstr "" msgid "Please attach CSV file" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2752 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2753 msgid "Please cancel and amend the Payment Entry" msgstr "" @@ -36335,7 +36370,7 @@ msgstr "" msgid "Please create purchase from internal sale or delivery document itself" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:338 +#: erpnext/assets/doctype/asset/asset.py:371 msgid "Please create purchase receipt or purchase invoice for the item {0}" msgstr "الرجاء إنشاء إيصال شراء أو فاتورة شراء للعنصر {0}" @@ -36343,7 +36378,7 @@ msgstr "الرجاء إنشاء إيصال شراء أو فاتورة شراء msgid "Please delete Product Bundle {0}, before merging {1} into {2}" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:377 +#: erpnext/assets/doctype/asset/asset.py:410 msgid "Please do not book expense of multiple assets against one single Asset." msgstr "" @@ -36377,7 +36412,7 @@ msgstr "يرجى تمكين النوافذ المنبثقة" msgid "Please enable {0} in the {1}." msgstr "" -#: erpnext/controllers/selling_controller.py:753 +#: erpnext/controllers/selling_controller.py:754 msgid "Please enable {} in {} to allow same item in multiple rows" msgstr "" @@ -36401,7 +36436,7 @@ msgstr "" msgid "Please enter Difference Account or set default Stock Adjustment Account for company {0}" msgstr "الرجاء إدخال حساب الفرق أو تعيين حساب تسوية المخزون الافتراضي للشركة {0}" -#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:447 +#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:452 #: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1059 msgid "Please enter Account for Change Amount" msgstr "الرجاء إدخال الحساب لمبلغ التغيير\\n
\\nPlease enter Account for Change Amount" @@ -36431,7 +36466,7 @@ msgstr "الرجاء إدخال حساب النفقات\\n
\\nPlease enter Ex msgid "Please enter Item Code to get Batch Number" msgstr "الرجاء إدخال رمز العنصر للحصول على رقم الدفعة\\n
\\nPlease enter Item Code to get Batch Number" -#: erpnext/public/js/controllers/transaction.js:2480 +#: erpnext/public/js/controllers/transaction.js:2482 msgid "Please enter Item Code to get batch no" msgstr "الرجاء إدخال كود البند للحصول على رقم الدفعة" @@ -36467,7 +36502,7 @@ msgstr "الرجاء إدخال مستند الاستلام\\n
\\nPlease ente msgid "Please enter Reference date" msgstr "الرجاء إدخال تاريخ المرجع\\n
\\nPlease enter Reference date" -#: erpnext/controllers/buying_controller.py:921 +#: erpnext/controllers/buying_controller.py:923 msgid "Please enter Reqd by Date" msgstr "الرجاء إدخال ريد حسب التاريخ" @@ -36479,7 +36514,7 @@ msgstr "" msgid "Please enter Serial Nos" msgstr "" -#: erpnext/stock/doctype/shipment/shipment.py:83 +#: erpnext/stock/doctype/shipment/shipment.py:85 msgid "Please enter Shipment Parcel information" msgstr "" @@ -36536,7 +36571,7 @@ msgstr "" msgid "Please enter the company name to confirm" msgstr "الرجاء إدخال اسم الشركة للتأكيد" -#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:676 +#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:695 msgid "Please enter the phone number first" msgstr "الرجاء إدخال رقم الهاتف أولاً" @@ -36663,7 +36698,7 @@ msgstr "" msgid "Please select Category first" msgstr "الرجاء تحديد التصنيف أولا\\n
\\nPlease select Category first" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1470 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1449 #: erpnext/public/js/controllers/accounts.js:86 #: erpnext/public/js/controllers/accounts.js:124 msgid "Please select Charge Type first" @@ -36700,8 +36735,8 @@ msgstr "الرجاء اختيار الشركة الحالية لإنشاء دل msgid "Please select Finished Good Item for Service Item {0}" msgstr "" -#: erpnext/assets/doctype/asset/asset.js:619 -#: erpnext/assets/doctype/asset/asset.js:636 +#: erpnext/assets/doctype/asset/asset.js:617 +#: erpnext/assets/doctype/asset/asset.js:632 msgid "Please select Item Code first" msgstr "يرجى اختيار رمز البند أولاً" @@ -36717,7 +36752,7 @@ msgstr "يرجى تحديد حالة الصيانة على أنها اكتملت msgid "Please select Party Type first" msgstr "يرجى تحديد نوع الطرف أولا" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:505 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:497 msgid "Please select Posting Date before selecting Party" msgstr "الرجاء تجديد تاريخ النشر قبل تحديد المستفيد\\n
\\nPlease select Posting Date before selecting Party" @@ -36761,11 +36796,11 @@ msgstr "يرجى تحديد بوم" msgid "Please select a Company" msgstr "الرجاء اختيار الشركة" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:263 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:267 #: erpnext/manufacturing/doctype/bom/bom.js:597 #: erpnext/manufacturing/doctype/bom/bom.py:261 #: erpnext/public/js/controllers/accounts.js:249 -#: erpnext/public/js/controllers/transaction.js:2729 +#: erpnext/public/js/controllers/transaction.js:2731 msgid "Please select a Company first." msgstr "الرجاء تحديد شركة أولاً." @@ -36789,7 +36824,7 @@ msgstr "الرجاء اختيار مورد" msgid "Please select a Warehouse" msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:1359 +#: erpnext/manufacturing/doctype/job_card/job_card.py:1365 msgid "Please select a Work Order first." msgstr "" @@ -36809,11 +36844,11 @@ msgstr "" msgid "Please select a date and time" msgstr "" -#: erpnext/accounts/doctype/pos_profile/pos_profile.py:153 +#: erpnext/accounts/doctype/pos_profile/pos_profile.py:157 msgid "Please select a default mode of payment" msgstr "الرجاء تحديد طريقة الدفع الافتراضية" -#: erpnext/selling/page/point_of_sale/pos_item_cart.js:782 +#: erpnext/selling/page/point_of_sale/pos_item_cart.js:784 msgid "Please select a field to edit from numpad" msgstr "الرجاء تحديد حقل لتعديله من المفكرة" @@ -36917,7 +36952,7 @@ msgstr "الرجاء اختيار يوم العطلة الاسبوعي" msgid "Please select {0}" msgstr "الرجاء اختيار {0}" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1215 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1194 #: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py:592 #: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py:82 msgid "Please select {0} first" @@ -36943,7 +36978,7 @@ msgstr "" msgid "Please set Account" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1551 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1552 msgid "Please set Account for Change Amount" msgstr "" @@ -36988,7 +37023,7 @@ msgstr "" msgid "Please set Fixed Asset Account in {} against {}." msgstr "" -#: erpnext/assets/doctype/asset/asset.py:453 +#: erpnext/assets/doctype/asset/asset.py:486 msgid "Please set Opening Number of Booked Depreciations" msgstr "" @@ -37022,7 +37057,7 @@ msgstr "" msgid "Please set a Company" msgstr "الرجاء تعيين شركة" -#: erpnext/assets/doctype/asset/asset.py:264 +#: erpnext/assets/doctype/asset/asset.py:297 msgid "Please set a Cost Center for the Asset or set an Asset Depreciation Cost Center for the Company {}" msgstr "" @@ -37059,19 +37094,19 @@ msgstr "رجاء ادخال ايميل العميل المحتمل" msgid "Please set at least one row in the Taxes and Charges Table" msgstr "يرجى ضبط صف واحد على الأقل في جدول الضرائب والرسوم" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2056 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2057 msgid "Please set default Cash or Bank account in Mode of Payment {0}" msgstr "الرجاء تحديد الحساب البنكي أو النقدي الافتراضي في نوع الدفع\\n
\\nPlease set default Cash or Bank account in Mode of Payment {0}" #: erpnext/accounts/doctype/pos_opening_entry/pos_opening_entry.py:66 -#: erpnext/accounts/doctype/pos_profile/pos_profile.py:171 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2614 +#: erpnext/accounts/doctype/pos_profile/pos_profile.py:175 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2615 msgid "Please set default Cash or Bank account in Mode of Payment {}" msgstr "الرجاء تعيين حساب نقدي أو مصرفي افتراضي في طريقة الدفع {}" #: erpnext/accounts/doctype/pos_opening_entry/pos_opening_entry.py:68 -#: erpnext/accounts/doctype/pos_profile/pos_profile.py:173 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2616 +#: erpnext/accounts/doctype/pos_profile/pos_profile.py:177 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2617 msgid "Please set default Cash or Bank account in Mode of Payments {}" msgstr "الرجاء تعيين حساب نقدي أو مصرفي افتراضي في طريقة الدفع {}" @@ -37091,7 +37126,7 @@ msgstr "يرجى تعيين الافتراضي UOM في إعدادات الأس msgid "Please set default cost of goods sold account in company {0} for booking rounding gain and loss during stock transfer" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:276 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:273 #: erpnext/accounts/utils.py:1079 msgid "Please set default {0} in Company {1}" msgstr "يرجى تعيين {0} الافتراضي للشركة {1}" @@ -37113,7 +37148,7 @@ msgstr "يرجى تعيين المرشحات" msgid "Please set one of the following:" msgstr "" -#: erpnext/public/js/controllers/transaction.js:2182 +#: erpnext/public/js/controllers/transaction.js:2184 msgid "Please set recurring after saving" msgstr "يرجى تحديد (تكرار) بعد الحفظ" @@ -37160,7 +37195,7 @@ msgstr "يرجى ضبط {0} للعنوان {1}" msgid "Please set {0} in BOM Creator {1}" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1192 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1182 msgid "Please set {0} in Company {1} to account for Exchange Gain / Loss" msgstr "" @@ -37176,7 +37211,7 @@ msgstr "" msgid "Please share this email with your support team so that they can find and fix the issue." msgstr "" -#: erpnext/public/js/controllers/transaction.js:2050 +#: erpnext/public/js/controllers/transaction.js:2052 msgid "Please specify" msgstr "رجاء حدد" @@ -37190,7 +37225,7 @@ msgstr "يرجى تحديد شركة" msgid "Please specify Company to proceed" msgstr "الرجاء تحديد الشركة للمضى قدما\\n
\\nPlease specify Company to proceed" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1493 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1472 #: erpnext/controllers/accounts_controller.py:2851 #: erpnext/public/js/controllers/accounts.js:97 msgid "Please specify a valid Row ID for row {0} in table {1}" @@ -37369,7 +37404,7 @@ msgstr "نفقات بريدية" #: erpnext/accounts/doctype/journal_entry/journal_entry.json #: erpnext/accounts/doctype/loyalty_point_entry/loyalty_point_entry.json #: erpnext/accounts/doctype/opening_invoice_creation_tool_item/opening_invoice_creation_tool_item.json -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:879 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:858 #: erpnext/accounts/doctype/payment_entry/payment_entry.json #: erpnext/accounts/doctype/payment_ledger_entry/payment_ledger_entry.json #: erpnext/accounts/doctype/payment_order/payment_order.json @@ -37889,7 +37924,7 @@ msgstr "السعر لا يعتمد على UOM" msgid "Price Per Unit ({0})" msgstr "" -#: erpnext/selling/page/point_of_sale/pos_controller.js:619 +#: erpnext/selling/page/point_of_sale/pos_controller.js:631 msgid "Price is not set for the item." msgstr "" @@ -38198,7 +38233,7 @@ msgid "Print Preferences" msgstr "تفضيلات الطباعة" #: erpnext/selling/page/point_of_sale/pos_past_order_summary.js:63 -#: erpnext/selling/page/point_of_sale/pos_past_order_summary.js:232 +#: erpnext/selling/page/point_of_sale/pos_past_order_summary.js:266 msgid "Print Receipt" msgstr "اطبع الايصال" @@ -38223,6 +38258,8 @@ msgstr "" #. Note' #. Label of the print_settings_section (Section Break) field in DocType 'Pick #. List' +#. Label of the print_settings_section (Section Break) field in DocType +#. 'Quality Inspection' #: erpnext/accounts/doctype/accounts_settings/accounts_settings.json #: erpnext/accounts/doctype/pos_profile/pos_profile.json #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json @@ -38232,6 +38269,7 @@ msgstr "" #: erpnext/setup/workspace/settings/settings.json #: erpnext/stock/doctype/delivery_note/delivery_note.json #: erpnext/stock/doctype/pick_list/pick_list.json +#: erpnext/stock/doctype/quality_inspection/quality_inspection.json msgid "Print Settings" msgstr "إعدادات الطباعة" @@ -38332,8 +38370,8 @@ msgstr "أولويات" #. Label of the priority (Link) field in DocType 'Issue' #. Label of the priority (Link) field in DocType 'Service Level Priority' #: erpnext/accounts/doctype/pricing_rule/pricing_rule.json -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:190 -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:198 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:191 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:199 #: erpnext/accounts/doctype/promotional_scheme_price_discount/promotional_scheme_price_discount.json #: erpnext/accounts/doctype/promotional_scheme_product_discount/promotional_scheme_product_discount.json #: erpnext/accounts/doctype/tax_rule/tax_rule.json @@ -38357,7 +38395,7 @@ msgstr "" msgid "Priority has been changed to {0}." msgstr "تم تغيير الأولوية إلى {0}." -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:160 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:161 msgid "Priority is mandatory" msgstr "" @@ -38869,6 +38907,7 @@ msgstr "" #. Label of a shortcut in the Projects Workspace #. Label of the project (Link) field in DocType 'Installation Note' #. Label of the project (Link) field in DocType 'Sales Order' +#. Label of the project (Link) field in DocType 'Sales Order Item' #. Label of the project (Link) field in DocType 'Delivery Note' #. Label of the project (Link) field in DocType 'Delivery Note Item' #. Label of the project (Link) field in DocType 'Material Request Item' @@ -38896,7 +38935,7 @@ msgstr "" #: erpnext/accounts/doctype/psoa_project/psoa_project.json #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json #: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1026 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1034 #: erpnext/accounts/doctype/sales_invoice/sales_invoice.json #: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json #: erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.js:108 @@ -38921,8 +38960,8 @@ msgstr "" #: erpnext/buying/report/item_wise_purchase_history/item_wise_purchase_history.py:112 #: erpnext/buying/report/procurement_tracker/procurement_tracker.js:21 #: erpnext/buying/report/procurement_tracker/procurement_tracker.py:39 -#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.js:33 -#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:216 +#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.js:41 +#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:218 #: erpnext/crm/doctype/contract/contract.json #: erpnext/manufacturing/doctype/bom/bom.json #: erpnext/manufacturing/doctype/bom_creator/bom_creator.json @@ -38953,6 +38992,7 @@ msgstr "" #: erpnext/selling/doctype/installation_note/installation_note.json #: erpnext/selling/doctype/sales_order/sales_order.js:730 #: erpnext/selling/doctype/sales_order/sales_order.json +#: erpnext/selling/doctype/sales_order_item/sales_order_item.json #: erpnext/selling/report/item_wise_sales_history/item_wise_sales_history.py:94 #: erpnext/stock/doctype/delivery_note/delivery_note.json #: erpnext/stock/doctype/delivery_note_item/delivery_note_item.json @@ -39449,7 +39489,7 @@ msgstr "عربون فاتورة الشراء" #. Name of a DocType #. Label of the purchase_invoice_item (Data) field in DocType 'Purchase Invoice #. Item' -#. Label of the purchase_invoice_item (Link) field in DocType 'Asset' +#. Label of the purchase_invoice_item (Data) field in DocType 'Asset' #. Label of the purchase_invoice_item (Data) field in DocType 'Purchase Receipt #. Item' #: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json @@ -39467,7 +39507,7 @@ msgstr "اصناف فاتورة المشتريات" msgid "Purchase Invoice Trends" msgstr "اتجهات فاتورة الشراء" -#: erpnext/assets/doctype/asset/asset.py:216 +#: erpnext/assets/doctype/asset/asset.py:249 msgid "Purchase Invoice cannot be made against an existing asset {0}" msgstr "لا يمكن إجراء فاتورة الشراء مقابل أصل موجود {0}" @@ -39540,8 +39580,8 @@ msgstr "المدير الرئيسي للمشتريات" #: erpnext/buying/doctype/supplier_quotation/supplier_quotation_list.js:15 #: erpnext/buying/report/item_wise_purchase_history/item_wise_purchase_history.py:79 #: erpnext/buying/report/procurement_tracker/procurement_tracker.py:82 -#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.js:40 -#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:201 +#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.js:48 +#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:203 #: erpnext/buying/workspace/buying/buying.json #: erpnext/controllers/buying_controller.py:678 #: erpnext/crm/doctype/contract/contract.json @@ -39738,7 +39778,7 @@ msgstr "" msgid "Purchase Receipt Detail" msgstr "شراء إيصال التفاصيل" -#. Label of the purchase_receipt_item (Link) field in DocType 'Asset' +#. Label of the purchase_receipt_item (Data) field in DocType 'Asset' #. Label of the purchase_receipt_item (Data) field in DocType 'Landed Cost #. Item' #. Name of a DocType @@ -40001,7 +40041,7 @@ msgstr "" #: erpnext/accounts/report/gross_profit/gross_profit.py:314 #: erpnext/assets/doctype/asset_capitalization_service_item/asset_capitalization_service_item.json #: erpnext/assets/doctype/asset_capitalization_stock_item/asset_capitalization_stock_item.json -#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:238 +#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:240 #: erpnext/buying/report/requested_items_to_order_and_receive/requested_items_to_order_and_receive.py:224 #: erpnext/controllers/trends.py:238 erpnext/controllers/trends.py:250 #: erpnext/controllers/trends.py:255 @@ -40218,7 +40258,7 @@ msgstr "سيتم تحديد كمية المواد الخام بناءً على msgid "Qty to Be Consumed" msgstr "" -#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:266 +#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:268 #: erpnext/selling/report/sales_order_analysis/sales_order_analysis.py:283 msgid "Qty to Bill" msgstr "الكمية للفاتورة" @@ -40235,7 +40275,7 @@ msgstr "الكمية للتسليم" msgid "Qty to Fetch" msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:744 +#: erpnext/manufacturing/doctype/job_card/job_card.py:750 msgid "Qty to Manufacture" msgstr "الكمية للتصنيع" @@ -41289,7 +41329,7 @@ msgstr "" msgid "Rate or Discount" msgstr "معدل أو خصم" -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:183 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:184 msgid "Rate or Discount is required for the price discount." msgstr "السعر أو الخصم مطلوب لخصم السعر." @@ -41687,7 +41727,7 @@ msgstr "" msgid "Received Amount After Tax (Company Currency)" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1025 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1015 msgid "Received Amount cannot be greater than Paid Amount" msgstr "" @@ -41717,7 +41757,7 @@ msgstr "وردت في" #: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json #: erpnext/accounts/report/billed_items_to_be_received/billed_items_to_be_received.py:76 #: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json -#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:245 +#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:247 #: erpnext/buying/report/requested_items_to_order_and_receive/requested_items_to_order_and_receive.py:170 #: erpnext/buying/report/requested_items_to_order_and_receive/requested_items_to_order_and_receive.py:245 #: erpnext/buying/report/subcontract_order_summary/subcontract_order_summary.py:143 @@ -41728,7 +41768,7 @@ msgstr "وردت في" msgid "Received Qty" msgstr "تلقى الكمية" -#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:297 +#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:299 msgid "Received Qty Amount" msgstr "الكمية المستلمة" @@ -41781,7 +41821,7 @@ msgstr "يستلم" msgid "Recent Orders" msgstr "" -#: erpnext/selling/page/point_of_sale/pos_item_cart.js:857 +#: erpnext/selling/page/point_of_sale/pos_item_cart.js:859 msgid "Recent Transactions" msgstr "" @@ -41928,11 +41968,11 @@ msgstr "" msgid "Recurse Every (As Per Transaction UOM)" msgstr "" -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:239 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:240 msgid "Recurse Over Qty cannot be less than 0" msgstr "" -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:315 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:316 #: erpnext/accounts/doctype/promotional_scheme/promotional_scheme.py:231 msgid "Recursive Discounts with Mixed condition is not supported by the system" msgstr "" @@ -42103,7 +42143,7 @@ msgstr "المرجع # {0} بتاريخ {1}" msgid "Reference Date" msgstr "المرجع تاريخ" -#: erpnext/public/js/controllers/transaction.js:2288 +#: erpnext/public/js/controllers/transaction.js:2290 msgid "Reference Date for Early Payment Discount" msgstr "" @@ -42118,7 +42158,7 @@ msgstr "" msgid "Reference Detail No" msgstr "تفاصيل المرجع رقم" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1723 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1671 msgid "Reference DocType" msgstr "مرجع DOCTYPE" @@ -42127,7 +42167,7 @@ msgstr "مرجع DOCTYPE" msgid "Reference Doctype" msgstr "مرجع Doctype" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:665 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:655 msgid "Reference Doctype must be one of {0}" msgstr "المستند المرجع يجب أن يكون واحد من {0}\\n
\\nReference Doctype must be one of {0}" @@ -42207,7 +42247,7 @@ msgstr "" #. Supplied Item' #: erpnext/accounts/doctype/advance_tax/advance_tax.json #: erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1723 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1671 #: erpnext/accounts/doctype/payment_reconciliation_allocation/payment_reconciliation_allocation.json #: erpnext/accounts/doctype/payment_reconciliation_payment/payment_reconciliation_payment.json #: erpnext/accounts/doctype/payment_request/payment_request.json @@ -42234,7 +42274,7 @@ msgstr "" msgid "Reference No & Reference Date is required for {0}" msgstr "رقم المرجع وتاريخه مطلوبان ل {0}\\n
\\nReference No & Reference Date is required for {0}" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1273 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1263 msgid "Reference No and Reference Date is mandatory for Bank transaction" msgstr "رقم المرجع و تاريخ المرجع إلزامي للمعاملة المصرفية" @@ -42364,7 +42404,7 @@ msgstr "" msgid "References to Sales Orders are Incomplete" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:747 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:737 msgid "References {0} of type {1} had no outstanding amount left before submitting the Payment Entry. Now they have a negative outstanding amount." msgstr "" @@ -42642,7 +42682,7 @@ msgstr "إعادة تسمية سمة السمة في سمة البند." msgid "Rename Log" msgstr "إعادة تسمية الدخول" -#: erpnext/accounts/doctype/account/account.py:518 +#: erpnext/accounts/doctype/account/account.py:519 msgid "Rename Not Allowed" msgstr "إعادة تسمية غير مسموح به" @@ -42651,7 +42691,7 @@ msgstr "إعادة تسمية غير مسموح به" msgid "Rename Tool" msgstr "إعادة تسمية أداة" -#: erpnext/accounts/doctype/account/account.py:510 +#: erpnext/accounts/doctype/account/account.py:511 msgid "Renaming it is only allowed via parent company {0}, to avoid mismatch." msgstr "يُسمح بإعادة تسميته فقط عبر الشركة الأم {0} ، لتجنب عدم التطابق." @@ -43086,7 +43126,7 @@ msgstr "الطالب" #. Item' #: erpnext/buying/doctype/purchase_order/purchase_order.json #: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json -#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:199 +#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:201 #: erpnext/buying/report/requested_items_to_order_and_receive/requested_items_to_order_and_receive.py:191 #: erpnext/manufacturing/doctype/material_request_plan_item/material_request_plan_item.json #: erpnext/stock/doctype/material_request/material_request.json @@ -43296,7 +43336,7 @@ msgstr "الكمية المحجوزة" msgid "Reserved Quantity for Production" msgstr "الكمية المحجوزة للإنتاج" -#: erpnext/stock/stock_ledger.py:2141 +#: erpnext/stock/stock_ledger.py:2145 msgid "Reserved Serial No." msgstr "" @@ -43312,11 +43352,11 @@ msgstr "" #: erpnext/stock/doctype/pick_list/pick_list.js:146 #: erpnext/stock/report/reserved_stock/reserved_stock.json #: erpnext/stock/report/stock_balance/stock_balance.py:495 -#: erpnext/stock/stock_ledger.py:2125 +#: erpnext/stock/stock_ledger.py:2129 msgid "Reserved Stock" msgstr "" -#: erpnext/stock/stock_ledger.py:2171 +#: erpnext/stock/stock_ledger.py:2175 msgid "Reserved Stock for Batch" msgstr "" @@ -43707,6 +43747,7 @@ msgid "Return of Components" msgstr "" #. Option for the 'Tracking Status' (Select) field in DocType 'Shipment' +#: erpnext/selling/page/point_of_sale/pos_past_order_summary.js:132 #: erpnext/stock/doctype/shipment/shipment.json msgid "Returned" msgstr "تم إرجاعه" @@ -44146,13 +44187,13 @@ msgstr "الصف # {0}: لا يمكن أن يكون المعدل أكبر من msgid "Row # {0}: Returned Item {1} does not exist in {2} {3}" msgstr "الصف رقم {0}: العنصر الذي تم إرجاعه {1} غير موجود في {2} {3}" -#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:456 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1732 +#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:461 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1733 msgid "Row #{0} (Payment Table): Amount must be negative" msgstr "الصف # {0} (جدول الدفع): يجب أن يكون المبلغ سلبيًا" -#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:454 -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1727 +#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:459 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1728 msgid "Row #{0} (Payment Table): Amount must be positive" msgstr "الصف رقم {0} (جدول الدفع): يجب أن يكون المبلغ موجبا" @@ -44160,11 +44201,11 @@ msgstr "الصف رقم {0} (جدول الدفع): يجب أن يكون المب msgid "Row #{0}: A reorder entry already exists for warehouse {1} with reorder type {2}." msgstr "" -#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:326 +#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:327 msgid "Row #{0}: Acceptance Criteria Formula is incorrect." msgstr "" -#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:306 +#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:307 msgid "Row #{0}: Acceptance Criteria Formula is required." msgstr "" @@ -44185,16 +44226,16 @@ msgstr "" msgid "Row #{0}: Account {1} does not belong to company {2}" msgstr "الصف # {0}: الحساب {1} لا ينتمي إلى الشركة {2}" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:392 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:389 msgid "Row #{0}: Allocated Amount cannot be greater than Outstanding Amount of Payment Request {1}" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:368 -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:473 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:365 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:470 msgid "Row #{0}: Allocated Amount cannot be greater than outstanding amount." msgstr "الصف # {0}: المبلغ المخصص لا يمكن أن يكون أكبر من المبلغ المستحق." -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:487 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:484 msgid "Row #{0}: Allocated amount:{1} is greater than outstanding amount:{2} for Payment Term {3}" msgstr "" @@ -44214,7 +44255,7 @@ msgstr "" msgid "Row #{0}: Batch No {1} is already selected." msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:852 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:842 msgid "Row #{0}: Cannot allocate more than {1} against payment term {2}" msgstr "" @@ -44246,7 +44287,7 @@ msgstr "الصف # {0}: لا يمكن اختيار Warehouse Supplier أثناء msgid "Row #{0}: Cannot set Rate if amount is greater than billed amount for Item {1}." msgstr "الصف # {0}: لا يمكن تعيين "معدل" إذا كان المقدار أكبر من مبلغ الفاتورة للعنصر {1}." -#: erpnext/manufacturing/doctype/job_card/job_card.py:951 +#: erpnext/manufacturing/doctype/job_card/job_card.py:957 msgid "Row #{0}: Cannot transfer more than Required Qty {1} for Item {2} against Job Card {3}" msgstr "" @@ -44290,7 +44331,7 @@ msgstr "" msgid "Row #{0}: Default BOM not found for FG Item {1}" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:332 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:329 msgid "Row #{0}: Duplicate entry in References {1} {2}" msgstr "الصف # {0}: إدخال مكرر في المراجع {1} {2}" @@ -44362,7 +44403,7 @@ msgstr "" msgid "Row #{0}: Item {1} is not a stock item" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:773 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:763 msgid "Row #{0}: Journal Entry {1} does not have account {2} or already matched against another voucher" msgstr "الصف {1} : قيد اليومية {1} لا يحتوى على الحساب {2} أو بالفعل يوجد في قسيمة مقابلة أخرى\\n
\\nRow #{0}: Journal Entry {1} does not have account {2} or already matched against another voucher" @@ -44445,11 +44486,11 @@ msgstr "" msgid "Row #{0}: Received Qty must be equal to Accepted + Rejected Qty for Item {1}" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1247 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1226 msgid "Row #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry" msgstr "الصف {0} : نوع المستند المرجع يجب أن يكون واحدة من طلب شراء ,فاتورة شراء أو قيد يومبة\\n
\\nRow #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1233 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1212 msgid "Row #{0}: Reference Document Type must be one of Sales Order, Sales Invoice, Journal Entry or Dunning" msgstr "الصف # {0}: يجب أن يكون نوع المستند المرجعي أحد أوامر المبيعات أو فاتورة المبيعات أو إدخال دفتر اليومية أو المطالبة" @@ -44465,7 +44506,7 @@ msgstr "" msgid "Row #{0}: Rejected Warehouse is mandatory for the rejected Item {1}" msgstr "" -#: erpnext/controllers/buying_controller.py:919 +#: erpnext/controllers/buying_controller.py:921 msgid "Row #{0}: Reqd by Date cannot be before Transaction Date" msgstr "الصف # {0}: ريد بي ديت لا يمكن أن يكون قبل تاريخ المعاملة" @@ -44516,7 +44557,7 @@ msgstr "" msgid "Row #{0}: Start Time must be before End Time" msgstr "" -#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:210 +#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:211 msgid "Row #{0}: Status is mandatory" msgstr "" @@ -44569,7 +44610,7 @@ msgstr "الصف # {0}: التوقيت يتعارض مع الصف {1}" msgid "Row #{0}: You cannot use the inventory dimension '{1}' in Stock Reconciliation to modify the quantity or valuation rate. Stock reconciliation with inventory dimensions is intended solely for performing opening entries." msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1436 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1437 msgid "Row #{0}: You must select an Asset for Item {1}." msgstr "" @@ -44578,7 +44619,7 @@ msgstr "" msgid "Row #{0}: {1} can not be negative for item {2}" msgstr "الصف # {0}: {1} لا يمكن أن يكون سالبا للبند {2}" -#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:319 +#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:320 msgid "Row #{0}: {1} is not a valid reading field. Please refer to the field description." msgstr "" @@ -44598,11 +44639,11 @@ msgstr "" msgid "Row #{}: Currency of {} - {} doesn't matches company currency." msgstr "الصف # {}: عملة {} - {} لا تطابق عملة الشركة." -#: erpnext/assets/doctype/asset/asset.py:308 +#: erpnext/assets/doctype/asset/asset.py:341 msgid "Row #{}: Finance Book should not be empty since you're using multiple." msgstr "" -#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:350 +#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:355 msgid "Row #{}: Item Code: {} is not available under warehouse {}." msgstr "الصف # {}: رمز العنصر: {} غير متوفر ضمن المستودع {}." @@ -44622,15 +44663,15 @@ msgstr "الصف رقم {}: فاتورة نقاط البيع {} لم يتم تق msgid "Row #{}: Please assign task to a member." msgstr "" -#: erpnext/assets/doctype/asset/asset.py:300 +#: erpnext/assets/doctype/asset/asset.py:333 msgid "Row #{}: Please use a different Finance Book." msgstr "" -#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:416 +#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:421 msgid "Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {}" msgstr "الصف # {}: لا يمكن إرجاع الرقم التسلسلي {} لأنه لم يتم التعامل معه في الفاتورة الأصلية {}" -#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:357 +#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:362 msgid "Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}." msgstr "الصف # {}: كمية المخزون غير كافية لرمز الصنف: {} تحت المستودع {}. الكمية المتوفرة {}." @@ -44638,7 +44679,7 @@ msgstr "الصف # {}: كمية المخزون غير كافية لرمز الص msgid "Row #{}: The original Invoice {} of return invoice {} is not consolidated." msgstr "" -#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:389 +#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:394 msgid "Row #{}: You cannot add positive quantities in a return invoice. Please remove item {} to complete the return." msgstr "" @@ -44670,7 +44711,7 @@ msgstr "" msgid "Row {0}" msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:668 +#: erpnext/manufacturing/doctype/job_card/job_card.py:674 msgid "Row {0} : Operation is required against the raw material item {1}" msgstr "الصف {0}: العملية مطلوبة مقابل عنصر المادة الخام {1}" @@ -44751,11 +44792,11 @@ msgstr "الصف {0}: العملة للـ BOM #{1} يجب أن يساوي الع msgid "Row {0}: Debit entry can not be linked with a {1}" msgstr "الصف {0}: لا يمكن ربط قيد مدين مع {1}" -#: erpnext/controllers/selling_controller.py:775 +#: erpnext/controllers/selling_controller.py:776 msgid "Row {0}: Delivery Warehouse ({1}) and Customer Warehouse ({2}) can not be same" msgstr "الصف {0}: لا يمكن أن يكون مستودع التسليم ({1}) ومستودع العميل ({2}) متماثلين" -#: erpnext/assets/doctype/asset/asset.py:431 +#: erpnext/assets/doctype/asset/asset.py:464 msgid "Row {0}: Depreciation Start Date is required" msgstr "الصف {0}: تاريخ بداية الإهلاك مطلوب" @@ -44767,7 +44808,7 @@ msgstr "الصف {0}: لا يمكن أن يكون تاريخ الاستحقاق msgid "Row {0}: Either Delivery Note Item or Packed Item reference is mandatory." msgstr "" -#: erpnext/controllers/buying_controller.py:806 +#: erpnext/controllers/buying_controller.py:808 msgid "Row {0}: Enter location for the asset item {1}" msgstr "الصف {0}: أدخل الموقع لعنصر مادة العرض {1}" @@ -44776,7 +44817,7 @@ msgstr "الصف {0}: أدخل الموقع لعنصر مادة العرض {1}" msgid "Row {0}: Exchange Rate is mandatory" msgstr "الصف {0}: سعر صرف إلزامي" -#: erpnext/assets/doctype/asset/asset.py:422 +#: erpnext/assets/doctype/asset/asset.py:455 msgid "Row {0}: Expected Value After Useful Life must be less than Gross Purchase Amount" msgstr "الصف {0}: القيمة المتوقعة بعد أن تكون الحياة المفيدة أقل من إجمالي مبلغ الشراء" @@ -44954,7 +44995,7 @@ msgstr "" msgid "Row {0}: To set {1} periodicity, difference between from and to date must be greater than or equal to {2}" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:459 +#: erpnext/assets/doctype/asset/asset.py:492 msgid "Row {0}: Total Number of Depreciations cannot be less than or equal to Opening Number of Booked Depreciations" msgstr "" @@ -44995,7 +45036,7 @@ msgstr "" msgid "Row {1}: Quantity ({0}) cannot be a fraction. To allow this, disable '{2}' in UOM {3}." msgstr "الصف {1}: لا يمكن أن تكون الكمية ({0}) كسرًا. للسماح بذلك ، قم بتعطيل '{2}' في UOM {3}." -#: erpnext/controllers/buying_controller.py:789 +#: erpnext/controllers/buying_controller.py:791 msgid "Row {}: Asset Naming Series is mandatory for the auto creation for item {}" msgstr "الصف {}: سلسلة تسمية الأصول إلزامية للإنشاء التلقائي للعنصر {}" @@ -45482,7 +45523,7 @@ msgstr "" #: erpnext/selling/doctype/sales_order/sales_order.json #: erpnext/selling/report/item_wise_sales_history/item_wise_sales_history.py:59 #: erpnext/selling/report/payment_terms_status_for_sales_order/payment_terms_status_for_sales_order.py:13 -#: erpnext/selling/report/sales_order_analysis/sales_order_analysis.js:33 +#: erpnext/selling/report/sales_order_analysis/sales_order_analysis.js:41 #: erpnext/selling/report/sales_order_analysis/sales_order_analysis.py:222 #: erpnext/selling/workspace/selling/selling.json #: erpnext/setup/doctype/authorization_rule/authorization_rule.json @@ -45579,7 +45620,7 @@ msgstr "طلب البيع مطلوب للبند {0}\\n
\\nSales Order require msgid "Sales Order {0} already exists against Customer's Purchase Order {1}. To allow multiple Sales Orders, Enable {2} in {3}" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1165 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1166 msgid "Sales Order {0} is not submitted" msgstr "لا يتم اعتماد أمر التوريد {0}\\n
\\nSales Order {0} is not submitted" @@ -46037,7 +46078,7 @@ msgstr "مستودع الاحتفاظ بالعينات" #. Label of the sample_size (Float) field in DocType 'Quality Inspection' #: erpnext/manufacturing/report/quality_inspection_summary/quality_inspection_summary.py:93 -#: erpnext/public/js/controllers/transaction.js:2346 +#: erpnext/public/js/controllers/transaction.js:2348 #: erpnext/stock/doctype/quality_inspection/quality_inspection.json msgid "Sample Size" msgstr "حجم العينة" @@ -46486,7 +46527,7 @@ msgid "Select BOM, Qty and For Warehouse" msgstr "اختر قائمة المواد، الكمية، وإلى المخزن" #: erpnext/public/js/utils/sales_common.js:386 -#: erpnext/selling/page/point_of_sale/pos_item_details.js:221 +#: erpnext/selling/page/point_of_sale/pos_item_details.js:228 #: erpnext/stock/doctype/pick_list/pick_list.js:352 msgid "Select Batch No" msgstr "" @@ -46564,7 +46605,7 @@ msgstr "اختيار العناصر" msgid "Select Items based on Delivery Date" msgstr "حدد العناصر بناءً على تاريخ التسليم" -#: erpnext/public/js/controllers/transaction.js:2382 +#: erpnext/public/js/controllers/transaction.js:2384 msgid "Select Items for Quality Inspection" msgstr "" @@ -46585,8 +46626,8 @@ msgstr "" msgid "Select Job Worker Address" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1079 -#: erpnext/selling/page/point_of_sale/pos_item_cart.js:918 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1087 +#: erpnext/selling/page/point_of_sale/pos_item_cart.js:920 msgid "Select Loyalty Program" msgstr "اختر برنامج الولاء" @@ -46600,12 +46641,12 @@ msgid "Select Quantity" msgstr "إختيار الكمية" #: erpnext/public/js/utils/sales_common.js:386 -#: erpnext/selling/page/point_of_sale/pos_item_details.js:221 +#: erpnext/selling/page/point_of_sale/pos_item_details.js:228 #: erpnext/stock/doctype/pick_list/pick_list.js:352 msgid "Select Serial No" msgstr "" -#: erpnext/selling/page/point_of_sale/pos_item_details.js:215 +#: erpnext/selling/page/point_of_sale/pos_item_details.js:222 msgid "Select Serial No / Batch No" msgstr "" @@ -46748,7 +46789,7 @@ msgstr "" msgid "Select the customer or supplier." msgstr "حدد العميل أو المورد." -#: erpnext/assets/doctype/asset/asset.js:809 +#: erpnext/assets/doctype/asset/asset.js:798 msgid "Select the date" msgstr "" @@ -46783,7 +46824,7 @@ msgstr "حدد، لجعل العميل قابلا للبحث باستخدام ه msgid "Selected POS Opening Entry should be open." msgstr "يجب أن يكون الإدخال الافتتاحي المحدد لنقاط البيع مفتوحًا." -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2204 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2205 msgid "Selected Price List should have buying and selling fields checked." msgstr "قائمة الأسعار المختارة يجب أن يكون لديها حقول بيع وشراء محددة." @@ -46867,7 +46908,7 @@ msgstr "معدل البيع" msgid "Selling Settings" msgstr "إعدادات البيع" -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:213 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:214 msgid "Selling must be checked, if Applicable For is selected as {0}" msgstr "يجب أن يتم التحقق البيع، إذا تم تحديد مطبق للك {0}" @@ -47025,7 +47066,7 @@ msgstr "" msgid "Serial / Batch Bundle" msgstr "" -#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:380 +#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:385 msgid "Serial / Batch Bundle Missing" msgstr "" @@ -47086,7 +47127,7 @@ msgstr "" #: erpnext/manufacturing/doctype/job_card/job_card.json #: erpnext/manufacturing/report/cost_of_poor_quality_report/cost_of_poor_quality_report.js:74 #: erpnext/manufacturing/report/cost_of_poor_quality_report/cost_of_poor_quality_report.py:114 -#: erpnext/public/js/controllers/transaction.js:2359 +#: erpnext/public/js/controllers/transaction.js:2361 #: erpnext/public/js/utils/serial_no_batch_selector.js:421 #: erpnext/selling/doctype/installation_note_item/installation_note_item.json #: erpnext/stock/doctype/delivery_note_item/delivery_note_item.json @@ -47131,7 +47172,7 @@ msgstr "" msgid "Serial No Range" msgstr "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1848 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1868 msgid "Serial No Reserved" msgstr "" @@ -47176,7 +47217,7 @@ msgstr "" msgid "Serial No and Batch for Finished Good" msgstr "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:820 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:840 msgid "Serial No is mandatory" msgstr "" @@ -47205,7 +47246,7 @@ msgstr "الرقم المتسلسل {0} لا ينتمي إلى البند {1}\\n msgid "Serial No {0} does not exist" msgstr "الرقم المتسلسل {0} غير موجود\\n
\\nSerial No {0} does not exist" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:2515 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:2535 msgid "Serial No {0} does not exists" msgstr "" @@ -47213,7 +47254,7 @@ msgstr "" msgid "Serial No {0} is already added" msgstr "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:317 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:337 msgid "Serial No {0} is not present in the {1} {2}, hence you can't return it against the {1} {2}" msgstr "" @@ -47229,7 +47270,7 @@ msgstr "الرقم التسلسلي {0} تحت الضمان حتى {1}\\n
\\n msgid "Serial No {0} not found" msgstr "لم يتم العثور علي الرقم التسلسلي {0}\\n
\\nSerial No {0} not found" -#: erpnext/selling/page/point_of_sale/pos_controller.js:773 +#: erpnext/selling/page/point_of_sale/pos_controller.js:785 msgid "Serial No: {0} has already been transacted into another POS Invoice." msgstr "الرقم التسلسلي: تم بالفعل معاملة {0} في فاتورة نقطة بيع أخرى." @@ -47250,11 +47291,11 @@ msgstr "" msgid "Serial Nos and Batches" msgstr "الرقم التسلسلي ودفعات" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1331 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1351 msgid "Serial Nos are created successfully" msgstr "" -#: erpnext/stock/stock_ledger.py:2131 +#: erpnext/stock/stock_ledger.py:2135 msgid "Serial Nos are reserved in Stock Reservation Entries, you need to unreserve them before proceeding." msgstr "" @@ -47299,6 +47340,8 @@ msgstr "" #. Detail' #. Label of the serial_and_batch_bundle (Link) field in DocType 'Stock Ledger #. Entry' +#. Label of the serial_and_batch_bundle_section (Section Break) field in +#. DocType 'Stock Settings' #. Label of the serial_and_batch_bundle (Link) field in DocType 'Subcontracting #. Receipt Item' #: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json @@ -47316,6 +47359,7 @@ msgstr "" #: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.json #: erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json #: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.json +#: erpnext/stock/doctype/stock_settings/stock_settings.json #: erpnext/stock/report/incorrect_serial_and_batch_bundle/incorrect_serial_and_batch_bundle.py:28 #: erpnext/stock/report/serial_and_batch_summary/serial_and_batch_summary.py:80 #: erpnext/stock/report/stock_ledger/stock_ledger.py:343 @@ -47324,11 +47368,11 @@ msgstr "" msgid "Serial and Batch Bundle" msgstr "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1559 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1579 msgid "Serial and Batch Bundle created" msgstr "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1625 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1645 msgid "Serial and Batch Bundle updated" msgstr "" @@ -47676,12 +47720,12 @@ msgid "Service Stop Date" msgstr "تاريخ توقف الخدمة" #: erpnext/accounts/deferred_revenue.py:44 -#: erpnext/public/js/controllers/transaction.js:1410 +#: erpnext/public/js/controllers/transaction.js:1412 msgid "Service Stop Date cannot be after Service End Date" msgstr "لا يمكن أن يكون تاريخ إيقاف الخدمة بعد تاريخ انتهاء الخدمة" #: erpnext/accounts/deferred_revenue.py:41 -#: erpnext/public/js/controllers/transaction.js:1407 +#: erpnext/public/js/controllers/transaction.js:1409 msgid "Service Stop Date cannot be before Service Start Date" msgstr "لا يمكن أن يكون تاريخ إيقاف الخدمة قبل تاريخ بدء الخدمة" @@ -47744,7 +47788,7 @@ msgstr "تعيين مجموعة من الحكمة الإغلاق الميزان msgid "Set Landed Cost Based on Purchase Invoice Rate" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1091 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1099 msgid "Set Loyalty Program" msgstr "" @@ -47808,6 +47852,12 @@ msgstr "تعيين مستودع الاحتياطي" msgid "Set Response Time for Priority {0} in row {1}." msgstr "" +#. Label of the set_serial_and_batch_bundle_naming_based_on_naming_series +#. (Check) field in DocType 'Stock Settings' +#: erpnext/stock/doctype/stock_settings/stock_settings.json +msgid "Set Serial and Batch Bundle Naming Based on Naming Series" +msgstr "" + #. Label of the set_warehouse (Link) field in DocType 'Sales Order' #. Label of the set_warehouse (Link) field in DocType 'Delivery Note' #. Label of the set_from_warehouse (Link) field in DocType 'Material Request' @@ -47916,15 +47966,15 @@ msgstr "" msgid "Set this if the customer is a Public Administration company." msgstr "حدد هذا إذا كان العميل شركة إدارة عامة." -#: erpnext/assets/doctype/asset/asset.py:695 +#: erpnext/assets/doctype/asset/asset.py:728 msgid "Set {0} in asset category {1} for company {2}" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:1030 +#: erpnext/assets/doctype/asset/asset.py:1063 msgid "Set {0} in asset category {1} or company {2}" msgstr "تعيين {0} في فئة الأصول {1} أو الشركة {2}" -#: erpnext/assets/doctype/asset/asset.py:1027 +#: erpnext/assets/doctype/asset/asset.py:1060 msgid "Set {0} in company {1}" msgstr "قم بتعيين {0} في الشركة {1}" @@ -48597,7 +48647,7 @@ msgstr "" #: erpnext/accounts/report/consolidated_financial_statement/consolidated_financial_statement.js:137 #: erpnext/accounts/report/profitability_analysis/profitability_analysis.js:71 #: erpnext/accounts/report/trial_balance/trial_balance.js:94 -#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.js:85 +#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.js:81 msgid "Show zero values" msgstr "إظهار القيم صفر" @@ -48791,15 +48841,15 @@ msgstr "" msgid "Something went wrong please try again" msgstr "" -#: erpnext/accounts/doctype/pricing_rule/utils.py:745 +#: erpnext/accounts/doctype/pricing_rule/utils.py:748 msgid "Sorry, this coupon code is no longer valid" msgstr "عذرا ، رمز القسيمة هذا لم يعد صالحًا" -#: erpnext/accounts/doctype/pricing_rule/utils.py:743 +#: erpnext/accounts/doctype/pricing_rule/utils.py:746 msgid "Sorry, this coupon code's validity has expired" msgstr "عذرا ، لقد انتهت صلاحية رمز القسيمة" -#: erpnext/accounts/doctype/pricing_rule/utils.py:741 +#: erpnext/accounts/doctype/pricing_rule/utils.py:744 msgid "Sorry, this coupon code's validity has not started" msgstr "عذرًا ، لم تبدأ صلاحية رمز القسيمة" @@ -49005,11 +49055,11 @@ msgstr "تقسيم القضية" msgid "Split Qty" msgstr "" -#: erpnext/assets/doctype/asset/asset.py:1135 +#: erpnext/assets/doctype/asset/asset.py:1192 msgid "Split qty cannot be grater than or equal to asset qty" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2479 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2469 msgid "Splitting {0} {1} into {2} rows as per Payment Terms" msgstr "" @@ -49427,8 +49477,8 @@ msgstr "حالة" #: erpnext/buying/doctype/supplier_quotation/supplier_quotation.json #: erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.json #: erpnext/buying/report/procurement_tracker/procurement_tracker.py:74 -#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.js:52 -#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:207 +#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.js:64 +#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:209 #: erpnext/buying/report/subcontract_order_summary/subcontract_order_summary.py:134 #: erpnext/crm/doctype/appointment/appointment.json #: erpnext/crm/doctype/contract/contract.json @@ -49496,7 +49546,7 @@ msgstr "حالة" #: erpnext/selling/doctype/sales_order/sales_order.json #: erpnext/selling/report/payment_terms_status_for_sales_order/payment_terms_status_for_sales_order.js:88 #: erpnext/selling/report/payment_terms_status_for_sales_order/payment_terms_status_for_sales_order.py:68 -#: erpnext/selling/report/sales_order_analysis/sales_order_analysis.js:54 +#: erpnext/selling/report/sales_order_analysis/sales_order_analysis.js:63 #: erpnext/selling/report/sales_order_analysis/sales_order_analysis.py:228 #: erpnext/setup/doctype/driver/driver.json #: erpnext/setup/doctype/employee/employee.json @@ -49559,7 +49609,7 @@ msgstr "يجب إلغاء الحالة أو إكمالها" msgid "Status must be one of {0}" msgstr "يجب أن تكون حالة واحدة من {0}" -#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:276 +#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:277 msgid "Status set to rejected as there are one or more rejected readings." msgstr "" @@ -49748,7 +49798,7 @@ msgstr "تم إنشاء إدخال الأسهم بالفعل مقابل قائم msgid "Stock Entry {0} created" msgstr "الأسهم الدخول {0} خلق" -#: erpnext/manufacturing/doctype/job_card/job_card.py:1285 +#: erpnext/manufacturing/doctype/job_card/job_card.py:1291 msgid "Stock Entry {0} has created" msgstr "" @@ -49977,10 +50027,10 @@ msgstr "" #: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1270 #: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1287 #: erpnext/stock/doctype/stock_settings/stock_settings.json -#: erpnext/stock/doctype/stock_settings/stock_settings.py:183 -#: erpnext/stock/doctype/stock_settings/stock_settings.py:195 -#: erpnext/stock/doctype/stock_settings/stock_settings.py:215 -#: erpnext/stock/doctype/stock_settings/stock_settings.py:229 +#: erpnext/stock/doctype/stock_settings/stock_settings.py:185 +#: erpnext/stock/doctype/stock_settings/stock_settings.py:197 +#: erpnext/stock/doctype/stock_settings/stock_settings.py:217 +#: erpnext/stock/doctype/stock_settings/stock_settings.py:231 msgid "Stock Reservation" msgstr "" @@ -50272,7 +50322,7 @@ msgstr "" msgid "Stock not available for Item {0} in Warehouse {1}." msgstr "" -#: erpnext/selling/page/point_of_sale/pos_controller.js:753 +#: erpnext/selling/page/point_of_sale/pos_controller.js:765 msgid "Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2} {3}." msgstr "" @@ -51078,7 +51128,7 @@ msgstr "الموردة الكمية" #: erpnext/buying/report/item_wise_purchase_history/item_wise_purchase_history.js:47 #: erpnext/buying/report/item_wise_purchase_history/item_wise_purchase_history.py:92 #: erpnext/buying/report/procurement_tracker/procurement_tracker.py:89 -#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:209 +#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:211 #: erpnext/buying/report/subcontracted_item_to_be_received/subcontracted_item_to_be_received.js:15 #: erpnext/buying/report/subcontracted_item_to_be_received/subcontracted_item_to_be_received.py:30 #: erpnext/buying/report/subcontracted_raw_materials_to_be_transferred/subcontracted_raw_materials_to_be_transferred.js:15 @@ -51574,6 +51624,10 @@ msgstr "" msgid "Synchronize all accounts every hour" msgstr "مزامنة جميع الحسابات كل ساعة" +#: erpnext/accounts/doctype/account/account.py:620 +msgid "System In Use" +msgstr "" + #. Name of a role #: erpnext/accounts/doctype/accounting_dimension/accounting_dimension.json #: erpnext/accounts/doctype/accounting_dimension_filter/accounting_dimension_filter.json @@ -51999,7 +52053,7 @@ msgstr "" msgid "Target Warehouse is required before Submit" msgstr "" -#: erpnext/controllers/selling_controller.py:781 +#: erpnext/controllers/selling_controller.py:782 msgid "Target Warehouse is set for some items but the customer is not an internal customer." msgstr "" @@ -52999,7 +53053,7 @@ msgstr "" msgid "The Loyalty Program isn't valid for the selected company" msgstr "برنامج الولاء غير صالح للشركة المختارة" -#: erpnext/accounts/doctype/payment_request/payment_request.py:977 +#: erpnext/accounts/doctype/payment_request/payment_request.py:980 msgid "The Payment Request {0} is already paid, cannot process payment twice" msgstr "" @@ -53023,7 +53077,7 @@ msgstr "" msgid "The Serial No at Row #{0}: {1} is not available in warehouse {2}." msgstr "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1845 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1865 msgid "The Serial No {0} is reserved against the {1} {2} and cannot be used for any other transaction." msgstr "" @@ -53045,7 +53099,7 @@ msgstr "" msgid "The account head under Liability or Equity, in which Profit/Loss will be booked" msgstr "رئيس الحساب تحت المسؤولية أو الأسهم، والتي سيتم حجز الربح / الخسارة" -#: erpnext/accounts/doctype/payment_request/payment_request.py:878 +#: erpnext/accounts/doctype/payment_request/payment_request.py:881 msgid "The allocated amount is greater than the outstanding amount of Payment Request {0}" msgstr "" @@ -53217,7 +53271,7 @@ msgstr "يجب أن يكون حساب الجذر {0} مجموعة" msgid "The selected BOMs are not for the same item" msgstr "قواائم المواد المحددة ليست لنفس البند" -#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:432 +#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:437 msgid "The selected change account {} doesn't belongs to Company {}." msgstr "حساب التغيير المحدد {} لا ينتمي إلى الشركة {}." @@ -53225,16 +53279,12 @@ msgstr "حساب التغيير المحدد {} لا ينتمي إلى الشر msgid "The selected item cannot have Batch" msgstr "العنصر المحدد لا يمكن أن يكون دفعة" -#: erpnext/assets/doctype/asset/asset.js:658 -msgid "The selected {0} does not contain the selected Asset Item." -msgstr "" - #: erpnext/accounts/doctype/share_transfer/share_transfer.py:194 msgid "The seller and the buyer cannot be the same" msgstr "البائع والمشتري لا يمكن أن يكون هو نفسه" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:122 -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:129 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:142 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:149 msgid "The serial and batch bundle {0} not linked to {1} {2}" msgstr "" @@ -53321,7 +53371,7 @@ msgstr "" msgid "The warehouse where your Items will be transferred when you begin production. Group Warehouse can also be selected as a Work in Progress warehouse." msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:747 +#: erpnext/manufacturing/doctype/job_card/job_card.py:753 msgid "The {0} ({1}) must be equal to {2} ({3})" msgstr "يجب أن يكون {0} ({1}) مساويًا لـ {2} ({3})" @@ -53329,11 +53379,11 @@ msgstr "يجب أن يكون {0} ({1}) مساويًا لـ {2} ({3})" msgid "The {0} {1} created successfully" msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:853 +#: erpnext/manufacturing/doctype/job_card/job_card.py:859 msgid "The {0} {1} is used to calculate the valuation cost for the finished good {2}." msgstr "" -#: erpnext/assets/doctype/asset/asset.py:527 +#: erpnext/assets/doctype/asset/asset.py:560 msgid "There are active maintenance or repairs against the asset. You must complete all of them before cancelling the asset." msgstr "هناك صيانة نشطة أو إصلاحات ضد الأصل. يجب عليك إكمالها جميعًا قبل إلغاء الأصل." @@ -53418,7 +53468,7 @@ msgstr "" msgid "There was an issue connecting to Plaid's authentication server. Check browser console for more information" msgstr "" -#: erpnext/selling/page/point_of_sale/pos_past_order_summary.js:290 +#: erpnext/selling/page/point_of_sale/pos_past_order_summary.js:324 msgid "There were errors while sending email. Please try again." msgstr "كانت هناك أخطاء أثناء إرسال البريد الإلكتروني. يرجى المحاولة مرة أخرى." @@ -53599,7 +53649,7 @@ msgstr "" msgid "This schedule was created when Asset {0} was restored." msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1360 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1361 msgid "This schedule was created when Asset {0} was returned through Sales Invoice {1}." msgstr "" @@ -53607,11 +53657,11 @@ msgstr "" msgid "This schedule was created when Asset {0} was scrapped." msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1372 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1373 msgid "This schedule was created when Asset {0} was sold through Sales Invoice {1}." msgstr "" -#: erpnext/assets/doctype/asset/asset.py:1196 +#: erpnext/assets/doctype/asset/asset.py:1253 msgid "This schedule was created when Asset {0} was updated after being split into new Asset {1}." msgstr "" @@ -53627,7 +53677,7 @@ msgstr "" msgid "This schedule was created when Asset {0}'s shifts were adjusted through Asset Shift Allocation {1}." msgstr "" -#: erpnext/assets/doctype/asset/asset.py:1253 +#: erpnext/assets/doctype/asset/asset.py:1310 msgid "This schedule was created when new Asset {0} was split from Asset {1}." msgstr "" @@ -53663,7 +53713,7 @@ msgstr "سيتم إلحاق هذا إلى بند رمز للمتغير. على msgid "This will restrict user access to other employee records" msgstr "سيؤدي هذا إلى تقييد وصول المستخدم لسجلات الموظفين الأخرى" -#: erpnext/controllers/selling_controller.py:782 +#: erpnext/controllers/selling_controller.py:783 msgid "This {} will be treated as material transfer." msgstr "" @@ -53808,7 +53858,7 @@ msgstr "الوقت بالدقائق" msgid "Time in mins." msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:732 +#: erpnext/manufacturing/doctype/job_card/job_card.py:738 msgid "Time logs are required for {0} {1}" msgstr "سجلات الوقت مطلوبة لـ {0} {1}" @@ -53837,7 +53887,7 @@ msgstr "الموقت تجاوزت الساعات المعطاة." #. Name of a DocType #. Label of a Link in the Projects Workspace #. Label of a shortcut in the Projects Workspace -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1004 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1012 #: erpnext/projects/doctype/timesheet/timesheet.json #: erpnext/projects/report/daily_timesheet_summary/daily_timesheet_summary.py:26 #: erpnext/projects/report/timesheet_billing_summary/timesheet_billing_summary.py:59 @@ -53953,7 +54003,7 @@ msgstr "اللقب" #. Label of the to_uom (Link) field in DocType 'UOM Conversion Factor' #. Label of the to (Data) field in DocType 'Call Log' #: erpnext/accounts/doctype/payment_request/payment_request.json -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1020 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1028 #: erpnext/setup/doctype/uom_conversion_factor/uom_conversion_factor.json #: erpnext/telephony/doctype/call_log/call_log.json #: erpnext/templates/pages/projects.html:68 @@ -54008,8 +54058,8 @@ msgstr "إلى العملات" #: erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.json #: erpnext/accounts/doctype/bisect_accounting_statements/bisect_accounting_statements.json #: erpnext/accounts/doctype/loyalty_program/loyalty_program.json -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:887 -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:891 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:866 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:870 #: erpnext/accounts/doctype/pos_invoice/pos_invoice.json #: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.json #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json @@ -54044,7 +54094,7 @@ msgstr "إلى العملات" #: erpnext/buying/report/item_wise_purchase_history/item_wise_purchase_history.js:25 #: erpnext/buying/report/procurement_tracker/procurement_tracker.js:33 #: erpnext/buying/report/purchase_analytics/purchase_analytics.js:42 -#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.js:25 +#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.js:29 #: erpnext/buying/report/requested_items_to_order_and_receive/requested_items_to_order_and_receive.js:25 #: erpnext/buying/report/subcontract_order_summary/subcontract_order_summary.js:22 #: erpnext/buying/report/subcontracted_item_to_be_received/subcontracted_item_to_be_received.js:29 @@ -54079,7 +54129,7 @@ msgstr "إلى العملات" #: erpnext/selling/report/customer_acquisition_and_loyalty/customer_acquisition_and_loyalty.js:31 #: erpnext/selling/report/item_wise_sales_history/item_wise_sales_history.js:25 #: erpnext/selling/report/sales_analytics/sales_analytics.js:60 -#: erpnext/selling/report/sales_order_analysis/sales_order_analysis.js:25 +#: erpnext/selling/report/sales_order_analysis/sales_order_analysis.js:29 #: erpnext/selling/report/sales_partner_commission_summary/sales_partner_commission_summary.js:27 #: erpnext/selling/report/sales_partner_transaction_summary/sales_partner_transaction_summary.js:27 #: erpnext/selling/report/sales_person_commission_summary/sales_person_commission_summary.js:27 @@ -54372,7 +54422,7 @@ msgstr "" msgid "To include sub-assembly costs and scrap items in Finished Goods on a work order without using a job card, when the 'Use Multi-Level BOM' option is enabled." msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2269 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2259 #: erpnext/controllers/accounts_controller.py:2899 msgid "To include tax in row {0} in Item rate, taxes in rows {1} must also be included" msgstr "ل تشمل الضريبة في الصف {0} في معدل الإغلاق ، {1} ويجب أيضا تضمين الضرائب في الصفوف" @@ -54381,7 +54431,7 @@ msgstr "ل تشمل الضريبة في الصف {0} في معدل الإغلا msgid "To merge, following properties must be same for both items" msgstr "لدمج ، يجب أن يكون نفس الخصائص التالية ل كلا البندين" -#: erpnext/accounts/doctype/account/account.py:514 +#: erpnext/accounts/doctype/account/account.py:515 msgid "To overrule this, enable '{0}' in company {1}" msgstr "لإلغاء هذا ، قم بتمكين "{0}" في الشركة {1}" @@ -54727,7 +54777,7 @@ msgstr "مجموع العمولة" #. Label of the total_completed_qty (Float) field in DocType 'Job Card' #: erpnext/manufacturing/doctype/job_card/job_card.json -#: erpnext/manufacturing/doctype/job_card/job_card.py:743 +#: erpnext/manufacturing/doctype/job_card/job_card.py:749 #: erpnext/manufacturing/report/job_card_summary/job_card_summary.py:174 msgid "Total Completed Qty" msgstr "إجمالي الكمية المكتملة" @@ -55272,6 +55322,11 @@ msgstr "" msgid "Total Weight" msgstr "الوزن الكلي" +#. Label of the total_weight (Float) field in DocType 'Shipment' +#: erpnext/stock/doctype/shipment/shipment.json +msgid "Total Weight (kg)" +msgstr "" + #. Label of the total_working_hours (Float) field in DocType 'Workstation' #. Label of the total_hours (Float) field in DocType 'Timesheet' #: erpnext/manufacturing/doctype/workstation/workstation.json @@ -55295,7 +55350,7 @@ msgstr "يجب أن تكون نسبة المساهمة الإجمالية مسا msgid "Total hours: {0}" msgstr "" -#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:462 +#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:467 #: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:509 msgid "Total payments amount can't be greater than {}" msgstr "لا يمكن أن يكون إجمالي المدفوعات أكبر من {}" @@ -55345,7 +55400,7 @@ msgstr "إجمالي (الكمية)" #: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json #: erpnext/accounts/doctype/sales_invoice/sales_invoice.json #: erpnext/accounts/doctype/sales_invoice_timesheet/sales_invoice_timesheet.json -#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:86 +#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:93 #: erpnext/assets/doctype/asset_capitalization/asset_capitalization.json #: erpnext/buying/doctype/purchase_order/purchase_order.json #: erpnext/buying/doctype/supplier_quotation/supplier_quotation.json @@ -55504,11 +55559,11 @@ msgstr "يجب أن تكون العملة المعاملة نفس العملة msgid "Transaction currency: {0} cannot be different from Bank Account({1}) currency: {2}" msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:725 +#: erpnext/manufacturing/doctype/job_card/job_card.py:731 msgid "Transaction not allowed against stopped Work Order {0}" msgstr "المعاملة غير مسموح بها في مقابل أمر العمل المتوقف {0}" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1299 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1289 msgid "Transaction reference no {0} dated {1}" msgstr "إشارة عملية لا {0} بتاريخ {1}" @@ -56324,7 +56379,7 @@ msgstr "غير المجدولة" msgid "Unsecured Loans" msgstr "القروض غير المضمونة" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1727 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1675 msgid "Unset Matched Payment Request" msgstr "" @@ -56563,7 +56618,7 @@ msgstr "" msgid "Update latest price in all BOMs" msgstr "تحديث آخر الأسعار في جميع بومس" -#: erpnext/assets/doctype/asset/asset.py:349 +#: erpnext/assets/doctype/asset/asset.py:382 msgid "Update stock must be enabled for the purchase invoice {0}" msgstr "" @@ -56579,7 +56634,7 @@ msgstr "" msgid "Update timestamp on new communication" msgstr "" -#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:541 +#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:533 msgid "Updated successfully" msgstr "تم التحديث بنجاح" @@ -56830,7 +56885,7 @@ msgstr "لم يطبق المستخدم قاعدة على الفاتورة {0}" msgid "User {0} does not exist" msgstr "المستخدم {0} غير موجود\\n
\\nUser {0} does not exist" -#: erpnext/accounts/doctype/pos_profile/pos_profile.py:113 +#: erpnext/accounts/doctype/pos_profile/pos_profile.py:117 msgid "User {0} doesn't have any default POS Profile. Check Default at Row {1} for this User." msgstr "المستخدم {0} ليس لديه أي ملف تعريف افتراضي ل بوس. تحقق من الافتراضي في الصف {1} لهذا المستخدم." @@ -56993,7 +57048,7 @@ msgstr "" msgid "Valid for Countries" msgstr "صالحة للبلدان" -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:301 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:302 msgid "Valid from and valid upto fields are mandatory for the cumulative" msgstr "صالحة من وحقول تصل صالحة إلزامية للتراكمية" @@ -57136,11 +57191,11 @@ msgstr "سعر التقييم" msgid "Valuation Rate (In / Out)" msgstr "" -#: erpnext/stock/stock_ledger.py:1852 +#: erpnext/stock/stock_ledger.py:1856 msgid "Valuation Rate Missing" msgstr "معدل التقييم مفقود" -#: erpnext/stock/stock_ledger.py:1830 +#: erpnext/stock/stock_ledger.py:1834 msgid "Valuation Rate for the Item {0}, is required to do accounting entries for {1} {2}." msgstr "معدل التقييم للعنصر {0} ، مطلوب لإجراء إدخالات محاسبية لـ {1} {2}." @@ -57171,7 +57226,7 @@ msgstr "" msgid "Valuation rate for the item as per Sales Invoice (Only for Internal Transfers)" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2293 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2283 #: erpnext/controllers/accounts_controller.py:2923 msgid "Valuation type charges can not be marked as Inclusive" msgstr "لا يمكن تحديد رسوم نوع التقييم على أنها شاملة" @@ -57278,7 +57333,7 @@ msgstr "" msgid "Value of Sold Asset" msgstr "" -#: erpnext/stock/doctype/shipment/shipment.py:85 +#: erpnext/stock/doctype/shipment/shipment.py:87 msgid "Value of goods cannot be 0" msgstr "" @@ -57688,7 +57743,7 @@ msgstr "" msgid "Voucher No" msgstr "رقم السند" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1048 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1068 msgid "Voucher No is mandatory" msgstr "" @@ -57899,7 +57954,7 @@ msgstr "عميل غير مسجل" #: erpnext/assets/doctype/asset_repair_consumed_item/asset_repair_consumed_item.json #: erpnext/buying/doctype/request_for_quotation_item/request_for_quotation_item.json #: erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.json -#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:305 +#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:307 #: erpnext/manufacturing/doctype/bom_creator/bom_creator.json #: erpnext/manufacturing/doctype/bom_operation/bom_operation.json #: erpnext/manufacturing/doctype/plant_floor/plant_floor.json @@ -57922,7 +57977,7 @@ msgstr "عميل غير مسجل" #: erpnext/selling/doctype/quotation_item/quotation_item.json #: erpnext/selling/doctype/sales_order/sales_order.js:358 #: erpnext/selling/doctype/sales_order/sales_order.js:466 -#: erpnext/selling/report/sales_order_analysis/sales_order_analysis.js:48 +#: erpnext/selling/report/sales_order_analysis/sales_order_analysis.js:57 #: erpnext/selling/report/sales_order_analysis/sales_order_analysis.py:334 #: erpnext/selling/report/sales_person_wise_transaction_summary/sales_person_wise_transaction_summary.py:79 #: erpnext/setup/workspace/home/home.json erpnext/stock/doctype/bin/bin.json @@ -58212,7 +58267,7 @@ msgstr "تحذير لأوامر الشراء الجديدة" msgid "Warn for new Request for Quotations" msgstr "تحذير لطلب جديد للاقتباسات" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:755 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:745 #: erpnext/controllers/accounts_controller.py:1903 #: erpnext/stock/doctype/delivery_trip/delivery_trip.js:145 #: erpnext/utilities/transaction_base.py:123 @@ -59238,7 +59293,7 @@ msgstr "يمكنك فقط الحصول على خطط مع دورة الفوات msgid "You can only redeem max {0} points in this order." msgstr "لا يمكنك استرداد سوى {0} نقاط كحد أقصى بهذا الترتيب." -#: erpnext/accounts/doctype/pos_profile/pos_profile.py:156 +#: erpnext/accounts/doctype/pos_profile/pos_profile.py:160 msgid "You can only select one mode of payment as default" msgstr "يمكنك تحديد طريقة دفع واحدة فقط كطريقة افتراضية" @@ -59250,11 +59305,11 @@ msgstr "يمكنك استرداد ما يصل إلى {0}." msgid "You can set it as a machine name or operation type. For example, stiching machine 12" msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:1153 +#: erpnext/manufacturing/doctype/job_card/job_card.py:1159 msgid "You can't make any changes to Job Card since Work Order is closed." msgstr "" -#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:160 +#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:180 msgid "You can't process the serial number {0} as it has already been used in the SABB {1}. {2} if you want to inward same serial number multiple times then enabled 'Allow existing Serial No to be Manufactured/Received again' in the {3}" msgstr "" @@ -59354,11 +59409,11 @@ msgstr "" msgid "You must add atleast one item to save it as draft." msgstr "يجب إضافة عنصر واحد على الأقل لحفظه كمسودة." -#: erpnext/selling/page/point_of_sale/pos_controller.js:665 +#: erpnext/selling/page/point_of_sale/pos_controller.js:677 msgid "You must select a customer before adding an item." msgstr "يجب عليك تحديد عميل قبل إضافة عنصر." -#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:254 +#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:259 msgid "You need to cancel POS Closing Entry {} to be able to cancel this document." msgstr "" @@ -59440,7 +59495,7 @@ msgstr "[هام] [ERPNext] إعادة ترتيب الأخطاء تلقائيًا msgid "`Allow Negative rates for Items`" msgstr "" -#: erpnext/stock/stock_ledger.py:1844 +#: erpnext/stock/stock_ledger.py:1848 msgid "after" msgstr "" @@ -59626,7 +59681,7 @@ msgstr "" msgid "out of 5" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1292 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1282 msgid "paid to" msgstr "" @@ -59662,7 +59717,7 @@ msgstr "" msgid "per hour" msgstr "كل ساعة" -#: erpnext/stock/stock_ledger.py:1845 +#: erpnext/stock/stock_ledger.py:1849 msgid "performing either one below:" msgstr "" @@ -59687,7 +59742,7 @@ msgstr "" msgid "ratings" msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1292 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1282 msgid "received from" msgstr "مستلم من" @@ -59746,7 +59801,7 @@ msgstr "عنوان" msgid "to" msgstr "إلى" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2754 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2755 msgid "to unallocate the amount of this Return Invoice before cancelling it." msgstr "" @@ -59804,7 +59859,7 @@ msgstr "" msgid "{0} Budget for Account {1} against {2} {3} is {4}. It {5} exceed by {6}" msgstr "" -#: erpnext/accounts/doctype/pricing_rule/utils.py:760 +#: erpnext/accounts/doctype/pricing_rule/utils.py:763 msgid "{0} Coupon used are {1}. Allowed quantity is exhausted" msgstr "{0} القسيمة المستخدمة هي {1}. الكمية المسموح بها مستنفدة" @@ -59873,7 +59928,7 @@ msgstr "{0} و {1} إلزاميان" msgid "{0} asset cannot be transferred" msgstr "{0} أصول لا يمكن نقلها" -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:278 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:279 msgid "{0} can not be negative" msgstr "{0} لا يمكن أن يكون سالبا" @@ -59902,7 +59957,7 @@ msgstr "{0} لديها حاليا {1} بطاقة أداء بطاقة المور msgid "{0} currently has a {1} Supplier Scorecard standing, and RFQs to this supplier should be issued with caution." msgstr "{0} لديه حاليا {1} بطاقة أداء بطاقة الموردين، ويجب أن يتم إصدار طلبات إعادة الشراء إلى هذا المورد بحذر." -#: erpnext/accounts/doctype/pos_profile/pos_profile.py:130 +#: erpnext/accounts/doctype/pos_profile/pos_profile.py:134 msgid "{0} does not belong to Company {1}" msgstr "{0} لا تنتمي إلى شركة {1}" @@ -59920,7 +59975,7 @@ msgstr "" msgid "{0} for {1}" msgstr "{0} ل {1}" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:446 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:443 msgid "{0} has Payment Term based allocation enabled. Select a Payment Term for Row #{1} in Payment References section" msgstr "" @@ -59936,7 +59991,7 @@ msgstr "" msgid "{0} in row {1}" msgstr "{0} في الحقل {1}" -#: erpnext/accounts/doctype/pos_profile/pos_profile.py:83 +#: erpnext/accounts/doctype/pos_profile/pos_profile.py:87 msgid "{0} is a mandatory Accounting Dimension.
Please set a value for {0} in Accounting Dimensions section." msgstr "" @@ -59958,7 +60013,7 @@ msgid "{0} is blocked so this transaction cannot proceed" msgstr "تم حظر {0} حتى لا تتم متابعة هذه المعاملة" #: erpnext/accounts/doctype/budget/budget.py:57 -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:652 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:642 #: erpnext/accounts/report/general_ledger/general_ledger.py:53 #: erpnext/accounts/report/pos_register/pos_register.py:107 #: erpnext/controllers/trends.py:50 @@ -59998,7 +60053,7 @@ msgstr "{0} ليس من نوع المخزون" msgid "{0} is not a valid Value for Attribute {1} of Item {2}." msgstr "{0} ليست قيمة صالحة للسمة {1} للعنصر {2}." -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:167 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:168 msgid "{0} is not added in the table" msgstr "{0} لم تتم إضافته في الجدول" @@ -60014,12 +60069,12 @@ msgstr "" msgid "{0} is not the default supplier for any items." msgstr "{0} ليس المورد الافتراضي لأية عناصر." -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2980 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2967 msgid "{0} is on hold till {1}" msgstr "{0} معلق حتى {1}" #: erpnext/accounts/doctype/gl_entry/gl_entry.py:130 -#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:171 +#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:172 #: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:192 #: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:118 msgid "{0} is required" @@ -60041,7 +60096,7 @@ msgstr "{0} عناصر منتجة" msgid "{0} must be negative in return document" msgstr "{0} يجب أن يكون سالبة في وثيقة الارجاع" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2005 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2006 msgid "{0} not allowed to transact with {1}. Please change the Company or add the Company in the 'Allowed To Transact With'-Section in the Customer record." msgstr "" @@ -60077,16 +60132,16 @@ msgstr "" msgid "{0} units of {1} are required in {2} with the inventory dimension: {3} ({4}) on {5} {6} for {7} to complete the transaction." msgstr "" -#: erpnext/stock/stock_ledger.py:1503 erpnext/stock/stock_ledger.py:1994 -#: erpnext/stock/stock_ledger.py:2008 +#: erpnext/stock/stock_ledger.py:1507 erpnext/stock/stock_ledger.py:1998 +#: erpnext/stock/stock_ledger.py:2012 msgid "{0} units of {1} needed in {2} on {3} {4} for {5} to complete this transaction." msgstr "{0} وحدات من {1} لازمة ل {2} في {3} {4} ل {5} لإكمال هذه المعاملة." -#: erpnext/stock/stock_ledger.py:2118 erpnext/stock/stock_ledger.py:2164 +#: erpnext/stock/stock_ledger.py:2122 erpnext/stock/stock_ledger.py:2168 msgid "{0} units of {1} needed in {2} on {3} {4} to complete this transaction." msgstr "" -#: erpnext/stock/stock_ledger.py:1497 +#: erpnext/stock/stock_ledger.py:1501 msgid "{0} units of {1} needed in {2} to complete this transaction." msgstr "{0} وحدات من {1} لازمة في {2} لإكمال هذه المعاملة." @@ -60106,7 +60161,7 @@ msgstr "تم إنشاء المتغيرات {0}." msgid "{0} will be given as discount." msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:862 +#: erpnext/manufacturing/doctype/job_card/job_card.py:868 msgid "{0} {1}" msgstr "" @@ -60126,9 +60181,9 @@ msgstr "" msgid "{0} {1} created" msgstr "{0} {1} إنشاء" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:614 -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:672 -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2717 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:604 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:662 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2707 msgid "{0} {1} does not exist" msgstr "{0} {1} غير موجود\\n
\\n{0} {1} does not exist" @@ -60136,11 +60191,11 @@ msgstr "{0} {1} غير موجود\\n
\\n{0} {1} does not exist" msgid "{0} {1} has accounting entries in currency {2} for company {3}. Please select a receivable or payable account with currency {2}." msgstr "{0} يحتوي {1} على إدخالات محاسبية بالعملة {2} للشركة {3}. الرجاء تحديد حساب مستحق أو دائن بالعملة {2}." -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:456 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:453 msgid "{0} {1} has already been fully paid." msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:468 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:465 msgid "{0} {1} has already been partly paid. Please use the 'Get Outstanding Invoice' or the 'Get Outstanding Orders' button to get the latest outstanding amounts." msgstr "" @@ -60162,7 +60217,7 @@ msgstr "" msgid "{0} {1} is already linked to Common Code {2}." msgstr "" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:702 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:692 msgid "{0} {1} is associated with {2}, but Party Account is {3}" msgstr "{0} {1} مرتبط ب {2}، ولكن حساب الطرف هو {3}" @@ -60200,7 +60255,7 @@ msgstr "{0} {1} قدمت الفواتير بشكل كامل" msgid "{0} {1} is not active" msgstr "{0} {1} غير نشطة" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:679 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:669 msgid "{0} {1} is not associated with {2} {3}" msgstr "{0} {1} غير مرتبط {2} {3}" @@ -60213,7 +60268,7 @@ msgstr "" msgid "{0} {1} is not submitted" msgstr "{0} {1} لم يتم تقديمه" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:712 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:702 msgid "{0} {1} is on hold" msgstr "" @@ -60221,7 +60276,7 @@ msgstr "" msgid "{0} {1} is {2}" msgstr "{0} {1} هو {2}" -#: erpnext/accounts/doctype/payment_entry/payment_entry.py:718 +#: erpnext/accounts/doctype/payment_entry/payment_entry.py:708 msgid "{0} {1} must be submitted" msgstr "{0} {1} يجب أن يتم اعتماده\\n
\\n{0} {1} must be submitted" @@ -60309,8 +60364,8 @@ msgstr "" msgid "{0}'s {1} cannot be after {2}'s Expected End Date." msgstr "" -#: erpnext/manufacturing/doctype/job_card/job_card.py:1127 -#: erpnext/manufacturing/doctype/job_card/job_card.py:1135 +#: erpnext/manufacturing/doctype/job_card/job_card.py:1133 +#: erpnext/manufacturing/doctype/job_card/job_card.py:1141 msgid "{0}, complete the operation {1} before the operation {2}." msgstr "{0} ، أكمل العملية {1} قبل العملية {2}." @@ -60322,7 +60377,7 @@ msgstr "" msgid "{0}: {1} does not exists" msgstr "{0}: {1} غير موجود" -#: erpnext/accounts/doctype/payment_entry/payment_entry.js:982 +#: erpnext/accounts/doctype/payment_entry/payment_entry.js:961 msgid "{0}: {1} must be less than {2}" msgstr "{0}: {1} يجب أن يكون أقل من {2}" @@ -60392,7 +60447,7 @@ msgstr "" msgid "{} To Bill" msgstr "" -#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1791 +#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1792 msgid "{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {}" msgstr "لا يمكن إلغاء {} نظرًا لاسترداد نقاط الولاء المكتسبة. قم أولاً بإلغاء {} لا {}" diff --git a/erpnext/locale/bs.po b/erpnext/locale/bs.po index bbf8ea9a061..c4c22c6dcb4 100644 --- a/erpnext/locale/bs.po +++ b/erpnext/locale/bs.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: frappe\n" "Report-Msgid-Bugs-To: info@erpnext.com\n" -"POT-Creation-Date: 2025-02-16 09:34+0000\n" -"PO-Revision-Date: 2025-02-18 00:18\n" +"POT-Creation-Date: 2025-03-02 09:35+0000\n" +"PO-Revision-Date: 2025-03-04 04:10\n" "Last-Translator: info@erpnext.com\n" "Language-Team: Bosnian\n" "MIME-Version: 1.0\n" @@ -33,7 +33,7 @@ msgstr "Iznos" #: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:114 msgid " BOM" -msgstr "Lista Materijala" +msgstr " Sastavnica" #. Label of the istable (Check) field in DocType 'Inventory Dimension' #: erpnext/stock/doctype/inventory_dimension/inventory_dimension.json @@ -57,7 +57,7 @@ msgstr " Naziv" #: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:648 msgid " Rate" -msgstr " Stopa" +msgstr " Cijena" #: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:122 msgid " Raw Material" @@ -84,11 +84,11 @@ msgstr " Sažetak" #: erpnext/stock/doctype/item/item.py:233 msgid "\"Customer Provided Item\" cannot be Purchase Item also" -msgstr "\"Artikal koji osigurava Klijent\" također ne može biti Kupovni Artikal" +msgstr "\"Artikal koji osigurava Klijent\" ne može biti Kupovni Artikal" #: erpnext/stock/doctype/item/item.py:235 msgid "\"Customer Provided Item\" cannot have Valuation Rate" -msgstr "\"Artikal koju daje Klijent\" ne može imati Procjenjenu Vrijednost" +msgstr "\"Artikal koju daje Klijent\" ne može imati Stopu Vrednovanja" #: erpnext/stock/doctype/item/item.py:311 msgid "\"Is Fixed Asset\" cannot be unchecked, as Asset record exists against the item" @@ -96,11 +96,11 @@ msgstr "Ne može se poništiti izbor opcije \"Fiksna Imovina\", jer postoji zapi #: erpnext/public/js/utils/serial_no_batch_selector.js:262 msgid "\"SN-01::10\" for \"SN-01\" to \"SN-10\"" -msgstr "\"SN-01::10\" za \"SN-01\" do \"SN-10\"" +msgstr "\"SB-01::10\" za \"SB-01\" do \"SB-10\"" #: erpnext/manufacturing/report/work_order_stock_report/work_order_stock_report.py:148 msgid "# In Stock" -msgstr "# Na zalihama" +msgstr "# Na Zalihama" #: erpnext/manufacturing/report/work_order_stock_report/work_order_stock_report.py:141 msgid "# Req'd Items" @@ -130,7 +130,7 @@ msgstr "% Fakturisano" #. Label of the percent_complete_method (Select) field in DocType 'Project' #: erpnext/projects/doctype/project/project.json msgid "% Complete Method" -msgstr "% Završena Metoda" +msgstr "% Završeno Metoda" #. Label of the percent_complete (Percent) field in DocType 'Project' #: erpnext/projects/doctype/project/project.json @@ -222,7 +222,7 @@ msgstr "'Dozvoli višestruke Prodajne Naloge naspram Kupovnog Naloga Klijenta'" #: erpnext/controllers/trends.py:56 msgid "'Based On' and 'Group By' can not be same" -msgstr "'Bazirano na' i 'Grupiraj po' ne mogu biti isti" +msgstr "'Na Osnovu' i 'Grupiraj Po' ne mogu biti isti" #: erpnext/stock/report/product_bundle_balance/product_bundle_balance.py:233 msgid "'Date' is required" @@ -252,13 +252,13 @@ msgstr "'Od datuma' mora biti nakon 'Do datuma'" #: erpnext/stock/doctype/item/item.py:396 msgid "'Has Serial No' can not be 'Yes' for non-stock item" -msgstr "'Ima serijski broj' ne može biti 'Da' za artikal koji nije na zalihi" +msgstr "'Ima Serijski Broj' ne može biti 'Da' za artikal koji nije na zalihama" -#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:159 +#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:160 msgid "'Inspection Required before Delivery' has disabled for the item {0}, no need to create the QI" -msgstr "'Potrebna kontrola prije isporuke' je onemogućena za artikal {0}, nema potrebe za kreiranjem kontrole kvaliteta" +msgstr "'Kontrola Obavezna prije Dostave' je onemogućena za artikal {0}, nema potrebe za kreiranjem Kontrole Kvaliteta" -#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:150 +#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:151 msgid "'Inspection Required before Purchase' has disabled for the item {0}, no need to create the QI" msgstr "'Potrebna kontrola prije kupovine' je onemogućena za artikal {0}, nema potrebe za kreiranjem kvaliteta kontrole" @@ -271,11 +271,11 @@ msgstr "'Početno'" #: erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py:133 #: erpnext/stock/report/stock_analytics/stock_analytics.py:319 msgid "'To Date' is required" -msgstr "'Do datuma' je obavezno" +msgstr "'Do Datuma' je obavezno" #: erpnext/stock/doctype/packing_slip/packing_slip.py:94 msgid "'To Package No.' cannot be less than 'From Package No.'" -msgstr "'Do paketa broj' ne može biti manje od 'Od paketa broj.'" +msgstr "'Do Paketa Broj' ne može biti manje od 'Od Paketa Broj.'" #: erpnext/controllers/sales_and_purchase_return.py:70 msgid "'Update Stock' can not be checked because items are not delivered via {0}" @@ -302,38 +302,38 @@ msgstr "'{0}' bi trebao biti u valuti kompanije {1}." #: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:203 #: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:106 msgid "(A) Qty After Transaction" -msgstr "(A) Količina nakon transakcije" +msgstr "(A) Količina Nakon Transakcije" #: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:208 #: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:111 msgid "(B) Expected Qty After Transaction" -msgstr "(B) Očekivana količina nakon transakcije" +msgstr "(B) Očekivana Količina Nakon Transakcije" #: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:223 #: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:126 msgid "(C) Total Qty in Queue" -msgstr "(C) Ukupna količina u redu" +msgstr "(C) Ukupna Količina u Redu" #: erpnext/stock/report/fifo_queue_vs_qty_after_transaction_comparison/fifo_queue_vs_qty_after_transaction_comparison.py:184 msgid "(C) Total qty in queue" -msgstr "(C) Ukupna količina u redu čekanja" +msgstr "(C) Ukupna Količina u Redu" #: erpnext/stock/report/fifo_queue_vs_qty_after_transaction_comparison/fifo_queue_vs_qty_after_transaction_comparison.py:194 #: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:233 #: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:136 msgid "(D) Balance Stock Value" -msgstr "(D) Bilansna vrijednost zaliha" +msgstr "(D) Bilansna Vrijednost Zaliha" #: erpnext/stock/report/fifo_queue_vs_qty_after_transaction_comparison/fifo_queue_vs_qty_after_transaction_comparison.py:199 #: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:238 #: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:141 msgid "(E) Balance Stock Value in Queue" -msgstr "(E) Bilansna vrijednost zaliha u redu čekanja" +msgstr "(E) Bilansna Vrijednost Zaliha u Redu" #: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:248 #: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:151 msgid "(F) Change in Stock Value" -msgstr "(F) Promjena vrijednosti zaliha" +msgstr "(F) Promjena Vrijednosti Zaliha" #: erpnext/manufacturing/report/exponential_smoothing_forecasting/exponential_smoothing_forecasting.py:192 msgid "(Forecast)" @@ -342,32 +342,32 @@ msgstr "(Prognoza)" #: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:253 #: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:156 msgid "(G) Sum of Change in Stock Value" -msgstr "(G) Zbir promjene vrijednosti zaliha" +msgstr "(G) Suma Promjene Vrijednosti Zaliha" #: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:263 #: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:166 msgid "(H) Change in Stock Value (FIFO Queue)" -msgstr "(H) Promjena vrijednosti zaliha (FIFO red)" +msgstr "(H) Promjena Vrijednosti Zaliha (FIFO)" #: erpnext/stock/report/fifo_queue_vs_qty_after_transaction_comparison/fifo_queue_vs_qty_after_transaction_comparison.py:209 msgid "(H) Valuation Rate" -msgstr "(H) Procijenjena Vrijednost" +msgstr "(H) Stopa Vrednovanja" #. Description of the 'Actual Operating Cost' (Currency) field in DocType 'Work #. Order Operation' #: erpnext/manufacturing/doctype/work_order_operation/work_order_operation.json msgid "(Hour Rate / 60) * Actual Operation Time" -msgstr "(Broj sati / 60) * Stvarno vrijeme rada" +msgstr "(Satnica / 60) * Stvarno Vrijeme Operacije" #: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:273 #: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:176 msgid "(I) Valuation Rate" -msgstr "(I) Procijenjena Vrijednost" +msgstr "(I) Stopa Vrednovanja" #: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:278 #: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:181 msgid "(J) Valuation Rate as per FIFO" -msgstr "(J) Procijenjena Vrijednost prema FIFO" +msgstr "(J) Stopa Vrednovanja prema FIFO" #: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:288 #: erpnext/stock/report/stock_ledger_variance/stock_ledger_variance.py:191 @@ -403,7 +403,7 @@ msgstr "0-30 dana" #. Program' #: erpnext/accounts/doctype/loyalty_program/loyalty_program.json msgid "1 Loyalty Points = How much base currency?" -msgstr "1 bod lojalnosti = Koliko je osnovna valuta?" +msgstr "1 Bod Lojalnosti = Koliko u osnovnoj valuti?" #. Option for the 'Frequency' (Select) field in DocType 'Video Settings' #: erpnext/utilities/doctype/video_settings/video_settings.json @@ -529,7 +529,7 @@ msgstr "Preko 90" #: erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.py:61 msgid "From Time cannot be later than To Time for {0}" -msgstr "Od vremena ne može biti kasnije od do vremena za {0}" +msgstr "Od Vremena ne može biti kasnije od Do Vremena za {0}" #. Content of the 'Help Text' (HTML) field in DocType 'Process Statement Of #. Accounts' @@ -574,13 +574,13 @@ msgstr "
\n" #: erpnext/stock/doctype/purchase_receipt/purchase_receipt.json #: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.json msgid "
Other Details
" -msgstr "
Ostali detalji
" +msgstr "
Ostali Detalji
" #. Content of the 'no_bank_transactions' (HTML) field in DocType 'Bank #. Reconciliation Tool' #: erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.json msgid "
No Matching Bank Transactions Found
" -msgstr "
Nisu pronađene odgovarajuće bankovne transakcije
" +msgstr "
Nisu Pronađene Odgovarajuće Bankovne Transakcije
" #: erpnext/public/js/bank_reconciliation_tool/dialog_manager.js:262 msgid "
{0}
" @@ -669,15 +669,15 @@ msgid "

Standard Terms and Conditions Example

\n\n" "

The fieldnames you can use in your email template are the fields in the document from which you are sending the email. You can find out the fields of any documents via Setup > Customize Form View and selecting the document type (e.g. Sales Invoice)

\n\n" "

Templating

\n\n" "

Templates are compiled using the Jinja Templating Language. To learn more about Jinja, read this documentation.

" -msgstr "

Primjer standardnih odredbi i uvjeta

\n\n" -"
Uvjeti isporuke za broj narudžbe {{ name }}\n\n"
-"- Datum narudžbe: {{ transaction_date }}\n"
-"- Očekivani datum isporuke: {{ delivery_date }}\n"
+msgstr "

Primjer Standardnih Odredbi i Uvjeta

\n\n" +"
Uvjeti dostaveza broj Naloga {{ name }}\n\n"
+"- Datum Naloga: {{ transaction_date }}\n"
+"- Očekivani Datum Dostave: {{ delivery_date }}\n"
 "
\n\n" -"

Kako dobiti nazive polja

\n\n" -"

Imena polja koja možete koristiti u svom predlošku e-pošte su polja u dokumentu iz kojeg šaljete e-poštu. Polja bilo kojeg dokumenta možete pronaći preko Postavljanje > Prilagodite prikaz obrasca i odaberite vrstu dokumenta (npr. prodajna faktura)

\n\n" -"

Izrada šablona

\n\n" -"

Predlošci su sastavljeni pomoću Jinja Templating Language. Da biste saznali više o Jinji, pročitajte ovu dokumentaciju.

" +"

Kako preuzeti nazive polja

\n\n" +"

Imena polja koja možete koristiti u svom šablonu e-pošte su polja u dokumentu iz kojeg šaljete e-poštu. Polja bilo kojeg dokumenta možete pronaći preko Postavljanje > Prilagodite prikaz forme i odaberite tip dokumenta (npr. Prodajna Faktura)

\n\n" +"

Izrada Šablona

\n\n" +"

Šabloni su sastavljeni pomoću Jinja Templating Language. Da biste saznali više o Jinji, pročitajte ovu dokumentaciju.

" #. Content of the 'html_5' (HTML) field in DocType 'Bank Statement Import' #: erpnext/accounts/doctype/bank_statement_import/bank_statement_import.json @@ -699,7 +699,7 @@ msgstr "
""" def after_install(): diff --git a/erpnext/stock/deprecated_serial_batch.py b/erpnext/stock/deprecated_serial_batch.py index fbeefe8361c..7855dfb14f8 100644 --- a/erpnext/stock/deprecated_serial_batch.py +++ b/erpnext/stock/deprecated_serial_batch.py @@ -365,6 +365,8 @@ class DeprecatedBatchNoValuation: if self.sle.voucher_detail_no: query = query.where(sabb.voucher_detail_no != self.sle.voucher_detail_no) + query = query.where(sabb.voucher_type != "Pick List") + data = query.run(as_dict=True) if not data: return {} diff --git a/erpnext/stock/doctype/bin/bin.py b/erpnext/stock/doctype/bin/bin.py index db5d1e58a84..d3de1897633 100644 --- a/erpnext/stock/doctype/bin/bin.py +++ b/erpnext/stock/doctype/bin/bin.py @@ -247,7 +247,7 @@ def update_qty(bin_name, args): & (sle.warehouse == args.get("warehouse")) & (sle.is_cancelled == 0) ) - .orderby(CombineDatetime(sle.posting_date, sle.posting_time), order=Order.desc) + .orderby(sle.posting_datetime, order=Order.desc) .orderby(sle.creation, order=Order.desc) .limit(1) .run() diff --git a/erpnext/stock/doctype/inventory_dimension/inventory_dimension.py b/erpnext/stock/doctype/inventory_dimension/inventory_dimension.py index fe3006de971..0f202b44065 100644 --- a/erpnext/stock/doctype/inventory_dimension/inventory_dimension.py +++ b/erpnext/stock/doctype/inventory_dimension/inventory_dimension.py @@ -236,7 +236,12 @@ class InventoryDimension(Document): custom_fields[dt] = dimension_field filter_custom_fields = {} - ignore_doctypes = ["Serial and Batch Bundle", "Serial and Batch Entry", "Pick List Item"] + ignore_doctypes = [ + "Serial and Batch Bundle", + "Serial and Batch Entry", + "Pick List Item", + "Maintenance Visit Purpose", + ] if custom_fields: for doctype, fields in custom_fields.items(): diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py index a9b315b522f..4ae3f967017 100644 --- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py +++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py @@ -1081,15 +1081,19 @@ def get_billed_amount_against_po(po_items): if not po_items: return {} + purchase_invoice = frappe.qb.DocType("Purchase Invoice") purchase_invoice_item = frappe.qb.DocType("Purchase Invoice Item") query = ( frappe.qb.from_(purchase_invoice_item) + .inner_join(purchase_invoice) + .on(purchase_invoice_item.parent == purchase_invoice.name) .select(fn.Sum(purchase_invoice_item.amount).as_("billed_amt"), purchase_invoice_item.po_detail) .where( (purchase_invoice_item.po_detail.isin(po_items)) - & (purchase_invoice_item.docstatus == 1) + & (purchase_invoice.docstatus == 1) & (purchase_invoice_item.pr_detail.isnull()) + & (purchase_invoice.update_stock == 0) ) .groupby(purchase_invoice_item.po_detail) ).run(as_dict=1) diff --git a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py index 2a8c1b6d073..00966d1bd60 100644 --- a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py +++ b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py @@ -4096,6 +4096,36 @@ class TestPurchaseReceipt(IntegrationTestCase): batch_return.save() batch_return.submit() + def test_pr_status_based_on_invoices_with_update_stock(self): + from erpnext.buying.doctype.purchase_order.purchase_order import ( + make_purchase_invoice as _make_purchase_invoice, + ) + from erpnext.buying.doctype.purchase_order.purchase_order import ( + make_purchase_receipt as _make_purchase_receipt, + ) + from erpnext.buying.doctype.purchase_order.test_purchase_order import ( + create_pr_against_po, + create_purchase_order, + ) + + item_code = "Test Item for PR Status Based on Invoices" + create_item(item_code) + + po = create_purchase_order(item_code=item_code, qty=10) + pi = _make_purchase_invoice(po.name) + pi.update_stock = 1 + pi.items[0].qty = 5 + pi.submit() + + po.reload() + self.assertEqual(po.per_billed, 50) + + pr = _make_purchase_receipt(po.name) + self.assertEqual(pr.items[0].qty, 5) + pr.submit() + pr.reload() + self.assertEqual(pr.status, "To Bill") + def prepare_data_for_internal_transfer(): from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_internal_supplier diff --git a/erpnext/stock/doctype/shipment/shipment.json b/erpnext/stock/doctype/shipment/shipment.json index e3df2148d4f..9d7882f7094 100644 --- a/erpnext/stock/doctype/shipment/shipment.json +++ b/erpnext/stock/doctype/shipment/shipment.json @@ -34,6 +34,7 @@ "shipment_parcel", "parcel_template", "add_template", + "total_weight", "column_break_28", "shipment_delivery_note", "shipment_details_section", @@ -429,11 +430,17 @@ "label": "Pickup Contact Person", "mandatory_depends_on": "eval:doc.pickup_from_type === 'Company'", "options": "User" + }, + { + "fieldname": "total_weight", + "fieldtype": "Float", + "label": "Total Weight (kg)", + "read_only": 1 } ], "is_submittable": 1, "links": [], - "modified": "2024-03-27 13:10:41.030764", + "modified": "2025-02-20 16:55:20.076418", "modified_by": "Administrator", "module": "Stock", "name": "Shipment", diff --git a/erpnext/stock/doctype/shipment/shipment.py b/erpnext/stock/doctype/shipment/shipment.py index 346e70e6060..cf9d165fdd3 100644 --- a/erpnext/stock/doctype/shipment/shipment.py +++ b/erpnext/stock/doctype/shipment/shipment.py @@ -65,6 +65,7 @@ class Shipment(Document): shipment_parcel: DF.Table[ShipmentParcel] shipment_type: DF.Literal["Goods", "Documents"] status: DF.Literal["Draft", "Submitted", "Booked", "Cancelled", "Completed"] + total_weight: DF.Float tracking_status: DF.Literal["", "In Progress", "Delivered", "Returned", "Lost"] tracking_status_info: DF.Data | None tracking_url: DF.SmallText | None @@ -75,6 +76,7 @@ class Shipment(Document): self.validate_weight() self.validate_pickup_time() self.set_value_of_goods() + self.set_total_weight() if self.docstatus == 0: self.status = "Draft" @@ -93,6 +95,12 @@ class Shipment(Document): if flt(parcel.weight) <= 0: frappe.throw(_("Parcel weight cannot be 0")) + def set_total_weight(self): + self.total_weight = self.get_total_weight() + + def get_total_weight(self): + return sum(flt(parcel.weight) * parcel.count for parcel in self.shipment_parcel if parcel.count > 0) + def validate_pickup_time(self): if self.pickup_from and self.pickup_to and get_time(self.pickup_to) < get_time(self.pickup_from): frappe.throw(_("Pickup To time should be greater than Pickup From time")) diff --git a/erpnext/stock/doctype/shipment/test_shipment.py b/erpnext/stock/doctype/shipment/test_shipment.py index 197f6f8342d..57ac126c222 100644 --- a/erpnext/stock/doctype/shipment/test_shipment.py +++ b/erpnext/stock/doctype/shipment/test_shipment.py @@ -29,6 +29,17 @@ class TestShipment(IntegrationTestCase): self.assertEqual(len(second_shipment.shipment_delivery_note), 1) self.assertEqual(second_shipment.shipment_delivery_note[0].delivery_note, delivery_note.name) + def test_get_total_weight(self): + shipment = frappe.new_doc("Shipment") + shipment.extend( + "shipment_parcel", + [ + {"length": 5, "width": 5, "height": 5, "weight": 5, "count": 5}, + {"length": 5, "width": 5, "height": 5, "weight": 10, "count": 1}, + ], + ) + self.assertEqual(shipment.get_total_weight(), 35) + def create_test_delivery_note(): company = get_shipment_company() diff --git a/erpnext/stock/doctype/stock_ledger_entry/patches/__init__.py b/erpnext/stock/doctype/stock_ledger_entry/patches/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/erpnext/stock/doctype/stock_ledger_entry/patches/ensure_sle_indexes.py b/erpnext/stock/doctype/stock_ledger_entry/patches/ensure_sle_indexes.py new file mode 100644 index 00000000000..7f29b27af3f --- /dev/null +++ b/erpnext/stock/doctype/stock_ledger_entry/patches/ensure_sle_indexes.py @@ -0,0 +1,9 @@ +from erpnext.stock.doctype.stock_ledger_entry.stock_ledger_entry import ( + on_doctype_update as create_sle_indexes, +) + + +def execute(): + """Ensure SLE Indexes""" + + create_sle_indexes() diff --git a/erpnext/stock/doctype/stock_settings/stock_settings.json b/erpnext/stock/doctype/stock_settings/stock_settings.json index 3e17e8708e8..3f2e8bab4aa 100644 --- a/erpnext/stock/doctype/stock_settings/stock_settings.json +++ b/erpnext/stock/doctype/stock_settings/stock_settings.json @@ -47,18 +47,20 @@ "auto_reserve_serial_and_batch", "serial_and_batch_item_settings_tab", "section_break_7", + "allow_existing_serial_no", "do_not_use_batchwise_valuation", "auto_create_serial_and_batch_bundle_for_outward", "pick_serial_and_batch_based_on", - "naming_series_prefix", "column_break_mhzc", "disable_serial_no_and_batch_selector", - "use_naming_series", "use_serial_batch_fields", "do_not_update_serial_batch_on_creation_of_auto_bundle", - "allow_existing_serial_no", "serial_and_batch_bundle_section", "set_serial_and_batch_bundle_naming_based_on_naming_series", + "section_break_gnhq", + "use_naming_series", + "column_break_wslv", + "naming_series_prefix", "stock_planning_tab", "auto_material_request", "auto_indent", @@ -488,6 +490,14 @@ "fieldname": "set_serial_and_batch_bundle_naming_based_on_naming_series", "fieldtype": "Check", "label": "Set Serial and Batch Bundle Naming Based on Naming Series" + }, + { + "fieldname": "section_break_gnhq", + "fieldtype": "Section Break" + }, + { + "fieldname": "column_break_wslv", + "fieldtype": "Column Break" } ], "icon": "icon-cog", @@ -495,7 +505,7 @@ "index_web_pages_for_search": 1, "issingle": 1, "links": [], - "modified": "2025-02-17 13:36:36.177743", + "modified": "2025-02-28 15:08:35.938840", "modified_by": "Administrator", "module": "Stock", "name": "Stock Settings", diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py index c1c043b2582..37fbf73533c 100644 --- a/erpnext/stock/get_item_details.py +++ b/erpnext/stock/get_item_details.py @@ -227,7 +227,7 @@ def update_stock(ctx, out, doc=None): else: qty -= batch_qty - out.update({"batch_no": batch_no, "actual_batch_qty": qty}) + out.update({"batch_no": batch_no, "actual_batch_qty": batch_qty}) if rate: out.update({"rate": rate, "price_list_rate": rate}) @@ -1095,7 +1095,9 @@ def get_batch_based_item_price(pctx: ItemPriceCtx | dict | str, item_code) -> fl if not item_price: item_price = get_item_price(pctx, item_code, ignore_party=True, force_batch_no=True) - if item_price and item_price[0].uom == pctx.uom: + is_free_item = pctx.get("items", [{}])[0].get("is_free_item") + + if item_price and item_price[0].uom == pctx.uom and not is_free_item: return item_price[0].price_list_rate return 0.0 diff --git a/erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py b/erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py index 416eb88e59f..3d57242b4ff 100644 --- a/erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py +++ b/erpnext/stock/report/batch_wise_balance_history/batch_wise_balance_history.py @@ -179,7 +179,7 @@ def get_stock_ledger_entries_for_batch_bundle(filters): sle = frappe.qb.DocType("Stock Ledger Entry") batch_package = frappe.qb.DocType("Serial and Batch Entry") - to_date = get_datetime(filters.to_date + " 23:59:59") + to_date = get_datetime(str(filters.to_date) + " 23:59:59") query = ( frappe.qb.from_(sle) diff --git a/erpnext/stock/report/stock_ageing/stock_ageing.py b/erpnext/stock/report/stock_ageing/stock_ageing.py index cc597e14196..0edce832aec 100644 --- a/erpnext/stock/report/stock_ageing/stock_ageing.py +++ b/erpnext/stock/report/stock_ageing/stock_ageing.py @@ -51,6 +51,10 @@ def format_report_data(filters: Filters, item_details: dict, to_date: str) -> li latest_age = date_diff(to_date, fifo_queue[-1][1]) range_values = get_range_age(filters, fifo_queue, to_date, item_dict) + check_and_replace_valuations_if_moving_average( + range_values, details.valuation_method, details.valuation_rate + ) + row = [details.name, details.item_name, details.description, details.item_group, details.brand] if filters.get("show_warehouse_wise_stock"): @@ -72,6 +76,15 @@ def format_report_data(filters: Filters, item_details: dict, to_date: str) -> li return data +def check_and_replace_valuations_if_moving_average(range_values, item_valuation_method, valuation_rate): + if item_valuation_method == "Moving Average" or ( + not item_valuation_method + and frappe.db.get_single_value("Stock Settings", "valuation_method") == "Moving Average" + ): + for i in range(0, len(range_values), 2): + range_values[i + 1] = range_values[i] * valuation_rate + + def get_average_age(fifo_queue: list, to_date: str) -> float: batch_age = age_qty = total_qty = 0.0 for batch in fifo_queue: @@ -267,7 +280,7 @@ class FIFOSlots: self.__update_balances(d, key) - # Note that stock_ledger_entries is an iterator, you can not reuse it like a list + # Note that stock_ledger_entries is an iterator, you can not reuse it like a list del stock_ledger_entries if not self.filters.get("show_warehouse_wise_stock"): @@ -396,6 +409,7 @@ class FIFOSlots: self.item_details[key]["total_qty"] += row.actual_qty self.item_details[key]["has_serial_no"] = row.has_serial_no + self.item_details[key]["details"].valuation_rate = row.valuation_rate def __aggregate_details_by_item(self, wh_wise_data: dict) -> dict: "Aggregate Item-Wh wise data into single Item entry." @@ -437,8 +451,10 @@ class FIFOSlots: item.description, item.stock_uom, item.has_serial_no, + item.valuation_method, sle.actual_qty, sle.stock_value_difference, + sle.valuation_rate, sle.posting_date, sle.voucher_type, sle.voucher_no, @@ -506,7 +522,14 @@ class FIFOSlots: item_table = frappe.qb.DocType("Item") item = frappe.qb.from_("Item").select( - "name", "item_name", "description", "stock_uom", "brand", "item_group", "has_serial_no" + "name", + "item_name", + "description", + "stock_uom", + "brand", + "item_group", + "has_serial_no", + "valuation_method", ) if self.filters.get("item_code"): diff --git a/erpnext/stock/serial_batch_bundle.py b/erpnext/stock/serial_batch_bundle.py index 993d918f8bc..c88df01665f 100644 --- a/erpnext/stock/serial_batch_bundle.py +++ b/erpnext/stock/serial_batch_bundle.py @@ -1006,6 +1006,10 @@ class SerialBatchCreation: elif self.has_serial_no and not self.get("serial_nos"): self.serial_nos = get_serial_nos_for_outward(kwargs) elif not self.has_serial_no and self.has_batch_no and not self.get("batches"): + if self.get("posting_date"): + kwargs["posting_date"] = self.get("posting_date") + kwargs["posting_time"] = self.get("posting_time") + self.batches = get_available_batches(kwargs) def set_auto_serial_batch_entries_for_inward(self): diff --git a/erpnext/stock/stock_ledger.py b/erpnext/stock/stock_ledger.py index 5fc317358ba..fcda522cbc8 100644 --- a/erpnext/stock/stock_ledger.py +++ b/erpnext/stock/stock_ledger.py @@ -562,12 +562,28 @@ class update_entries_after: self.new_items_found = False self.distinct_item_warehouses = args.get("distinct_item_warehouses", frappe._dict()) self.affected_transactions: set[tuple[str, str]] = set() - self.reserved_stock = flt(self.args.reserved_stock) + self.reserved_stock = self.get_reserved_stock() self.data = frappe._dict() self.initialize_previous_data(self.args) self.build() + def get_reserved_stock(self): + sre = frappe.qb.DocType("Stock Reservation Entry") + posting_datetime = get_combine_datetime(self.args.posting_date, self.args.posting_time) + query = ( + frappe.qb.from_(sre) + .select(Sum(sre.reserved_qty) - Sum(sre.delivered_qty)) + .where( + (sre.item_code == self.item_code) + & (sre.warehouse == self.args.warehouse) + & (sre.docstatus == 1) + & (sre.creation <= posting_datetime) + ) + ).run() + + return flt(query[0][0]) if query else 0.0 + def set_precision(self): self.flt_precision = cint(frappe.db.get_default("float_precision")) or 2 self.currency_precision = get_field_precision( @@ -884,6 +900,10 @@ class update_entries_after: if not sle.is_adjustment_entry: sle.stock_value_difference = stock_value_difference + elif sle.is_adjustment_entry and not self.args.get("sle_id"): + sle.stock_value_difference = get_stock_value_difference( + sle.item_code, sle.warehouse, sle.posting_date, sle.posting_time, sle.voucher_no + ) sle.doctype = "Stock Ledger Entry" frappe.get_doc(sle).db_update() diff --git a/erpnext/templates/includes/footer/footer_powered.html b/erpnext/templates/includes/footer/footer_powered.html index 8310063e575..fb73931d18e 100644 --- a/erpnext/templates/includes/footer/footer_powered.html +++ b/erpnext/templates/includes/footer/footer_powered.html @@ -1 +1 @@ -{{ _("Powered by {0}").format('ERPNext') }} +{{ _("Powered by {0}").format('ERPNext') }} diff --git a/erpnext/templates/utils.py b/erpnext/templates/utils.py index 57750a56f6f..15af9f0f014 100644 --- a/erpnext/templates/utils.py +++ b/erpnext/templates/utils.py @@ -3,6 +3,7 @@ import frappe +from frappe.utils import escape_html @frappe.whitelist(allow_guest=True) @@ -11,6 +12,8 @@ def send_message(sender, message, subject="Website Query"): website_send_message(sender, message, subject) + message = escape_html(message) + lead = customer = None customer = frappe.db.sql( """select distinct dl.link_name from `tabDynamic Link` dl diff --git a/package.json b/package.json index 4e686f7ca74..509fe275e05 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "type": "git", "url": "git+https://github.com/frappe/erpnext.git" }, - "homepage": "https://erpnext.com", + "homepage": "https://frappe.io/erpnext", "author": "Frappe Technologies Pvt. Ltd.", "license": "GPL-3.0", "bugs": { diff --git a/pyproject.toml b/pyproject.toml index 462808ba036..3ac7fa07c27 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -77,6 +77,6 @@ docstring-code-format = true [project.urls] -Homepage = "https://erpnext.com/" +Homepage = "https://frappe.io/erpnext" Repository = "https://github.com/frappe/erpnext.git" "Bug Reports" = "https://github.com/frappe/erpnext/issues"