Merge branch 'hotfix'
This commit is contained in:
commit
f69edb3fa3
@ -2,7 +2,7 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
import frappe
|
import frappe
|
||||||
|
|
||||||
__version__ = '7.0.55'
|
__version__ = '7.0.56'
|
||||||
|
|
||||||
def get_default_company(user=None):
|
def get_default_company(user=None):
|
||||||
'''Get default company for user'''
|
'''Get default company for user'''
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
"bold": 0,
|
"bold": 0,
|
||||||
"collapsible": 0,
|
"collapsible": 0,
|
||||||
|
"columns": 0,
|
||||||
"default": "1",
|
"default": "1",
|
||||||
"description": "If enabled, the system will post accounting entries for inventory automatically.",
|
"description": "If enabled, the system will post accounting entries for inventory automatically.",
|
||||||
"fieldname": "auto_accounting_for_stock",
|
"fieldname": "auto_accounting_for_stock",
|
||||||
@ -41,6 +42,7 @@
|
|||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
"bold": 0,
|
"bold": 0,
|
||||||
"collapsible": 0,
|
"collapsible": 0,
|
||||||
|
"columns": 0,
|
||||||
"description": "Accounting entry frozen up to this date, nobody can do / modify entry except role specified below.",
|
"description": "Accounting entry frozen up to this date, nobody can do / modify entry except role specified below.",
|
||||||
"fieldname": "acc_frozen_upto",
|
"fieldname": "acc_frozen_upto",
|
||||||
"fieldtype": "Date",
|
"fieldtype": "Date",
|
||||||
@ -66,6 +68,7 @@
|
|||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
"bold": 0,
|
"bold": 0,
|
||||||
"collapsible": 0,
|
"collapsible": 0,
|
||||||
|
"columns": 0,
|
||||||
"description": "Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts",
|
"description": "Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts",
|
||||||
"fieldname": "frozen_accounts_modifier",
|
"fieldname": "frozen_accounts_modifier",
|
||||||
"fieldtype": "Link",
|
"fieldtype": "Link",
|
||||||
@ -92,6 +95,7 @@
|
|||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
"bold": 0,
|
"bold": 0,
|
||||||
"collapsible": 0,
|
"collapsible": 0,
|
||||||
|
"columns": 0,
|
||||||
"fieldname": "column_break_4",
|
"fieldname": "column_break_4",
|
||||||
"fieldtype": "Column Break",
|
"fieldtype": "Column Break",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
@ -116,6 +120,7 @@
|
|||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
"bold": 0,
|
"bold": 0,
|
||||||
"collapsible": 0,
|
"collapsible": 0,
|
||||||
|
"columns": 0,
|
||||||
"description": "Role that is allowed to submit transactions that exceed credit limits set.",
|
"description": "Role that is allowed to submit transactions that exceed credit limits set.",
|
||||||
"fieldname": "credit_controller",
|
"fieldname": "credit_controller",
|
||||||
"fieldtype": "Link",
|
"fieldtype": "Link",
|
||||||
@ -142,6 +147,7 @@
|
|||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
"bold": 0,
|
"bold": 0,
|
||||||
"collapsible": 0,
|
"collapsible": 0,
|
||||||
|
"columns": 0,
|
||||||
"fieldname": "check_supplier_invoice_uniqueness",
|
"fieldname": "check_supplier_invoice_uniqueness",
|
||||||
"fieldtype": "Check",
|
"fieldtype": "Check",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
@ -162,6 +168,32 @@
|
|||||||
"search_index": 0,
|
"search_index": 0,
|
||||||
"set_only_once": 0,
|
"set_only_once": 0,
|
||||||
"unique": 0
|
"unique": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"allow_on_submit": 0,
|
||||||
|
"bold": 0,
|
||||||
|
"collapsible": 0,
|
||||||
|
"columns": 0,
|
||||||
|
"fieldname": "make_payment_via_journal_entry",
|
||||||
|
"fieldtype": "Check",
|
||||||
|
"hidden": 0,
|
||||||
|
"ignore_user_permissions": 0,
|
||||||
|
"ignore_xss_filter": 0,
|
||||||
|
"in_filter": 0,
|
||||||
|
"in_list_view": 0,
|
||||||
|
"label": "Make Payment via Journal Entry",
|
||||||
|
"length": 0,
|
||||||
|
"no_copy": 0,
|
||||||
|
"permlevel": 0,
|
||||||
|
"precision": "",
|
||||||
|
"print_hide": 0,
|
||||||
|
"print_hide_if_no_value": 0,
|
||||||
|
"read_only": 0,
|
||||||
|
"report_hide": 0,
|
||||||
|
"reqd": 0,
|
||||||
|
"search_index": 0,
|
||||||
|
"set_only_once": 0,
|
||||||
|
"unique": 0
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"hide_heading": 0,
|
"hide_heading": 0,
|
||||||
@ -175,8 +207,8 @@
|
|||||||
"issingle": 1,
|
"issingle": 1,
|
||||||
"istable": 0,
|
"istable": 0,
|
||||||
"max_attachments": 0,
|
"max_attachments": 0,
|
||||||
"modified": "2016-07-14 14:32:06.056888",
|
"modified": "2016-10-05 16:13:10.978208",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "rohitw1991@gmail.com",
|
||||||
"module": "Accounts",
|
"module": "Accounts",
|
||||||
"name": "Accounts Settings",
|
"name": "Accounts Settings",
|
||||||
"owner": "Administrator",
|
"owner": "Administrator",
|
||||||
@ -191,6 +223,7 @@
|
|||||||
"export": 0,
|
"export": 0,
|
||||||
"if_owner": 0,
|
"if_owner": 0,
|
||||||
"import": 0,
|
"import": 0,
|
||||||
|
"is_custom": 0,
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
"print": 1,
|
"print": 1,
|
||||||
"read": 1,
|
"read": 1,
|
||||||
|
@ -243,6 +243,6 @@ def save_invoice(e, si_doc, name):
|
|||||||
|
|
||||||
def make_scheduler_log(e, sales_invoice):
|
def make_scheduler_log(e, sales_invoice):
|
||||||
scheduler_log = frappe.new_doc('Scheduler Log')
|
scheduler_log = frappe.new_doc('Scheduler Log')
|
||||||
|
scheduler_log.method = "erpnext.accounts.doctype.sales_invoice.pos.make_invoice"
|
||||||
scheduler_log.error = e
|
scheduler_log.error = e
|
||||||
scheduler_log.sales_invoice = sales_invoice
|
|
||||||
scheduler_log.save(ignore_permissions=True)
|
scheduler_log.save(ignore_permissions=True)
|
@ -26,6 +26,9 @@ class AccountsController(TransactionBase):
|
|||||||
|
|
||||||
return self.__company_currency
|
return self.__company_currency
|
||||||
|
|
||||||
|
def onload(self):
|
||||||
|
self.get("__onload").make_payment_via_journal_entry = frappe.db.get_single_value('Accounts Settings', 'make_payment_via_journal_entry')
|
||||||
|
|
||||||
def validate(self):
|
def validate(self):
|
||||||
if self.get("_action") and self._action != "update_after_submit":
|
if self.get("_action") and self._action != "update_after_submit":
|
||||||
self.set_missing_values(for_validate=True)
|
self.set_missing_values(for_validate=True)
|
||||||
|
@ -23,6 +23,7 @@ class SellingController(StockController):
|
|||||||
self.grand_total)
|
self.grand_total)
|
||||||
|
|
||||||
def onload(self):
|
def onload(self):
|
||||||
|
super(SellingController, self).onload()
|
||||||
if self.doctype in ("Sales Order", "Delivery Note", "Sales Invoice"):
|
if self.doctype in ("Sales Order", "Delivery Note", "Sales Invoice"):
|
||||||
for item in self.get("items"):
|
for item in self.get("items"):
|
||||||
item.update(get_bin_details(item.item_code,
|
item.update(get_bin_details(item.item_code,
|
||||||
|
@ -301,12 +301,7 @@ class StatusUpdater(Document):
|
|||||||
ref_doc = frappe.get_doc(ref_dt, ref_dn)
|
ref_doc = frappe.get_doc(ref_dt, ref_dn)
|
||||||
|
|
||||||
ref_doc.db_set("per_billed", per_billed)
|
ref_doc.db_set("per_billed", per_billed)
|
||||||
|
ref_doc.set_status(update=True)
|
||||||
if frappe.get_meta(ref_dt).get_field("billing_status"):
|
|
||||||
if per_billed < 0.001: billing_status = "Not Billed"
|
|
||||||
elif per_billed >= 99.99: billing_status = "Fully Billed"
|
|
||||||
else: billing_status = "Partly Billed"
|
|
||||||
ref_doc.db_set('billing_status', billing_status)
|
|
||||||
|
|
||||||
def get_tolerance_for(item_code, item_tolerance={}, global_tolerance=None):
|
def get_tolerance_for(item_code, item_tolerance={}, global_tolerance=None):
|
||||||
"""
|
"""
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 102 KiB |
Binary file not shown.
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 82 KiB |
@ -3,6 +3,7 @@ opening-accounts
|
|||||||
sales-invoice
|
sales-invoice
|
||||||
point-of-sale-pos-invoice
|
point-of-sale-pos-invoice
|
||||||
purchase-invoice
|
purchase-invoice
|
||||||
|
payments
|
||||||
journal-entry
|
journal-entry
|
||||||
payment-entry
|
payment-entry
|
||||||
multi-currency-accounting
|
multi-currency-accounting
|
||||||
|
48
erpnext/docs/user/manual/en/accounts/payments.md
Normal file
48
erpnext/docs/user/manual/en/accounts/payments.md
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
Payment can be made against following transactions.
|
||||||
|
|
||||||
|
1. Sales Invoice.
|
||||||
|
2. Purchase Invoice.
|
||||||
|
3. Sales Order (Advance Payment)
|
||||||
|
4. Purchase Order (Advance Payment)
|
||||||
|
|
||||||
|
In ERPNext, there is two options through which user can capture the payment
|
||||||
|
|
||||||
|
1. Payment Entry(Default).
|
||||||
|
2. Journal Entry.
|
||||||
|
|
||||||
|
## Payment Entry
|
||||||
|
|
||||||
|
####Step 1: Make Payment
|
||||||
|
|
||||||
|
On submitting a document against which Payment Entry can be made, you will find Make Payment button.
|
||||||
|
|
||||||
|
<img class="screenshot" alt="Making Payment" src="{{docs_base_url}}/assets/img/accounts/payment-entry-1.png">
|
||||||
|
|
||||||
|
####Step 2: Payment Entry
|
||||||
|
|
||||||
|
<img class="screenshot" alt="Making Payment" src="{{docs_base_url}}/assets/img/accounts/payment-entry-9.png">
|
||||||
|
|
||||||
|
For more details about payment entry [check here.](https://frappe.github.io/erpnext/user/manual/en/accounts/payment-entry)
|
||||||
|
|
||||||
|
## Journal Entry
|
||||||
|
|
||||||
|
To make paymant using journal entry, check below steps
|
||||||
|
|
||||||
|
####Step 1: Activate Payment via Journal Entry
|
||||||
|
|
||||||
|
Goto Accounts Settings > checked Make Payment via Journal Entry
|
||||||
|
|
||||||
|
<img class="screenshot" alt="Making Payment" src="{{docs_base_url}}/assets/img/accounts/account-settings.png">
|
||||||
|
|
||||||
|
####Step 2: Make Payment
|
||||||
|
|
||||||
|
On submitting a document against which Journal Entry can be made, you will find Make Payment button.
|
||||||
|
|
||||||
|
<img class="screenshot" alt="Making Payment" src="{{docs_base_url}}/assets/img/accounts/payment-entry-1.png">
|
||||||
|
|
||||||
|
####Step 3: Journal Entry
|
||||||
|
|
||||||
|
Save and submit the journal entry to record the payament against the invoice
|
||||||
|
<img class="screenshot" alt="Making Payment" src="{{docs_base_url}}/assets/img/accounts/journal-entry.png">
|
||||||
|
|
||||||
|
For more details about journal entry [check here.](https://frappe.github.io/erpnext/user/manual/en/accounts/journal-entry)
|
@ -129,9 +129,6 @@ cur_frm.cscript.calculate_total = function(doc,cdt,cdn){
|
|||||||
doc.total_sanctioned_amount = 0;
|
doc.total_sanctioned_amount = 0;
|
||||||
$.each((doc.expenses || []), function(i, d) {
|
$.each((doc.expenses || []), function(i, d) {
|
||||||
doc.total_claimed_amount += d.claim_amount;
|
doc.total_claimed_amount += d.claim_amount;
|
||||||
if(d.sanctioned_amount==null) {
|
|
||||||
d.sanctioned_amount = d.claim_amount;
|
|
||||||
}
|
|
||||||
doc.total_sanctioned_amount += d.sanctioned_amount;
|
doc.total_sanctioned_amount += d.sanctioned_amount;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -144,17 +141,6 @@ cur_frm.cscript.calculate_total_amount = function(doc,cdt,cdn){
|
|||||||
cur_frm.cscript.calculate_total(doc,cdt,cdn);
|
cur_frm.cscript.calculate_total(doc,cdt,cdn);
|
||||||
}
|
}
|
||||||
|
|
||||||
cur_frm.cscript.claim_amount = function(doc,cdt,cdn){
|
|
||||||
cur_frm.cscript.calculate_total(doc,cdt,cdn);
|
|
||||||
|
|
||||||
var child = locals[cdt][cdn];
|
|
||||||
refresh_field("sanctioned_amount", child.name, child.parentfield);
|
|
||||||
}
|
|
||||||
|
|
||||||
cur_frm.cscript.sanctioned_amount = function(doc,cdt,cdn){
|
|
||||||
cur_frm.cscript.calculate_total(doc,cdt,cdn);
|
|
||||||
}
|
|
||||||
|
|
||||||
cur_frm.cscript.on_submit = function(doc, cdt, cdn) {
|
cur_frm.cscript.on_submit = function(doc, cdt, cdn) {
|
||||||
if(cint(frappe.boot.notification_settings && frappe.boot.notification_settings.expense_claim)) {
|
if(cint(frappe.boot.notification_settings && frappe.boot.notification_settings.expense_claim)) {
|
||||||
cur_frm.email_doc(frappe.boot.notification_settings.expense_claim_message);
|
cur_frm.email_doc(frappe.boot.notification_settings.expense_claim_message);
|
||||||
@ -172,6 +158,25 @@ erpnext.expense_claim = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
frappe.ui.form.on("Expense Claim Detail", {
|
||||||
|
claim_amount: function(frm, cdt, cdn) {
|
||||||
|
var child = locals[cdt][cdn];
|
||||||
|
var doc = frm.doc;
|
||||||
|
|
||||||
|
if(!child.sanctioned_amount){
|
||||||
|
frappe.model.set_value(cdt, cdn, 'sanctioned_amount', child.claim_amount)
|
||||||
|
}
|
||||||
|
|
||||||
|
cur_frm.cscript.calculate_total(doc,cdt,cdn);
|
||||||
|
},
|
||||||
|
|
||||||
|
sanctioned_amount: function(frm, cdt, cdn) {
|
||||||
|
var doc = frm.doc;
|
||||||
|
cur_frm.cscript.calculate_total(doc,cdt,cdn);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
frappe.ui.form.on("Expense Claim", "employee_name", function(frm) {
|
frappe.ui.form.on("Expense Claim", "employee_name", function(frm) {
|
||||||
erpnext.expense_claim.set_title(frm);
|
erpnext.expense_claim.set_title(frm);
|
||||||
});
|
});
|
||||||
|
@ -318,3 +318,5 @@ erpnext.patches.v7_0.set_party_name_in_payment_entry
|
|||||||
execute:frappe.db.sql("update `tabTimesheet` ts, `tabEmployee` emp set ts.employee_name = emp.employee_name where emp.name = ts.employee and ts.employee_name is null and ts.employee is not null")
|
execute:frappe.db.sql("update `tabTimesheet` ts, `tabEmployee` emp set ts.employee_name = emp.employee_name where emp.name = ts.employee and ts.employee_name is null and ts.employee is not null")
|
||||||
execute:frappe.db.sql("delete from `tabTimesheet Detail` where NOT EXISTS (select name from `tabTimesheet` where name = `tabTimesheet Detail`.parent)")
|
execute:frappe.db.sql("delete from `tabTimesheet Detail` where NOT EXISTS (select name from `tabTimesheet` where name = `tabTimesheet Detail`.parent)")
|
||||||
erpnext.patches.v7_0.update_mode_of_payment_type
|
erpnext.patches.v7_0.update_mode_of_payment_type
|
||||||
|
finally:erpnext.patches.v7_0.update_timesheet_communications
|
||||||
|
erpnext.patches.v7_0.update_status_of_zero_amount_sales_order
|
||||||
|
@ -10,9 +10,11 @@ def execute():
|
|||||||
for dt in ("assessment", "announcement", "course", "fees"):
|
for dt in ("assessment", "announcement", "course", "fees"):
|
||||||
frappe.reload_doc("schools", "doctype", dt)
|
frappe.reload_doc("schools", "doctype", dt)
|
||||||
|
|
||||||
|
frappe.reload_doc('website', 'doctype', 'portal_menu_item')
|
||||||
|
|
||||||
frappe.get_doc('Portal Settings').sync_menu()
|
frappe.get_doc('Portal Settings').sync_menu()
|
||||||
|
|
||||||
if 'schools' in frappe.get_installed_apps():
|
if 'schools' in frappe.get_installed_apps():
|
||||||
domainify.setup_domain('Education')
|
domainify.setup_domain('Education')
|
||||||
else:
|
else:
|
||||||
domainify.setup_sidebar_items(domainify.get_domain('Manufacturing'))
|
domainify.setup_sidebar_items(domainify.get_domain('Manufacturing'))
|
||||||
|
@ -0,0 +1,7 @@
|
|||||||
|
from __future__ import unicode_literals
|
||||||
|
import frappe
|
||||||
|
|
||||||
|
def execute():
|
||||||
|
for data in frappe.get_all('Sales Order', fields = ["name"], filters = [["docstatus", "=", "1"], ["grand_total", "=", "0"]]):
|
||||||
|
sales_order = frappe.get_doc('Sales Order', data.name)
|
||||||
|
sales_order.set_status(update=True, update_modified = False)
|
27
erpnext/patches/v7_0/update_timesheet_communications
Normal file
27
erpnext/patches/v7_0/update_timesheet_communications
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
from __future__ import unicode_literals
|
||||||
|
import frappe
|
||||||
|
|
||||||
|
def execute():
|
||||||
|
if frappe.db.table_exists("Time Log"):
|
||||||
|
timesheet = frappe.db.sql("""SELECT ts.name AS name, tl.name AS timelogname,
|
||||||
|
tl.modified AS modified, tl.modified_by AS modified_by, tl.creation AS creation, tl.owner AS owner
|
||||||
|
FROM
|
||||||
|
`tabTimesheet` ts, `tabTimesheet Detail` tsd, `tabTime Log` tl
|
||||||
|
WHERE
|
||||||
|
tsd.parent = ts.name AND tl.from_time = tsd.from_time AND tl.to_time = tsd.to_time
|
||||||
|
AND tl.hours = tsd.hours AND tl.billing_rate = tsd.billing_rate AND tsd.idx=1
|
||||||
|
AND tl.docstatus < 2""", as_dict=1)
|
||||||
|
|
||||||
|
for data in timesheet:
|
||||||
|
frappe.db.sql(""" update `tabTimesheet` set creation = %(creation)s,
|
||||||
|
owner = %(owner)s, modified = %(modified)s, modified_by = %(modified_by)s
|
||||||
|
where name = %(name)s""", data)
|
||||||
|
|
||||||
|
frappe.db.sql("""
|
||||||
|
update
|
||||||
|
tabCommunication
|
||||||
|
set
|
||||||
|
reference_doctype = "Timesheet", reference_name = %(timesheet)s
|
||||||
|
where
|
||||||
|
reference_doctype = "Time Log" and reference_name = %(timelog)s
|
||||||
|
""", {'timesheet': data.name, 'timelog': data.timelogname}, auto_commit=1)
|
@ -989,7 +989,7 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({
|
|||||||
|
|
||||||
make_payment_entry: function() {
|
make_payment_entry: function() {
|
||||||
return frappe.call({
|
return frappe.call({
|
||||||
method: "erpnext.accounts.doctype.payment_entry.payment_entry.get_payment_entry",
|
method: cur_frm.cscript.get_method_for_payment(),
|
||||||
args: {
|
args: {
|
||||||
"dt": cur_frm.doc.doctype,
|
"dt": cur_frm.doc.doctype,
|
||||||
"dn": cur_frm.doc.name
|
"dn": cur_frm.doc.name
|
||||||
@ -1000,5 +1000,18 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({
|
|||||||
// cur_frm.refresh_fields()
|
// cur_frm.refresh_fields()
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
get_method_for_payment: function(){
|
||||||
|
method = "erpnext.accounts.doctype.payment_entry.payment_entry.get_payment_entry"
|
||||||
|
if(cur_frm.doc.__onload && cur_frm.doc.__onload.make_payment_via_journal_entry){
|
||||||
|
if(in_list(['Sales Invoice', 'Purchase Invoice'], cur_frm.doc.doctype)){
|
||||||
|
method = "erpnext.accounts.doctype.journal_entry.journal_entry.get_payment_entry_against_invoice"
|
||||||
|
}else {
|
||||||
|
method= "erpnext.accounts.doctype.journal_entry.journal_entry.get_payment_entry_against_order"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return method
|
||||||
}
|
}
|
||||||
});
|
});
|
@ -9,7 +9,9 @@ frappe.ui.form.on("Notification Control", {
|
|||||||
frm.set_value("custom_message", frm.doc[frm.events.get_fieldname(frm)]);
|
frm.set_value("custom_message", frm.doc[frm.events.get_fieldname(frm)]);
|
||||||
},
|
},
|
||||||
set_message: function(frm) {
|
set_message: function(frm) {
|
||||||
frm.set_value(frm.events.get_fieldname(frm), frm.doc.custom_message);
|
if(frm.doc.select_transaction && frm.doc.select_transaction !== "") {
|
||||||
|
frm.set_value(frm.events.get_fieldname(frm), frm.doc.custom_message);
|
||||||
|
}
|
||||||
frm.save();
|
frm.save();
|
||||||
},
|
},
|
||||||
get_fieldname: function(frm) {
|
get_fieldname: function(frm) {
|
||||||
|
@ -567,7 +567,7 @@ class Item(WebsiteGenerator):
|
|||||||
existing_allow_negative_stock = frappe.db.get_value("Stock Settings", None, "allow_negative_stock")
|
existing_allow_negative_stock = frappe.db.get_value("Stock Settings", None, "allow_negative_stock")
|
||||||
frappe.db.set_value("Stock Settings", None, "allow_negative_stock", 1)
|
frappe.db.set_value("Stock Settings", None, "allow_negative_stock", 1)
|
||||||
|
|
||||||
for warehouse in frappe.db.sql("select name from `tabWarehouse`"):
|
for warehouse in frappe.db.sql("select name from `tabWarehouse` where is_group = 0"):
|
||||||
repost_stock(new_name, warehouse[0])
|
repost_stock(new_name, warehouse[0])
|
||||||
|
|
||||||
frappe.db.set_value("Stock Settings", None, "allow_negative_stock", existing_allow_negative_stock)
|
frappe.db.set_value("Stock Settings", None, "allow_negative_stock", existing_allow_negative_stock)
|
||||||
|
@ -407,7 +407,7 @@ DocType: Employee,Single,Unique
|
|||||||
DocType: Account,Cost of Goods Sold,Coût des marchandises vendues
|
DocType: Account,Cost of Goods Sold,Coût des marchandises vendues
|
||||||
DocType: Purchase Invoice,Yearly,Annuel
|
DocType: Purchase Invoice,Yearly,Annuel
|
||||||
apps/erpnext/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py +229,Please enter Cost Center,S'il vous plaît entrer Centre de coûts
|
apps/erpnext/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py +229,Please enter Cost Center,S'il vous plaît entrer Centre de coûts
|
||||||
DocType: Journal Entry Account,Sales Order,Bon de commande
|
DocType: Journal Entry Account,Sales Order,commande client
|
||||||
apps/erpnext/erpnext/accounts/report/gross_profit/gross_profit.py +67,Avg. Selling Rate,Moy. Taux de vente
|
apps/erpnext/erpnext/accounts/report/gross_profit/gross_profit.py +67,Avg. Selling Rate,Moy. Taux de vente
|
||||||
DocType: Examination,Examiner Name,Nom de l'examinateur
|
DocType: Examination,Examiner Name,Nom de l'examinateur
|
||||||
apps/erpnext/erpnext/utilities/transaction_base.py +149,Quantity cannot be a fraction in row {0},La quantité ne peut pas être une fraction à la ligne {0}
|
apps/erpnext/erpnext/utilities/transaction_base.py +149,Quantity cannot be a fraction in row {0},La quantité ne peut pas être une fraction à la ligne {0}
|
||||||
@ -991,7 +991,7 @@ apps/erpnext/erpnext/patches/v4_0/create_price_list_if_missing.py +18,Standard B
|
|||||||
DocType: GL Entry,Against,Contre
|
DocType: GL Entry,Against,Contre
|
||||||
DocType: Item,Default Selling Cost Center,Coût des marchandises vendues
|
DocType: Item,Default Selling Cost Center,Coût des marchandises vendues
|
||||||
DocType: Sales Partner,Implementation Partner,Partenaire de mise en œuvre
|
DocType: Sales Partner,Implementation Partner,Partenaire de mise en œuvre
|
||||||
apps/erpnext/erpnext/controllers/selling_controller.py +231,Sales Order {0} is {1},Bon de commande {0} est {1}
|
apps/erpnext/erpnext/controllers/selling_controller.py +231,Sales Order {0} is {1},commande client {0} est {1}
|
||||||
DocType: Opportunity,Contact Info,Information de contact
|
DocType: Opportunity,Contact Info,Information de contact
|
||||||
apps/erpnext/erpnext/config/stock.py +299,Making Stock Entries,Faire des entrées stock
|
apps/erpnext/erpnext/config/stock.py +299,Making Stock Entries,Faire des entrées stock
|
||||||
DocType: Packing Slip,Net Weight UOM,Unité de mesure Poids Net
|
DocType: Packing Slip,Net Weight UOM,Unité de mesure Poids Net
|
||||||
@ -1137,7 +1137,7 @@ DocType: Item,Lead Time in days,Délai en jours
|
|||||||
,Accounts Payable Summary,Le résumé des comptes à payer
|
,Accounts Payable Summary,Le résumé des comptes à payer
|
||||||
apps/erpnext/erpnext/accounts/doctype/gl_entry/gl_entry.py +196,Not authorized to edit frozen Account {0},N'êtes pas autorisé à modifier le compte gelé {0}
|
apps/erpnext/erpnext/accounts/doctype/gl_entry/gl_entry.py +196,Not authorized to edit frozen Account {0},N'êtes pas autorisé à modifier le compte gelé {0}
|
||||||
DocType: Journal Entry,Get Outstanding Invoices,Obtenez les factures impayées
|
DocType: Journal Entry,Get Outstanding Invoices,Obtenez les factures impayées
|
||||||
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.py +62,Sales Order {0} is not valid,Bon de commande {0} invalide
|
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.py +62,Sales Order {0} is not valid,commande client {0} invalide
|
||||||
apps/erpnext/erpnext/setup/doctype/company/company.py +182,"Sorry, companies cannot be merged","Désolé , les entreprises ne peuvent pas être fusionnés"
|
apps/erpnext/erpnext/setup/doctype/company/company.py +182,"Sorry, companies cannot be merged","Désolé , les entreprises ne peuvent pas être fusionnés"
|
||||||
apps/erpnext/erpnext/stock/doctype/material_request/material_request.py +139,"The total Issue / Transfer quantity {0} in Material Request {1} \
|
apps/erpnext/erpnext/stock/doctype/material_request/material_request.py +139,"The total Issue / Transfer quantity {0} in Material Request {1} \
|
||||||
cannot be greater than requested quantity {2} for Item {3}",La quantité Problème / transfert total {0} dans Material Request {1} \ ne peut pas être supérieure à la quantité demandée {2} pour le poste {3}
|
cannot be greater than requested quantity {2} for Item {3}",La quantité Problème / transfert total {0} dans Material Request {1} \ ne peut pas être supérieure à la quantité demandée {2} pour le poste {3}
|
||||||
@ -1590,7 +1590,7 @@ DocType: Authorization Control,Authorization Control,Contrôle d'autorisatio
|
|||||||
apps/erpnext/erpnext/controllers/buying_controller.py +300,Row #{0}: Rejected Warehouse is mandatory against rejected Item {1},Row # {0}: Entrepôt Rejeté est obligatoire contre Item rejeté {1}
|
apps/erpnext/erpnext/controllers/buying_controller.py +300,Row #{0}: Rejected Warehouse is mandatory against rejected Item {1},Row # {0}: Entrepôt Rejeté est obligatoire contre Item rejeté {1}
|
||||||
apps/erpnext/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js +678,Payment,Paiement
|
apps/erpnext/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js +678,Payment,Paiement
|
||||||
DocType: Production Order Operation,Actual Time and Cost,Temps réel et coût
|
DocType: Production Order Operation,Actual Time and Cost,Temps réel et coût
|
||||||
apps/erpnext/erpnext/stock/doctype/material_request/material_request.py +54,Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Demande de Matériel d'un maximum de {0} peut être faite pour l'article {1} par rapport au bon de commande {2}
|
apps/erpnext/erpnext/stock/doctype/material_request/material_request.py +54,Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Demande de Matériel d'un maximum de {0} peut être faite pour l'article {1} par rapport au commande client {2}
|
||||||
DocType: Employee,Salutation,Titre
|
DocType: Employee,Salutation,Titre
|
||||||
DocType: Pricing Rule,Brand,Marque
|
DocType: Pricing Rule,Brand,Marque
|
||||||
DocType: Course,Course Abbreviation,Abréviation de cours
|
DocType: Course,Course Abbreviation,Abréviation de cours
|
||||||
@ -1863,7 +1863,7 @@ apps/erpnext/erpnext/public/js/setup_wizard.js +52,"e.g. ""Build tools for build
|
|||||||
DocType: Quality Inspection,In Process,En cours
|
DocType: Quality Inspection,In Process,En cours
|
||||||
DocType: Authorization Rule,Itemwise Discount,Remise (par Article)
|
DocType: Authorization Rule,Itemwise Discount,Remise (par Article)
|
||||||
apps/erpnext/erpnext/config/accounts.py +63,Tree of financial accounts.,Arbre des comptes financiers.
|
apps/erpnext/erpnext/config/accounts.py +63,Tree of financial accounts.,Arbre des comptes financiers.
|
||||||
apps/erpnext/erpnext/accounts/doctype/journal_entry/journal_entry.py +334,{0} against Sales Order {1},{0} contre le bon de commande de vente {1}
|
apps/erpnext/erpnext/accounts/doctype/journal_entry/journal_entry.py +334,{0} against Sales Order {1},{0} contre le commande client de vente {1}
|
||||||
DocType: Account,Fixed Asset,Actifs immobilisés
|
DocType: Account,Fixed Asset,Actifs immobilisés
|
||||||
apps/erpnext/erpnext/config/stock.py +304,Serialized Inventory,Inventaire sérialisé
|
apps/erpnext/erpnext/config/stock.py +304,Serialized Inventory,Inventaire sérialisé
|
||||||
DocType: Activity Type,Default Billing Rate,Prix facturation par défaut
|
DocType: Activity Type,Default Billing Rate,Prix facturation par défaut
|
||||||
@ -2153,7 +2153,7 @@ DocType: Homepage,Homepage,Page d'accueil
|
|||||||
DocType: Purchase Receipt Item,Recd Quantity,Quantité reçue
|
DocType: Purchase Receipt Item,Recd Quantity,Quantité reçue
|
||||||
apps/erpnext/erpnext/schools/doctype/program_enrollment/program_enrollment.py +54,Fee Records Created - {0},Records Fee Créé - {0}
|
apps/erpnext/erpnext/schools/doctype/program_enrollment/program_enrollment.py +54,Fee Records Created - {0},Records Fee Créé - {0}
|
||||||
DocType: Asset Category Account,Asset Category Account,Catégorie d'actif compte
|
DocType: Asset Category Account,Asset Category Account,Catégorie d'actif compte
|
||||||
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.py +103,Cannot produce more Item {0} than Sales Order quantity {1},Ne peut pas produire plus d'article {0} que de la qté du bon de commande {1}
|
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.py +103,Cannot produce more Item {0} than Sales Order quantity {1},Ne peut pas produire plus d'article {0} que de la qté du commande client {1}
|
||||||
apps/erpnext/erpnext/accounts/doctype/journal_entry/journal_entry.py +504,Stock Entry {0} is not submitted,Entrée stock {0} est pas soumis
|
apps/erpnext/erpnext/accounts/doctype/journal_entry/journal_entry.py +504,Stock Entry {0} is not submitted,Entrée stock {0} est pas soumis
|
||||||
DocType: Payment Reconciliation,Bank / Cash Account,Banque et liquidités
|
DocType: Payment Reconciliation,Bank / Cash Account,Banque et liquidités
|
||||||
DocType: Tax Rule,Billing City,Ville de facturation
|
DocType: Tax Rule,Billing City,Ville de facturation
|
||||||
@ -2499,7 +2499,7 @@ apps/erpnext/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
|
|||||||
DocType: Program Enrollment Tool,Get Students,Obtenez étudiants
|
DocType: Program Enrollment Tool,Get Students,Obtenez étudiants
|
||||||
DocType: Serial No,Under Warranty,Sous garantie
|
DocType: Serial No,Under Warranty,Sous garantie
|
||||||
apps/erpnext/erpnext/accounts/doctype/sales_invoice/sales_invoice.js +447,[Error],[Erreur]
|
apps/erpnext/erpnext/accounts/doctype/sales_invoice/sales_invoice.js +447,[Error],[Erreur]
|
||||||
DocType: Sales Order,In Words will be visible once you save the Sales Order.,En Toutes Lettres. Sera visible une fois que vous enregistrerez le bon de commande.
|
DocType: Sales Order,In Words will be visible once you save the Sales Order.,En Toutes Lettres. Sera visible une fois que vous enregistrerez le commande client.
|
||||||
,Employee Birthday,Anniversaire de l'employé
|
,Employee Birthday,Anniversaire de l'employé
|
||||||
apps/erpnext/erpnext/controllers/status_updater.py +175,Limit Crossed,Limite Crossed
|
apps/erpnext/erpnext/controllers/status_updater.py +175,Limit Crossed,Limite Crossed
|
||||||
apps/erpnext/erpnext/setup/setup_wizard/industry_type.py +55,Venture Capital,Capital Risque
|
apps/erpnext/erpnext/setup/setup_wizard/industry_type.py +55,Venture Capital,Capital Risque
|
||||||
@ -2734,7 +2734,7 @@ apps/erpnext/erpnext/setup/doctype/item_group/item_group.py +59,"An item exists
|
|||||||
apps/erpnext/erpnext/accounts/page/pos/pos.js +1171,Please select customer,S'il vous plaît sélectionner client
|
apps/erpnext/erpnext/accounts/page/pos/pos.js +1171,Please select customer,S'il vous plaît sélectionner client
|
||||||
DocType: C-Form,I,je
|
DocType: C-Form,I,je
|
||||||
DocType: Company,Asset Depreciation Cost Center,Asset Centre Amortissements
|
DocType: Company,Asset Depreciation Cost Center,Asset Centre Amortissements
|
||||||
DocType: Sales Order Item,Sales Order Date,Date du bon de Commande
|
DocType: Sales Order Item,Sales Order Date,Date du commande client
|
||||||
DocType: Sales Invoice Item,Delivered Qty,Qté livrée
|
DocType: Sales Invoice Item,Delivered Qty,Qté livrée
|
||||||
apps/erpnext/erpnext/stock/doctype/warehouse/warehouse.py +86,Warehouse {0}: Company is mandatory,Entrepôt {0}: Société est obligatoire
|
apps/erpnext/erpnext/stock/doctype/warehouse/warehouse.py +86,Warehouse {0}: Company is mandatory,Entrepôt {0}: Société est obligatoire
|
||||||
,Payment Period Based On Invoice Date,Période de paiement basé sur Date de la facture
|
,Payment Period Based On Invoice Date,Période de paiement basé sur Date de la facture
|
||||||
@ -3421,7 +3421,7 @@ DocType: Task,Total Expense Claim (via Expense Claim),Frais totaux (via Note de
|
|||||||
apps/erpnext/erpnext/accounts/report/sales_register/sales_register.py +69,Customer Id,Client Id
|
apps/erpnext/erpnext/accounts/report/sales_register/sales_register.py +69,Customer Id,Client Id
|
||||||
apps/erpnext/erpnext/hr/doctype/employee_attendance_tool/employee_attendance_tool.js +176,Mark Absent,Marquer absent
|
apps/erpnext/erpnext/hr/doctype/employee_attendance_tool/employee_attendance_tool.js +176,Mark Absent,Marquer absent
|
||||||
DocType: Journal Entry Account,Exchange Rate,Taux de change
|
DocType: Journal Entry Account,Exchange Rate,Taux de change
|
||||||
apps/erpnext/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +461,Sales Order {0} is not submitted,Bon de commande {0} n'a pas été transmis
|
apps/erpnext/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +461,Sales Order {0} is not submitted,commande client {0} n'a pas été transmis
|
||||||
DocType: Homepage,Tag Line,Tag ligne
|
DocType: Homepage,Tag Line,Tag ligne
|
||||||
apps/erpnext/erpnext/buying/doctype/purchase_order/purchase_order.js +804,Add items from,Ajouter des articles de
|
apps/erpnext/erpnext/buying/doctype/purchase_order/purchase_order.js +804,Add items from,Ajouter des articles de
|
||||||
apps/erpnext/erpnext/stock/doctype/warehouse/warehouse.py +97,Warehouse {0}: Parent account {1} does not bolong to the company {2},Entrepôt {0}: le Compte Parent {1} n'appartient pas à la société {2}
|
apps/erpnext/erpnext/stock/doctype/warehouse/warehouse.py +97,Warehouse {0}: Parent account {1} does not bolong to the company {2},Entrepôt {0}: le Compte Parent {1} n'appartient pas à la société {2}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user