Merge branch 'hotfix'
This commit is contained in:
		
						commit
						f69edb3fa3
					
				| @ -2,7 +2,7 @@ | ||||
| from __future__ import unicode_literals | ||||
| import frappe | ||||
| 
 | ||||
| __version__ = '7.0.55' | ||||
| __version__ = '7.0.56' | ||||
| 
 | ||||
| def get_default_company(user=None): | ||||
| 	'''Get default company for user''' | ||||
|  | ||||
| @ -15,6 +15,7 @@ | ||||
|    "allow_on_submit": 0,  | ||||
|    "bold": 0,  | ||||
|    "collapsible": 0,  | ||||
|    "columns": 0,  | ||||
|    "default": "1",  | ||||
|    "description": "If enabled, the system will post accounting entries for inventory automatically.",  | ||||
|    "fieldname": "auto_accounting_for_stock",  | ||||
| @ -41,6 +42,7 @@ | ||||
|    "allow_on_submit": 0,  | ||||
|    "bold": 0,  | ||||
|    "collapsible": 0,  | ||||
|    "columns": 0,  | ||||
|    "description": "Accounting entry frozen up to this date, nobody can do / modify entry except role specified below.",  | ||||
|    "fieldname": "acc_frozen_upto",  | ||||
|    "fieldtype": "Date",  | ||||
| @ -66,6 +68,7 @@ | ||||
|    "allow_on_submit": 0,  | ||||
|    "bold": 0,  | ||||
|    "collapsible": 0,  | ||||
|    "columns": 0,  | ||||
|    "description": "Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts",  | ||||
|    "fieldname": "frozen_accounts_modifier",  | ||||
|    "fieldtype": "Link",  | ||||
| @ -92,6 +95,7 @@ | ||||
|    "allow_on_submit": 0,  | ||||
|    "bold": 0,  | ||||
|    "collapsible": 0,  | ||||
|    "columns": 0,  | ||||
|    "fieldname": "column_break_4",  | ||||
|    "fieldtype": "Column Break",  | ||||
|    "hidden": 0,  | ||||
| @ -116,6 +120,7 @@ | ||||
|    "allow_on_submit": 0,  | ||||
|    "bold": 0,  | ||||
|    "collapsible": 0,  | ||||
|    "columns": 0,  | ||||
|    "description": "Role that is allowed to submit transactions that exceed credit limits set.",  | ||||
|    "fieldname": "credit_controller",  | ||||
|    "fieldtype": "Link",  | ||||
| @ -142,6 +147,7 @@ | ||||
|    "allow_on_submit": 0,  | ||||
|    "bold": 0,  | ||||
|    "collapsible": 0,  | ||||
|    "columns": 0,  | ||||
|    "fieldname": "check_supplier_invoice_uniqueness",  | ||||
|    "fieldtype": "Check",  | ||||
|    "hidden": 0,  | ||||
| @ -162,6 +168,32 @@ | ||||
|    "search_index": 0,  | ||||
|    "set_only_once": 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,  | ||||
| @ -175,8 +207,8 @@ | ||||
|  "issingle": 1,  | ||||
|  "istable": 0,  | ||||
|  "max_attachments": 0,  | ||||
|  "modified": "2016-07-14 14:32:06.056888",  | ||||
|  "modified_by": "Administrator",  | ||||
|  "modified": "2016-10-05 16:13:10.978208",  | ||||
|  "modified_by": "rohitw1991@gmail.com",  | ||||
|  "module": "Accounts",  | ||||
|  "name": "Accounts Settings",  | ||||
|  "owner": "Administrator",  | ||||
| @ -191,6 +223,7 @@ | ||||
|    "export": 0,  | ||||
|    "if_owner": 0,  | ||||
|    "import": 0,  | ||||
|    "is_custom": 0,  | ||||
|    "permlevel": 0,  | ||||
|    "print": 1,  | ||||
|    "read": 1,  | ||||
|  | ||||
| @ -243,6 +243,6 @@ def save_invoice(e, si_doc, name): | ||||
| 
 | ||||
