fixed conflict while merging develop into v5

This commit is contained in:
Nabin Hait 2014-12-31 13:24:36 +05:30
commit 54361e8651
43 changed files with 5821 additions and 5738 deletions

View File

@ -3,8 +3,8 @@
from __future__ import unicode_literals
import frappe
from frappe.utils import flt, cstr, cint, getdate, add_days, formatdate
from frappe import msgprint, throw, _
from frappe.utils import cstr, cint
from frappe import throw, _
from frappe.model.document import Document
class Account(Document):

File diff suppressed because it is too large Load Diff

View File

@ -233,6 +233,11 @@ erpnext.POS = Class.extend({
},
make_item_list: function() {
var me = this;
if(!this.price_list) {
msgprint(__("Price List not found or disabled"));
return;
}
me.item_timeout = null;
frappe.call({
method: 'erpnext.accounts.doctype.sales_invoice.pos.get_items',
@ -486,7 +491,7 @@ erpnext.POS = Class.extend({
});
me.refresh_delete_btn();
if(me.frm.doc[this.party]) {
if(me.frm.doc[this.party.toLowerCase()]) {
this.barcode.$input.focus();
} else {
this.party_field.$input.focus();

View File

@ -216,10 +216,8 @@ $.extend(cur_frm.cscript, new erpnext.accounts.SalesInvoiceController({frm: cur_
// Hide Fields
// ------------
cur_frm.cscript.hide_fields = function(doc) {
par_flds = ['project_name', 'due_date', 'is_opening', 'source', 'total_advance', 'gross_profit',
'gross_profit_percent', 'get_advances_received',
'advances', 'sales_partner', 'commission_rate',
'total_commission', 'advances', 'from_date', 'to_date'];
par_flds = ['project_name', 'due_date', 'is_opening', 'source', 'total_advance', 'get_advances_received',
'advances', 'sales_partner', 'commission_rate', 'total_commission', 'advances', 'from_date', 'to_date'];
item_flds_normal = ['sales_order', 'delivery_note']

File diff suppressed because it is too large Load Diff

View File

@ -1,155 +1,156 @@
{
"autoname": "INVTD.######",
"creation": "2013-04-24 11:39:32",
"docstatus": 0,
"doctype": "DocType",
"autoname": "INVTD.######",
"creation": "2013-04-24 11:39:32",
"docstatus": 0,
"doctype": "DocType",
"fields": [
{
"fieldname": "charge_type",
"fieldtype": "Select",
"in_list_view": 1,
"label": "Type",
"oldfieldname": "charge_type",
"oldfieldtype": "Select",
"options": "\nActual\nOn Net Total\nOn Previous Row Amount\nOn Previous Row Total",
"permlevel": 0,
"fieldname": "charge_type",
"fieldtype": "Select",
"in_list_view": 1,
"label": "Type",
"oldfieldname": "charge_type",
"oldfieldtype": "Select",
"options": "\nActual\nOn Net Total\nOn Previous Row Amount\nOn Previous Row Total",
"permlevel": 0,
"reqd": 1
},
},
{
"depends_on": "eval:[\"On Previous Row Amount\", \"On Previous Row Total\"].indexOf(doc.charge_type)!==-1",
"fieldname": "row_id",
"fieldtype": "Data",
"hidden": 0,
"label": "Reference Row #",
"oldfieldname": "row_id",
"oldfieldtype": "Data",
"depends_on": "eval:[\"On Previous Row Amount\", \"On Previous Row Total\"].indexOf(doc.charge_type)!==-1",
"fieldname": "row_id",
"fieldtype": "Data",
"hidden": 0,
"label": "Reference Row #",
"oldfieldname": "row_id",
"oldfieldtype": "Data",
"permlevel": 0
},
},
{
"fieldname": "description",
"fieldtype": "Small Text",
"in_list_view": 1,
"label": "Description",
"oldfieldname": "description",
"oldfieldtype": "Small Text",
"permlevel": 0,
"print_width": "300px",
"reqd": 1,
"fieldname": "description",
"fieldtype": "Small Text",
"in_list_view": 1,
"label": "Description",
"oldfieldname": "description",
"oldfieldtype": "Small Text",
"permlevel": 0,
"print_width": "300px",
"reqd": 1,
"width": "300px"
},
},
{
"fieldname": "col_break_1",
"fieldtype": "Column Break",
"permlevel": 0,
"fieldname": "col_break_1",
"fieldtype": "Column Break",
"permlevel": 0,
"width": "50%"
},
},
{
"fieldname": "account_head",
"fieldtype": "Link",
"in_list_view": 0,
"label": "Account Head",
"oldfieldname": "account_head",
"oldfieldtype": "Link",
"options": "Account",
"permlevel": 0,
"reqd": 1,
"fieldname": "account_head",
"fieldtype": "Link",
"in_list_view": 0,
"label": "Account Head",
"oldfieldname": "account_head",
"oldfieldtype": "Link",
"options": "Account",
"permlevel": 0,
"reqd": 1,
"search_index": 1
},
},
{
"default": ":Company",
"fieldname": "cost_center",
"fieldtype": "Link",
"in_list_view": 0,
"label": "Cost Center",
"oldfieldname": "cost_center_other_charges",
"oldfieldtype": "Link",
"options": "Cost Center",
"default": ":Company",
"fieldname": "cost_center",
"fieldtype": "Link",
"in_list_view": 0,
"label": "Cost Center",
"oldfieldname": "cost_center_other_charges",
"oldfieldtype": "Link",
"options": "Cost Center",
"permlevel": 0
},
},
{
"fieldname": "rate",
"fieldtype": "Float",
"in_list_view": 1,
"label": "Rate",
"oldfieldname": "rate",
"oldfieldtype": "Currency",
"permlevel": 0,
"fieldname": "rate",
"fieldtype": "Float",
"in_list_view": 1,
"label": "Rate",
"oldfieldname": "rate",
"oldfieldtype": "Currency",
"permlevel": 0,
"reqd": 1
},
},
{
"fieldname": "tax_amount",
"fieldtype": "Currency",
"in_list_view": 1,
"label": "Amount",
"oldfieldname": "tax_amount",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
"permlevel": 0,
"read_only": 1,
"fieldname": "tax_amount",
"fieldtype": "Currency",
"in_list_view": 1,
"label": "Amount",
"oldfieldname": "tax_amount",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
"permlevel": 0,
"read_only": 1,
"reqd": 0
},
},
{
"fieldname": "total",
"fieldtype": "Currency",
"label": "Total",
"oldfieldname": "total",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
"permlevel": 0,
"fieldname": "total",
"fieldtype": "Currency",
"label": "Total",
"oldfieldname": "total",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
"permlevel": 0,
"read_only": 1
},
},
{
"allow_on_submit": 0,
"description": "If checked, the tax amount will be considered as already included in the Print Rate / Print Amount",
"fieldname": "included_in_print_rate",
"fieldtype": "Check",
"label": "Is this Tax included in Basic Rate?",
"no_copy": 0,
"permlevel": 0,
"print_hide": 1,
"print_width": "150px",
"report_hide": 1,
"allow_on_submit": 0,
"description": "If checked, the tax amount will be considered as already included in the Print Rate / Print Amount",
"fieldname": "included_in_print_rate",
"fieldtype": "Check",
"label": "Is this Tax included in Basic Rate?",
"no_copy": 0,
"permlevel": 0,
"print_hide": 1,
"print_width": "150px",
"report_hide": 1,
"width": "150px"
},
},
{
"fieldname": "tax_amount_after_discount_amount",
"fieldtype": "Currency",
"hidden": 1,
"label": "Tax Amount After Discount Amount",
"options": "Company:company:default_currency",
"permlevel": 0,
"depends_on": "eval:parent.discount_amount",
"fieldname": "tax_amount_after_discount_amount",
"fieldtype": "Currency",
"hidden": 0,
"label": "Tax Amount After Discount Amount",
"options": "Company:company:default_currency",
"permlevel": 0,
"read_only": 1
},
},
{
"fieldname": "item_wise_tax_detail",
"fieldtype": "Small Text",
"hidden": 1,
"label": "Item Wise Tax Detail",
"oldfieldname": "item_wise_tax_detail",
"oldfieldtype": "Small Text",
"permlevel": 0,
"fieldname": "item_wise_tax_detail",
"fieldtype": "Small Text",
"hidden": 1,
"label": "Item Wise Tax Detail",
"oldfieldname": "item_wise_tax_detail",
"oldfieldtype": "Small Text",
"permlevel": 0,
"read_only": 1
},
},
{
"fieldname": "parenttype",
"fieldtype": "Data",
"hidden": 1,
"in_filter": 1,
"label": "Parenttype",
"oldfieldname": "parenttype",
"oldfieldtype": "Data",
"permlevel": 0,
"print_hide": 1,
"fieldname": "parenttype",
"fieldtype": "Data",
"hidden": 1,
"in_filter": 1,
"label": "Parenttype",
"oldfieldname": "parenttype",
"oldfieldtype": "Data",
"permlevel": 0,
"print_hide": 1,
"search_index": 1
}
],
"hide_heading": 1,
"idx": 1,
"istable": 1,
"modified": "2014-05-30 03:43:39.740638",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Sales Taxes and Charges",
"owner": "Administrator",
],
"hide_heading": 1,
"idx": 1,
"istable": 1,
"modified": "2014-12-10 12:26:41.222471",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Sales Taxes and Charges",
"owner": "Administrator",
"permissions": []
}
}

View File

@ -3,9 +3,9 @@
"doc_type": "Sales Invoice",
"docstatus": 0,
"doctype": "Print Format",
"html": "<style>\n\t.print-format table, .print-format tr, \n\t.print-format td, .print-format div, .print-format p {\n\t\tfont-family: Monospace;\n\t\tline-height: 200%;\n\t\tvertical-align: middle;\n\t}\n\t@media screen {\n\t\t.print-format {\n\t\t\twidth: 4in;\n\t\t\tpadding: 0.25in;\n\t\t\tmin-height: 8in;\n\t\t}\n\t}\n</style>\n\n<p class=\"text-center\">\n\t{{ doc.company }}<br>\n\t{{ doc.select_print_heading or _(\"Invoice\") }}<br>\n</p>\n<p>\n\t<b>{{ _(\"Receipt No\") }}:</b> {{ doc.name }}<br>\n\t<b>{{ _(\"Date\") }}:</b> {{ doc.get_formatted(\"posting_date\") }}<br>\n\t<b>{{ _(\"Customer\") }}:</b> {{ doc.customer_name }}\n</p>\n\n<hr>\n<table class=\"table table-condensed cart no-border\">\n\t<thead>\n\t\t<tr>\n\t\t\t<th width=\"60%\">{{ _(\"Item\") }}</b></th>\n\t\t\t<th width=\"10%\" class=\"text-right\">{{ _(\"Qty\") }}</th>\n\t\t\t<th width=\"30%\" class=\"text-right\">{{ _(\"Rate\") }}</th>\n\t\t</tr>\n\t</thead>\n\t<tbody>\n\t\t{%- for item in doc.items -%}\n\t\t<tr>\n\t\t\t<td>\n\t\t\t\t{{ item.item_code }}\n\t\t\t\t{%- if item.item_name != item.item_code -%}\n\t\t\t\t\t<br>{{ item.item_name }}{%- endif -%}\n\t\t\t</td>\n\t\t\t<td class=\"text-right\">{{ item.qty }}</td>\n\t\t\t<td class=\"text-right\">{{ item.amount }}</td>\n\t\t</tr>\n\t\t{%- endfor -%}\n\t</tbody>\n</table>\n<table class=\"table table-condensed no-border\">\n\t<tbody>\n\t\t<tr>\n\t\t\t<td class=\"text-right\" style=\"width: 70%\">\n\t\t\t\t{{ _(\"Net Total\") }}\n\t\t\t</td>\n\t\t\t<td class=\"text-right\">\n\t\t\t\t{{ doc.get_formatted(\"net_total_export\") }}\n\t\t\t</td>\n\t\t</tr>\n\t\t{%- for row in doc.taxes -%}\n\t\t{%- if not row.included_in_print_rate -%}\n\t\t<tr>\n\t\t\t<td class=\"text-right\" style=\"width: 70%\">\n\t\t\t\t{{ row.description }}\n\t\t\t</td>\n\t\t\t<td class=\"text-right\">\n\t\t\t\t{{ row.get_formatted(\"tax_amount\", doc) }}\n\t\t\t</td>\n\t\t</tr>\n\t\t{%- endif -%}\n\t\t{%- endfor -%}\n\t\t{%- if doc.discount_amount -%}\n\t\t<tr>\n\t\t\t<td class=\"text-right\" style=\"width: 70%\">\n\t\t\t\t{{ _(\"Discount\") }}\n\t\t\t</td>\n\t\t\t<td class=\"text-right\">\n\t\t\t\t{{ doc.get_formatted(\"discount_amount\") }}\n\t\t\t</td>\n\t\t</tr>\n\t\t{%- endif -%}\n\t\t<tr>\n\t\t\t<td class=\"text-right\" style=\"width: 70%\">\n\t\t\t\t<b>{{ _(\"Grand Total\") }}</b>\n\t\t\t</td>\n\t\t\t<td class=\"text-right\">\n\t\t\t\t{{ doc.get_formatted(\"grand_total_export\") }}\n\t\t\t</td>\n\t\t</tr>\n\t</tbody>\n</table>\n{% if doc.get(\"taxes\", filters={\"included_in_print_rate\": 1}) %}\n<hr>\n<p><b>Taxes Included:</b></p>\n<table class=\"table table-condensed no-border\">\n\t<tbody>\n\t\t{%- for row in doc.taxes -%}\n\t\t{%- if row.included_in_print_rate -%}\n\t\t<tr>\n\t\t\t<td class=\"text-right\" style=\"width: 70%\">\n\t\t\t\t{{ row.description }}\n\t\t\t</td>\n\t\t\t<td class=\"text-right\">\n\t\t\t\t{{ row.get_formatted(\"tax_amount\", doc) }}\n\t\t\t</td>\n\t\t<tr>\n\t\t{%- endif -%}\n\t\t{%- endfor -%}\n\t</tbody>\n</table>\n{%- endif -%}\n<hr>\n<p>{{ doc.terms or \"\" }}</p>\n<p class=\"text-center\">{{ _(\"Thank you, please visit again.\") }}</p>",
"html": "<style>\n\t.print-format table, .print-format tr, \n\t.print-format td, .print-format div, .print-format p {\n\t\tfont-family: Monospace;\n\t\tline-height: 200%;\n\t\tvertical-align: middle;\n\t}\n\t@media screen {\n\t\t.print-format {\n\t\t\twidth: 4in;\n\t\t\tpadding: 0.25in;\n\t\t\tmin-height: 8in;\n\t\t}\n\t}\n</style>\n\n<p class=\"text-center\">\n\t{{ doc.company }}<br>\n\t{{ doc.select_print_heading or _(\"Invoice\") }}<br>\n</p>\n<p>\n\t<b>{{ _(\"Receipt No\") }}:</b> {{ doc.name }}<br>\n\t<b>{{ _(\"Date\") }}:</b> {{ doc.get_formatted(\"posting_date\") }}<br>\n\t<b>{{ _(\"Customer\") }}:</b> {{ doc.customer_name }}\n</p>\n\n<hr>\n<table class=\"table table-condensed cart no-border\">\n\t<thead>\n\t\t<tr>\n\t\t\t<th width=\"60%\">{{ _(\"Item\") }}</b></th>\n\t\t\t<th width=\"10%\" class=\"text-right\">{{ _(\"Qty\") }}</th>\n\t\t\t<th width=\"30%\" class=\"text-right\">{{ _(\"Rate\") }}</th>\n\t\t</tr>\n\t</thead>\n\t<tbody>\n\t\t{%- for item in doc.items -%}\n\t\t<tr>\n\t\t\t<td>\n\t\t\t\t{{ item.item_code }}\n\t\t\t\t{%- if item.item_name != item.item_code -%}\n\t\t\t\t\t<br>{{ item.item_name }}{%- endif -%}\n\t\t\t</td>\n\t\t\t<td class=\"text-right\">{{ item.qty }}</td>\n\t\t\t<td class=\"text-right\">{{ item.amount }}</td>\n\t\t</tr>\n\t\t{%- endfor -%}\n\t</tbody>\n</table>\n<table class=\"table table-condensed no-border\">\n\t<tbody>\n\t\t<tr>\n\t\t\t<td class=\"text-right\" style=\"width: 70%\">\n\t\t\t\t{{ _(\"Net Total\") }}\n\t\t\t</td>\n\t\t\t<td class=\"text-right\">\n\t\t\t\t{{ doc.get_formatted(\"net_total_export\") }}\n\t\t\t</td>\n\t\t</tr>\n\t\t{%- for row in doc.taxes -%}\n\t\t{%- if not row.included_in_print_rate -%}\n\t\t<tr>\n\t\t\t<td class=\"text-right\" style=\"width: 70%\">\n\t\t\t\t{{ row.description }}\n\t\t\t</td>\n\t\t\t<td class=\"text-right\">\n\t\t\t\t{{ row.get_formatted(\"tax_amount\", doc) }}\n\t\t\t</td>\n\t\t</tr>\n\t\t{%- endif -%}\n\t\t{%- endfor -%}\n\t\t{%- if doc.discount_amount -%}\n\t\t<tr>\n\t\t\t<td class=\"text-right\" style=\"width: 70%\">\n\t\t\t\t{{ _(\"Discount\") }}\n\t\t\t</td>\n\t\t\t<td class=\"text-right\">\n\t\t\t\t{{ doc.get_formatted(\"discount_amount\") }}\n\t\t\t</td>\n\t\t</tr>\n\t\t{%- endif -%}\n\t\t<tr>\n\t\t\t<td class=\"text-right\" style=\"width: 70%\">\n\t\t\t\t<b>{{ _(\"Grand Total\") }}</b>\n\t\t\t</td>\n\t\t\t<td class=\"text-right\">\n\t\t\t\t{{ doc.get_formatted(\"grand_total_export\") }}\n\t\t\t</td>\n\t\t</tr>\n\t</tbody>\n</table>\n{% if doc.get(\"taxes\", filters={\"included_in_print_rate\": 1}) %}\n<hr>\n<p><b>Taxes Included:</b></p>\n<table class=\"table table-condensed no-border\">\n\t<tbody>\n\t\t{%- for row in doc.taxes -%}\n\t\t{%- if row.included_in_print_rate -%}\n\t\t<tr>\n\t\t\t<td class=\"text-right\" style=\"width: 70%\">\n\t\t\t\t{{ row.description }}\n\t\t\t</td>\n\t\t\t<td class=\"text-right\">\n\t\t\t\t{{ row.get_formatted(\"tax_amount_after_discount_amount\", doc) }}\n\t\t\t</td>\n\t\t<tr>\n\t\t{%- endif -%}\n\t\t{%- endfor -%}\n\t</tbody>\n</table>\n{%- endif -%}\n<hr>\n<p>{{ doc.terms or \"\" }}</p>\n<p class=\"text-center\">{{ _(\"Thank you, please visit again.\") }}</p>",
"idx": 1,
"modified": "2014-12-25 02:08:26.603223",
"modified": "2014-12-26 02:08:26.603223",
"modified_by": "Administrator",
"module": "Accounts",
"name": "POS Invoice",

