Merge branch 'develop' into customs_tariff_number

This commit is contained in:
Nabin Hait 2017-03-28 13:51:44 +05:30 committed by GitHub
commit 6c3eb36c35
28 changed files with 491 additions and 162 deletions

View File

@ -1,52 +1,58 @@
##General Overview
## General Overview
We have three branches where all the work happens:
There are three branches where all the work happens:
* **master** - This is the stable branch based on which we do releases. This branch is for production.
* **develop** - This is an unstable branch for development purposes, it has bleeding edge features and fixes, but it's not recommended for production. Bug fixes and new features go here.
* **hotfix** - This is a branch dedicated to hotfixes on the master branch. Urgent bug fixes go here.
* **master** - This is the production / stable branch for releases.
* **develop** - This is bleeding edge with features and fixes. Non critical bug fixes and new features go here. All updates to master also get pushed to develop.
* **hotfix** - Urgent bug fixes go here. This is merged into master for releases.
## Release Cycles
Once we deem the develop branch to be stable, we merge it into the master and do a major release. The hotfix branch is solely for making urgent bug fixes on the current master branch, which we then merge into master.
We almost never push directly to master.
Usually, hotfix / develop is pushed to master roughly every week.
If we are close to a major release, then all bugfixes get pushed to hotfix and a release is done every week or as necessary.
***
##Workflow
## Contributing
Contributing to ERPNext is not very different from the usual Pull Request workflow on GitHub.
###Prerequisites :
### Prerequisites :
* You need to know [Git and Github basics](https://try.github.io/levels/1/challenges/1)
* You need to have a Fork of the [ERPNext repo](https://github.com/frappe/erpnext) in your personal Github account
* You need to add a [remote](#glossary) for your Forked repository. `git remote add origin [your-erpnext-repo-url]`
###The Process:
### The Process:
1. Make sure you're in the right branch. **develop** for adding features / fixing issues and **hotfix** for urgent bug fixes
2. Make your changes
3. Create and checkout a new branch for the changes you've made. `git checkout -b [branch-name]`
4. Add and commit your changes `git commit -am "[commit-message]"
5. If you have been working on sometime for a long time, you should [rebase](#glossary) your branch with our develop branch. `git pull upstream develop --rebase` where `upstream` is the remote name of our repo
5. If you have been working on sometime for a long time, you should [rebase](#glossary) your branch with main develop branch. `git pull upstream develop --rebase` where `upstream` is the remote name of our repo
6. Now, push your changes to your fork. `git push origin [branch-name]`
If you rebased your commits, you will have to [force push](http://vignette2.wikia.nocookie.net/starwars/images/e/ea/Yodapush.png/revision/latest?cb=20130205190454) `git push origin [branch-name] --force`
7. You should now be able to see your pushed branch on Github, now create a pull request against the branch that you want to merge to.
8. Wait for us to review it
###Common Problems:
### Your Pull Request Should have
1. Clear explanation of the use case
1. Screenshots / Screecast GIF
1. Test Cases (if applicable)
1. Update to documentation
### Common Problems:
* During rebase you might face _merge conflicts_. A merge conflict occurs when you have made changes to the same file that someone else has, in the commits you're pulling. You need to resolve these conflicts by picking which code you want to keep, yours or theirs. You can use `git mergetool` for help.
* Sometimes you don't have a local branch to which you want to make changes to. In that case you first run `git fetch` followed by `git checkout --track -b upstream/[branch-name]`
###Good practices:
### Good practices:
* You should rebase your branch with the branch you plan to make a Pull Request to as often as you can.
* You should rebase your branch with the branch you plan to make a Pull Request (PR) to as often as you can.
* Your commit messages should be precise and explain exactly what the commit does. Same goes for the Pull Request title.
* When making a PR make sure that all your code is committed properly by checking the diffs.
* If you're working on different things at the same time, make sure you make separate branches for each.
@ -55,7 +61,7 @@ If you rebased your commits, you will have to [force push](http://vignette2.wiki
* Tabs, not spaces.
###Glossary
### Glossary
* remote - A remote is a connection to a Github repo. You should have two remotes, one that points to your repo and one to ours.
* rebase - When you rebase a branch, you pull commits from your remote branch and move your commits on top of it. This allows you to update your branch with the latest changes without losing your changes.

View File

@ -2,7 +2,7 @@
from __future__ import unicode_literals
import frappe
__version__ = '7.2.30'
__version__ = '7.2.31'
def get_default_company(user=None):
'''Get default company for user'''

View File

@ -115,8 +115,8 @@ class Asset(Document):
def set_accumulated_depreciation(self):
accumulated_depreciation = flt(self.opening_accumulated_depreciation)
for d in self.get("schedules"):
accumulated_depreciation += flt(d.depreciation_amount)
d.accumulated_depreciation_amount = accumulated_depreciation
accumulated_depreciation += flt(d.depreciation_amount, d.precision("depreciation_amount"))
d.accumulated_depreciation_amount = flt(accumulated_depreciation, d.precision("accumulated_depreciation_amount"))
def get_depreciation_amount(self, depreciable_value):
if self.depreciation_method in ("Straight Line", "Manual"):

View File

@ -209,6 +209,7 @@ function hide_fields(doc) {
cur_frm.cscript.update_stock = function(doc, dt, dn) {
hide_fields(doc, dt, dn);
this.frm.fields_dict.items.grid.toggle_reqd("item_code", doc.update_stock? true: false)
}
cur_frm.fields_dict.cash_bank_account.get_query = function(doc) {

View File

@ -157,6 +157,12 @@ class PurchaseInvoice(BuyingController):
super(PurchaseInvoice, self).validate_warehouse()
def validate_item_code(self):
for d in self.get('items'):
if not d.item_code:
frappe.msgprint(_("Item Code required at Row No {0}").format(d.idx), raise_exception=True)
def set_expense_account(self, for_validate=False):
auto_accounting_for_stock = cint(frappe.defaults.get_global_default("auto_accounting_for_stock"))
@ -165,6 +171,7 @@ class PurchaseInvoice(BuyingController):
stock_items = self.get_stock_items()
if self.update_stock:
self.validate_item_code()
self.validate_warehouse()
warehouse_account = get_warehouse_account()

View File

@ -170,6 +170,9 @@ def get_customers_list(pos_profile):
def get_customers_address(customers):
customer_address = {}
if isinstance(customers, basestring):
customers = [frappe._dict({'name': customers})]
for data in customers:
address = frappe.db.sql(""" select name, address_line1, address_line2, city, state,
email_id, phone, fax, pincode from `tabAddress` where is_primary_address =1 and name in
@ -292,6 +295,7 @@ def make_invoice(doc_list={}, email_queue_list={}, customers_list={}):
if not frappe.db.exists('Sales Invoice', {'offline_pos_name': name}):
validate_records(doc)
si_doc = frappe.new_doc('Sales Invoice')
si_doc.due_date = doc.get('posting_date')
si_doc.offline_pos_name = name
si_doc.update(doc)
submit_invoice(si_doc, name, doc)
@ -328,10 +332,16 @@ def add_customer(name):
customer_doc.flags.ignore_mandatory = True
customer_doc.save(ignore_permissions = True)
frappe.db.commit()
return customer_doc.name
def make_address(args, customer):
if args.get('name'):
address = frappe.get_doc('Address', args.get('name'))
if not args.get('address_line1'): return
name = args.get('name') or get_customers_address(customer)[customer].get("name")
if name:
address = frappe.get_doc('Address', name)
frappe.errprint(address)
else:
address = frappe.new_doc('Address')
address.country = frappe.db.get_value('Company', args.get('company'), 'country')

View File

@ -325,6 +325,7 @@ cur_frm.cscript.hide_fields = function(doc) {
cur_frm.cscript.update_stock = function(doc, dt, dn) {
cur_frm.cscript.hide_fields(doc, dt, dn);
this.frm.fields_dict.items.grid.toggle_reqd("item_code", doc.update_stock? true: false)
}
cur_frm.cscript['Make Delivery Note'] = function() {

View File

@ -475,6 +475,7 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
this.pos_bill = this.wrapper.find('.pos-bill-wrapper').hide();
this.list_customers = this.wrapper.find('.list-customers');
this.numeric_keypad = this.wrapper.find('.numeric_keypad');
this.list_customers_btn.addClass("view_customer")
me.render_list_customers();
me.toggle_totals_area(false);
@ -495,9 +496,7 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
me.toggle_totals_area(false);
me.toggle_delete_button()
me.list_customers.hide();
if(me.frm.doc.items.length > 0) {
me.numeric_keypad.show();
}
me.numeric_keypad.show();
}
});
this.add_customer_btn.on('click', function() {
@ -694,7 +693,8 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
.get(0);
}
});
var customers = this.customers.map(function (c) {
this.customers_mapper = this.customers.map(function (c) {
return {
label: c.name,
value: c.name,
@ -703,7 +703,7 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
}
});
customers.push({
this.customers_mapper.push({
label: "<span class='text-primary link-option'>"
+ "<i class='fa fa-plus' style='margin-right: 5px;'></i> "
+ __("Create a new Customer")
@ -711,11 +711,11 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
value: 'is_action',
action: me.add_customer
});
this.party_field.awesomeplete.list = customers;
this.autocomplete_customers();
this.party_field.$input
.on('input', function (e) {
me.party_field.awesomeplete.list = customers;
me.party_field.awesomeplete.list = this.customers_mapper;
})
.on('awesomplete-select', function (e) {
var customer = me.party_field.awesomeplete
@ -731,6 +731,7 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
me.update_customer_data(customer);
me.refresh();
me.set_focus();
me.list_customers_btn.removeClass("view_customer");
})
.on('focus', function (e) {
$(e.target).val('').trigger('input');
@ -754,6 +755,10 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
});
},
autocomplete_customers: function() {
this.party_field.awesomeplete.list = this.customers_mapper;
},
toggle_edit_button: function(flag) {
this.page.wrapper.find('.edit-customer-btn').toggle(flag);
},
@ -768,10 +773,10 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
add_customer: function() {
this.frm.doc.customer = "";
this.update_customer()
this.update_customer(true)
},
update_customer: function () {
update_customer: function (new_customer) {
var me = this;
if (!this.connection_status) return;
@ -844,14 +849,14 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
this.render_address_data()
this.customer_doc.set_primary_action(__("Save"), function () {
me.make_offline_customer();
me.make_offline_customer(new_customer);
me.pos_bill.show();
});
},
render_address_data: function() {
var me = this;
this.address_data = this.address[this.frm.doc.customer] || this.get_address_from_localstorage();
this.address_data = this.address[this.frm.doc.customer];
this.customer_doc.set_values(this.address_data)
if(!this.customer_doc.fields_dict.full_name.$input.val()) {
@ -864,20 +869,32 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
return this.address_details[this.frm.doc.customer]
},
make_offline_customer: function() {
make_offline_customer: function(new_customer) {
this.frm.doc.customer = this.frm.doc.customer || this.customer_doc.get_values().full_name;
this.customer_details = this.get_customers_details();
this.customer_details[this.frm.doc.customer] = this.get_prompt_details();
this.party_field.$input.val(this.frm.doc.customer);
this.customers.push({
name: this.frm.doc.customer,
customer_name: this.frm.doc.customer
});
this.update_address_and_customer_list(new_customer)
this.autocomplete_customers();
this.update_customer_in_localstorage()
this.update_customer_in_localstorage()
this.customer_doc.hide()
},
update_address_and_customer_list: function(new_customer) {
var me = this;
if(new_customer) {
this.customers_mapper.push({
label: this.frm.doc.customer,
value: this.frm.doc.customer,
customer_group: "",
territory: ""
});
}
this.address[this.frm.doc.customer] = this.customer_doc.get_values();
},
get_prompt_details: function() {
this.prompt_details = this.customer_doc.get_values();
this.prompt_details['country'] = this.pos_profile_data.country;
@ -1072,7 +1089,7 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
// if form is local then allow this function
// $(me.wrapper).find(".pos-item-wrapper").on("click", function () {
$(this.wrapper).on("click", ".pos-item-wrapper", function () {
if(me.list_customers_btn.hasClass("view_customer")) return;
if($(me.pos_bill).is(":hidden")) return;
me.customer_validate();
if (me.frm.doc.docstatus == 0) {
@ -1221,7 +1238,7 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
customer_validate: function () {
var me = this;
if (!this.frm.doc.customer) {
if (!this.frm.doc.customer || this.party_field.get_value() == "") {
frappe.throw(__("Please select customer"))
}
},
@ -1339,7 +1356,8 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
projected_qty: d.projected_qty,
rate: format_number(d.rate, me.frm.doc.currency),
enabled: me.pos_profile_data["allow_user_to_edit_rate"] ? true : false,
amount: format_currency(d.amount, me.frm.doc.currency)
amount: format_currency(d.amount, me.frm.doc.currency),
selected_class: (me.item_code == d.item_code) ? "active" : ""
})).appendTo($items);
});
@ -1457,12 +1475,14 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
sn = data.serial_no.split('\n')
if(sn.length) {
serial_no_list = me.serial_no_data[data.item_code]
$.each(sn, function(i, serial_no) {
if(in_list(Object.keys(serial_no_list), serial_no)) {
delete serial_no_list[serial_no]
}
})
me.serial_no_data[data.item_code] = serial_no_list;
if(serial_no_list) {
$.each(sn, function(i, serial_no) {
if(in_list(Object.keys(serial_no_list), serial_no)) {
delete serial_no_list[serial_no]
}
})
me.serial_no_data[data.item_code] = serial_no_list;
}
}
})
},

View File

@ -75,8 +75,8 @@ def get_fiscal_years(transaction_date=None, fiscal_year=None, label="Date", verb
if verbose==1: frappe.msgprint(error_msg)
raise FiscalYearError, error_msg
def validate_fiscal_year(date, fiscal_year, company, label=_("Date"), doc=None):
years = [f[0] for f in get_fiscal_years(date, label=label, company=company)]
def validate_fiscal_year(date, fiscal_year, company, label="Date", doc=None):
years = [f[0] for f in get_fiscal_years(date, label=_(label), company=company)]
if fiscal_year not in years:
if doc:
doc.fiscal_year = years[0]

View File

@ -109,7 +109,7 @@ erpnext.buying.BuyingController = erpnext.TransactionController.extend({
qty: function(doc, cdt, cdn) {
var item = frappe.get_doc(cdt, cdn);
if ((doc.doctype == "Purchase Receipt") || (doc.doctype == "Purchase Invoice" && doc.update_stock)) {
if ((doc.doctype == "Purchase Receipt") || (doc.doctype == "Purchase Invoice" && (doc.update_stock || doc.is_return))) {
frappe.model.round_floats_in(item, ["qty", "received_qty"]);
if(!doc.is_return && this.validate_negative_quantity(cdt, cdn, item, ["qty", "received_qty"])){ return }

View File

@ -42,8 +42,10 @@ def make_variant_based_on_manufacturer(template, manufacturer, manufacturer_part
copy_attributes_to_variant(template, variant)
variant.manufacturer = manufacturer
variant.manufacturer_part_no = manufacturer_part_no
variant.append("manufacturers", {
"manufacturer": manufacturer,
"manufacturer_part_no": manufacturer_part_no
})
variant.item_code = append_number_if_name_exists('Item', template.name)

View File

@ -272,6 +272,12 @@ $.extend(cur_frm.cscript, {
}
});
},
use_multi_level_bom: function() {
if(this.frm.doc.bom_no) {
this.frm.trigger("bom_no");
}
},
qty: function() {
frappe.ui.form.trigger("Production Order", 'bom_no')

View File

@ -213,12 +213,29 @@ class ProductionOrder(Document):
def set_production_order_operations(self):
"""Fetch operations from BOM and set in 'Production Order'"""
if not self.bom_no or cint(frappe.db.get_single_value("Manufacturing Settings", "disable_capacity_planning")):
return
if not self.bom_no \
or cint(frappe.db.get_single_value("Manufacturing Settings", "disable_capacity_planning")):
return
self.set('operations', [])
operations = frappe.db.sql("""select operation, description, workstation, idx,
base_hour_rate as hour_rate, time_in_mins, "Pending" as status from `tabBOM Operation`
where parent = %s order by idx""", self.bom_no, as_dict=1)
if self.use_multi_level_bom:
bom_list = frappe.get_doc("BOM", self.bom_no).traverse_tree()
else:
bom_list = [self.bom_no]
operations = frappe.db.sql("""
select
operation, description, workstation, idx,
base_hour_rate as hour_rate, time_in_mins,
"Pending" as status, parent as bom
from
`tabBOM Operation`
where
parent in (%s) order by idx
""" % ", ".join(["%s"]*len(bom_list)), tuple(bom_list), as_dict=1)
self.set('operations', operations)
self.calculate_time()
@ -257,14 +274,15 @@ class ProductionOrder(Document):
plan_days = frappe.db.get_single_value("Manufacturing Settings", "capacity_planning_for_days") or 30
timesheet = make_timesheet(self.name)
workstation_list = []
timesheet.set('time_logs', [])
for i, d in enumerate(self.operations):
if d.workstation and d.status != 'Completed':
self.set_start_end_time_for_workstation(d, workstation_list, i)
if d.status != 'Completed':
self.set_start_end_time_for_workstation(d, i)
args = self.get_operations_data(d)
add_timesheet_detail(timesheet, args)
original_start_time = d.planned_start_time
@ -291,7 +309,7 @@ class ProductionOrder(Document):
if timesheet and open_new:
return timesheet
if timesheet:
if timesheet and timesheet.get("time_logs"):
timesheet.save()
timesheets.append(timesheet.name)
@ -312,7 +330,7 @@ class ProductionOrder(Document):
'completed_qty': flt(self.qty) - flt(data.completed_qty)
}
def set_start_end_time_for_workstation(self, data, workstation_list, index):
def set_start_end_time_for_workstation(self, data, index):
"""Set start and end time for given operation. If first operation, set start as
`planned_start_date`, else add time diff to end time of earlier operation."""
@ -449,9 +467,14 @@ class ProductionOrder(Document):
@frappe.whitelist()
def get_item_details(item, project = None):
res = frappe.db.sql("""select stock_uom, description
from `tabItem` where disabled=0 and (end_of_life is null or end_of_life='0000-00-00' or end_of_life > %s)
and name=%s""", (nowdate(), item), as_dict=1)
res = frappe.db.sql("""
select stock_uom, description
from `tabItem`
where disabled=0
and (end_of_life is null or end_of_life='0000-00-00' or end_of_life > %s)
and name=%s
""", (nowdate(), item), as_dict=1)
if not res:
return {}

View File

@ -285,8 +285,10 @@ def make_prod_order_test_record(**args):
pro_order.scrap_warehouse = args.fg_warehouse or "_Test Scrap Warehouse - _TC"
pro_order.company = args.company or "_Test Company"
pro_order.stock_uom = args.stock_uom or "_Test UOM"
pro_order.use_multi_level_bom=0
pro_order.set_production_order_operations()
if args.source_warehouse:
pro_order.source_warehouse = args.source_warehouse

View File

@ -1,5 +1,6 @@
{
"allow_copy": 0,
"allow_guest_to_view": 0,
"allow_import": 0,
"allow_rename": 0,
"beta": 0,
@ -9,18 +10,22 @@
"doctype": "DocType",
"document_type": "",
"editable_grid": 1,
"engine": "InnoDB",
"fields": [
{
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "details",
"fieldtype": "Section Break",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "",
"length": 0,
"no_copy": 0,
@ -29,6 +34,7 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
@ -39,13 +45,16 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "operation",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Operation",
"length": 0,
"no_copy": 0,
@ -57,6 +66,7 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 1,
"search_index": 0,
@ -67,13 +77,46 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "bom",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "BOM",
"length": 0,
"no_copy": 1,
"options": "BOM",
"permlevel": 0,
"precision": "",
"print_hide": 1,
"print_hide_if_no_value": 0,
"read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"unique": 0
},
{
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "description",
"fieldtype": "Text Editor",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Operation Description",
"length": 0,
"no_copy": 0,
@ -84,6 +127,7 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
@ -94,13 +138,16 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "col_break1",
"fieldtype": "Column Break",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"length": 0,
"no_copy": 0,
"permlevel": 0,
@ -108,6 +155,7 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
@ -118,6 +166,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"description": "Operation completed for how many finished goods?",
"fieldname": "completed_qty",
"fieldtype": "Float",
@ -125,7 +174,9 @@
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Completed Qty",
"length": 0,
"no_copy": 1,
@ -134,6 +185,7 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
@ -144,6 +196,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"default": "Pending",
"fieldname": "status",
"fieldtype": "Select",
@ -151,7 +204,9 @@
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Status",
"length": 0,
"no_copy": 1,
@ -161,6 +216,7 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
@ -171,13 +227,16 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "workstation",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Workstation",
"length": 0,
"no_copy": 0,
@ -189,6 +248,7 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
@ -199,13 +259,16 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "estimated_time_and_cost",
"fieldtype": "Section Break",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Estimated Time and Cost",
"length": 0,
"no_copy": 0,
@ -214,6 +277,7 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
@ -224,13 +288,16 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "planned_start_time",
"fieldtype": "Datetime",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Planned Start Time",
"length": 0,
"no_copy": 1,
@ -239,6 +306,7 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
@ -249,13 +317,16 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "planned_end_time",
"fieldtype": "Datetime",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Planned End Time",
"length": 0,
"no_copy": 1,
@ -264,6 +335,7 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
@ -274,13 +346,16 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "column_break_10",
"fieldtype": "Column Break",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"length": 0,
"no_copy": 0,
"permlevel": 0,
@ -288,6 +363,7 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
@ -298,6 +374,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"description": "in Minutes",
"fieldname": "time_in_mins",
"fieldtype": "Float",
@ -305,7 +382,9 @@
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Operation Time",
"length": 0,
"no_copy": 0,
@ -316,6 +395,7 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 1,
"search_index": 0,
@ -326,13 +406,16 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "hour_rate",
"fieldtype": "Float",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Hour Rate",
"length": 0,
"no_copy": 0,
@ -343,6 +426,7 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
@ -353,13 +437,16 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "planned_operating_cost",
"fieldtype": "Currency",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Planned Operating Cost",
"length": 0,
"no_copy": 0,
@ -369,6 +456,7 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
@ -379,13 +467,16 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "section_break_9",
"fieldtype": "Section Break",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Actual Time and Cost",
"length": 0,
"no_copy": 0,
@ -394,6 +485,7 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
@ -404,13 +496,16 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "actual_start_time",
"fieldtype": "Datetime",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Actual Start Time",
"length": 0,
"no_copy": 1,
@ -419,6 +514,7 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
@ -429,6 +525,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"description": "Updated via 'Time Log'",
"fieldname": "actual_end_time",
"fieldtype": "Datetime",
@ -436,7 +533,9 @@
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Actual End Time",
"length": 0,
"no_copy": 1,
@ -445,6 +544,7 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
@ -455,13 +555,16 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "column_break_11",
"fieldtype": "Column Break",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"length": 0,
"no_copy": 0,
"permlevel": 0,
@ -469,6 +572,7 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
@ -479,6 +583,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"description": "in Minutes\nUpdated via 'Time Log'",
"fieldname": "actual_operation_time",
"fieldtype": "Float",
@ -486,7 +591,9 @@
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Actual Operation Time",
"length": 0,
"no_copy": 1,
@ -495,6 +602,7 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
@ -505,6 +613,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"description": "(Hour Rate / 60) * Actual Operation Time",
"fieldname": "actual_operating_cost",
"fieldtype": "Currency",
@ -512,7 +621,9 @@
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Actual Operating Cost",
"length": 0,
"no_copy": 1,
@ -522,6 +633,7 @@
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 1,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
@ -529,17 +641,17 @@
"unique": 0
}
],
"has_web_view": 0,
"hide_heading": 0,
"hide_toolbar": 0,
"idx": 0,
"image_view": 0,
"in_create": 0,
"in_dialog": 0,
"is_submittable": 0,
"issingle": 0,
"istable": 1,
"max_attachments": 0,
"modified": "2016-08-22 03:41:42.356833",
"modified": "2017-03-27 15:56:29.010336",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "Production Order Operation",
@ -549,7 +661,9 @@
"quick_entry": 0,
"read_only": 0,
"read_only_onload": 0,
"show_name_in_global_search": 0,
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1,
"track_seen": 0
}

View File

@ -379,3 +379,5 @@ erpnext.patches.v7_2.update_attendance_docstatus
erpnext.patches.v7_2.move_dates_from_salary_structure_to_employee
erpnext.patches.v7_2.make_all_assessment_group
erpnext.patches.v7_2.stock_uom_in_selling
erpnext.patches.v8_0.manufacturer_childtable_migrate

View File

View File

@ -0,0 +1,25 @@
# Copyright (c) 2017, Frappe and Contributors
# License: GNU General Public License v3. See license.txt
from __future__ import unicode_literals
import frappe
def execute():
# reading from json and writing it to mariadb
# reload_doc needed here with information because new table introduced
frappe.reload_doc('stock', 'doctype', 'item_manufacturer')
# reload_doctype is a simpler concept of reload_doc
frappe.reload_doctype('Item')
item_manufacturers = frappe.get_all("Item", fields=["name", "manufacturer", "manufacturer_part_no"])
for item in item_manufacturers:
if item.manufacturer or item.manufacturer_part_no:
item_doc = frappe.get_doc("Item", item.name)
item_doc.append("manufacturers", {
"manufacturer": item.manufacturer,
"manufacturer_part_no": item.manufacturer_part_no
})
item_doc.flags.ignore_validate = True
item_doc.flags.ignore_mandatory = True
item_doc.save()

View File

@ -1080,5 +1080,4 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({
return method
},
});

View File

@ -1,4 +1,4 @@
<div class="pos-list-row pos-bill-item" data-item-code="{{ item_code }}">
<div class="pos-list-row pos-bill-item {{ selected_class }}" data-item-code="{{ item_code }}">
<div class="cell subject">
<!--<input class="list-row-checkbox" type="checkbox" data-name="{{item_code}}">-->
<a class="grey list-id" title="{{ item_name }}">{{ strip_html(__(item_name)) || item_code }}</a>

View File

@ -1,22 +1,22 @@
<div class="pos-selected-item-action" data-item-code="{%= item_code %}">
<div class="pos-list-row">
<div class="cell">Quantity:</div>
<input class="form-control cell pos-item-qty" value="{%= qty %}"/>
<input type="tel" class="form-control cell pos-item-qty" value="{%= qty %}"/>
</div>
<div class="pos-list-row">
<div class="cell">Price List Rate:</div>
<input class="form-control cell" disabled value="{%= price_list_rate %}"/>
<input type="tel" class="form-control cell" disabled value="{%= price_list_rate %}"/>
</div>
<div class="pos-list-row">
<div class="cell">Discount:</div>
<input class="form-control cell pos-item-disc" value="{%= discount_percentage %}">
<input type="tel" class="form-control cell pos-item-disc" value="{%= discount_percentage %}">
</div>
<div class="pos-list-row">
<div class="cell">Price:</div>
<input class="form-control cell pos-item-price" value="{%= rate %}"/>
</div>
<input type="tel" class="form-control cell pos-item-price" value="{%= rate %}"/>
</div>
<div class="pos-list-row">
<div class="cell">Amount:</div>
<input class="form-control cell pos-amount" value="{%= amount %}"/>
<input type="tel" class="form-control cell pos-amount" value="{%= amount %}"/>
</div>
</div>

View File

@ -241,7 +241,7 @@ data_map = {
}
},
"Purchase Invoice Item": {
"columns": ["name", "parent", "item_code", "stock_qty as qty", "base_net_amount"],
"columns": ["name", "parent", "item_code", "(qty * conversion_factor) as qty", "base_net_amount"],
"conditions": ["docstatus=1", "ifnull(parent, '')!=''"],
"order_by": "parent",
"links": {

View File

@ -1528,6 +1528,65 @@
"set_only_once": 0,
"unique": 0
},
{
"allow_on_submit": 0,
"bold": 0,
"collapsible": 1,
"columns": 0,
"fieldname": "manufacturer_part_numbers",
"fieldtype": "Section Break",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Manufacturer Part Numbers",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"unique": 0
},
{
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "manufacturers",
"fieldtype": "Table",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Item Manufacturers",
"length": 0,
"no_copy": 0,
"options": "Item Manufacturer",
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"unique": 0
},
{
"allow_on_submit": 0,
"bold": 0,
@ -1617,65 +1676,6 @@
"set_only_once": 0,
"unique": 0
},
{
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"depends_on": "",
"fieldname": "manufacturer",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Manufacturer",
"length": 0,
"no_copy": 0,
"options": "Manufacturer",
"permlevel": 0,
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"unique": 0
},
{
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"depends_on": "",
"fieldname": "manufacturer_part_no",
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Manufacturer Part Number",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"unique": 0
},
{
"allow_on_submit": 0,
"bold": 0,
@ -2955,7 +2955,7 @@
"istable": 0,
"max_attachments": 1,
"modified": "2017-03-24 15:46:18.569291",
"modified_by": "Administrator",
"modified_by": "d.ottenbreit@eso-electronic.de",
"module": "Stock",
"name": "Item",
"owner": "Administrator",

View File

@ -217,15 +217,15 @@ class TestItem(unittest.TestCase):
variant = get_variant(template.name, manufacturer=manufacturer.name)
self.assertEquals(variant.item_code, '_Test Variant Mfg-1')
self.assertEquals(variant.description, '_Test Variant Mfg')
self.assertEquals(variant.manufacturer, 'MSG1')
self.assertEquals(variant.get("manufacturers")[0].manufacturer, 'MSG1')
variant.insert()
variant = get_variant(template.name, manufacturer=manufacturer.name,
manufacturer_part_no='007')
self.assertEquals(variant.item_code, '_Test Variant Mfg-2')
self.assertEquals(variant.description, '_Test Variant Mfg')
self.assertEquals(variant.manufacturer, 'MSG1')
self.assertEquals(variant.manufacturer_part_no, '007')
self.assertEquals(variant.get("manufacturers")[0].manufacturer, 'MSG1')
self.assertEquals(variant.get("manufacturers")[0].manufacturer_part_no, '007')
def make_item_variant():

View File

@ -0,0 +1,100 @@
{
"allow_copy": 0,
"allow_guest_to_view": 0,
"allow_import": 0,
"allow_rename": 0,
"beta": 0,
"creation": "2017-03-24 14:05:42.026237",
"custom": 0,
"docstatus": 0,
"doctype": "DocType",
"document_type": "",
"editable_grid": 1,
"engine": "InnoDB",
"fields": [
{
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "manufacturer",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Manufacturer",
"length": 0,
"no_copy": 0,
"options": "Manufacturer",
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 1,
"search_index": 0,
"set_only_once": 0,
"unique": 0
},
{
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "manufacturer_part_no",
"fieldtype": "Data",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 1,
"in_standard_filter": 0,
"label": "Manufacturer Part Number",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"unique": 0
}
],
"has_web_view": 0,
"hide_heading": 0,
"hide_toolbar": 0,
"idx": 0,
"image_view": 0,
"in_create": 0,
"is_submittable": 0,
"issingle": 0,
"istable": 1,
"max_attachments": 0,
"modified": "2017-03-24 14:33:56.726460",
"modified_by": "d.ottenbreit@eso-electronic.de",
"module": "Stock",
"name": "Item Manufacturer",
"name_case": "",
"owner": "d.ottenbreit@eso-electronic.de",
"permissions": [],
"quick_entry": 1,
"read_only": 0,
"read_only_onload": 0,
"show_name_in_global_search": 0,
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1,
"track_seen": 0
}

View File

@ -0,0 +1,10 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
import frappe
from frappe.model.document import Document
class ItemManufacturer(Document):
pass

View File

@ -518,7 +518,7 @@ apps/erpnext/erpnext/stock/dashboard/item_dashboard_list.html +25,Acutal Qty {0}
DocType: Timesheet Detail,Hrs,Std
apps/erpnext/erpnext/accounts/doctype/journal_entry/journal_entry.js +317,Please select Company,Bitte Firma auswählen
DocType: Stock Entry Detail,Difference Account,Differenzkonto
apps/erpnext/erpnext/projects/doctype/task/task.py +46,Cannot close task as its dependant task {0} is not closed.,"Aufgabe kann nicht geschlossen werden, da die von ihr abhängige Aufgabe {0} nicht geschlossen ist."
apps/erpnext/erpnext/projects/doctype/task/task.py +46,Cannot close task as its dependant task {0} is not closed.,"Aufgabe kann nicht abgeschlossen werden, da die von ihr abhängige Aufgabe {0} nicht abgeschlossen ist."
apps/erpnext/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py +433,Please enter Warehouse for which Material Request will be raised,"Bitte das Lager eingeben, für das eine Materialanfrage erhoben wird"
DocType: Production Order,Additional Operating Cost,Zusätzliche Betriebskosten
apps/erpnext/erpnext/setup/setup_wizard/industry_type.py +20,Cosmetics,Kosmetika
@ -775,7 +775,7 @@ The tax rate you define here will be the standard tax rate for all **Items**. If
#### Description of Columns
1. Calculation Type:
1. Calculation Type:
- This can be on **Net Total** (that is the sum of basic amount).
- **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.
- **Actual** (as mentioned).
@ -786,15 +786,15 @@ The tax rate you define here will be the standard tax rate for all **Items**. If
6. Amount: Tax amount.
7. Total: Cumulative total to this point.
8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).
9. Is this Tax included in Basic Rate?: If you check this, it means that this tax will not be shown below the item table, but will be included in the Basic Rate in your main item table. This is useful where you want give a flat price (inclusive of all taxes) price to customers.","Standard-Steuer-Vorlage, die für alle Kauftransaktionen angewandt werden kann. Diese Vorlage kann eine Liste der Steuern und auch anderer Kosten wie ""Versand"", ""Versicherung"", ""Handhabung"" usw. enthalten.
9. Is this Tax included in Basic Rate?: If you check this, it means that this tax will not be shown below the item table, but will be included in the Basic Rate in your main item table. This is useful where you want give a flat price (inclusive of all taxes) price to customers.","Standard-Steuer-Vorlage, die für alle Kauftransaktionen angewandt werden kann. Diese Vorlage kann eine Liste der Steuern und auch anderer Kosten wie ""Versand"", ""Versicherung"", ""Handhabung"" usw. enthalten.
#### Hinweis
#### Hinweis
Der Steuersatz, den sie hier definieren, wird der Standardsteuersatz für alle Artikel. Wenn es Artikel mit davon abweichenden Steuersätzen gibt, müssen diese in der Tabelle ""Artikelsteuer"" im Artikelstamm hinzugefügt werden.
#### Beschreibung der Spalten
#### Beschreibung der Spalten
1. Berechnungsart:
1. Berechnungsart:
- Dies kann sein ""Auf Nettosumme"" (das ist die Summe der Grundbeträge).
- ""Auf vorherige Zeilensumme/-Betrag"" (für kumulative Steuern oder Abgaben). Wenn diese Option ausgewählt wird, wird die Steuer als Prozentsatz der vorherigen Zeilesumme/des vorherigen Zeilenbetrags (in der Steuertabelle) angewendet.
- ""Unmittelbar"" (wie bereits erwähnt).
@ -1010,7 +1010,7 @@ apps/erpnext/erpnext/accounts/doctype/c_form/c_form.py +30,"Row {0}: Invoice {1}
apps/erpnext/erpnext/accounts/doctype/journal_entry/journal_entry.py +125,Row {0}: Payment against Sales/Purchase Order should always be marked as advance,"Zeile {0}: ""Zahlung zu Kunden-/Lieferantenauftrag"" sollte immer als ""Vorkasse"" eingestellt werden"
apps/erpnext/erpnext/setup/setup_wizard/industry_type.py +16,Chemical,Chemische Industrie
DocType: Salary Component Account,Default Bank / Cash account will be automatically updated in Salary Journal Entry when this mode is selected.,"Standard Bank / Geldkonto wird automatisch in Gehalts Journal Entry aktualisiert werden, wenn dieser Modus ausgewählt ist."
apps/erpnext/erpnext/schools/doctype/grading_structure/grading_structure.py +24,"The intervals for Grade Code {0} overlaps with the grade intervals for other grades.
apps/erpnext/erpnext/schools/doctype/grading_structure/grading_structure.py +24,"The intervals for Grade Code {0} overlaps with the grade intervals for other grades.
Please check intervals {0} and {1} and try again",Die Intervalle für Grade-Code {0} überlappt mit der Note Intervalle für andere Typen. Bitte überprüfen Sie Intervalle {0} und {1} und versuchen Sie es erneut
DocType: BOM,Raw Material Cost(Company Currency),Rohstoffkosten (Gesellschaft Währung)
apps/erpnext/erpnext/stock/doctype/stock_entry/stock_entry.py +715,All items have already been transferred for this Production Order.,Alle Artikel wurden schon für diesen Fertigungsauftrag übernommen.
@ -1430,7 +1430,7 @@ DocType: Rename Tool,Type of document to rename.,"Dokumententyp, der umbenannt w
apps/erpnext/erpnext/public/js/setup_wizard.js +307,We buy this Item,Wir kaufen diesen Artikel
apps/erpnext/erpnext/accounts/doctype/gl_entry/gl_entry.py +54,{0} {1}: Customer is required against Receivable account {2},{0} {1}: Der Kunde muss gegen Receivable Konto {2}
DocType: Purchase Invoice,Total Taxes and Charges (Company Currency),Gesamte Steuern und Gebühren (Firmenwährung)
apps/erpnext/erpnext/accounts/report/trial_balance/trial_balance.js +60,Show unclosed fiscal year's P&L balances,Zeigen Sie nicht geschlossene Geschäftsjahr des P &amp; L-Waagen
apps/erpnext/erpnext/accounts/report/trial_balance/trial_balance.js +60,Show unclosed fiscal year's P&L balances,Zeigen Sie nicht abgeschlossene Geschäftsjahr des P &amp; L-Waagen
DocType: Shipping Rule,Shipping Account,Versandkonto
apps/erpnext/erpnext/accounts/doctype/gl_entry/gl_entry.py +93,{0} {1}: Account {2} is inactive,{0} {1}: Konto {2} ist inaktiv
apps/erpnext/erpnext/utilities/activation.py +85,Make Sales Orders to help you plan your work and deliver on-time,Machen Sie Kundenaufträge Sie Ihre Arbeit planen und liefern on-time
@ -1468,7 +1468,7 @@ DocType: HR Settings,Email Salary Slip to Employee,E-Mail-Gehaltsabrechnung an M
DocType: Cost Center,Parent Cost Center,Übergeordnete Kostenstelle
apps/erpnext/erpnext/buying/doctype/request_for_quotation/request_for_quotation.js +816,Select Possible Supplier,Wählen Mögliche Lieferant
DocType: Sales Invoice,Source,Quelle
apps/erpnext/erpnext/templates/pages/projects.html +31,Show closed,Zeige geschlossen
apps/erpnext/erpnext/templates/pages/projects.html +31,Show closed,Zeige abgeschlossen
DocType: Leave Type,Is Leave Without Pay,Ist unbezahlter Urlaub
apps/erpnext/erpnext/stock/doctype/item/item.py +237,Asset Category is mandatory for Fixed Asset item,Anlagekategorie ist obligatorisch für Posten des Anlagevermögens
apps/erpnext/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py +145,No records found in the Payment table,"Keine Datensätze in der Tabelle ""Zahlungen"" gefunden"
@ -1578,7 +1578,7 @@ apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.py
apps/erpnext/erpnext/accounts/doctype/payment_request/payment_request.py +23,Payment Request already exists {0},Zahlungsanordnung bereits vorhanden ist {0}
apps/erpnext/erpnext/projects/report/project_wise_stock_tracking/project_wise_stock_tracking.py +27,Cost of Issued Items,Aufwendungen für in Umlauf gebrachte Artikel
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +246,Quantity must not be more than {0},Menge darf nicht mehr als {0} sein
apps/erpnext/erpnext/accounts/report/balance_sheet/balance_sheet.py +107,Previous Financial Year is not closed,Zurück Geschäftsjahr nicht geschlossen
apps/erpnext/erpnext/accounts/report/balance_sheet/balance_sheet.py +107,Previous Financial Year is not closed,Zurück Geschäftsjahr nicht abgeschlossen
apps/erpnext/erpnext/accounts/report/accounts_receivable/accounts_receivable.py +44,Age (Days),Alter (Tage)
DocType: Quotation Item,Quotation Item,Angebotsposition
DocType: Account,Account Name,Kontenname
@ -2282,7 +2282,7 @@ DocType: Supplier Quotation,Opportunity,Chance
DocType: Operation,Default Workstation,Standard-Arbeitsplatz
DocType: Notification Control,Expense Claim Approved Message,Benachrichtigung über genehmigte Aufwandsabrechnung
DocType: Payment Entry,Deductions or Loss,Abzüge oder Verlust
apps/erpnext/erpnext/accounts/doctype/journal_entry/journal_entry.py +240,{0} {1} is closed,{0} {1} ist geschlossen
apps/erpnext/erpnext/accounts/doctype/journal_entry/journal_entry.py +240,{0} {1} is closed,{0} {1} ist abgeschlossen
DocType: Email Digest,How frequently?,Wie häufig?
DocType: Purchase Receipt,Get Current Stock,Aktuellen Lagerbestand aufrufen
apps/erpnext/erpnext/config/manufacturing.py +46,Tree of Bill of Materials,Stücklistenstruktur
@ -2326,7 +2326,7 @@ The tax rate you define here will be the standard tax rate for all **Items**. If
#### Description of Columns
1. Calculation Type:
1. Calculation Type:
- This can be on **Net Total** (that is the sum of basic amount).
- **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.
- **Actual** (as mentioned).
@ -2338,15 +2338,15 @@ The tax rate you define here will be the standard tax rate for all **Items**. If
7. Total: Cumulative total to this point.
8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).
9. Consider Tax or Charge for: In this section you can specify if the tax / charge is only for valuation (not a part of total) or only for total (does not add value to the item) or for both.
10. Add or Deduct: Whether you want to add or deduct the tax.","Standard-Steuer-Vorlage, die für alle Kauftransaktionen angewandt werden kann. Diese Vorlage kann eine Liste der Steuern und auch anderer Kosten wie ""Versand"", ""Versicherung"", ""Handhabung"" usw. enthalten.
10. Add or Deduct: Whether you want to add or deduct the tax.","Standard-Steuer-Vorlage, die für alle Kauftransaktionen angewandt werden kann. Diese Vorlage kann eine Liste der Steuern und auch anderer Kosten wie ""Versand"", ""Versicherung"", ""Handhabung"" usw. enthalten.
#### Hinweis
#### Hinweis
Der Steuersatz, den sie hier definieren, wird der Standardsteuersatz für alle Artikel. Wenn es Artikel mit davon abweichenden Steuersätzen gibt, müssen diese in der Tabelle ""Artikelsteuer"" im Artikelstamm hinzugefügt werden.
#### Beschreibung der Spalten
#### Beschreibung der Spalten
1. Berechnungsart:
1. Berechnungsart:
- Dies kann sein ""Auf Nettosumme"" (das ist die Summe der Grundbeträge).
- ""Auf vorherige Zeilensumme/-Betrag"" (für kumulative Steuern oder Abgaben). Wenn diese Option ausgewählt wird, wird die Steuer als Prozentsatz der vorherigen Zeilesumme/des vorherigen Zeilenbetrags (in der Steuertabelle) angewendet.
- ""Unmittelbar"" (wie bereits erwähnt).
@ -2557,7 +2557,7 @@ Examples:
1. Ways of addressing disputes, indemnity, liability, etc.
1. Address and Contact of your Company.","Allgemeine Geschäftsbedingungen, die bei Ver- und Einkäufen verwendet werden können.
Beispiele:
Beispiele:
1. Gültigkeit des Angebots.
2. Zahlungsbedingungen (Vorkasse, auf Rechnung, Teilweise Vorkasse usw.)
@ -2566,7 +2566,7 @@ Examples:
5. Garantie, falls vorhanden.
6. Rückgabebedingungen.
7. Lieferbedingungen, falls zutreffend.
8. Beschwerdemanagement, Schadensersatz, Haftung usw.
8. Beschwerdemanagement, Schadensersatz, Haftung usw.
9. Adresse und Kontaktdaten des Unternehmens."
DocType: Attendance,Leave Type,Urlaubstyp
apps/erpnext/erpnext/controllers/stock_controller.py +222,Expense / Difference account ({0}) must be a 'Profit or Loss' account,"Aufwands-/Differenz-Konto ({0}) muss ein ""Gewinn oder Verlust""-Konto sein"
@ -2583,6 +2583,7 @@ DocType: Bin,FCFS Rate,"""Wer-zuerst-kommt-mahlt-zuerst""-Anteil (Windhundverfah
DocType: Payment Reconciliation Invoice,Outstanding Amount,Ausstehender Betrag
apps/erpnext/erpnext/templates/generators/bom.html +71,Time(in mins),Zeit (in Min)
DocType: Project Task,Working,In Bearbeitung
DocType: Project Task,Closed,Abgeschlossen
DocType: Stock Ledger Entry,Stock Queue (FIFO),Lagerverfahren (FIFO)
apps/erpnext/erpnext/accounts/doctype/pos_profile/pos_profile.py +39,{0} does not belong to Company {1},{0} gehört nicht zu Firma {1}
apps/erpnext/erpnext/accounts/report/asset_depreciations_and_balances/asset_depreciations_and_balances.py +119,Cost as on,"Kosten, da auf"
@ -2805,7 +2806,7 @@ apps/erpnext/erpnext/accounts/doctype/payment_entry/payment_entry.py +79,Party T
DocType: Quality Inspection,Outgoing,Ausgang
DocType: Material Request,Requested For,Angefordert für
DocType: Quotation Item,Against Doctype,Zu DocType
apps/erpnext/erpnext/controllers/buying_controller.py +380,{0} {1} is cancelled or closed,{0} {1} wurde abgebrochen oder geschlossen
apps/erpnext/erpnext/controllers/buying_controller.py +380,{0} {1} is cancelled or closed,{0} {1} wurde abgebrochen oder abgeschlossen
DocType: Delivery Note,Track this Delivery Note against any Project,Diesen Lieferschein in jedem Projekt nachverfolgen
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +30,Net Cash from Investing,Nettocashflow aus Investitionen
,Is Primary Address,Ist Hauptadresse
@ -2838,7 +2839,7 @@ apps/erpnext/erpnext/accounts/doctype/asset/asset.py +58,Expected Value After Us
DocType: Sales Invoice Item,Available Qty at Warehouse,Verfügbarer Lagerbestand
apps/erpnext/erpnext/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.py +20,Billed Amount,Rechnungsbetrag
DocType: Asset,Double Declining Balance,Doppelte degressive
apps/erpnext/erpnext/selling/doctype/sales_order/sales_order.py +166,Closed order cannot be cancelled. Unclose to cancel.,Geschlossen Auftrag nicht abgebrochen werden kann. Unclose abzubrechen.
apps/erpnext/erpnext/selling/doctype/sales_order/sales_order.py +166,Closed order cannot be cancelled. Unclose to cancel.,Abgeschlossen Auftrag kann nicht abgebrochen werden. Abschließen rückgängig machen um abzubrechen.
DocType: Student Guardian,Father,Vater
apps/erpnext/erpnext/controllers/accounts_controller.py +568,'Update Stock' cannot be checked for fixed asset sale,'Update Bestand' kann nicht für einen festen Asset-Verkauf überprüft werden
DocType: Bank Reconciliation,Bank Reconciliation,Kontenabgleich
@ -3724,7 +3725,7 @@ DocType: Purchase Invoice,Return,Zurück
DocType: Production Order Operation,Production Order Operation,Arbeitsgang im Fertigungsauftrag
DocType: Pricing Rule,Disable,Deaktivieren
apps/erpnext/erpnext/hr/doctype/expense_claim/expense_claim.py +153,Mode of payment is required to make a payment,"Modus der Zahlung ist erforderlich, um eine Zahlung zu leisten"
DocType: Project Task,Pending Review,Wartet auf Überprüfung
DocType: Project Task,Pending Review,Warte auf Überprüfung
apps/erpnext/erpnext/accounts/doctype/asset/depreciation.py +106,"Asset {0} cannot be scrapped, as it is already {1}","Asset-{0} kann nicht verschrottet werden, als es ohnehin schon ist {1}"
DocType: Task,Total Expense Claim (via Expense Claim),Gesamtbetrag der Aufwandsabrechnung (über Aufwandsabrechnung)
apps/erpnext/erpnext/accounts/report/sales_register/sales_register.py +70,Customer Id,Kunden-ID
@ -3800,7 +3801,7 @@ apps/erpnext/erpnext/controllers/recurring_document.py +133,Please find attached
apps/erpnext/erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py +34,Bank Statement balance as per General Ledger,Kontoauszug Bilanz nach Hauptbuch
DocType: Job Applicant,Applicant Name,Bewerbername
DocType: Authorization Rule,Customer / Item Name,Kunde / Artikelname
DocType: Product Bundle,"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**.
DocType: Product Bundle,"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**.
The package **Item** will have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes"".
@ -4151,7 +4152,7 @@ DocType: Purchase Invoice Item,Rejected Serial No,Abgelehnte Seriennummer
apps/erpnext/erpnext/accounts/doctype/fiscal_year/fiscal_year.py +82,Year start date or end date is overlapping with {0}. To avoid please set company,Jahresbeginn oder Enddatum überlappt mit {0}. Um dies zu verhindern setzen Sie eine Firma.
apps/erpnext/erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py +157,Start date should be less than end date for Item {0},Startdatum sollte für den Artikel {0} vor dem Enddatum liegen
DocType: Item,"Example: ABCD.#####
If series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.","Beispiel: ABCD.#####
If series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.","Beispiel: ABCD.#####
Wenn ""Serie"" eingestellt ist und ""Seriennummer"" in den Transaktionen nicht aufgeführt ist, dann wird eine Seriennummer automatisch auf der Grundlage dieser Serie erstellt. Wenn immer explizit Seriennummern für diesen Artikel aufgeführt werden sollen, muss das Feld leer gelassen werden."
DocType: Upload Attendance,Upload Attendance,Anwesenheit hochladen
apps/erpnext/erpnext/stock/doctype/stock_entry/stock_entry.js +300,BOM and Manufacturing Quantity are required,Stückliste und Fertigungsmenge werden benötigt

1 DocType: Employee Salary Mode Gehaltsmodus
518 apps/erpnext/erpnext/projects/doctype/task/task.py +46 Cannot close task as its dependant task {0} is not closed. Aufgabe kann nicht geschlossen werden, da die von ihr abhängige Aufgabe {0} nicht geschlossen ist. Aufgabe kann nicht abgeschlossen werden, da die von ihr abhängige Aufgabe {0} nicht abgeschlossen ist.
519 apps/erpnext/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py +433 Please enter Warehouse for which Material Request will be raised Bitte das Lager eingeben, für das eine Materialanfrage erhoben wird
520 DocType: Production Order Additional Operating Cost Zusätzliche Betriebskosten
521 apps/erpnext/erpnext/setup/setup_wizard/industry_type.py +20 Cosmetics Kosmetika
522 apps/erpnext/erpnext/stock/doctype/item/item.py +535 To merge, following properties must be same for both items Um zwei Produkte zusammenzuführen, müssen folgende Eigenschaften für beide Produkte gleich sein
523 DocType: Shipping Rule Net Weight Nettogewicht
524 DocType: Employee Emergency Phone Notruf
775 apps/erpnext/erpnext/setup/setup_wizard/industry_type.py +13 Biotechnology Biotechnologie
776 apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +107 Office Maintenance Expenses Büro-Wartungskosten
777 apps/erpnext/erpnext/config/learn.py +47 Setting up Email Account Einrichten E-Mail-Konto
778 apps/erpnext/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.js +115 Please enter Item first Bitte zuerst den Artikel angeben
779 DocType: Account Liability Verbindlichkeit
780 apps/erpnext/erpnext/hr/doctype/expense_claim/expense_claim.py +175 Sanctioned Amount cannot be greater than Claim Amount in Row {0}. Genehmigter Betrag kann nicht größer als geforderter Betrag in Zeile {0} sein.
781 DocType: Company Default Cost of Goods Sold Account Standard-Herstellkosten
786 apps/erpnext/erpnext/accounts/doctype/journal_entry/journal_entry.py +743 No Permission Keine Berechtigung
787 DocType: Company Default Bank Account Standardbankkonto
788 apps/erpnext/erpnext/accounts/report/general_ledger/general_ledger.py +50 To filter based on Party, select Party Type first Um auf der Grundlage von Gruppen zu filtern, bitte zuerst den Gruppentyp wählen
789 apps/erpnext/erpnext/controllers/sales_and_purchase_return.py +48 'Update Stock' can not be checked because items are not delivered via {0} "Lager aktualisieren" kann nicht ausgewählt werden, da Artikel nicht über {0} geliefert wurden
790 DocType: Vehicle Acquisition Date Kaufdatum
791 apps/erpnext/erpnext/public/js/setup_wizard.js +303 Nos Stk
792 DocType: Item Items with higher weightage will be shown higher Artikel mit höherem Gewicht werden weiter oben angezeigt
793 DocType: Bank Reconciliation Detail Bank Reconciliation Detail Ausführlicher Kontenabgleich
794 apps/erpnext/erpnext/controllers/accounts_controller.py +555 Row #{0}: Asset {1} must be submitted Row # {0}: Vermögens {1} muss eingereicht werden
795 apps/erpnext/erpnext/hr/doctype/leave_control_panel/leave_control_panel.py +40 No employee found Kein Mitarbeiter gefunden
796 DocType: Supplier Quotation Stopped Angehalten
797 DocType: Item If subcontracted to a vendor Wenn an einen Zulieferer untervergeben
798 DocType: SMS Center All Customer Contact Alle Kundenkontakte
799 apps/erpnext/erpnext/config/stock.py +153 Upload stock balance via csv. Lagerbestand über CSV hochladen
800 DocType: Warehouse Tree Details Baum-Details
1010 DocType: Landed Cost Purchase Receipt Landed Cost Purchase Receipt Einstandspreis-Kaufbeleg
1011 DocType: Company Default Terms Allgemeine Geschäftsbedingungen
1012 DocType: Packing Slip Item Packing Slip Item Position auf dem Packzettel
1013 DocType: Purchase Invoice Cash/Bank Account Bar-/Bankkonto
1014 apps/erpnext/erpnext/public/js/queries.js +88 Please specify a {0} Bitte geben Sie eine {0}
1015 apps/erpnext/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py +71 Removed items with no change in quantity or value. Artikel wurden ohne Veränderung der Menge oder des Wertes entfernt.
1016 DocType: Delivery Note Delivery To Lieferung an
1430 apps/erpnext/erpnext/schools/utils.py +19 This {0} conflicts with {1} for {2} {3} Diese {0} Konflikte mit {1} von {2} {3}
1431 DocType: Student Attendance Tool Students HTML Studenten HTML
1432 apps/erpnext/erpnext/public/js/setup_wizard.js +60 Financial Year Start Date Startdatum des Geschäftsjahres
1433 DocType: POS Profile Apply Discount bewerben Rabatt
1434 DocType: Employee External Work History Total Experience Gesamterfahrung
1435 apps/erpnext/erpnext/setup/doctype/email_digest/templates/default.html +70 Open Projects Offene Projekte
1436 apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +265 Packing Slip(s) cancelled Packzettel storniert
1468 DocType: Expense Claim EXP EXP
1469 apps/erpnext/erpnext/config/stock.py +200 Brand master. Stammdaten zur Marke
1470 apps/erpnext/erpnext/schools/utils.py +50 Student {0} - {1} appears Multiple times in row {2} & {3} Student {0} - {1} erscheint mehrfach in Zeile {2} &amp; {3}
1471 DocType: Program Enrollment Tool Program Enrollments Programm Einschreibungen
1472 DocType: Sales Invoice Item Brand Name Bezeichnung der Marke
1473 DocType: Purchase Receipt Transporter Details Informationen zum Transporteur
1474 apps/erpnext/erpnext/accounts/page/pos/pos.js +2058 Default warehouse is required for selected item Standard Lager wird für das ausgewählte Element erforderlich
1578 apps/erpnext/erpnext/schools/doctype/student_group/student_group.py +40 Cannot enroll more than {0} students for this student group. Kann nicht mehr als {0} Studenten für diese Studentengruppe einschreiben.
1579 apps/erpnext/erpnext/accounts/doctype/asset_category/asset_category.py +15 {0} must be greater than 0 {0} muss größer 0 sein
1580 DocType: Manufacturing Settings Capacity Planning For (Days) Kapazitätsplanung für (Tage)
1581 apps/erpnext/erpnext/buying/doctype/supplier/supplier_dashboard.py +10 Procurement Beschaffung
1582 apps/erpnext/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py +64 None of the items have any change in quantity or value. Keiner der Artikel hat irgendeine Änderung bei Mengen oder Kosten.
1583 apps/erpnext/erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.js +43 Warranty Claim Garantieanspruch
1584 Lead Details Einzelheiten zum Lead
2282 apps/erpnext/erpnext/crm/doctype/lead/lead.py +45 Next Contact By cannot be same as the Lead Email Address Weiter Kontakt Durch nicht als Lead E-Mail-Adresse identisch sein
2283 DocType: Tax Rule Billing City Stadt laut Rechnungsadresse
2284 DocType: Asset Manual Handbuch
2285 DocType: Salary Component Account Salary Component Account Gehaltskomponente Account
2286 DocType: Global Defaults Hide Currency Symbol Währungssymbol ausblenden
2287 apps/erpnext/erpnext/config/accounts.py +289 e.g. Bank, Cash, Credit Card z. B. Bank, Bargeld, Kreditkarte
2288 DocType: Lead Source Source Name Quellenname
2326 DocType: Payment Entry Cheque/Reference Date Scheck-/ Referenztag
2327 DocType: Purchase Invoice Total Taxes and Charges Gesamte Steuern und Gebühren
2328 DocType: Employee Emergency Contact Notfallkontakt
2329 DocType: Bank Reconciliation Detail Payment Entry Zahlung Eintrag
2330 DocType: Item Quality Parameters Qualitätsparameter
2331 sales-browser Umsatz-Browser
2332 apps/erpnext/erpnext/accounts/doctype/account/account.js +56 Ledger Hauptbuch
2338 DocType: Purchase Order Ref SQ Ref-SQ
2339 apps/erpnext/erpnext/config/manufacturing.py +74 Replace Item / BOM in all BOMs Artikel/Stückliste in allen Stücklisten ersetzen
2340 apps/erpnext/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py +52 Receipt document must be submitted Eingangsbeleg muss vorgelegt werden
2341 DocType: Purchase Invoice Item Received Qty Erhaltene Menge
2342 DocType: Stock Entry Detail Serial No / Batch Seriennummer / Charge
2343 apps/erpnext/erpnext/selling/doctype/sales_order/sales_order.py +297 Not Paid and Not Delivered Nicht bezahlt und nicht geliefert
2344 DocType: Product Bundle Parent Item Übergeordneter Artikel
2345 DocType: Account Account Type Kontentyp
2346 DocType: Delivery Note DN-RET- DN-Ret
2347 apps/erpnext/erpnext/templates/pages/projects.html +58 No time sheets Keine Zeitblätter
2348 apps/erpnext/erpnext/hr/doctype/leave_allocation/leave_allocation.py +123 Leave Type {0} cannot be carry-forwarded Urlaubstyp {0} kann nicht in die Zukunft übertragen werden
2349 apps/erpnext/erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py +216 Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule' Wartungsplan wird nicht für alle Elemente erzeugt. Bitte klicken Sie auf "Zeitplan generieren"
2350 To Produce Zu produzieren
2351 apps/erpnext/erpnext/config/hr.py +93 Payroll Lohn-und Gehaltsabrechnung
2352 apps/erpnext/erpnext/accounts/doctype/payment_entry/payment_entry.js +171 For row {0} in {1}. To include {2} in Item rate, rows {3} must also be included Für Zeile {0} in {1}. Um {2} in die Artikel-Bewertung mit einzubeziehen, muss auch Zeile {3} mit enthalten sein
2557 apps/erpnext/erpnext/controllers/accounts_controller.py +482 DocType: Student Log Total advance ({0}) against Order {1} cannot be greater than the Grand Total ({2}) Academic Insgesamt Voraus ({0}) gegen Bestellen {1} kann nicht größer sein als die Gesamtsumme ({2}) akademisch
2558 DocType: Sales Partner apps/erpnext/erpnext/controllers/accounts_controller.py +482 Select Monthly Distribution to unevenly distribute targets across months. Total advance ({0}) against Order {1} cannot be greater than the Grand Total ({2}) Bitte "Monatsweise Verteilung" wählen, um Ziele ungleichmäßig über Monate zu verteilen. Insgesamt Voraus ({0}) gegen Bestellen {1} kann nicht größer sein als die Gesamtsumme ({2})
2559 DocType: Purchase Invoice Item DocType: Sales Partner Valuation Rate Select Monthly Distribution to unevenly distribute targets across months. Wertansatz Bitte "Monatsweise Verteilung" wählen, um Ziele ungleichmäßig über Monate zu verteilen.
2560 DocType: Stock Reconciliation DocType: Purchase Invoice Item SR/ Valuation Rate SR / Wertansatz
2561 DocType: Vehicle DocType: Stock Reconciliation Diesel SR/ Diesel SR /
2562 apps/erpnext/erpnext/stock/get_item_details.py +293 DocType: Vehicle Price List Currency not selected Diesel Preislistenwährung nicht ausgewählt Diesel
2563 apps/erpnext/erpnext/stock/get_item_details.py +293 Student Monthly Attendance Sheet Price List Currency not selected Schülermonatsanwesenheits Preislistenwährung nicht ausgewählt
2566 apps/erpnext/erpnext/accounts/report/accounts_receivable/accounts_receivable.html +8 apps/erpnext/erpnext/projects/report/project_wise_stock_tracking/project_wise_stock_tracking.py +30 Until Project Start Date Bis Startdatum des Projekts
2567 DocType: Rename Tool apps/erpnext/erpnext/accounts/report/accounts_receivable/accounts_receivable.html +8 Rename Log Until Protokoll umbenennen Bis
2568 DocType: HR Settings DocType: Rename Tool Maintain Billing Hours and Working Hours Same on Timesheet Rename Log Pflegen Abrechnungszeiten und Arbeitszeiten Same auf Stundenzettel Protokoll umbenennen
2569 DocType: Maintenance Visit Purpose DocType: HR Settings Against Document No Maintain Billing Hours and Working Hours Same on Timesheet Zu Dokument Nr. Pflegen Abrechnungszeiten und Arbeitszeiten Same auf Stundenzettel
2570 DocType: BOM DocType: Maintenance Visit Purpose Scrap Against Document No Schrott Zu Dokument Nr.
2571 apps/erpnext/erpnext/config/selling.py +110 DocType: BOM Manage Sales Partners. Scrap Vertriebspartner verwalten Schrott
2572 DocType: Quality Inspection apps/erpnext/erpnext/config/selling.py +110 Inspection Type Manage Sales Partners. Art der Prüfung Vertriebspartner verwalten
2583 apps/erpnext/erpnext/hr/doctype/job_applicant/job_applicant.py +25 DocType: Program Enrollment Tool Student Name or Email is mandatory Program Enrollment Tool Student Name oder E-Mail-Adresse ist zwingend erforderlich Programm-Enrollment-Tool Studenten
2584 apps/erpnext/erpnext/config/stock.py +163 apps/erpnext/erpnext/hr/doctype/job_applicant/job_applicant.py +25 Incoming quality inspection. Name or Email is mandatory Wareneingangs-Qualitätsprüfung Name oder E-Mail-Adresse ist zwingend erforderlich
2585 DocType: Purchase Order Item apps/erpnext/erpnext/config/stock.py +163 Returned Qty Incoming quality inspection. Zurückgegebene Menge Wareneingangs-Qualitätsprüfung
2586 DocType: Purchase Order Item Returned Qty Zurückgegebene Menge
2587 DocType: Employee Exit Verlassen
2588 apps/erpnext/erpnext/accounts/doctype/account/account.py +160 Root Type is mandatory Root-Typ ist zwingend erforderlich
2589 DocType: BOM Total Cost(Company Currency) Gesamtkosten (Gesellschaft Währung)
2806 DocType: Production Order Material Transferred for Manufacturing Material zur Herstellung übertragen
2807 apps/erpnext/erpnext/accounts/report/general_ledger/general_ledger.py +32 Account {0} does not exists Konto {0} existiert nicht
2808 DocType: Project Project Type Projekttyp
2809 apps/erpnext/erpnext/setup/doctype/sales_person/sales_person.py +16 Either target qty or target amount is mandatory. Entweder Zielstückzahl oder Zielmenge ist zwingend erforderlich.
2810 apps/erpnext/erpnext/config/projects.py +45 Cost of various activities Aufwendungen für verschiedene Tätigkeiten
2811 apps/erpnext/erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.py +60 Setting Events to {0}, since the Employee attached to the below Sales Persons does not have a User ID{1} Einstellen Events auf {0}, da die Mitarbeiter auf die beigefügten unter Verkaufs Personen keine Benutzer-ID {1}
2812 DocType: Timesheet Billing Details Rechnungsdetails
2839 apps/erpnext/erpnext/selling/page/sales_analytics/sales_analytics.js +33 Customer Group / Customer Kundengruppe / Kunde
2840 apps/erpnext/erpnext/accounts/report/balance_sheet/balance_sheet.py +28 Unclosed Fiscal Years Profit / Loss (Credit) Unclosed Geschäftsjahre Gewinn / Verlust (Credit)
2841 DocType: Sales Invoice Time Sheets Zeitblätter
2842 DocType: Payment Gateway Account Default Payment Request Message Standard Payment Request Message
2843 DocType: Item Group Check this if you want to show in website Aktivieren, wenn der Inhalt auf der Webseite angezeigt werden soll
2844 apps/erpnext/erpnext/config/accounts.py +136 Banking and Payments Bank- und Zahlungsverkehr
2845 Welcome to ERPNext Willkommen bei ERPNext
3725 DocType: Employee Education Qualification Qualifikation
3726 DocType: Item Price Item Price Artikelpreis
3727 apps/erpnext/erpnext/setup/setup_wizard/industry_type.py +48 Soap & Detergent Reinigungsmittel
3728 DocType: BOM Show Items Elemente anzeigen
3729 apps/erpnext/erpnext/schools/doctype/course_schedule/course_schedule.py +39 From Time cannot be greater than To Time. Von Zeit sein kann, nicht größer ist als auf die Zeit.
3730 apps/erpnext/erpnext/setup/setup_wizard/industry_type.py +36 Motion Picture & Video Film & Fernsehen
3731 apps/erpnext/erpnext/buying/doctype/supplier_quotation/supplier_quotation_list.js +5 Ordered Bestellt
3801 apps/erpnext/erpnext/setup/setup_wizard/industry_type.py +22 Department Stores Kaufhäuser
3802 DocType: Warehouse PIN STIFT
3803 DocType: Sales Invoice Base Change Amount (Company Currency) Base-Änderungsbetrag (Gesellschaft Währung)
3804 apps/erpnext/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py +310 No accounting entries for the following warehouses Keine Buchungen für die folgenden Lager
3805 apps/erpnext/erpnext/projects/doctype/project/project.js +92 Save the document first. Speichern Sie das Dokument zuerst.
3806 DocType: Account Chargeable Gebührenpflichtig
3807 DocType: Company Change Abbreviation Abkürzung ändern
4152 apps/erpnext/erpnext/public/js/setup_wizard.js +320 Setup a simple website for my organization Richten Sie eine einfache Website für meine Organisation
4153 DocType: Payment Reconciliation Receivable / Payable Account Forderungen-/Verbindlichkeiten-Konto
4154 DocType: Delivery Note Item Against Sales Order Item Zu Kundenauftrags-Position
4155 apps/erpnext/erpnext/stock/doctype/item/item.py +661 Please specify Attribute Value for attribute {0} Bitte Attributwert für Attribut {0} angeben
4156 DocType: Item Default Warehouse Standardlager
4157 apps/erpnext/erpnext/accounts/doctype/budget/budget.py +45 Budget cannot be assigned against Group Account {0} Budget kann nicht einem Gruppenkonto {0} zugeordnet werden
4158 apps/erpnext/erpnext/accounts/doctype/cost_center/cost_center.py +22 Please enter parent cost center Bitte übergeordnete Kostenstelle eingeben