| def make_scheduler_log(e, sales_invoice): | ||||
| 	scheduler_log = frappe.new_doc('Scheduler Log') | ||||
| 	scheduler_log.method = "erpnext.accounts.doctype.sales_invoice.pos.make_invoice" | ||||
| 	scheduler_log.error = e | ||||
| 	scheduler_log.sales_invoice = sales_invoice | ||||
| 	scheduler_log.save(ignore_permissions=True) | ||||
| @ -26,6 +26,9 @@ class AccountsController(TransactionBase): | ||||
| 
 | ||||
| 		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): | ||||
| 		if self.get("_action") and self._action != "update_after_submit": | ||||
| 			self.set_missing_values(for_validate=True) | ||||
|  | ||||
| @ -23,6 +23,7 @@ class SellingController(StockController): | ||||
| 			self.grand_total) | ||||
| 
 | ||||
| 	def onload(self): | ||||
| 		super(SellingController, self).onload() | ||||
| 		if self.doctype in ("Sales Order", "Delivery Note", "Sales Invoice"): | ||||
| 			for item in self.get("items"): | ||||
| 				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.db_set("per_billed", per_billed) | ||||
| 
 | ||||
| 			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) | ||||
| 			ref_doc.set_status(update=True) | ||||
| 
 | ||||
| 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 | ||||
| point-of-sale-pos-invoice | ||||
| purchase-invoice | ||||
| payments | ||||
| journal-entry | ||||
| payment-entry | ||||
| 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; | ||||
| 	$.each((doc.expenses || []), function(i, d) { | ||||
| 		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; | ||||
| 	}); | ||||
| 
 | ||||
| @ -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.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) { | ||||
| 	if(cint(frappe.boot.notification_settings && frappe.boot.notification_settings.expense_claim)) { | ||||
| 		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) { | ||||
| 	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("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 | ||||
| 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"): | ||||
| 		frappe.reload_doc("schools", "doctype", dt) | ||||
| 		 | ||||
| 	frappe.reload_doc('website', 'doctype', 'portal_menu_item') | ||||
| 		 | ||||
| 	frappe.get_doc('Portal Settings').sync_menu() | ||||
| 	 | ||||
| 	if 'schools' in frappe.get_installed_apps(): | ||||
| 		domainify.setup_domain('Education') | ||||
| 	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() { | ||||
| 		return frappe.call({ | ||||
| 			method: "erpnext.accounts.doctype.payment_entry.payment_entry.get_payment_entry", | ||||
| 			method: cur_frm.cscript.get_method_for_payment(), | ||||
| 			args: { | ||||
| 				"dt": cur_frm.doc.doctype, | ||||
| 				"dn": cur_frm.doc.name | ||||
| @ -1000,5 +1000,18 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({ | ||||
| 				// 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)]); | ||||
| 	}, | ||||
| 	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(); | ||||
| 	}, | ||||
| 	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") | ||||
| 		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]) | ||||
| 
 | ||||
| 		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: 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 | ||||
| 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 | ||||
| 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} | ||||
| @ -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: Item,Default Selling Cost Center,Coût des marchandises vendues | ||||
| 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 | ||||
| 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 | ||||
| @ -1137,7 +1137,7 @@ DocType: Item,Lead Time in days,Délai en jours | ||||
| ,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} | ||||
| 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/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} | ||||
| @ -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/accounts/doctype/purchase_invoice/purchase_invoice.js +678,Payment,Paiement | ||||
| 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: Pricing Rule,Brand,Marque | ||||
| 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: 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/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 | ||||
| apps/erpnext/erpnext/config/stock.py +304,Serialized Inventory,Inventaire sérialisé | ||||
| 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 | ||||
| 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 | ||||
| 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 | ||||
| DocType: Payment Reconciliation,Bank / Cash Account,Banque et liquidités | ||||
| 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: Serial No,Under Warranty,Sous garantie | ||||
| 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é | ||||
| 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 | ||||
| @ -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 | ||||
| DocType: C-Form,I,je | ||||
| 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 | ||||
| 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 | ||||
| @ -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/hr/doctype/employee_attendance_tool/employee_attendance_tool.js +176,Mark Absent,Marquer absent | ||||
| 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 | ||||
| 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} | ||||
|  | ||||
| 
 | 
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user