View File

@ -68,7 +68,7 @@ erpnext.buying.BuyingController = erpnext.TransactionController.extend({
},
contact_person: function() {
this.supplier_address();
erpnext.utils.get_contact_details(this.frm);
},
buying_price_list: function() {

File diff suppressed because it is too large Load Diff

View File

@ -118,6 +118,10 @@ class AccountsController(TransactionBase):
item.get(fieldname) is None and value is not None:
item.set(fieldname, value)
if fieldname == "cost_center" and item.meta.get_field("cost_center") \
and not item.get("cost_center") and value is not None:
item.set(fieldname, value)
if ret.get("pricing_rule"):
for field in ["base_price_list_rate", "price_list_rate",
"discount_percentage", "base_rate", "rate"]:
@ -441,7 +445,7 @@ class AccountsController(TransactionBase):
for order, jv_list in order_jv_map.items():
for jv in jv_list:
if not advance_jv_against_si or jv not in advance_jv_against_si:
frappe.throw(_("Journal Entry {0} is linked against Order {1}, hence it must be fetched as advance in Invoice as well.")
frappe.msgprint(_("Journal Entry {0} is linked against Order {1}, check if it should be pulled as advance in this invoice.")
.format(jv, order))

View File

@ -124,10 +124,7 @@ def send_notification(new_rv):
frappe.sendmail(new_rv.notification_email_address,
subject= _("New {0}: #{1}").format(new_rv.doctype, new_rv.name),
message = _("Please find attached {0} #{1}").format(new_rv.doctype, new_rv.name),
attachments = [{
"fname": new_rv.name + ".pdf",
"fcontent": frappe.get_print_format(new_rv.doctype, new_rv.name, as_pdf=True)
}])
attachments = [frappe.attach_print(new_rv.doctype, new_rv.name, file_name=new_rv.name)])
def notify_errors(doc, doctype, party, owner):
from frappe.utils.user import get_system_managers

View File

@ -118,3 +118,18 @@ cur_frm.cscript.calculate_total_days = function(doc, dt, dn) {
}
cur_frm.fields_dict.employee.get_query = erpnext.queries.employee;
frappe.ui.form.on("Leave Application", "leave_approver", function(frm) {
frappe.call({
"method": "frappe.client.get",
args: {
doctype: "User",
name: frm.doc.leave_approver
},
callback: function (data) {
frappe.model.set_value(frm.doctype, frm.docname, "leave_approver_name",
data.message.first_name
+ (data.message.last_name ? (" " + data.message.last_name) : ""))
}
})
})

View File

@ -24,6 +24,13 @@
"options": "User",
"permlevel": 0
},
{
"fieldname": "leave_approver_name",
"fieldtype": "Read Only",
"label": "Leave Approver Name",
"permlevel": 0,
"precision": ""
},
{
"fieldname": "leave_type",
"fieldtype": "Link",
@ -184,7 +191,7 @@
"idx": 1,
"is_submittable": 1,
"max_attachments": 3,
"modified": "2014-09-09 05:35:31.531651",
"modified": "2014-12-09 16:33:29.626849",
"modified_by": "Administrator",
"module": "HR",
"name": "Leave Application",

View File

@ -207,15 +207,15 @@ class LeaveApplication(Document):
def get_holidays(leave_app):
tot_hol = frappe.db.sql("""select count(*) from `tabHoliday` h1, `tabHoliday List` h2, `tabEmployee` e1
where e1.name = %s and h1.parent = h2.name and e1.holiday_list = h2.name
and h1.holiday_date between %s and %s""", (leave_app.employee, leave_app.from_date, leave_app.to_date))
and h1.holiday_date between %s and %s""", (leave_app.employee, leave_app.from_date,
leave_app.to_date))[0][0]
# below line is needed. If an employee hasn't been assigned with any holiday list then above will return 0 rows.
tot_hol=tot_hol and flt(tot_hol[0][0]) or 0
if not tot_hol:
tot_hol = frappe.db.sql("""select count(*) from `tabHoliday` h1, `tabHoliday List` h2
where h1.parent = h2.name and h1.holiday_date between %s and %s
and ifnull(h2.is_default,0) = 1 and h2.fiscal_year = %s""",
(leave_app.from_date, leave_app.to_date, leave_app.fiscal_year))
return tot_hol and flt(tot_hol[0][0]) or 0
(leave_app.from_date, leave_app.to_date, leave_app.fiscal_year))[0][0]
return tot_hol
@frappe.whitelist()
def get_total_leave_days(leave_app):

View File

@ -189,9 +189,6 @@ class SalarySlip(TransactionBase):
if receiver:
subj = 'Salary Slip - ' + cstr(self.month) +'/'+cstr(self.fiscal_year)
frappe.sendmail([receiver], subject=subj, msg = _("Please see attachment"),
attachments=[{
"fname": self.name + ".pdf",
"fcontent": frappe.get_print_format(self.doctype, self.name, as_pdf = True)
}])
attachments=[frappe.attach_print(self.doctype, self.name, file_name=self.name)])
else:
msgprint(_("Company Email ID not found, hence mail not sent"))

View File

@ -57,6 +57,7 @@ cur_frm.cscript.hour_rate = function(doc, dt, dn) {
}
cur_frm.cscript.time_in_mins = cur_frm.cscript.hour_rate;
cur_frm.cscript.fixed_cycle_cost = cur_frm.cscript.hour_rate;
cur_frm.cscript.item_code = function(doc, cdt, cdn) {
get_bom_material_detail(doc, cdt, cdn);

View File

@ -56,6 +56,9 @@ class BOM(Document):
last_purchase_rate
from `tabItem` where name=%s""", item_code, as_dict = 1)
if not item:
frappe.throw(_("Item: {0} does not exist in the system").format(item_code))
return item
def validate_rm_item(self, item):

View File

@ -90,6 +90,7 @@ erpnext.patches.v4_2.update_requested_and_ordered_qty
erpnext.patches.v4_2.party_model
erpnext.patches.v4_4.make_email_accounts
execute:frappe.delete_doc("DocType", "Contact Control")
erpnext.patches.v4_2.recalculate_bom_costs
erpnext.patches.v5_0.update_frozen_accounts_permission_role
erpnext.patches.v5_0.update_dn_against_doc_fields
execute:frappe.db.sql("update `tabMaterial Request` set material_request_type = 'Material Transfer' where material_request_type = 'Transfer'")

View File

@ -6,8 +6,9 @@ import frappe
def execute():
reference_date = guess_reference_date()
frappe.reload_doc('accounts', 'doctype', 'journal_voucher_detail')
for name in frappe.db.sql_list("""select name from `tabJournal Entry`
where date(creation)>=%s""", reference_date):
where date(creation)>=%s""", reference_date):
jv = frappe.get_doc("Journal Entry", name)
try:
jv.create_remarks()

View File

@ -0,0 +1,19 @@
# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
from __future__ import unicode_literals
import frappe
def execute():
frappe.reload_doc('manufacturing', 'doctype', 'bom_operation')
for d in frappe.db.sql("""select bom.name from `tabBOM` bom where bom.docstatus < 2 and
exists(select bom_op.name from `tabBOM Operation` bom_op where
bom.name = bom_op.parent and bom_op.fixed_cycle_cost IS NOT NULL)""", as_dict=1):
try:
bom = frappe.get_doc('BOM', d.name)
bom.ignore_validate_update_after_submit = True
bom.calculate_cost()
bom.save()
frappe.db.commit()
except:
frappe.db.rollback()

View File

@ -22,12 +22,12 @@ class TestTimeLog(unittest.TestCase):
self.assertRaises(OverlapError, ts.insert)
frappe.db.sql("delete from `tabTime Log`")
def test_production_order_status(self):
prod_order = make_prod_order(self)
prod_order.save()
time_log = frappe.get_doc({
"doctype": "Time Log",
"time_log_for": "Manufacturing",
@ -36,15 +36,15 @@ class TestTimeLog(unittest.TestCase):
"from_time": "2014-12-26 00:00:00",
"to_time": "2014-12-26 00:00:00"
})
self.assertRaises(NotSubmittedError, time_log.save)
def test_time_log_on_holiday(self):
def test_time_log_on_holiday(self):
prod_order = make_prod_order(self)
prod_order.save()
prod_order.submit()
time_log = frappe.get_doc({
"doctype": "Time Log",
"time_log_for": "Manufacturing",
@ -55,18 +55,27 @@ class TestTimeLog(unittest.TestCase):
"workstation": "_Test Workstation 1"
})
self.assertRaises(WorkstationHolidayError , time_log.save)
time_log.update({
"from_time": "2013-02-02 09:00:00",
"to_time": "2013-02-02 20:00:00"
})
self.assertRaises(WorkstationIsClosedError , time_log.save)
time_log.from_time= "2013-02-02 09:30:00"
time_log.save()
time_log.submit()
time_log.cancel()
def test_negative_hours(self):
frappe.db.sql("delete from `tabTime Log`")
test_time_log = frappe.new_doc("Time Log")
test_time_log.activity_type = "Communication"
test_time_log.from_time = "2013-01-01 11:00:00.000000"
test_time_log.to_time = "2013-01-01 10:00:00.000000"
self.assertRaises(frappe.ValidationError, test_time_log.save)
frappe.db.sql("delete from `tabTime Log`")
def make_prod_order(self):
return frappe.get_doc({
"doctype":"Production Order",
@ -76,6 +85,6 @@ def make_prod_order(self):
"wip_warehouse": "_Test Warehouse - _TC",
"fg_warehouse": "_Test Warehouse 1 - _TC"
})
test_records = frappe.get_test_records('Time Log')
test_ignore = ["Time Log Batch", "Sales Invoice"]

View File

@ -108,6 +108,7 @@ erpnext.StockAnalytics = erpnext.StockGridReport.extend({
// otherwise, only reset values
$.each(this.data, function(i, d) {
me.reset_item_values(d);
d["closing_qty_value"] = 0;
});
}

View File

@ -14,8 +14,11 @@
{% if(contact_list[i].phone) { %}
{%= __("Phone") %}: {%= contact_list[i].phone %}<br>
{% } %}
{% if(contact_list[i].mobile_no) { %}
{%= __("Mobile No.") %}: {%= contact_list[i].mobile_no %}<br>
{% } %}
{% if(contact_list[i].email_id) { %}
{%= __("Email Id") %}: {%= contact_list[i].email_id %}
{%= __("Email ID") %}: {%= contact_list[i].email_id %}
{% } %}
</p>
</div>

View File

@ -421,20 +421,32 @@ erpnext.TransactionController = erpnext.stock.StockController.extend({
},
_set_values_for_item_list: function(children) {
var me = this;
var price_list_rate_changed = false;
$.each(children, function(i, d) {
var existing_pricing_rule = frappe.model.get_value(d.doctype, d.name, "pricing_rule");
$.each(d, function(k, v) {
if (["doctype", "name"].indexOf(k)===-1) {
if(k=="price_list_rate") {
if(flt(v) != flt(d.price_list_rate)) price_list_rate_changed = true;
}
frappe.model.set_value(d.doctype, d.name, k, v);
}
});
// if pricing rule set as blank from an existing value, apply price_list
if(!me.frm.doc.ignore_pricing_rule && existing_pricing_rule && !d.pricing_rule) {
me.apply_price_list(frappe.get_doc(d.doctype, d.name));
}
if(!price_list_rate_changed) me.calculate_taxes_and_totals();
});
},
apply_price_list: function() {
apply_price_list: function(item) {
var me = this;
return this.frm.call({
method: "erpnext.stock.get_item_details.apply_price_list",
args: { args: this._get_args() },
args: { args: this._get_args(item) },
callback: function(r) {
if (!r.exc) {
me.in_apply_price_list = true;

View File

@ -1,426 +1,426 @@
{
"allow_import": 1,
"autoname": "naming_series:",
"creation": "2013-04-10 11:45:37",
"docstatus": 0,
"doctype": "DocType",
"document_type": "Master",
"allow_import": 1,
"autoname": "naming_series:",
"creation": "2013-04-10 11:45:37",
"docstatus": 0,
"doctype": "DocType",
"document_type": "Master",
"fields": [
{
"fieldname": "lead_details",
"fieldtype": "Section Break",
"label": "Lead Details",
"options": "icon-user",
"fieldname": "lead_details",
"fieldtype": "Section Break",
"label": "Lead Details",
"options": "icon-user",
"permlevel": 0
},
},
{
"fieldname": "naming_series",
"fieldtype": "Select",
"label": "Series",
"no_copy": 1,
"oldfieldname": "naming_series",
"oldfieldtype": "Select",
"options": "LEAD-",
"permlevel": 0,
"fieldname": "naming_series",
"fieldtype": "Select",
"label": "Series",
"no_copy": 1,
"oldfieldname": "naming_series",
"oldfieldtype": "Select",
"options": "LEAD-",
"permlevel": 0,
"reqd": 0
},
},
{
"fieldname": "lead_name",
"fieldtype": "Data",
"in_filter": 1,
"in_list_view": 1,
"label": "Contact Name",
"oldfieldname": "lead_name",
"oldfieldtype": "Data",
"permlevel": 0,
"reqd": 1,
"fieldname": "lead_name",
"fieldtype": "Data",
"in_filter": 1,
"in_list_view": 1,
"label": "Contact Name",
"oldfieldname": "lead_name",
"oldfieldtype": "Data",
"permlevel": 0,
"reqd": 1,
"search_index": 1
},
},
{
"fieldname": "company_name",
"fieldtype": "Data",
"in_filter": 1,
"in_list_view": 1,
"label": "Organization Name",
"oldfieldname": "company_name",
"oldfieldtype": "Data",
"permlevel": 0,
"reqd": 0,
"fieldname": "company_name",
"fieldtype": "Data",
"in_filter": 1,
"in_list_view": 1,
"label": "Organization Name",
"oldfieldname": "company_name",
"oldfieldtype": "Data",
"permlevel": 0,
"reqd": 0,
"search_index": 0
},
},
{
"fieldname": "email_id",
"fieldtype": "Data",
"label": "Email Id",
"oldfieldname": "email_id",
"oldfieldtype": "Data",
"permlevel": 0,
"reqd": 0,
"fieldname": "email_id",
"fieldtype": "Data",
"label": "Email Id",
"oldfieldname": "email_id",
"oldfieldtype": "Data",
"permlevel": 0,
"reqd": 0,
"search_index": 1
},
},
{
"default": "Lead",
"fieldname": "status",
"fieldtype": "Select",
"in_filter": 1,
"in_list_view": 1,
"label": "Status",
"no_copy": 1,
"oldfieldname": "status",
"oldfieldtype": "Select",
"options": "Lead\nOpen\nReplied\nOpportunity\nInterested\nConverted\nDo Not Contact",
"permlevel": 0,
"reqd": 1,
"default": "Lead",
"fieldname": "status",
"fieldtype": "Select",
"in_filter": 1,
"in_list_view": 1,
"label": "Status",
"no_copy": 1,
"oldfieldname": "status",
"oldfieldtype": "Select",
"options": "Lead\nOpen\nReplied\nOpportunity\nInterested\nConverted\nDo Not Contact",
"permlevel": 0,
"reqd": 1,
"search_index": 1
},
},
{
"fieldname": "source",
"fieldtype": "Select",
"in_filter": 1,
"in_list_view": 1,
"label": "Source",
"no_copy": 1,
"oldfieldname": "source",
"oldfieldtype": "Select",
"options": "\nAdvertisement\nBlog Post\nCampaign\nCall\nCustomer\nExhibition\nSupplier\nWebsite\nEmail",
"permlevel": 0,
"reqd": 0,
"fieldname": "source",
"fieldtype": "Select",
"in_filter": 1,
"in_list_view": 1,
"label": "Source",
"no_copy": 1,
"oldfieldname": "source",
"oldfieldtype": "Select",
"options": "\nAdvertisement\nBlog Post\nCampaign\nCall\nCustomer\nExhibition\nSupplier\nWebsite\nEmail",
"permlevel": 0,
"reqd": 0,
"search_index": 0
},
},
{
"fieldname": "col_break123",
"fieldtype": "Column Break",
"permlevel": 0,
"fieldname": "col_break123",
"fieldtype": "Column Break",
"permlevel": 0,
"width": "50%"
},
},
{
"depends_on": "eval:doc.source == 'Customer'",
"fieldname": "customer",
"fieldtype": "Link",
"hidden": 0,
"label": "From Customer",
"oldfieldname": "customer",
"oldfieldtype": "Link",
"options": "Customer",
"depends_on": "eval:doc.source == 'Customer'",
"fieldname": "customer",
"fieldtype": "Link",
"hidden": 0,
"label": "From Customer",
"oldfieldname": "customer",
"oldfieldtype": "Link",
"options": "Customer",
"permlevel": 0
},
},
{
"depends_on": "eval:doc.source == 'Campaign'",
"description": "Enter campaign name if the source of lead is campaign.",
"fieldname": "campaign_name",
"fieldtype": "Link",
"hidden": 0,
"label": "Campaign Name",
"oldfieldname": "campaign_name",
"oldfieldtype": "Link",
"options": "Campaign",
"depends_on": "eval:doc.source == 'Campaign'",
"description": "Enter campaign name if the source of lead is campaign.",
"fieldname": "campaign_name",
"fieldtype": "Link",
"hidden": 0,
"label": "Campaign Name",
"oldfieldname": "campaign_name",
"oldfieldtype": "Link",
"options": "Campaign",
"permlevel": 0
},
},
{
"default": "__user",
"fieldname": "lead_owner",
"fieldtype": "Link",
"in_filter": 1,
"label": "Lead Owner",
"oldfieldname": "lead_owner",
"oldfieldtype": "Link",
"options": "User",
"permlevel": 0,
"default": "__user",
"fieldname": "lead_owner",
"fieldtype": "Link",
"in_filter": 1,
"label": "Lead Owner",
"oldfieldname": "lead_owner",
"oldfieldtype": "Link",
"options": "User",
"permlevel": 0,
"search_index": 1
},
},
{
"allow_on_submit": 0,
"fieldname": "contact_by",
"fieldtype": "Link",
"hidden": 0,
"in_filter": 1,
"label": "Next Contact By",
"oldfieldname": "contact_by",
"oldfieldtype": "Link",
"options": "User",
"permlevel": 0,
"print_hide": 0,
"reqd": 0,
"allow_on_submit": 0,
"fieldname": "contact_by",
"fieldtype": "Link",
"hidden": 0,
"in_filter": 1,
"label": "Next Contact By",
"oldfieldname": "contact_by",
"oldfieldtype": "Link",
"options": "User",
"permlevel": 0,
"print_hide": 0,
"reqd": 0,
"width": "100px"
},
},
{
"allow_on_submit": 0,
"description": "Add to calendar on this date",
"fieldname": "contact_date",
"fieldtype": "Date",
"in_filter": 1,
"label": "Next Contact Date",
"no_copy": 1,
"oldfieldname": "contact_date",
"oldfieldtype": "Date",
"permlevel": 0,
"reqd": 0,
"allow_on_submit": 0,
"description": "Add to calendar on this date",
"fieldname": "contact_date",
"fieldtype": "Datetime",
"in_filter": 1,
"label": "Next Contact Date",
"no_copy": 1,
"oldfieldname": "contact_date",
"oldfieldtype": "Date",
"permlevel": 0,
"reqd": 0,
"width": "100px"
},
},
{
"fieldname": "fold",
"fieldtype": "Fold",
"label": "fold",
"fieldname": "fold",
"fieldtype": "Fold",
"label": "fold",
"permlevel": 0
},
},
{
"fieldname": "contact_info",
"fieldtype": "Section Break",
"label": "Address & Contact",
"oldfieldtype": "Column Break",
"options": "icon-map-marker",
"fieldname": "contact_info",
"fieldtype": "Section Break",
"label": "Address & Contact",
"oldfieldtype": "Column Break",
"options": "icon-map-marker",
"permlevel": 0
},
},
{
"depends_on": "eval:doc.__islocal",
"fieldname": "address_desc",
"fieldtype": "HTML",
"hidden": 0,
"label": "Address Desc",
"options": "<em>Addresses will appear only when you save the lead</em>",
"permlevel": 0,
"depends_on": "eval:doc.__islocal",
"fieldname": "address_desc",
"fieldtype": "HTML",
"hidden": 0,
"label": "Address Desc",
"options": "<em>Addresses will appear only when you save the lead</em>",
"permlevel": 0,
"print_hide": 1
},
},
{
"fieldname": "address_html",
"fieldtype": "HTML",
"hidden": 0,
"label": "Address HTML",
"permlevel": 0,
"print_hide": 0,
"fieldname": "address_html",
"fieldtype": "HTML",
"hidden": 0,
"label": "Address HTML",
"permlevel": 0,
"print_hide": 0,
"read_only": 1
},
},
{
"fieldname": "column_break2",
"fieldtype": "Column Break",
"fieldname": "column_break2",
"fieldtype": "Column Break",
"permlevel": 0
},
},
{
"fieldname": "phone",
"fieldtype": "Data",
"label": "Phone",
"oldfieldname": "contact_no",
"oldfieldtype": "Data",
"permlevel": 0,
"fieldname": "phone",
"fieldtype": "Data",
"label": "Phone",
"oldfieldname": "contact_no",
"oldfieldtype": "Data",
"permlevel": 0,
"reqd": 0
},
},
{
"fieldname": "mobile_no",
"fieldtype": "Data",
"label": "Mobile No.",
"oldfieldname": "mobile_no",
"oldfieldtype": "Data",
"fieldname": "mobile_no",
"fieldtype": "Data",
"label": "Mobile No.",
"oldfieldname": "mobile_no",
"oldfieldtype": "Data",
"permlevel": 0
},
},
{
"fieldname": "fax",
"fieldtype": "Data",
"label": "Fax",
"oldfieldname": "fax",
"oldfieldtype": "Data",
"fieldname": "fax",
"fieldtype": "Data",
"label": "Fax",
"oldfieldname": "fax",
"oldfieldtype": "Data",
"permlevel": 0
},
},
{
"fieldname": "website",
"fieldtype": "Data",
"label": "Website",
"oldfieldname": "website",
"oldfieldtype": "Data",
"fieldname": "website",
"fieldtype": "Data",
"label": "Website",
"oldfieldname": "website",
"oldfieldtype": "Data",
"permlevel": 0
},
},
{
"description": "<a href=\"#Sales Browser/Territory\">Add / Edit</a>",
"fieldname": "territory",
"fieldtype": "Link",
"label": "Territory",
"oldfieldname": "territory",
"oldfieldtype": "Link",
"options": "Territory",
"permlevel": 0,
"description": "<a href=\"#Sales Browser/Territory\">Add / Edit</a>",
"fieldname": "territory",
"fieldtype": "Link",
"label": "Territory",
"oldfieldname": "territory",
"oldfieldtype": "Link",
"options": "Territory",
"permlevel": 0,
"print_hide": 1
},
},
{
"fieldname": "more_info",
"fieldtype": "Section Break",
"label": "More Info",
"oldfieldtype": "Section Break",
"options": "icon-file-text",
"fieldname": "more_info",
"fieldtype": "Section Break",
"label": "More Info",
"oldfieldtype": "Section Break",
"options": "icon-file-text",
"permlevel": 0
},
},
{
"fieldname": "type",
"fieldtype": "Select",
"in_filter": 1,
"label": "Lead Type",
"oldfieldname": "type",
"oldfieldtype": "Select",
"options": "\nClient\nChannel Partner\nConsultant",
"fieldname": "type",
"fieldtype": "Select",
"in_filter": 1,
"label": "Lead Type",
"oldfieldname": "type",
"oldfieldtype": "Select",
"options": "\nClient\nChannel Partner\nConsultant",
"permlevel": 0
},
},
{
"fieldname": "market_segment",
"fieldtype": "Select",
"hidden": 0,
"in_filter": 1,
"label": "Market Segment",
"oldfieldname": "market_segment",
"oldfieldtype": "Select",
"options": "\nLower Income\nMiddle Income\nUpper Income",
"permlevel": 0,
"reqd": 0,
"fieldname": "market_segment",
"fieldtype": "Select",
"hidden": 0,
"in_filter": 1,
"label": "Market Segment",
"oldfieldname": "market_segment",
"oldfieldtype": "Select",
"options": "\nLower Income\nMiddle Income\nUpper Income",
"permlevel": 0,
"reqd": 0,
"search_index": 0
},
},
{
"fieldname": "industry",
"fieldtype": "Link",
"label": "Industry",
"oldfieldname": "industry",
"oldfieldtype": "Link",
"options": "Industry Type",
"fieldname": "industry",
"fieldtype": "Link",
"label": "Industry",
"oldfieldname": "industry",
"oldfieldtype": "Link",
"options": "Industry Type",
"permlevel": 0
},
},
{
"fieldname": "request_type",
"fieldtype": "Select",
"label": "Request Type",
"oldfieldname": "request_type",
"oldfieldtype": "Select",
"options": "\nProduct Enquiry\nRequest for Information\nSuggestions\nOther",
"fieldname": "request_type",
"fieldtype": "Select",
"label": "Request Type",
"oldfieldname": "request_type",
"oldfieldtype": "Select",
"options": "\nProduct Enquiry\nRequest for Information\nSuggestions\nOther",
"permlevel": 0
},
},
{
"fieldname": "fiscal_year",
"fieldtype": "Link",
"hidden": 1,
"in_filter": 1,
"label": "Fiscal Year",
"oldfieldname": "fiscal_year",
"oldfieldtype": "Select",
"options": "Fiscal Year",
"fieldname": "fiscal_year",
"fieldtype": "Link",
"hidden": 1,
"in_filter": 1,
"label": "Fiscal Year",
"oldfieldname": "fiscal_year",
"oldfieldtype": "Select",
"options": "Fiscal Year",
"permlevel": 0
},
},
{
"fieldname": "column_break3",
"fieldtype": "Column Break",
"oldfieldtype": "Column Break",
"permlevel": 0,
"fieldname": "column_break3",
"fieldtype": "Column Break",
"oldfieldtype": "Column Break",
"permlevel": 0,
"width": "50%"
},
},
{
"fieldname": "company",
"fieldtype": "Link",
"label": "Company",
"oldfieldname": "company",
"oldfieldtype": "Link",
"options": "Company",
"permlevel": 0,
"fieldname": "company",
"fieldtype": "Link",
"label": "Company",
"oldfieldname": "company",
"oldfieldtype": "Link",
"options": "Company",
"permlevel": 0,
"reqd": 0
},
},
{
"fieldname": "unsubscribed",
"fieldtype": "Check",
"label": "Unsubscribed",
"fieldname": "unsubscribed",
"fieldtype": "Check",
"label": "Unsubscribed",
"permlevel": 0
},
},
{
"fieldname": "blog_subscriber",
"fieldtype": "Check",
"label": "Blog Subscriber",
"fieldname": "blog_subscriber",
"fieldtype": "Check",
"label": "Blog Subscriber",
"permlevel": 0
}
],
"icon": "icon-user",
"idx": 1,
"modified": "2014-09-11 18:52:50.397563",
"modified_by": "Administrator",
"module": "Selling",
"name": "Lead",
"owner": "Administrator",
],
"icon": "icon-user",
"idx": 1,
"modified": "2014-12-01 08:22:23.286314",
"modified_by": "Administrator",
"module": "Selling",
"name": "Lead",
"owner": "Administrator",
"permissions": [
{
"amend": 0,
"cancel": 0,
"create": 0,
"delete": 0,
"match": "",
"permlevel": 1,
"read": 1,
"report": 1,
"role": "All",
"submit": 0,
"amend": 0,
"cancel": 0,
"create": 0,
"delete": 0,
"match": "",
"permlevel": 1,
"read": 1,
"report": 1,
"role": "All",
"submit": 0,
"write": 0
},
},
{
"amend": 0,
"cancel": 0,
"create": 1,
"delete": 0,
"email": 1,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Sales User",
"submit": 0,
"amend": 0,
"cancel": 0,
"create": 1,
"delete": 0,
"email": 1,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Sales User",
"submit": 0,
"write": 1
},
},
{
"amend": 0,
"cancel": 0,
"create": 1,
"delete": 1,
"email": 1,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Sales Manager",
"submit": 0,
"amend": 0,
"cancel": 0,
"create": 1,
"delete": 1,
"email": 1,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Sales Manager",
"submit": 0,
"write": 1
},
},
{
"amend": 0,
"cancel": 0,
"create": 1,
"delete": 0,
"email": 1,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"submit": 0,
"amend": 0,
"cancel": 0,
"create": 1,
"delete": 0,
"email": 1,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"submit": 0,
"write": 1
},
},
{
"amend": 0,
"cancel": 0,
"create": 0,
"delete": 0,
"match": "",
"permlevel": 1,
"read": 1,
"report": 1,
"role": "Sales Manager",
"submit": 0,
"amend": 0,
"cancel": 0,
"create": 0,
"delete": 0,
"match": "",
"permlevel": 1,
"read": 1,
"report": 1,
"role": "Sales Manager",
"submit": 0,
"write": 0
},
},
{
"amend": 0,
"cancel": 0,
"create": 0,
"delete": 0,
"match": "",
"permlevel": 1,
"read": 1,
"report": 1,
"role": "Sales User",
"submit": 0,
"amend": 0,
"cancel": 0,
"create": 0,
"delete": 0,
"match": "",
"permlevel": 1,
"read": 1,
"report": 1,
"role": "Sales User",
"submit": 0,
"write": 0
}
],
"search_fields": "lead_name,lead_owner,status",
"sort_field": "modified",
"sort_order": "DESC",
],
"search_fields": "lead_name,lead_owner,status",
"sort_field": "modified",
"sort_order": "DESC",
"title_field": "lead_name"
}
}

View File

@ -48,6 +48,7 @@ class Lead(SellingController):
def add_calendar_event(self, opts=None, force=False):
super(Lead, self).add_calendar_event({
"owner": self.lead_owner,
"starts_on": self.contact_date,
"subject": ('Contact ' + cstr(self.lead_name)),
"description": ('Contact ' + cstr(self.lead_name)) + \
(self.contact_by and ('. By : ' + cstr(self.contact_by)) or '')

View File

@ -28,7 +28,6 @@ erpnext.selling.Opportunity = frappe.ui.form.Controller.extend({
if(!this.frm.doc.fiscal_year && sys_defaults.fiscal_year)
set_multiple(cdt, cdn, { fiscal_year:sys_defaults.fiscal_year });
if(this.frm.doc.customer && !this.frm.doc.customer_name) cur_frm.cscript.customer(this.frm.doc);
this.setup_queries();
@ -152,4 +151,4 @@ cur_frm.cscript.company = function(doc, cdt, cdn) {
cur_frm.cscript.transaction_date = function(doc, cdt, cdn){
erpnext.get_fiscal_year(doc.company, doc.transaction_date);
}
}

View File

@ -1,430 +1,431 @@
{
"allow_import": 1,
"autoname": "naming_series:",
"creation": "2013-03-07 18:50:30",
"description": "Potential Sales Deal",
"docstatus": 0,
"doctype": "DocType",
"document_type": "Transaction",
"allow_import": 1,
"autoname": "naming_series:",
"creation": "2013-03-07 18:50:30",
"description": "Potential Sales Deal",
"docstatus": 0,
"doctype": "DocType",
"document_type": "Transaction",
"fields": [
{
"fieldname": "from_section",
"fieldtype": "Section Break",
"label": "From",
"options": "icon-user",
"fieldname": "from_section",
"fieldtype": "Section Break",
"label": "From",
"options": "icon-user",
"permlevel": 0
},
},
{
"fieldname": "naming_series",
"fieldtype": "Select",
"label": "Series",
"no_copy": 1,
"oldfieldname": "naming_series",
"oldfieldtype": "Select",
"options": "OPTY-",
"permlevel": 0,
"read_only": 0,
"fieldname": "naming_series",
"fieldtype": "Select",
"label": "Series",
"no_copy": 1,
"oldfieldname": "naming_series",
"oldfieldtype": "Select",
"options": "OPTY-",
"permlevel": 0,
"read_only": 0,
"reqd": 1
},
},
{
"fieldname": "enquiry_from",
"fieldtype": "Select",
"in_list_view": 1,
"label": "Opportunity From",
"oldfieldname": "enquiry_from",
"oldfieldtype": "Select",
"options": "\nLead\nCustomer",
"permlevel": 0,
"print_hide": 1,
"read_only": 0,
"report_hide": 0,
"fieldname": "enquiry_from",
"fieldtype": "Select",
"in_list_view": 1,
"label": "Opportunity From",
"oldfieldname": "enquiry_from",
"oldfieldtype": "Select",
"options": "\nLead\nCustomer",
"permlevel": 0,
"print_hide": 1,
"read_only": 0,
"report_hide": 0,
"reqd": 1
},
},
{
"depends_on": "eval:doc.enquiry_from===\"Customer\"",
"fieldname": "customer",
"fieldtype": "Link",
"hidden": 0,
"in_filter": 1,
"in_list_view": 1,
"label": "Customer",
"oldfieldname": "customer",
"oldfieldtype": "Link",
"options": "Customer",
"permlevel": 0,
"print_hide": 1,
"read_only": 0,
"reqd": 0,
"depends_on": "eval:doc.enquiry_from===\"Customer\"",
"fieldname": "customer",
"fieldtype": "Link",
"hidden": 0,
"in_filter": 1,
"in_list_view": 1,
"label": "Customer",
"no_copy": 1,
"oldfieldname": "customer",
"oldfieldtype": "Link",
"options": "Customer",
"permlevel": 0,
"print_hide": 1,
"read_only": 0,
"reqd": 0,
"search_index": 0
},
},
{
"depends_on": "eval:doc.enquiry_from===\"Lead\"",
"fieldname": "lead",
"fieldtype": "Link",
"hidden": 0,
"in_filter": 1,
"in_list_view": 1,
"label": "Lead",
"oldfieldname": "lead",
"oldfieldtype": "Link",
"options": "Lead",
"permlevel": 0,
"print_hide": 1,
"depends_on": "eval:doc.enquiry_from===\"Lead\"",
"fieldname": "lead",
"fieldtype": "Link",
"hidden": 0,
"in_filter": 1,
"in_list_view": 1,
"label": "Lead",
"oldfieldname": "lead",
"oldfieldtype": "Link",
"options": "Lead",
"permlevel": 0,
"print_hide": 1,
"read_only": 0
},
},
{
"depends_on": "eval:doc.customer || doc.lead",
"fieldname": "customer_name",
"fieldtype": "Data",
"label": "Customer / Lead Name",
"permlevel": 0,
"print_hide": 0,
"depends_on": "eval:doc.customer || doc.lead",
"fieldname": "customer_name",
"fieldtype": "Data",
"label": "Customer / Lead Name",
"permlevel": 0,
"print_hide": 0,
"read_only": 1
},
},
{
"fieldname": "column_break0",
"fieldtype": "Column Break",
"oldfieldtype": "Column Break",
"permlevel": 0,
"read_only": 0,
"fieldname": "column_break0",
"fieldtype": "Column Break",
"oldfieldtype": "Column Break",
"permlevel": 0,
"read_only": 0,
"width": "50%"
},
},
{
"fieldname": "enquiry_type",
"fieldtype": "Select",
"label": "Opportunity Type",
"oldfieldname": "enquiry_type",
"oldfieldtype": "Select",
"options": "\nSales\nMaintenance",
"permlevel": 0,
"read_only": 0,
"fieldname": "enquiry_type",
"fieldtype": "Select",
"label": "Opportunity Type",
"oldfieldname": "enquiry_type",
"oldfieldtype": "Select",
"options": "\nSales\nMaintenance",
"permlevel": 0,
"read_only": 0,
"reqd": 1
},
},
{
"default": "Draft",
"fieldname": "status",
"fieldtype": "Select",
"in_list_view": 1,
"label": "Status",
"no_copy": 1,
"oldfieldname": "status",
"oldfieldtype": "Select",
"options": "Draft\nSubmitted\nQuotation\nLost\nCancelled\nReplied\nOpen",
"permlevel": 0,
"print_hide": 1,
"read_only": 1,
"default": "Draft",
"fieldname": "status",
"fieldtype": "Select",
"in_list_view": 1,
"label": "Status",
"no_copy": 1,
"oldfieldname": "status",
"oldfieldtype": "Select",
"options": "Draft\nSubmitted\nQuotation\nLost\nCancelled\nReplied\nOpen",
"permlevel": 0,
"print_hide": 1,
"read_only": 1,
"reqd": 1
},
},
{
"fieldname": "items_section",
"fieldtype": "Section Break",
"label": "Items",
"oldfieldtype": "Section Break",
"options": "icon-shopping-cart",
"permlevel": 0,
"fieldname": "items_section",
"fieldtype": "Section Break",
"label": "Items",
"oldfieldtype": "Section Break",
"options": "icon-shopping-cart",
"permlevel": 0,
"read_only": 0
},
},
{
"description": "Items which do not exist in Item master can also be entered on customer's request",
"fieldname": "items",
"fieldtype": "Table",
"label": "Items",
"oldfieldname": "enquiry_details",
"oldfieldtype": "Table",
"options": "Opportunity Item",
"permlevel": 0,
"description": "Items which do not exist in Item master can also be entered on customer's request",
"fieldname": "items",
"fieldtype": "Table",
"label": "Items",
"oldfieldname": "enquiry_details",
"oldfieldtype": "Table",
"options": "Opportunity Item",
"permlevel": 0,
"read_only": 0
},
},
{
"fieldname": "fold",
"fieldtype": "Fold",
"fieldname": "fold",
"fieldtype": "Fold",
"permlevel": 0
},
},
{
"depends_on": "eval:doc.lead || doc.customer",
"fieldname": "contact_info",
"fieldtype": "Section Break",
"label": "Contact Info",
"options": "icon-bullhorn",
"permlevel": 0,
"depends_on": "eval:doc.lead || doc.customer",
"fieldname": "contact_info",
"fieldtype": "Section Break",
"label": "Contact Info",
"options": "icon-bullhorn",
"permlevel": 0,
"read_only": 0
},
},
{
"depends_on": "eval:doc.customer || doc.lead",
"fieldname": "customer_address",
"fieldtype": "Link",
"in_filter": 1,
"label": "Customer / Lead Address",
"options": "Address",
"permlevel": 0,
"print_hide": 1,
"depends_on": "eval:doc.customer || doc.lead",
"fieldname": "customer_address",
"fieldtype": "Link",
"in_filter": 1,
"label": "Customer / Lead Address",
"options": "Address",
"permlevel": 0,
"print_hide": 1,
"read_only": 0
},
},
{
"fieldname": "address_display",
"fieldtype": "Small Text",
"hidden": 1,
"label": "Address",
"oldfieldname": "address",
"oldfieldtype": "Small Text",
"permlevel": 0,
"fieldname": "address_display",
"fieldtype": "Small Text",
"hidden": 1,
"label": "Address",
"oldfieldname": "address",
"oldfieldtype": "Small Text",
"permlevel": 0,
"read_only": 1
},
},
{
"depends_on": "customer",
"description": "<a href=\"#Sales Browser/Territory\">Add / Edit</a>",
"fieldname": "territory",
"fieldtype": "Link",
"in_filter": 1,
"label": "Territory",
"options": "Territory",
"permlevel": 0,
"print_hide": 1,
"read_only": 0,
"reqd": 0,
"depends_on": "customer",
"description": "<a href=\"#Sales Browser/Territory\">Add / Edit</a>",
"fieldname": "territory",
"fieldtype": "Link",
"in_filter": 1,
"label": "Territory",
"options": "Territory",
"permlevel": 0,
"print_hide": 1,
"read_only": 0,
"reqd": 0,
"search_index": 1
},
},
{
"depends_on": "customer",
"description": "<a href=\"#Sales Browser/Customer Group\">Add / Edit</a>",
"fieldname": "customer_group",
"fieldtype": "Link",
"hidden": 0,
"in_filter": 1,
"label": "Customer Group",
"oldfieldname": "customer_group",
"oldfieldtype": "Link",
"options": "Customer Group",
"permlevel": 0,
"print_hide": 1,
"read_only": 0,
"reqd": 0,
"depends_on": "customer",
"description": "<a href=\"#Sales Browser/Customer Group\">Add / Edit</a>",
"fieldname": "customer_group",
"fieldtype": "Link",
"hidden": 0,
"in_filter": 1,
"label": "Customer Group",
"oldfieldname": "customer_group",
"oldfieldtype": "Link",
"options": "Customer Group",
"permlevel": 0,
"print_hide": 1,
"read_only": 0,
"reqd": 0,
"search_index": 1
},
},
{
"fieldname": "column_break3",
"fieldtype": "Column Break",
"permlevel": 0,
"fieldname": "column_break3",
"fieldtype": "Column Break",
"permlevel": 0,
"read_only": 0
},
},
{
"depends_on": "eval:doc.lead || doc.customer",
"fieldname": "contact_person",
"fieldtype": "Link",
"in_filter": 1,
"label": "Contact Person",
"options": "Contact",
"permlevel": 0,
"print_hide": 1,
"depends_on": "eval:doc.lead || doc.customer",
"fieldname": "contact_person",
"fieldtype": "Link",
"in_filter": 1,
"label": "Contact Person",
"options": "Contact",
"permlevel": 0,
"print_hide": 1,
"read_only": 0
},
},
{
"depends_on": "customer",
"fieldname": "contact_display",
"fieldtype": "Small Text",
"label": "Contact",
"permlevel": 0,
"depends_on": "customer",
"fieldname": "contact_display",
"fieldtype": "Small Text",
"label": "Contact",
"permlevel": 0,
"read_only": 1
},
},
{
"depends_on": "eval:doc.lead || doc.customer",
"fieldname": "contact_email",
"fieldtype": "Small Text",
"label": "Contact Email",
"permlevel": 0,
"depends_on": "eval:doc.lead || doc.customer",
"fieldname": "contact_email",
"fieldtype": "Small Text",
"label": "Contact Email",
"permlevel": 0,
"read_only": 1
},
},
{
"depends_on": "eval:doc.lead || doc.customer",
"fieldname": "contact_mobile",
"fieldtype": "Small Text",
"label": "Contact Mobile No",
"permlevel": 0,
"depends_on": "eval:doc.lead || doc.customer",
"fieldname": "contact_mobile",
"fieldtype": "Small Text",
"label": "Contact Mobile No",
"permlevel": 0,
"read_only": 1
},
},
{
"fieldname": "more_info",
"fieldtype": "Section Break",
"label": "More Info",
"oldfieldtype": "Section Break",
"options": "icon-file-text",
"permlevel": 0,
"fieldname": "more_info",
"fieldtype": "Section Break",
"label": "More Info",
"oldfieldtype": "Section Break",
"options": "icon-file-text",
"permlevel": 0,
"read_only": 0
},
},
{
"fieldname": "column_break1",
"fieldtype": "Column Break",
"oldfieldtype": "Column Break",
"permlevel": 0,
"read_only": 0,
"fieldname": "column_break1",
"fieldtype": "Column Break",
"oldfieldtype": "Column Break",
"permlevel": 0,
"read_only": 0,
"width": "50%"
},
},
{
"default": "Today",
"fieldname": "transaction_date",
"fieldtype": "Date",
"label": "Opportunity Date",
"oldfieldname": "transaction_date",
"oldfieldtype": "Date",
"permlevel": 0,
"read_only": 0,
"reqd": 1,
"default": "Today",
"fieldname": "transaction_date",
"fieldtype": "Date",
"label": "Opportunity Date",
"oldfieldname": "transaction_date",
"oldfieldtype": "Date",
"permlevel": 0,
"read_only": 0,
"reqd": 1,
"width": "50px"
},
},
{
"fieldname": "company",
"fieldtype": "Link",
"in_filter": 1,
"label": "Company",
"oldfieldname": "company",
"oldfieldtype": "Link",
"options": "Company",
"permlevel": 0,
"print_hide": 1,
"read_only": 0,
"reqd": 1,
"fieldname": "company",
"fieldtype": "Link",
"in_filter": 1,
"label": "Company",
"oldfieldname": "company",
"oldfieldtype": "Link",
"options": "Company",
"permlevel": 0,
"print_hide": 1,
"read_only": 0,
"reqd": 1,
"search_index": 1
},
},
{
"fieldname": "source",
"fieldtype": "Select",
"label": "Source",
"oldfieldname": "source",
"oldfieldtype": "Select",
"options": "\nExisting Customer\nReference\nAdvertisement\nCold Calling\nExhibition\nSupplier Reference\nMass Mailing\nCustomer's Vendor\nCampaign\nWalk In",
"permlevel": 0,
"fieldname": "source",
"fieldtype": "Select",
"label": "Source",
"oldfieldname": "source",
"oldfieldtype": "Select",
"options": "\nExisting Customer\nReference\nAdvertisement\nCold Calling\nExhibition\nSupplier Reference\nMass Mailing\nCustomer's Vendor\nCampaign\nWalk In",
"permlevel": 0,
"read_only": 0
},
},
{
"description": "Enter name of campaign if source of enquiry is campaign",
"fieldname": "campaign",
"fieldtype": "Link",
"label": "Campaign",
"oldfieldname": "campaign",
"oldfieldtype": "Link",
"options": "Campaign",
"permlevel": 0,
"description": "Enter name of campaign if source of enquiry is campaign",
"fieldname": "campaign",
"fieldtype": "Link",
"label": "Campaign",
"oldfieldname": "campaign",
"oldfieldtype": "Link",
"options": "Campaign",
"permlevel": 0,
"read_only": 0
},
},
{
"fieldname": "fiscal_year",
"fieldtype": "Link",
"in_filter": 1,
"label": "Fiscal Year",
"oldfieldname": "fiscal_year",
"oldfieldtype": "Select",
"options": "Fiscal Year",
"permlevel": 0,
"print_hide": 1,
"read_only": 0,
"reqd": 1,
"fieldname": "fiscal_year",
"fieldtype": "Link",
"in_filter": 1,
"label": "Fiscal Year",
"oldfieldname": "fiscal_year",
"oldfieldtype": "Select",
"options": "Fiscal Year",
"permlevel": 0,
"print_hide": 1,
"read_only": 0,
"reqd": 1,
"search_index": 1
},
},
{
"depends_on": "eval:!doc.__islocal",
"fieldname": "order_lost_reason",
"fieldtype": "Text",
"label": "Lost Reason",
"no_copy": 1,
"permlevel": 0,
"depends_on": "eval:!doc.__islocal",
"fieldname": "order_lost_reason",
"fieldtype": "Text",
"label": "Lost Reason",
"no_copy": 1,
"permlevel": 0,
"read_only": 1
},
},
{
"fieldname": "column_break2",
"fieldtype": "Column Break",
"oldfieldtype": "Column Break",
"permlevel": 0,
"read_only": 0,
"fieldname": "column_break2",
"fieldtype": "Column Break",
"oldfieldtype": "Column Break",
"permlevel": 0,
"read_only": 0,
"width": "50%"
},
},
{
"description": "Your sales person who will contact the customer in future",
"fieldname": "contact_by",
"fieldtype": "Link",
"in_filter": 1,
"label": "Next Contact By",
"oldfieldname": "contact_by",
"oldfieldtype": "Link",
"options": "User",
"permlevel": 0,
"read_only": 0,
"description": "Your sales person who will contact the customer in future",
"fieldname": "contact_by",
"fieldtype": "Link",
"in_filter": 1,
"label": "Next Contact By",
"oldfieldname": "contact_by",
"oldfieldtype": "Link",
"options": "User",
"permlevel": 0,
"read_only": 0,
"width": "75px"
},
},
{
"description": "Your sales person will get a reminder on this date to contact the customer",
"fieldname": "contact_date",
"fieldtype": "Date",
"label": "Next Contact Date",
"oldfieldname": "contact_date",
"oldfieldtype": "Date",
"permlevel": 0,
"description": "Your sales person will get a reminder on this date to contact the customer",
"fieldname": "contact_date",
"fieldtype": "Datetime",
"label": "Next Contact Date",
"oldfieldname": "contact_date",
"oldfieldtype": "Date",
"permlevel": 0,
"read_only": 0
},
},
{
"fieldname": "to_discuss",
"fieldtype": "Small Text",
"label": "To Discuss",
"no_copy": 1,
"oldfieldname": "to_discuss",
"oldfieldtype": "Small Text",
"permlevel": 0,
"fieldname": "to_discuss",
"fieldtype": "Small Text",
"label": "To Discuss",
"no_copy": 1,
"oldfieldname": "to_discuss",
"oldfieldtype": "Small Text",
"permlevel": 0,
"read_only": 0
},
},
{
"fieldname": "amended_from",
"fieldtype": "Link",
"ignore_user_permissions": 1,
"label": "Amended From",
"no_copy": 1,
"oldfieldname": "amended_from",
"oldfieldtype": "Data",
"options": "Opportunity",
"permlevel": 0,
"print_hide": 1,
"read_only": 1,
"fieldname": "amended_from",
"fieldtype": "Link",
"ignore_user_permissions": 1,
"label": "Amended From",
"no_copy": 1,
"oldfieldname": "amended_from",
"oldfieldtype": "Data",
"options": "Opportunity",
"permlevel": 0,
"print_hide": 1,
"read_only": 1,
"width": "150px"
}
],
"icon": "icon-info-sign",
"idx": 1,
"is_submittable": 1,
"modified": "2014-12-24 14:22:53.858170",
"modified_by": "Administrator",
"module": "Selling",
"name": "Opportunity",
"owner": "Administrator",
],
"icon": "icon-info-sign",
"idx": 1,
"is_submittable": 1,
"modified": "2014-12-24 14:22:53.858170",
"modified_by": "Administrator",
"module": "Selling",
"name": "Opportunity",
"owner": "Administrator",
"permissions": [
{
"amend": 1,
"apply_user_permissions": 1,
"cancel": 1,
"create": 1,
"delete": 1,
"email": 1,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Sales User",
"submit": 1,
"amend": 1,
"apply_user_permissions": 1,
"cancel": 1,
"create": 1,
"delete": 1,
"email": 1,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Sales User",
"submit": 1,
"write": 1
},
},
{
"amend": 1,
"cancel": 1,
"create": 1,
"delete": 1,
"email": 1,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Sales Manager",
"submit": 1,
"amend": 1,
"cancel": 1,
"create": 1,
"delete": 1,
"email": 1,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Sales Manager",
"submit": 1,
"write": 1
}
],
"search_fields": "status,transaction_date,customer,lead,enquiry_type,territory,company",
"sort_field": "modified",
],
"search_fields": "status,transaction_date,customer,lead,enquiry_type,territory,company",
"sort_field": "modified",
"sort_order": "DESC"
}
}

View File

@ -54,6 +54,7 @@ class Opportunity(TransactionBase):
opts = frappe._dict()
opts.description = ""
opts.contact_date = self.contact_date
if self.customer:
if self.contact_person:

File diff suppressed because it is too large Load Diff

View File

@ -268,6 +268,14 @@ def make_material_request(source_name, target_doc=None):
@frappe.whitelist()
def make_delivery_note(source_name, target_doc=None):
def set_missing_values(source, target):
if source.po_no:
if target.po_no:
target_po_no = target.po_no.split(", ")
target_po_no.append(source.po_no)
target.po_no = ", ".join(list(set(target_po_no))) if len(target_po_no) > 1 else target_po_no[0]
else:
target.po_no = source.po_no
target.ignore_pricing_rule = 1
target.run_method("set_missing_values")
target.run_method("calculate_taxes_and_totals")

View File

@ -98,9 +98,12 @@ class AuthorizationControl(TransactionBase):
if doc_obj:
price_list_rate, base_rate = 0, 0
for d in doc_obj.get("items"):
if d.base_price_list_rate and d.base_rate:
price_list_rate += flt(d.base_price_list_rate)
if d.base_rate:
price_list_rate += flt(d.base_price_list_rate) or flt(d.base_rate)
base_rate += flt(d.base_rate)
if doc_obj.get("discount_amount"):
base_rate -= flt(doc_obj.discount_amount)
if price_list_rate: av_dis = 100 - flt(base_rate * 100 / price_list_rate)
final_based_on = ['Grand Total','Average Discount','Customerwise Discount','Itemwise Discount']

View File

@ -61,14 +61,27 @@ frappe.pages['setup-wizard'].onload = function(wrapper) {
fields: [
{
"fieldname": "language", "label": __("Language"), "fieldtype": "Select",
options: ["english", "العربية", "deutsch", "ελληνικά", "español", "français", "हिंदी", "hrvatski",
"italiano", "nederlands", "polski", "português brasileiro", "português", "српски", "தமிழ்",
"ไทย", "中国(简体)", "中國(繁體)"],
reqd:1, "default": "english"
reqd:1
},
],
help: __("Welcome to ERPNext. Please select your language to begin the Setup Wizard."),
onload: function(slide) {
var me = this;
if (!this.language_list) {
frappe.call({
method: "erpnext.setup.page.setup_wizard.setup_wizard.load_languages",
callback: function(r) {
me.language_list = r.message;
slide.get_input("language")
.add_options(r.message)
.val("english");
}
})
} else {
slide.get_input("language").add_options(this.language_list);
}
slide.get_input("language").on("change", function() {
var lang = $(this).val() || "english";
frappe._messages = {};

View File

@ -439,4 +439,6 @@ def load_messages(language):
send_translations(m)
return lang
@frappe.whitelist()
def load_languages():
return sorted(get_lang_dict().keys())

File diff suppressed because it is too large Load Diff

View File

@ -27,7 +27,7 @@ def get_bin_qty(item, warehouse):
where item_code = %s and warehouse = %s""", (item, warehouse), as_dict = 1)
return det and det[0] or ''
def update_packing_list_item(obj, packing_item_code, qty, warehouse, line, packing_list_idx):
def update_packing_list_item(obj, packing_item_code, qty, warehouse, line):
bin = get_bin_qty(packing_item_code, warehouse)
item = get_packing_item_details(packing_item_code)
@ -54,9 +54,7 @@ def update_packing_list_item(obj, packing_item_code, qty, warehouse, line, packi
pi.warehouse = warehouse
if not pi.batch_no:
pi.batch_no = cstr(line.get("batch_no"))
pi.idx = packing_list_idx
packing_list_idx += 1
def make_packing_list(obj, item_table_fieldname):
@ -64,13 +62,11 @@ def make_packing_list(obj, item_table_fieldname):
if obj.get("_action") and obj._action == "update_after_submit": return
packing_list_idx = 0
parent_items = []
for d in obj.get(item_table_fieldname):
if frappe.db.get_value("Sales BOM", {"new_item_code": d.item_code}):
for i in get_sales_bom_items(d.item_code):
update_packing_list_item(obj, i['item_code'], flt(i['qty'])*flt(d.qty),
d.warehouse, d, packing_list_idx)
update_packing_list_item(obj, i['item_code'], flt(i['qty'])*flt(d.qty), d.warehouse, d)
if [d.item_code, d.name] not in parent_items:
parent_items.append([d.item_code, d.name])

View File

@ -40,8 +40,8 @@ class StockLedgerEntry(Document):
(self.warehouse, self.item_code, self.batch_no))[0][0])
if batch_bal_after_transaction < 0:
frappe.throw(_("Negative balance in Batch {0} for Item {1} at Warehouse {2} on {3} {4}").format(\
batch_bal_after_transaction - self.actual_qty, self.item_code, self.warehouse,
frappe.throw(_("Negative balance {0} in Batch {1} for Item {2} at Warehouse {3} on {4} {5}")
.format(batch_bal_after_transaction - self.actual_qty, self.batch_no, self.item_code, self.warehouse,
formatdate(self.posting_date), self.posting_time))
def validate_mandatory(self):

View File

@ -7,7 +7,7 @@
<div class="col-xs-5 text-right">
<label>{{ charge.get_formatted("description") }}</label></div>
<div class="col-xs-7 text-right">
{{ frappe.format_value(charge.tax_amount / doc.conversion_rate,
{{ frappe.format_value(frappe.utils.flt(charge.tax_amount) / doc.conversion_rate,
table_meta.get_field("tax_amount"), doc, currency=doc.currency) }}
</div>
</div>

View File

@ -85,7 +85,7 @@ Accounting,المحاسبة
"Accounting entry frozen up to this date, nobody can do / modify entry except role specified below.",قيد محاسبي المجمدة تصل إلى هذا التاريخ، لا أحد يمكن أن تفعل / تعديل إدخال باستثناء دور المحددة أدناه.
Accounting journal entries.,المحاسبة إدخالات دفتر اليومية.
Accounts,حسابات
Accounts Browser,متصفح الحسابات
Accounts Browser,متصفح الحسابات
Accounts Frozen Upto,حسابات مجمدة حتي
Accounts Payable,ذمم دائنة
Accounts Receivable,حسابات القبض
@ -253,8 +253,8 @@ Approving Role,الموافقة على دور
Approving Role cannot be same as role the rule is Applicable To,الموافقة دور لا يمكن أن يكون نفس دور القاعدة تنطبق على
Approving User,الموافقة العضو
Approving User cannot be same as user the rule is Applicable To,الموافقة العضو لا يمكن أن يكون نفس المستخدم القاعدة تنطبق على
Are you sure you want to STOP ,Are you sure you want to STOP
Are you sure you want to UNSTOP ,Are you sure you want to UNSTOP
Are you sure you want to STOP ,Are you sure you want to STOP
Are you sure you want to UNSTOP ,Are you sure you want to UNSTOP
Arrear Amount,متأخرات المبلغ
"As Production Order can be made for this item, it must be a stock item.",كما يمكن أن يتم ترتيب الإنتاج لهذا البند، يجب أن يكون بند الأوراق المالية .
As per Stock UOM,وفقا للأوراق UOM
@ -283,7 +283,7 @@ Auto Accounting For Stock Settings,السيارات المحاسبة المال
Auto Material Request,السيارات مادة طلب
Auto-raise Material Request if quantity goes below re-order level in a warehouse,لصناعة السيارات في رفع طلب المواد إذا كمية يذهب دون مستوى إعادة الطلب في مستودع
Automatically compose message on submission of transactions.,يؤلف تلقائيا رسالة على تقديم المعاملات.
Automatically extract Job Applicants from a mail box ,Automatically extract Job Applicants from a mail box
Automatically extract Job Applicants from a mail box ,Automatically extract Job Applicants from a mail box
Automatically extract Leads from a mail box e.g.,استخراج الشراء تلقائيا من صندوق البريد على سبيل المثال
Automatically updated via Stock Entry of type Manufacture/Repack,تحديثها تلقائيا عن طريق إدخال الأسهم الصنع نوع / أعد حزم
Automotive,السيارات
@ -410,8 +410,8 @@ Buying Settings,إعدادات الشراء
"Buying must be checked, if Applicable For is selected as {0}",يجب أن يتم التحقق الشراء، إذا تم تحديد مطبق للك {0}
C-Form,نموذج C-
C-Form Applicable,C-نموذج قابل للتطبيق
C-Form Invoice Detail, تفاصيل الفاتورة نموذج - س
C-Form No,رقم النموذج - س
C-Form Invoice Detail, تفاصيل الفاتورة نموذج - س
C-Form No,رقم النموذج - س
C-Form records,سجلات النموذج - س
CENVAT Capital Goods,CENVAT السلع الرأسمالية
CENVAT Edu Cess,CENVAT ايدو سيس
@ -510,8 +510,8 @@ Clearance Date,إزالة التاريخ
Clearance Date not mentioned,إزالة التاريخ لم يرد ذكرها
Clearance date cannot be before check date in row {0},تاريخ التخليص لا يمكن أن يكون قبل تاريخ الاختيار في الصف {0}
Click on 'Make Sales Invoice' button to create a new Sales Invoice.,انقر على &#39;جعل مبيعات الفاتورة &quot;الزر لإنشاء فاتورة مبيعات جديدة.
Click on a link to get options to expand get options ,Click on a link to get options to expand get options
Client,عميل
Click on a link to get options to expand get options ,Click on a link to get options to expand get options
Client,عميل
Close Balance Sheet and book Profit or Loss.,وثيقة الميزانية العمومية و كتاب الربح أو الخسارة .
Closed,مغلق
Closing (Cr),إغلاق (الكروم)
@ -840,13 +840,13 @@ Distributor,موزع
Divorced,المطلقات
Do Not Contact,عدم الاتصال
Do not show any symbol like $ etc next to currencies.,لا تظهر أي رمز مثل $ الخ بجانب العملات.
Do really want to unstop production order: ,Do really want to unstop production order:
Do you really want to STOP ,Do you really want to STOP
Do really want to unstop production order: ,Do really want to unstop production order:
Do you really want to STOP ,Do you really want to STOP
Do you really want to STOP this Material Request?,هل تريد حقا لوقف هذا طلب المواد ؟
Do you really want to Submit all Salary Slip for month {0} and year {1},هل تريد حقا لتقديم كل زلة الرواتب ل شهر {0} و السنة {1}
Do you really want to UNSTOP ,Do you really want to UNSTOP
Do you really want to UNSTOP ,Do you really want to UNSTOP
Do you really want to UNSTOP this Material Request?,هل تريد حقا أن نزع السدادة هذا طلب المواد ؟
Do you really want to stop production order: ,Do you really want to stop production order:
Do you really want to stop production order: ,Do you really want to stop production order:
Doc Name,اسم الوثيقة
Doc Type,نوع الوثيقة
Document Description,وصف الوثيقة
@ -898,7 +898,7 @@ Electronics,إلكترونيات
Email,البريد الإلكتروني
Email Digest,البريد الإلكتروني دايجست
Email Digest Settings,البريد الإلكتروني إعدادات دايجست
Email Digest: ,Email Digest:
Email Digest: ,Email Digest:
Email Id,البريد الإلكتروني معرف
"Email Id where a job applicant will email e.g. ""jobs@example.com""",معرف البريد الإلكتروني حيث طالب العمل سوف البريد الإلكتروني على سبيل المثال &quot;jobs@example.com&quot;
Email Notifications,إشعارات البريد الإلكتروني
@ -958,7 +958,7 @@ Enter url parameter for receiver nos,أدخل عنوان URL لمعلمة NOS ا
Entertainment & Leisure,الترفيه وترفيهية
Entertainment Expenses,مصاريف الترفيه
Entries,مقالات
Entries against ,Entries against
Entries against ,Entries against
Entries are not allowed against this Fiscal Year if the year is closed.,لا يسمح مقالات ضد السنة المالية الحالية إذا تم إغلاق السنة.
Equity,إنصاف
Error: {0} > {1},الخطأ: {0} > {1}
@ -1573,7 +1573,7 @@ Maintenance Visit Purpose,صيانة زيارة الغرض
Maintenance Visit {0} must be cancelled before cancelling this Sales Order,صيانة زيارة {0} يجب أن يتم إلغاء هذا الأمر قبل إلغاء المبيعات
Maintenance start date can not be before delivery date for Serial No {0},صيانة تاريخ بداية لا يمكن أن يكون قبل تاريخ التسليم لل رقم المسلسل {0}
Major/Optional Subjects,الرئيسية / اختياري الموضوعات
Make ,Make
Make ,Make
Make Accounting Entry For Every Stock Movement,جعل الدخول المحاسبة للحصول على كل حركة الأسهم
Make Bank Entry,جعل قسيمة البنك
Make Credit Note,جعل الائتمان ملاحظة
@ -1722,7 +1722,7 @@ Net Weight UOM,الوزن الصافي UOM
Net Weight of each Item,الوزن الصافي لكل بند
Net pay cannot be negative,صافي الأجور لا يمكن أن تكون سلبية
Never,أبدا
New ,New
New ,New
New Account,حساب جديد
New Account Name,اسم الحساب الجديد
New BOM,BOM جديدة
@ -2448,7 +2448,7 @@ Rounded Off,تقريبها
Rounded Total,تقريب إجمالي
Rounded Total (Company Currency),المشاركات تقريب (العملة الشركة)
Row # ,الصف #
Row # {0}: ,Row # {0}:
Row # {0}: ,Row # {0}:
Row #{0}: Ordered qty can not less than item's minimum order qty (defined in item master).,الصف # {0}: الكمية المطلوبة لا يمكن أن أقل من الحد الأدنى الكمية النظام القطعة (المحددة في البند الرئيسي).
Row #{0}: Please specify Serial No for Item {1},الصف # {0}: يرجى تحديد رقم التسلسلي للتاريخ {1}
Row {0}: Account does not match with \ Purchase Invoice Credit To account,الصف {0}: الحساب لا يتطابق مع \ شراء فاتورة الائتمان لحساب
@ -2750,7 +2750,7 @@ Stock Ageing,الأسهم شيخوخة
Stock Analytics,الأسهم تحليلات
Stock Assets,الموجودات الأسهم
Stock Balance,الأسهم الرصيد
Stock Entries already created for Production Order ,Stock Entries already created for Production Order
Stock Entries already created for Production Order ,Stock Entries already created for Production Order
Stock Entry,الأسهم الدخول
Stock Entry Detail,الأسهم إدخال التفاصيل
Stock Expenses,مصاريف الأسهم
@ -3300,24 +3300,24 @@ website page link,الموقع رابط الصفحة
{0} budget for Account {1} against Cost Center {2} will exceed by {3},{0} ميزانية الحساب {1} ضد مركز التكلفة {2} سيتجاوز التي كتبها {3}
{0} can not be negative,{0} لا يمكن أن تكون سلبية
{0} created,{0} خلق
{0} does not belong to Company {1},{0} لا تنتمي إلى شركة {1}
{0} does not belong to Company {1},{0} {لا تنتمي إلى شركة {1
{0} entered twice in Item Tax,{0} دخلت مرتين في ضريبة المدينة
{0} is an invalid email address in 'Notification Email Address',"{0} هو عنوان بريد إلكتروني غير صالح في ' عنوان البريد الإلكتروني إعلام """
{0} is mandatory,{0} إلزامي
{0} is mandatory for Item {1},{0} إلزامي القطعة ل {1}
{0} is mandatory for Item {1},{0} {إلزامي القطعة ل {1
{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,{0} إلزامي. ربما لا يتم إنشاء سجل سعر صرف العملة ل{1} إلى {2}.
{0} is not a stock Item,{0} ليس الأسهم الإغلاق
{0} is not a valid Batch Number for Item {1},{0} ليس رقم الدفعة صالحة لل تفاصيل {1}
{0} is not a valid Leave Approver. Removing row #{1}.,{0} ليس صحيحا اترك الموافق. إزالة الصف # {1}.
{0} is not a valid Leave Approver. Removing row #{1}.,{0} {ليس صحيحا اترك الموافق. إزالة الصف # {1.
{0} is not a valid email id,{0} ليس معرف بريد إلكتروني صحيح
{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} الآن الافتراضي السنة المالية. يرجى تحديث المتصفح ل التغيير نافذ المفعول .
{0} is required,{0} مطلوب
{0} must be a Purchased or Sub-Contracted Item in row {1},{0} يجب أن يكون البند شراؤها أو التعاقد الفرعي في الصف {1}
{0} must be reduced by {1} or you should increase overflow tolerance,{0} يجب تخفيض كتبها {1} أو يجب زيادة الفائض التسامح
{0} must have role 'Leave Approver',{0} يجب أن يكون دور ' اترك الموافق '
{0} valid serial nos for Item {1},{0} غ المسلسل صالحة لل تفاصيل {1}
{0} {1} against Bill {2} dated {3},{0} {1} ضد بيل {2} بتاريخ {3}
{0} {1} against Invoice {2},{0} {1} ضد الفاتورة {2}
{0} valid serial nos for Item {1},{0} {غ المسلسل صالحة لل تفاصيل {1
{0} {1} against Bill {2} dated {3},{0} {1} {ضد بيل {2} بتاريخ {3
{0} {1} against Invoice {2},{0} {1} {ضد الفاتورة {2
{0} {1} has already been submitted,{0} {1} وقد تم بالفعل قدمت
{0} {1} has been modified. Please refresh.,{0} {1} تم تعديل . يرجى تحديث.
{0} {1} is not submitted,{0} {1} لا تقدم

1 and year: والسنة:
85 Accounting entry frozen up to this date, nobody can do / modify entry except role specified below. قيد محاسبي المجمدة تصل إلى هذا التاريخ، لا أحد يمكن أن تفعل / تعديل إدخال باستثناء دور المحددة أدناه.
86 Accounting journal entries. المحاسبة إدخالات دفتر اليومية.
87 Accounts حسابات
88 Accounts Browser متصفح الحسابات متصفح الحسابات
89 Accounts Frozen Upto حسابات مجمدة حتي
90 Accounts Payable ذمم دائنة
91 Accounts Receivable حسابات القبض
253 Approving Role cannot be same as role the rule is Applicable To الموافقة دور لا يمكن أن يكون نفس دور القاعدة تنطبق على
254 Approving User الموافقة العضو
255 Approving User cannot be same as user the rule is Applicable To الموافقة العضو لا يمكن أن يكون نفس المستخدم القاعدة تنطبق على
256 Are you sure you want to STOP Are you sure you want to STOP Are you sure you want to STOP
257 Are you sure you want to UNSTOP Are you sure you want to UNSTOP Are you sure you want to UNSTOP
258 Arrear Amount متأخرات المبلغ
259 As Production Order can be made for this item, it must be a stock item. كما يمكن أن يتم ترتيب الإنتاج لهذا البند، يجب أن يكون بند الأوراق المالية .
260 As per Stock UOM وفقا للأوراق UOM
283 Auto Material Request السيارات مادة طلب
284 Auto-raise Material Request if quantity goes below re-order level in a warehouse لصناعة السيارات في رفع طلب المواد إذا كمية يذهب دون مستوى إعادة الطلب في مستودع
285 Automatically compose message on submission of transactions. يؤلف تلقائيا رسالة على تقديم المعاملات.
286 Automatically extract Job Applicants from a mail box Automatically extract Job Applicants from a mail box Automatically extract Job Applicants from a mail box
287 Automatically extract Leads from a mail box e.g. استخراج الشراء تلقائيا من صندوق البريد على سبيل المثال
288 Automatically updated via Stock Entry of type Manufacture/Repack تحديثها تلقائيا عن طريق إدخال الأسهم الصنع نوع / أعد حزم
289 Automotive السيارات
410 Buying must be checked, if Applicable For is selected as {0} يجب أن يتم التحقق الشراء، إذا تم تحديد مطبق للك {0}
411 C-Form نموذج C-
412 C-Form Applicable C-نموذج قابل للتطبيق
413 C-Form Invoice Detail تفاصيل الفاتورة نموذج - س تفاصيل الفاتورة نموذج - س
414 C-Form No رقم النموذج - س رقم النموذج - س
415 C-Form records سجلات النموذج - س
416 CENVAT Capital Goods CENVAT السلع الرأسمالية
417 CENVAT Edu Cess CENVAT ايدو سيس
510 Clearance Date not mentioned إزالة التاريخ لم يرد ذكرها
511 Clearance date cannot be before check date in row {0} تاريخ التخليص لا يمكن أن يكون قبل تاريخ الاختيار في الصف {0}
512 Click on 'Make Sales Invoice' button to create a new Sales Invoice. انقر على &#39;جعل مبيعات الفاتورة &quot;الزر لإنشاء فاتورة مبيعات جديدة.
513 Click on a link to get options to expand get options Click on a link to get options to expand get options Click on a link to get options to expand get options
514 Client عميل عميل
515 Close Balance Sheet and book Profit or Loss. وثيقة الميزانية العمومية و كتاب الربح أو الخسارة .
516 Closed مغلق
517 Closing (Cr) إغلاق (الكروم)
840 Divorced المطلقات
841 Do Not Contact عدم الاتصال
842 Do not show any symbol like $ etc next to currencies. لا تظهر أي رمز مثل $ الخ بجانب العملات.
843 Do really want to unstop production order: Do really want to unstop production order: Do really want to unstop production order:
844 Do you really want to STOP Do you really want to STOP Do you really want to STOP
845 Do you really want to STOP this Material Request? هل تريد حقا لوقف هذا طلب المواد ؟
846 Do you really want to Submit all Salary Slip for month {0} and year {1} هل تريد حقا لتقديم كل زلة الرواتب ل شهر {0} و السنة {1}
847 Do you really want to UNSTOP Do you really want to UNSTOP Do you really want to UNSTOP
848 Do you really want to UNSTOP this Material Request? هل تريد حقا أن نزع السدادة هذا طلب المواد ؟
849 Do you really want to stop production order: Do you really want to stop production order: Do you really want to stop production order:
850 Doc Name اسم الوثيقة
851 Doc Type نوع الوثيقة
852 Document Description وصف الوثيقة
898 Email البريد الإلكتروني
899 Email Digest البريد الإلكتروني دايجست
900 Email Digest Settings البريد الإلكتروني إعدادات دايجست
901 Email Digest: Email Digest: Email Digest:
902 Email Id البريد الإلكتروني معرف
903 Email Id where a job applicant will email e.g. "jobs@example.com" معرف البريد الإلكتروني حيث طالب العمل سوف البريد الإلكتروني على سبيل المثال &quot;jobs@example.com&quot;
904 Email Notifications إشعارات البريد الإلكتروني
958 Entertainment & Leisure الترفيه وترفيهية
959 Entertainment Expenses مصاريف الترفيه
960 Entries مقالات
961 Entries against Entries against Entries against
962 Entries are not allowed against this Fiscal Year if the year is closed. لا يسمح مقالات ضد السنة المالية الحالية إذا تم إغلاق السنة.
963 Equity إنصاف
964 Error: {0} > {1} الخطأ: {0} > {1}
1573 Maintenance Visit {0} must be cancelled before cancelling this Sales Order صيانة زيارة {0} يجب أن يتم إلغاء هذا الأمر قبل إلغاء المبيعات
1574 Maintenance start date can not be before delivery date for Serial No {0} صيانة تاريخ بداية لا يمكن أن يكون قبل تاريخ التسليم لل رقم المسلسل {0}
1575 Major/Optional Subjects الرئيسية / اختياري الموضوعات
1576 Make Make Make
1577 Make Accounting Entry For Every Stock Movement جعل الدخول المحاسبة للحصول على كل حركة الأسهم
1578 Make Bank Entry جعل قسيمة البنك
1579 Make Credit Note جعل الائتمان ملاحظة
1722 Net Weight of each Item الوزن الصافي لكل بند
1723 Net pay cannot be negative صافي الأجور لا يمكن أن تكون سلبية
1724 Never أبدا
1725 New New New
1726 New Account حساب جديد
1727 New Account Name اسم الحساب الجديد
1728 New BOM BOM جديدة
2448 Rounded Total تقريب إجمالي
2449 Rounded Total (Company Currency) المشاركات تقريب (العملة الشركة)
2450 Row # الصف #
2451 Row # {0}: Row # {0}: Row # {0}:
2452 Row #{0}: Ordered qty can not less than item's minimum order qty (defined in item master). الصف # {0}: الكمية المطلوبة لا يمكن أن أقل من الحد الأدنى الكمية النظام القطعة (المحددة في البند الرئيسي).
2453 Row #{0}: Please specify Serial No for Item {1} الصف # {0}: يرجى تحديد رقم التسلسلي للتاريخ {1}
2454 Row {0}: Account does not match with \ Purchase Invoice Credit To account الصف {0}: الحساب لا يتطابق مع \ شراء فاتورة الائتمان لحساب
2750 Stock Analytics الأسهم تحليلات
2751 Stock Assets الموجودات الأسهم
2752 Stock Balance الأسهم الرصيد
2753 Stock Entries already created for Production Order Stock Entries already created for Production Order Stock Entries already created for Production Order
2754 Stock Entry الأسهم الدخول
2755 Stock Entry Detail الأسهم إدخال التفاصيل
2756 Stock Expenses مصاريف الأسهم
3300 {0} budget for Account {1} against Cost Center {2} will exceed by {3} {0} ميزانية الحساب {1} ضد مركز التكلفة {2} سيتجاوز التي كتبها {3}
3301 {0} can not be negative {0} لا يمكن أن تكون سلبية
3302 {0} created {0} خلق
3303 {0} does not belong to Company {1} {0} لا تنتمي إلى شركة {1} {0} {لا تنتمي إلى شركة {1
3304 {0} entered twice in Item Tax {0} دخلت مرتين في ضريبة المدينة
3305 {0} is an invalid email address in 'Notification Email Address' {0} هو عنوان بريد إلكتروني غير صالح في ' عنوان البريد الإلكتروني إعلام "
3306 {0} is mandatory {0} إلزامي
3307 {0} is mandatory for Item {1} {0} إلزامي القطعة ل {1} {0} {إلزامي القطعة ل {1
3308 {0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}. {0} إلزامي. ربما لا يتم إنشاء سجل سعر صرف العملة ل{1} إلى {2}.
3309 {0} is not a stock Item {0} ليس الأسهم الإغلاق
3310 {0} is not a valid Batch Number for Item {1} {0} ليس رقم الدفعة صالحة لل تفاصيل {1}
3311 {0} is not a valid Leave Approver. Removing row #{1}. {0} ليس صحيحا اترك الموافق. إزالة الصف # {1}. {0} {ليس صحيحا اترك الموافق. إزالة الصف # {1.
3312 {0} is not a valid email id {0} ليس معرف بريد إلكتروني صحيح
3313 {0} is now the default Fiscal Year. Please refresh your browser for the change to take effect. {0} الآن الافتراضي السنة المالية. يرجى تحديث المتصفح ل التغيير نافذ المفعول .
3314 {0} is required {0} مطلوب
3315 {0} must be a Purchased or Sub-Contracted Item in row {1} {0} يجب أن يكون البند شراؤها أو التعاقد الفرعي في الصف {1}
3316 {0} must be reduced by {1} or you should increase overflow tolerance {0} يجب تخفيض كتبها {1} أو يجب زيادة الفائض التسامح
3317 {0} must have role 'Leave Approver' {0} يجب أن يكون دور ' اترك الموافق '
3318 {0} valid serial nos for Item {1} {0} غ المسلسل صالحة لل تفاصيل {1} {0} {غ المسلسل صالحة لل تفاصيل {1
3319 {0} {1} against Bill {2} dated {3} {0} {1} ضد بيل {2} بتاريخ {3} {0} {1} {ضد بيل {2} بتاريخ {3
3320 {0} {1} against Invoice {2} {0} {1} ضد الفاتورة {2} {0} {1} {ضد الفاتورة {2
3321 {0} {1} has already been submitted {0} {1} وقد تم بالفعل قدمت
3322 {0} {1} has been modified. Please refresh. {0} {1} تم تعديل . يرجى تحديث.
3323 {0} {1} is not submitted {0} {1} لا تقدم

View File

@ -255,7 +255,7 @@ Approving Role cannot be same as role the rule is Applicable To,"Έγκριση
Approving User,Έγκριση χρήστη
Approving User cannot be same as user the rule is Applicable To,Την έγκριση του χρήστη δεν μπορεί να είναι ίδιο με το χρήστη ο κανόνας ισχύει για
Are you sure you want to STOP ,Είσαστε σίγουροι πως θέλετε να σταματήσετε
Are you sure you want to UNSTOP ,Are you sure you want to UNSTOP
Are you sure you want to UNSTOP ,Are you sure you want to UNSTOP
Arrear Amount,Καθυστερήσεις Ποσό
"As Production Order can be made for this item, it must be a stock item.","Όπως μπορεί να γίνει Παραγωγής παραγγελίας για το συγκεκριμένο προϊόν , θα πρέπει να είναι ένα στοιχείο υλικού."
As per Stock UOM,Όπως ανά Διαθέσιμο UOM
@ -284,7 +284,7 @@ Auto Accounting For Stock Settings,Auto Λογιστικά Για Ρυθμίσε
Auto Material Request,Αυτόματη Αίτηση Υλικό
Auto-raise Material Request if quantity goes below re-order level in a warehouse,Auto-raise Αίτηση Υλικό εάν η ποσότητα πέσει κάτω εκ νέου για το επίπεδο σε μια αποθήκη
Automatically compose message on submission of transactions.,Αυτόματη συνθέτουν το μήνυμα για την υποβολή των συναλλαγών .
Automatically extract Job Applicants from a mail box ,Automatically extract Job Applicants from a mail box
Automatically extract Job Applicants from a mail box ,Automatically extract Job Applicants from a mail box
Automatically extract Leads from a mail box e.g.,"Αυτόματη εξαγωγή οδηγεί από ένα κουτί αλληλογραφίας , π.χ."
Automatically updated via Stock Entry of type Manufacture/Repack,Αυτόματη ενημέρωση μέσω είσοδο στα αποθέματα Κατασκευή Τύπος / Repack
Automotive,Αυτοκίνητο
@ -511,7 +511,7 @@ Clearance Date,Ημερομηνία Εκκαθάριση
Clearance Date not mentioned,Εκκαθάριση Ημερομηνία που δεν αναφέρονται
Clearance date cannot be before check date in row {0},Ημερομηνία εκκαθάρισης δεν μπορεί να είναι πριν από την ημερομηνία άφιξης στη γραμμή {0}
Click on 'Make Sales Invoice' button to create a new Sales Invoice.,Κάντε κλικ στο «Κάνε Πωλήσεις Τιμολόγιο» για να δημιουργηθεί μια νέα τιμολογίου πώλησης.
Click on a link to get options to expand get options ,Click on a link to get options to expand get options
Click on a link to get options to expand get options ,Click on a link to get options to expand get options
Client,Πελάτης
Close Balance Sheet and book Profit or Loss.,Κλείσιμο Ισολογισμού και των Αποτελεσμάτων βιβλίο ή απώλεια .
Closed,Κλειστό
@ -841,13 +841,13 @@ Distributor,Διανομέας
Divorced,Διαζευγμένος
Do Not Contact,Μην Επικοινωνία
Do not show any symbol like $ etc next to currencies.,Να μην εμφανίζεται κανένα σύμβολο όπως $ κλπ δίπλα σε νομίσματα.
Do really want to unstop production order: ,Do really want to unstop production order:
Do you really want to STOP ,Do you really want to STOP
Do really want to unstop production order: ,Do really want to unstop production order:
Do you really want to STOP ,Do you really want to STOP
Do you really want to STOP this Material Request?,Θέλετε πραγματικά να σταματήσει αυτό το υλικό την Αίτηση Συμμετοχής;
Do you really want to Submit all Salary Slip for month {0} and year {1},Θέλετε πραγματικά να υποβληθούν όλα τα Slip Μισθός για το μήνα {0} και {1 χρόνο }
Do you really want to UNSTOP ,Do you really want to UNSTOP
Do you really want to UNSTOP ,Do you really want to UNSTOP
Do you really want to UNSTOP this Material Request?,Θέλετε πραγματικά να ξεβουλώνω αυτό Υλικό Αίτηση Συμμετοχής;
Do you really want to stop production order: ,Do you really want to stop production order:
Do you really want to stop production order: ,Do you really want to stop production order:
Doc Name,Doc Name
Doc Type,Doc Τύπος
Document Description,Περιγραφή εγγράφου
@ -899,7 +899,7 @@ Electronics,ηλεκτρονική
Email,Email
Email Digest,Email Digest
Email Digest Settings,Email Digest Ρυθμίσεις
Email Digest: ,Email Digest:
Email Digest: ,Email Digest:
Email Id,Id Email
"Email Id where a job applicant will email e.g. ""jobs@example.com""","Email Id, όπου ένας υποψήφιος θα e-mail π.χ. &quot;jobs@example.com&quot;"
Email Notifications,Ειδοποιήσεις μέσω ηλεκτρονικού ταχυδρομείου
@ -959,7 +959,7 @@ Enter url parameter for receiver nos,Εισάγετε παράμετρο url γ
Entertainment & Leisure,Διασκέδαση & Leisure
Entertainment Expenses,Έξοδα Ψυχαγωγία
Entries,Καταχωρήσεις
Entries against ,Entries against
Entries against ,Entries against
Entries are not allowed against this Fiscal Year if the year is closed.,"Οι συμμετοχές δεν επιτρέπεται κατά το τρέχον οικονομικό έτος, εάν το έτος είναι κλειστή."
Equity,δικαιοσύνη
Error: {0} > {1},Σφάλμα : {0} > {1}
@ -1574,7 +1574,7 @@ Maintenance Visit Purpose,Σκοπός Συντήρηση Επίσκεψη
Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Συντήρηση Επίσκεψη {0} πρέπει να ακυρωθεί πριν από την ακύρωση αυτής της παραγγελίας πώλησης
Maintenance start date can not be before delivery date for Serial No {0},Ημερομηνία έναρξης συντήρησης δεν μπορεί να είναι πριν από την ημερομηνία παράδοσης Αύξων αριθμός {0}
Major/Optional Subjects,Σημαντικές / προαιρετικά μαθήματα
Make ,Make
Make ,Make
Make Accounting Entry For Every Stock Movement,Κάντε Λογιστική καταχώρηση για κάθε Κίνημα Χρηματιστήριο
Make Bank Entry,Κάντε Voucher Bank
Make Credit Note,Κάντε Πιστωτικό Σημείωμα
@ -1723,7 +1723,7 @@ Net Weight UOM,Καθαρό Βάρος UOM
Net Weight of each Item,Καθαρό βάρος κάθε είδους
Net pay cannot be negative,Καθαρή αμοιβή δεν μπορεί να είναι αρνητική
Never,Ποτέ
New ,New
New ,New
New Account,Νέος λογαριασμός
New Account Name,Νέο Όνομα λογαριασμού
New BOM,Νέα BOM
@ -2449,7 +2449,7 @@ Rounded Off,στρογγυλοποιηθεί
Rounded Total,Στρογγυλεμένες Σύνολο
Rounded Total (Company Currency),Στρογγυλεμένες Σύνολο (νόμισμα της Εταιρείας)
Row # ,Row #
Row # {0}: ,Row # {0}:
Row # {0}: ,Row # {0}:
Row #{0}: Ordered qty can not less than item's minimum order qty (defined in item master).,Σειρά # {0}: Διέταξε ποσότητα δεν μπορεί να μικρότερη από την ελάχιστη ποσότητα σειρά στοιχείου (όπως ορίζεται στο σημείο master).
Row #{0}: Please specify Serial No for Item {1},Σειρά # {0}: Παρακαλείστε να προσδιορίσετε Αύξων αριθμός για τη θέση {1}
Row {0}: Account does not match with \ Purchase Invoice Credit To account,Σειρά {0}: Ο λογαριασμός δεν ταιριάζει με \ τιμολογίου αγοράς πίστωση του λογαριασμού
@ -3317,7 +3317,7 @@ website page link,Ιστοσελίδα link της σελίδας
{0} must be reduced by {1} or you should increase overflow tolerance,{0} πρέπει να μειωθεί κατά {1} ή θα πρέπει να αυξήσει την ανοχή υπερχείλισης
{0} must have role 'Leave Approver',{0} πρέπει να έχει ρόλο « Αφήστε Έγκρισης »
{0} valid serial nos for Item {1},{0} έγκυρο σειριακό nos για τη θέση {1}
{0} {1} against Bill {2} dated {3},{0} {1} εναντίον Bill {2} { 3 με ημερομηνία }
{0} {1} against Bill {2} dated {3},{0} {1} εναντίον Bill {2} {3} με ημερομηνία
{0} {1} against Invoice {2},{0} {1} κατά Τιμολόγιο {2}
{0} {1} has already been submitted,{0} {1} έχει ήδη υποβληθεί
{0} {1} has been modified. Please refresh.,{0} {1} έχει τροποποιηθεί . Παρακαλώ ανανεώσετε .

1 (Half Day) (Μισή ημέρα)
255 Approving User Έγκριση χρήστη
256 Approving User cannot be same as user the rule is Applicable To Την έγκριση του χρήστη δεν μπορεί να είναι ίδιο με το χρήστη ο κανόνας ισχύει για
257 Are you sure you want to STOP Είσαστε σίγουροι πως θέλετε να σταματήσετε
258 Are you sure you want to UNSTOP Are you sure you want to UNSTOP Are you sure you want to UNSTOP
259 Arrear Amount Καθυστερήσεις Ποσό
260 As Production Order can be made for this item, it must be a stock item. Όπως μπορεί να γίνει Παραγωγής παραγγελίας για το συγκεκριμένο προϊόν , θα πρέπει να είναι ένα στοιχείο υλικού.
261 As per Stock UOM Όπως ανά Διαθέσιμο UOM
284 Auto Material Request Αυτόματη Αίτηση Υλικό
285 Auto-raise Material Request if quantity goes below re-order level in a warehouse Auto-raise Αίτηση Υλικό εάν η ποσότητα πέσει κάτω εκ νέου για το επίπεδο σε μια αποθήκη
286 Automatically compose message on submission of transactions. Αυτόματη συνθέτουν το μήνυμα για την υποβολή των συναλλαγών .
287 Automatically extract Job Applicants from a mail box Automatically extract Job Applicants from a mail box Automatically extract Job Applicants from a mail box
288 Automatically extract Leads from a mail box e.g. Αυτόματη εξαγωγή οδηγεί από ένα κουτί αλληλογραφίας , π.χ.
289 Automatically updated via Stock Entry of type Manufacture/Repack Αυτόματη ενημέρωση μέσω είσοδο στα αποθέματα Κατασκευή Τύπος / Repack
290 Automotive Αυτοκίνητο
511 Clearance Date not mentioned Εκκαθάριση Ημερομηνία που δεν αναφέρονται
512 Clearance date cannot be before check date in row {0} Ημερομηνία εκκαθάρισης δεν μπορεί να είναι πριν από την ημερομηνία άφιξης στη γραμμή {0}
513 Click on 'Make Sales Invoice' button to create a new Sales Invoice. Κάντε κλικ στο «Κάνε Πωλήσεις Τιμολόγιο» για να δημιουργηθεί μια νέα τιμολογίου πώλησης.
514 Click on a link to get options to expand get options Click on a link to get options to expand get options Click on a link to get options to expand get options
515 Client Πελάτης
516 Close Balance Sheet and book Profit or Loss. Κλείσιμο Ισολογισμού και των Αποτελεσμάτων βιβλίο ή απώλεια .
517 Closed Κλειστό
841 Divorced Διαζευγμένος
842 Do Not Contact Μην Επικοινωνία
843 Do not show any symbol like $ etc next to currencies. Να μην εμφανίζεται κανένα σύμβολο όπως $ κλπ δίπλα σε νομίσματα.
844 Do really want to unstop production order: Do really want to unstop production order: Do really want to unstop production order:
845 Do you really want to STOP Do you really want to STOP Do you really want to STOP
846 Do you really want to STOP this Material Request? Θέλετε πραγματικά να σταματήσει αυτό το υλικό την Αίτηση Συμμετοχής;
847 Do you really want to Submit all Salary Slip for month {0} and year {1} Θέλετε πραγματικά να υποβληθούν όλα τα Slip Μισθός για το μήνα {0} και {1 χρόνο }
848 Do you really want to UNSTOP Do you really want to UNSTOP Do you really want to UNSTOP
849 Do you really want to UNSTOP this Material Request? Θέλετε πραγματικά να ξεβουλώνω αυτό Υλικό Αίτηση Συμμετοχής;
850 Do you really want to stop production order: Do you really want to stop production order: Do you really want to stop production order:
851 Doc Name Doc Name
852 Doc Type Doc Τύπος
853 Document Description Περιγραφή εγγράφου
899 Email Email
900 Email Digest Email Digest
901 Email Digest Settings Email Digest Ρυθμίσεις
902 Email Digest: Email Digest: Email Digest:
903 Email Id Id Email
904 Email Id where a job applicant will email e.g. "jobs@example.com" Email Id, όπου ένας υποψήφιος θα e-mail π.χ. &quot;jobs@example.com&quot;
905 Email Notifications Ειδοποιήσεις μέσω ηλεκτρονικού ταχυδρομείου
959 Entertainment & Leisure Διασκέδαση & Leisure
960 Entertainment Expenses Έξοδα Ψυχαγωγία
961 Entries Καταχωρήσεις
962 Entries against Entries against Entries against
963 Entries are not allowed against this Fiscal Year if the year is closed. Οι συμμετοχές δεν επιτρέπεται κατά το τρέχον οικονομικό έτος, εάν το έτος είναι κλειστή.
964 Equity δικαιοσύνη
965 Error: {0} > {1} Σφάλμα : {0} > {1}
1574 Maintenance Visit {0} must be cancelled before cancelling this Sales Order Συντήρηση Επίσκεψη {0} πρέπει να ακυρωθεί πριν από την ακύρωση αυτής της παραγγελίας πώλησης
1575 Maintenance start date can not be before delivery date for Serial No {0} Ημερομηνία έναρξης συντήρησης δεν μπορεί να είναι πριν από την ημερομηνία παράδοσης Αύξων αριθμός {0}
1576 Major/Optional Subjects Σημαντικές / προαιρετικά μαθήματα
1577 Make Make Make
1578 Make Accounting Entry For Every Stock Movement Κάντε Λογιστική καταχώρηση για κάθε Κίνημα Χρηματιστήριο
1579 Make Bank Entry Κάντε Voucher Bank
1580 Make Credit Note Κάντε Πιστωτικό Σημείωμα
1723 Net Weight of each Item Καθαρό βάρος κάθε είδους
1724 Net pay cannot be negative Καθαρή αμοιβή δεν μπορεί να είναι αρνητική
1725 Never Ποτέ
1726 New New New
1727 New Account Νέος λογαριασμός
1728 New Account Name Νέο Όνομα λογαριασμού
1729 New BOM Νέα BOM
2449 Rounded Total Στρογγυλεμένες Σύνολο
2450 Rounded Total (Company Currency) Στρογγυλεμένες Σύνολο (νόμισμα της Εταιρείας)
2451 Row # Row #
2452 Row # {0}: Row # {0}: Row # {0}:
2453 Row #{0}: Ordered qty can not less than item's minimum order qty (defined in item master). Σειρά # {0}: Διέταξε ποσότητα δεν μπορεί να μικρότερη από την ελάχιστη ποσότητα σειρά στοιχείου (όπως ορίζεται στο σημείο master).
2454 Row #{0}: Please specify Serial No for Item {1} Σειρά # {0}: Παρακαλείστε να προσδιορίσετε Αύξων αριθμός για τη θέση {1}
2455 Row {0}: Account does not match with \ Purchase Invoice Credit To account Σειρά {0}: Ο λογαριασμός δεν ταιριάζει με \ τιμολογίου αγοράς πίστωση του λογαριασμού
3317 {0} must be reduced by {1} or you should increase overflow tolerance {0} πρέπει να μειωθεί κατά {1} ή θα πρέπει να αυξήσει την ανοχή υπερχείλισης
3318 {0} must have role 'Leave Approver' {0} πρέπει να έχει ρόλο « Αφήστε Έγκρισης »
3319 {0} valid serial nos for Item {1} {0} έγκυρο σειριακό nos για τη θέση {1}
3320 {0} {1} against Bill {2} dated {3} {0} {1} εναντίον Bill {2} { 3 με ημερομηνία } {0} {1} εναντίον Bill {2} {3} με ημερομηνία
3321 {0} {1} against Invoice {2} {0} {1} κατά Τιμολόγιο {2}
3322 {0} {1} has already been submitted {0} {1} έχει ήδη υποβληθεί
3323 {0} {1} has been modified. Please refresh. {0} {1} έχει τροποποιηθεί . Παρακαλώ ανανεώσετε .

View File

@ -31,7 +31,7 @@
1 Currency = [?] FractionFor e.g. 1 USD = 100 Cent,"1 moneda = [?] Fracción Por ejemplo, 1 USD = 100 Cent"
1. To maintain the customer wise item code and to make them searchable based on their code use this option,1 . Para mantener el código del artículo sabia cliente y para efectuar búsquedas en ellos en función de su uso de código de esta opción
"<a href=""#Sales Browser/Customer Group"">Add / Edit</a>","<a href=""#Sales Browser/Customer grupo""> Añadir / Editar < / a>"
"<a href=""#Sales Browser/Item Group"">Add / Edit</a>","<a href=""#Sales Browser/Item grupo""> Añadir / Editar < / a>"
"<a href=""#Sales Browser/Item Group"">Add / Edit</a>","<a href=""#Sales Browser/Item Group""> Añadir / Editar < / a>"
"<a href=""#Sales Browser/Territory"">Add / Edit</a>","<a href=""#Sales Browser/Territory""> Añadir / Editar < / a>"
"<h4>Default Template</h4><p>Uses <a href=""http://jinja.pocoo.org/docs/templates/"">Jinja Templating</a> and all the fields of Address (including Custom Fields if any) will be available</p><pre><code>{{ address_line1 }}&lt;br&gt;{% if address_line2 %}{{ address_line2 }}&lt;br&gt;{% endif -%}{{ city }}&lt;br&gt;{% if state %}{{ state }}&lt;br&gt;{% endif -%}{% if pincode %} PIN: {{ pincode }}&lt;br&gt;{% endif -%}{{ country }}&lt;br&gt;{% if phone %}Phone: {{ phone }}&lt;br&gt;{% endif -%}{% if fax %}Fax: {{ fax }}&lt;br&gt;{% endif -%}{% if email_id %}Email: {{ email_id }}&lt;br&gt;{% endif -%}</code></pre>","<h4> defecto plantilla </ h4> <p> Usos <a href=""http://jinja.pocoo.org/docs/templates/""> Jinja plantillas </ a> y todos los campos de la Dirección ( incluyendo campos personalizados en su caso) estará disponible </ p> <pre> <code> {{}} address_line1 <br> {% if address_line2%} {{}} address_line2 <br> { endif% -%} {{city}} <br> {% if estado%} {{Estado}} {% endif <br> -%} {% if%} pincode PIN: {{pincode}} {% endif <br> -%} {{país}} <br> {% if%} de teléfono Teléfono: {{phone}} {<br> endif% -%} {% if%} fax Fax: {{fax}} {% endif <br> -%} {% if%} email_ID Email: {{}} email_ID <br> ; {% endif -%} </ code> </ pre>"
A Customer Group exists with same name please change the Customer name or rename the Customer Group,"Existe un Grupo de Clientes con el mismo nombre, por favor cambie el nombre del Cliente o cambie el nombre del Grupo de Clientes"
@ -2745,7 +2745,7 @@ Statement of Account,Estado de cuenta
Static Parameters,Parámetros estáticos
Status,estado
Status must be one of {0},Estado debe ser uno de {0}
Status of {0} {1} is now {2},Situación de {0} {1} { 2 es ahora }
Status of {0} {1} is now {2},Situación de {0} {1} {2} es ahora
Status updated to {0},Estado actualizado a {0}
Statutory info and other general information about your Supplier,Información legal y otra información general acerca de su proveedor
Stay Updated,Manténgase actualizado
@ -3322,7 +3322,7 @@ website page link,el vínculo web
{0} must be reduced by {1} or you should increase overflow tolerance,{0} debe reducirse en {1} o se debe aumentar la tolerancia de desbordamiento
{0} must have role 'Leave Approver',{0} debe tener rol ' Dejar aprobador '
{0} valid serial nos for Item {1},{0} nn serie válidos para el elemento {1}
{0} {1} against Bill {2} dated {3},{0} {1} { 2 contra Bill } {3} de fecha
{0} {1} against Bill {2} dated {3},{0} {1} {2} contra Bill {3} de fecha
{0} {1} against Invoice {2},{0} {1} contra Factura {2}
{0} {1} has already been submitted,{0} {1} ya ha sido presentado
{0} {1} has been modified. Please refresh.,{0} {1} ha sido modificado. Por favor regenere .

1 (Half Day) (Medio día)
31 1 Currency = [?] FractionFor e.g. 1 USD = 100 Cent 1 moneda = [?] Fracción Por ejemplo, 1 USD = 100 Cent
32 1. To maintain the customer wise item code and to make them searchable based on their code use this option 1 . Para mantener el código del artículo sabia cliente y para efectuar búsquedas en ellos en función de su uso de código de esta opción
33 <a href="#Sales Browser/Customer Group">Add / Edit</a> <a href="#Sales Browser/Customer grupo"> Añadir / Editar < / a>
34 <a href="#Sales Browser/Item Group">Add / Edit</a> <a href="#Sales Browser/Item grupo"> Añadir / Editar < / a> <a href="#Sales Browser/Item Group"> Añadir / Editar < / a>
35 <a href="#Sales Browser/Territory">Add / Edit</a> <a href="#Sales Browser/Territory"> Añadir / Editar < / a>
36 <h4>Default Template</h4><p>Uses <a href="http://jinja.pocoo.org/docs/templates/">Jinja Templating</a> and all the fields of Address (including Custom Fields if any) will be available</p><pre><code>{{ address_line1 }}&lt;br&gt;{% if address_line2 %}{{ address_line2 }}&lt;br&gt;{% endif -%}{{ city }}&lt;br&gt;{% if state %}{{ state }}&lt;br&gt;{% endif -%}{% if pincode %} PIN: {{ pincode }}&lt;br&gt;{% endif -%}{{ country }}&lt;br&gt;{% if phone %}Phone: {{ phone }}&lt;br&gt;{% endif -%}{% if fax %}Fax: {{ fax }}&lt;br&gt;{% endif -%}{% if email_id %}Email: {{ email_id }}&lt;br&gt;{% endif -%}</code></pre> <h4> defecto plantilla </ h4> <p> Usos <a href="http://jinja.pocoo.org/docs/templates/"> Jinja plantillas </ a> y todos los campos de la Dirección ( incluyendo campos personalizados en su caso) estará disponible </ p> <pre> <code> {{}} address_line1 <br> {% if address_line2%} {{}} address_line2 <br> { endif% -%} {{city}} <br> {% if estado%} {{Estado}} {% endif <br> -%} {% if%} pincode PIN: {{pincode}} {% endif <br> -%} {{país}} <br> {% if%} de teléfono Teléfono: {{phone}} {<br> endif% -%} {% if%} fax Fax: {{fax}} {% endif <br> -%} {% if%} email_ID Email: {{}} email_ID <br> ; {% endif -%} </ code> </ pre>
37 A Customer Group exists with same name please change the Customer name or rename the Customer Group Existe un Grupo de Clientes con el mismo nombre, por favor cambie el nombre del Cliente o cambie el nombre del Grupo de Clientes
2745 Statutory info and other general information about your Supplier Información legal y otra información general acerca de su proveedor
2746 Stay Updated Manténgase actualizado
2747 Stock valores
2748 Stock Adjustment Stock de Ajuste
2749 Stock Adjustment Account Cuenta de Ajuste
2750 Stock Ageing Stock Envejecimiento
2751 Stock Analytics Analytics archivo
3322 {0} {1} has already been submitted {0} {1} ya ha sido presentado
3323 {0} {1} has been modified. Please refresh. {0} {1} ha sido modificado. Por favor regenere .
3324 {0} {1} is not submitted {0} {1} no se presenta
3325 {0} {1} must be submitted {0} {1} debe ser presentado
3326 {0} {1} not in any Fiscal Year {0} {1} no en cualquier año fiscal
3327 {0} {1} status is 'Stopped' {0} {1} Estado se ' Detenido '
3328 {0} {1} status is Stopped {0} {1} estado es Detenido

View File

@ -3318,7 +3318,7 @@ website page link,Lien vers page web
{0} must be reduced by {1} or you should increase overflow tolerance,{0} doit être réduite par {1} ou vous devez augmenter la tolérance de dépassement
{0} must have role 'Leave Approver',Nouveau Stock UDM est nécessaire
{0} valid serial nos for Item {1},BOM {0} pour objet {1} à la ligne {2} est inactif ou non soumis
{0} {1} against Bill {2} dated {3},S'il vous plaît entrer le titre !
{0} {1} against Bill {2} dated {3},{0} {1} contre le projet de loi en date du {2} {3}
{0} {1} against Invoice {2},investissements
{0} {1} has already been submitted,"S'il vous plaît entrer » est sous-traitée "" comme Oui ou Non"
{0} {1} has been modified. Please refresh.,Point ou Entrepôt à la ligne {0} ne correspond pas à la Demande de Matériel

1 (Half Day) (Demi-journée)
3318 {0} must have role 'Leave Approver' Nouveau Stock UDM est nécessaire
3319 {0} valid serial nos for Item {1} BOM {0} pour objet {1} à la ligne {2} est inactif ou non soumis
3320 {0} {1} against Bill {2} dated {3} S'il vous plaît entrer le titre ! {0} {1} contre le projet de loi en date du {2} {3}
3321 {0} {1} against Invoice {2} investissements
3322 {0} {1} has already been submitted S'il vous plaît entrer » est sous-traitée " comme Oui ou Non
3323 {0} {1} has been modified. Please refresh. Point ou Entrepôt à la ligne {0} ne correspond pas à la Demande de Matériel
3324 {0} {1} is not submitted Accepté Rejeté + Quantité doit être égale à la quantité reçue pour objet {0}