Merge pull request #6774 from KanchanChauhan/salarystruct-process-payroll
[Fix] Error in pulling in Salary Structure fixed
diff --git a/erpnext/__init__.py b/erpnext/__init__.py
index 4c87187..9d71908 100644
--- a/erpnext/__init__.py
+++ b/erpnext/__init__.py
@@ -2,7 +2,7 @@
from __future__ import unicode_literals
import frappe
-__version__ = '7.1.3'
+__version__ = '7.1.6'
def get_default_company(user=None):
'''Get default company for user'''
diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.py b/erpnext/accounts/doctype/journal_entry/journal_entry.py
index 083ba6f..145ed81 100644
--- a/erpnext/accounts/doctype/journal_entry/journal_entry.py
+++ b/erpnext/accounts/doctype/journal_entry/journal_entry.py
@@ -763,7 +763,8 @@
return {
"account": account,
"balance": account_balance,
- "party_balance": party_balance
+ "party_balance": party_balance,
+ "account_currency": frappe.db.get_value("Account", account, "account_currency")
}
@frappe.whitelist()
diff --git a/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json b/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
index dd46e76..7be5a24 100644
--- a/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
+++ b/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
@@ -572,7 +572,7 @@
"columns": 0,
"depends_on": "eval:doc.margin_type && doc.price_list_rate",
"fieldname": "total_margin",
- "fieldtype": "Float",
+ "fieldtype": "Currency",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
@@ -1724,7 +1724,7 @@
"issingle": 0,
"istable": 1,
"max_attachments": 0,
- "modified": "2016-08-26 04:48:29.142409",
+ "modified": "2016-11-01 13:01:58.844818",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Sales Invoice Item",
diff --git a/erpnext/accounts/page/pos/pos.js b/erpnext/accounts/page/pos/pos.js
index f43a436..4c13fe3 100644
--- a/erpnext/accounts/page/pos/pos.js
+++ b/erpnext/accounts/page/pos/pos.js
@@ -392,7 +392,7 @@
if(index < 30){
$(frappe.render_template("pos_item", {
item_code: obj.name,
- item_price: format_currency(obj.price_list_rate, obj.currency),
+ item_price: format_currency(obj.price_list_rate, me.frm.doc.currency),
item_name: obj.name===obj.item_name ? "" : obj.item_name,
item_image: obj.image ? "url('" + obj.image + "')" : null,
color: frappe.get_palette(obj.item_name),
diff --git a/erpnext/buying/doctype/request_for_quotation/request_for_quotation.py b/erpnext/buying/doctype/request_for_quotation/request_for_quotation.py
index 78af1ef..802888d 100644
--- a/erpnext/buying/doctype/request_for_quotation/request_for_quotation.py
+++ b/erpnext/buying/doctype/request_for_quotation/request_for_quotation.py
@@ -131,7 +131,8 @@
def send_email(self, data, sender, subject, message, attachments):
make(subject = subject, content=message,recipients=data.email_id,
- sender=sender,attachments = attachments, send_email=True)["name"]
+ sender=sender,attachments = attachments, send_email=True,
+ doctype=self.doctype, name=self.name)["name"]
frappe.msgprint(_("Email sent to supplier {0}").format(data.supplier))
diff --git a/erpnext/crm/doctype/opportunity/opportunity_dashboard.py b/erpnext/crm/doctype/opportunity/opportunity_dashboard.py
index 5fc8302..40ff6d0 100644
--- a/erpnext/crm/doctype/opportunity/opportunity_dashboard.py
+++ b/erpnext/crm/doctype/opportunity/opportunity_dashboard.py
@@ -3,6 +3,9 @@
def get_data():
return {
'fieldname': 'prevdoc_docname',
+ 'non_standard_fieldnames': {
+ 'Supplier Quotation': 'opportunity',
+ },
'transactions': [
{
'label': _('Related'),
diff --git a/erpnext/demo/setup/manufacture.py b/erpnext/demo/setup/manufacture.py
index 8ac2039..24ffd92 100644
--- a/erpnext/demo/setup/manufacture.py
+++ b/erpnext/demo/setup/manufacture.py
@@ -63,7 +63,10 @@
for i in items:
item = frappe.new_doc('Item')
item.update(i)
- item.default_warehouse = frappe.get_all('Warehouse', filters={'warehouse_name': item.default_warehouse}, limit=1)[0].name
+ if item.default_warehouse:
+ warehouse = frappe.get_all('Warehouse', filters={'warehouse_name': item.default_warehouse}, limit=1)
+ if warehouse:
+ item.default_warehouse = warehouse[0].name
item.insert()
def setup_product_bundle():
diff --git a/erpnext/demo/setup/setup_data.py b/erpnext/demo/setup/setup_data.py
index f25bbc3..278c398 100644
--- a/erpnext/demo/setup/setup_data.py
+++ b/erpnext/demo/setup/setup_data.py
@@ -41,9 +41,9 @@
setup_complete({
"first_name": "Test",
"last_name": "User",
- "email": "test_demo@erpnext.com",
+ "email": "demo@erpnext.com",
"company_tagline": 'Awesome Products and Services',
- "password": "test",
+ "password": "demo",
"fy_start_date": "2015-01-01",
"fy_end_date": "2015-12-31",
"bank_account": "National Bank",
diff --git a/erpnext/demo/user/stock.py b/erpnext/demo/user/stock.py
index ac380f2..ea23853 100644
--- a/erpnext/demo/user/stock.py
+++ b/erpnext/demo/user/stock.py
@@ -85,9 +85,10 @@
def submit_draft_stock_entries():
from erpnext.stock.doctype.stock_entry.stock_entry import IncorrectValuationRateError, \
- DuplicateEntryForProductionOrderError, OperationsNotCompleteError
+ DuplicateEntryForProductionOrderError, OperationsNotCompleteError
# try posting older drafts (if exists)
+ frappe.db.commit()
for st in frappe.db.get_values("Stock Entry", {"docstatus":0}, "name"):
try:
ste = frappe.get_doc("Stock Entry", st[0])
diff --git a/erpnext/docs/assets/img/articles/withhold-1.png b/erpnext/docs/assets/img/articles/withhold-1.png
new file mode 100644
index 0000000..89b63a0
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/withhold-1.png
Binary files differ
diff --git a/erpnext/docs/assets/img/articles/withhold-2.gif b/erpnext/docs/assets/img/articles/withhold-2.gif
new file mode 100644
index 0000000..87a92c1
--- /dev/null
+++ b/erpnext/docs/assets/img/articles/withhold-2.gif
Binary files differ
diff --git a/erpnext/docs/assets/img/stock/projected_quantity.png b/erpnext/docs/assets/img/stock/projected_quantity.png
new file mode 100644
index 0000000..d9879b2
--- /dev/null
+++ b/erpnext/docs/assets/img/stock/projected_quantity.png
Binary files differ
diff --git a/erpnext/docs/assets/img/stock/warehouse.png b/erpnext/docs/assets/img/stock/warehouse.png
index 6b968d3..748cee8 100644
--- a/erpnext/docs/assets/img/stock/warehouse.png
+++ b/erpnext/docs/assets/img/stock/warehouse.png
Binary files differ
diff --git a/erpnext/docs/user/manual/en/accounts/articles/adjust-withhold-amount-payment-entry.md b/erpnext/docs/user/manual/en/accounts/articles/adjust-withhold-amount-payment-entry.md
new file mode 100644
index 0000000..d469b28
--- /dev/null
+++ b/erpnext/docs/user/manual/en/accounts/articles/adjust-withhold-amount-payment-entry.md
@@ -0,0 +1,37 @@
+#Adjust Withhold Amount in the Payment Entry
+
+###Question
+
+Let's assume that outstanding against a Sales Invoice is 20,000. When client makes payment, they will only pay 19,600. Rest 400 will be booked under Withhold account. How to manage this scenario in the Payment Entry.
+
+###Answer
+
+In the Payment Entry, you can mention Withhold Account in the Deductions or Loss table. Detailed steps below.
+
+####Step 1: Setup Withhold Account
+
+Create a Withhold Account in your Chart of Accounts master.
+
+`Accounts > Chart of Accounts'
+
+####Step 2: Payment Entry
+
+To create Payment Entry, go to unpaid Sales Invoice and create click on Make Payment button.
+
+#####Step 2.1: Enter Payment Amount
+
+Enter Payment Amount as 19,600.
+
+<img alt="Sales Invoice Payment Amount" class="screenshot" src="{{docs_base_url}}/assets/img/articles/withhold-1.png">
+
+#####Step 2.2: Allocate Against Sales Invoice
+
+Against Sales Invoice, allocate 20,000 (explained in GIF below).
+
+#####Step 2.3: Add Deduction/Loss Account
+
+You can notice that there is a difference of 400 in the Payment Amount and the Amount Allocated against Sales Invoice. You can book this difference account under Withhold Account.
+
+<img alt="Deduction/Loss Account" class="screenshot" src="{{docs_base_url}}/assets/img/articles/withhold-2.gif">
+
+ Following same steps, you can also manage difference availed due to Currency Exchange Gain/Loss.
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/accounts/articles/index.txt b/erpnext/docs/user/manual/en/accounts/articles/index.txt
index c2fbf70..77474bd 100644
--- a/erpnext/docs/user/manual/en/accounts/articles/index.txt
+++ b/erpnext/docs/user/manual/en/accounts/articles/index.txt
@@ -11,4 +11,5 @@
update-stock-option-in-sales-invoice
what-is-the-differences-of-total-and-valuation-in-tax-and-charges
withdrawing-salary-from-owners-equity-account
+adjust-withhold-amount-payment-entry
c-form
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/stock/projected-quantity.md b/erpnext/docs/user/manual/en/stock/projected-quantity.md
index 9251a1b..d38bfc9 100644
--- a/erpnext/docs/user/manual/en/stock/projected-quantity.md
+++ b/erpnext/docs/user/manual/en/stock/projected-quantity.md
@@ -11,7 +11,7 @@
Having a tight control of the projected inventory is crucial to determine
shortages and to calculate the right order quantity.
-![Projected Quantity Stock Report]({{docs_base_url}}/assets/old_images/erpnext/projected-quantity-stock-report.png)
+![Projected Quantity Stock Report]({{docs_base_url}}/assets/img/stock/projected_quantity.png)
> Projected Qty = Actual Qty + Planned Qty + Requested Qty + Ordered Qty -
diff --git a/erpnext/docs/user/manual/en/stock/stock-entry.md b/erpnext/docs/user/manual/en/stock/stock-entry.md
index 559f762..a47d863 100644
--- a/erpnext/docs/user/manual/en/stock/stock-entry.md
+++ b/erpnext/docs/user/manual/en/stock/stock-entry.md
@@ -38,6 +38,6 @@
<img class="screenshot" alt="Additional Costs General Ledger" src="{{docs_base_url}}/assets/img/stock/additional-costs-general-ledger.png">
-> **Note:** To update Stock from a spreadsheet, see [Stock Reconciliation] ({{doc_base_url}}/user/manual/en/setting-up/stock-reconciliation-for-non-serialized-item.html).
+> **Note:** To update Stock from a spreadsheet, see [Stock Reconciliation]({{doc_base_url}}/user/manual/en/setting-up/stock-reconciliation-for-non-serialized-item.html).
{next}
diff --git a/erpnext/docs/user/manual/en/stock/warehouse.md b/erpnext/docs/user/manual/en/stock/warehouse.md
index d86f401..172e469 100644
--- a/erpnext/docs/user/manual/en/stock/warehouse.md
+++ b/erpnext/docs/user/manual/en/stock/warehouse.md
@@ -4,10 +4,8 @@
cities, towns, and villages. They mostly have loading docks to load and unload
goods from trucks.
-To go to Warehouse, click on Stock and go to Warehouse under Masters. You
-could also go to the Setup module and click on Warehouse under Master Data.
-
-> Stock > Warehouse > New Warehouse
+To go to Warehouse, click on Stock and go to Warehouse under Setup. You
+could also switch to 'Tree' View or simply type warehouse tree in the awsone bar.
<img class="screenshot" alt="Warehouse" src="{{docs_base_url}}/assets/img/stock/warehouse.png">
@@ -20,17 +18,6 @@
wish a particular user to operate on a particular Warehouse, you can refrain
the user from accessing that Warehouse.
-### Merge Warehouse
-
-In day to day transactions, duplicate entries are done by mistake, resulting
-in duplicate Warehouses. Duplicate records can be merged into a single
-Warehouse. From the top bar of the system select the File menu. Select Rename
-and Enter the correct Warehouse and check the Merge button. The system will
-replace all the links of wrong Warehouse with the correct Warehouse, in all
-transactions. Also, the available quantity (actual qty, reserved qty, ordered
-qty etc) of all items in the duplicate warehouse will be transferred to the
-correct warehouse. Once merging is done, delete the duplicate Warehouse.
-
> Note: ERPNext system maintains stock balance for every distinct combination
of Item and Warehouse. Thus you can get stock balance for any specific Item in
a particular Warehouse on any particular date.
diff --git a/erpnext/docs/user/videos/index.md b/erpnext/docs/user/videos/index.md
index 071dedb..9a82db5 100644
--- a/erpnext/docs/user/videos/index.md
+++ b/erpnext/docs/user/videos/index.md
@@ -18,7 +18,7 @@
---
<h3>
- <a class="no-decoration" href="https://conf.erpnext.com/2014/videos">Conference Vidoes</a>
+ <a class="no-decoration" href="https://conf.erpnext.com/2014/videos">Conference Videos</a>
</h3>
<div class="row">
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index d694ef4..0c75d15 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -342,4 +342,4 @@
erpnext.patches.v7_1.set_prefered_contact_email
execute:frappe.db.sql("update `tabSingles` set value = 1 where field = 'unlink_payment_on_cancellation_of_invoice' and doctype = 'Accounts Settings'")
execute:frappe.db.sql("update `tabStock Entry` set total_amount = null where purpose in('Repack', 'Manufacture')")
-erpnext.patches.v7_1.repost_gle_for_pi_with_update_stock
\ No newline at end of file
+erpnext.patches.v7_0.repost_gle_for_pi_with_update_stock #2016-11-01
\ No newline at end of file
diff --git a/erpnext/patches/v7_1/repost_gle_for_pi_with_update_stock.py b/erpnext/patches/v7_0/repost_gle_for_pi_with_update_stock.py
similarity index 74%
rename from erpnext/patches/v7_1/repost_gle_for_pi_with_update_stock.py
rename to erpnext/patches/v7_0/repost_gle_for_pi_with_update_stock.py
index 2355d53..2883a8a 100644
--- a/erpnext/patches/v7_1/repost_gle_for_pi_with_update_stock.py
+++ b/erpnext/patches/v7_0/repost_gle_for_pi_with_update_stock.py
@@ -11,6 +11,10 @@
for pi in frappe.db.sql("""select name from `tabPurchase Invoice`
where update_stock=1 and docstatus=1 order by posting_date asc""", as_dict=1):
+
+ frappe.db.sql("""delete from `tabGL Entry`
+ where voucher_type = 'Purchase Invoice' and voucher_no = %s""", pi.name)
+
pi_doc = frappe.get_doc("Purchase Invoice", pi.name)
- pi_doc.make_gl_entries()
+ pi_doc.make_gl_entries(repost_future_gle=False)
frappe.db.commit()
\ No newline at end of file
diff --git a/erpnext/public/js/controllers/taxes_and_totals.js b/erpnext/public/js/controllers/taxes_and_totals.js
index aeceda4..4b14d08 100644
--- a/erpnext/public/js/controllers/taxes_and_totals.js
+++ b/erpnext/public/js/controllers/taxes_and_totals.js
@@ -5,9 +5,10 @@
setup: function() {},
apply_pricing_rule_on_item: function(item){
if(item.margin_type == "Percentage"){
- item.total_margin = item.price_list_rate + item.price_list_rate * ( item.margin_rate_or_amount / 100);
+ item.total_margin = flt(item.price_list_rate)
+ + flt(item.price_list_rate) * ( flt(item.margin_rate_or_amount) / 100);
}else{
- item.total_margin = item.price_list_rate + item.margin_rate_or_amount;
+ item.total_margin = flt(item.price_list_rate) + flt(item.margin_rate_or_amount);
}
item.rate = flt(item.total_margin , precision("rate", item));
diff --git a/erpnext/selling/doctype/quotation_item/quotation_item.json b/erpnext/selling/doctype/quotation_item/quotation_item.json
index 2c73a8e..3a27706 100644
--- a/erpnext/selling/doctype/quotation_item/quotation_item.json
+++ b/erpnext/selling/doctype/quotation_item/quotation_item.json
@@ -563,7 +563,7 @@
"columns": 0,
"depends_on": "eval:doc.margin_type && doc.price_list_rate",
"fieldname": "total_margin",
- "fieldtype": "Float",
+ "fieldtype": "Currency",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
@@ -1276,7 +1276,7 @@
"istable": 1,
"max_attachments": 0,
"menu_index": 0,
- "modified": "2016-08-26 04:46:21.936481",
+ "modified": "2016-11-01 13:02:18.665333",
"modified_by": "Administrator",
"module": "Selling",
"name": "Quotation Item",
diff --git a/erpnext/selling/doctype/sales_order_item/sales_order_item.json b/erpnext/selling/doctype/sales_order_item/sales_order_item.json
index 35d8b0b..a59858a 100644
--- a/erpnext/selling/doctype/sales_order_item/sales_order_item.json
+++ b/erpnext/selling/doctype/sales_order_item/sales_order_item.json
@@ -563,7 +563,7 @@
"columns": 0,
"depends_on": "eval:doc.margin_type && doc.price_list_rate",
"fieldname": "total_margin",
- "fieldtype": "Float",
+ "fieldtype": "Currency",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
@@ -614,7 +614,7 @@
"columns": 2,
"depends_on": "eval: doc.type != \"\"",
"fieldname": "rate",
- "fieldtype": "Float",
+ "fieldtype": "Currency",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
@@ -1582,7 +1582,7 @@
"istable": 1,
"max_attachments": 0,
"menu_index": 0,
- "modified": "2016-08-26 04:50:27.723801",
+ "modified": "2016-11-01 13:01:13.572400",
"modified_by": "Administrator",
"module": "Selling",
"name": "Sales Order Item",
diff --git a/erpnext/stock/doctype/delivery_note_item/delivery_note_item.json b/erpnext/stock/doctype/delivery_note_item/delivery_note_item.json
index b40be5e..5ac7b45 100644
--- a/erpnext/stock/doctype/delivery_note_item/delivery_note_item.json
+++ b/erpnext/stock/doctype/delivery_note_item/delivery_note_item.json
@@ -10,11 +10,13 @@
"doctype": "DocType",
"document_type": "Document",
"editable_grid": 1,
+ "engine": "InnoDB",
"fields": [
{
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "barcode",
"fieldtype": "Data",
"hidden": 0,
@@ -39,6 +41,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "item_code",
"fieldtype": "Link",
"hidden": 0,
@@ -68,6 +71,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "item_name",
"fieldtype": "Data",
"hidden": 0,
@@ -96,6 +100,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "col_break1",
"fieldtype": "Column Break",
"hidden": 0,
@@ -119,6 +124,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "customer_item_code",
"fieldtype": "Data",
"hidden": 1,
@@ -143,6 +149,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 1,
+ "columns": 0,
"fieldname": "section_break_6",
"fieldtype": "Section Break",
"hidden": 0,
@@ -168,6 +175,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "description",
"fieldtype": "Text Editor",
"hidden": 0,
@@ -196,6 +204,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "column_break_8",
"fieldtype": "Column Break",
"hidden": 0,
@@ -220,6 +229,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "image",
"fieldtype": "Attach",
"hidden": 1,
@@ -245,6 +255,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "image_view",
"fieldtype": "Image",
"hidden": 0,
@@ -271,6 +282,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "quantity_and_rate",
"fieldtype": "Section Break",
"hidden": 0,
@@ -295,6 +307,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "qty",
"fieldtype": "Float",
"hidden": 0,
@@ -323,6 +336,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "price_list_rate",
"fieldtype": "Currency",
"hidden": 0,
@@ -352,6 +366,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "col_break2",
"fieldtype": "Column Break",
"hidden": 0,
@@ -375,6 +390,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "stock_uom",
"fieldtype": "Link",
"hidden": 0,
@@ -404,6 +420,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "base_price_list_rate",
"fieldtype": "Currency",
"hidden": 0,
@@ -433,6 +450,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 1,
+ "columns": 0,
"fieldname": "discount_and_margin",
"fieldtype": "Section Break",
"hidden": 0,
@@ -458,6 +476,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"depends_on": "price_list_rate",
"fieldname": "discount_percentage",
"fieldtype": "Float",
@@ -487,6 +506,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "column_break_19",
"fieldtype": "Column Break",
"hidden": 0,
@@ -511,6 +531,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"depends_on": "price_list_rate",
"fieldname": "margin_type",
"fieldtype": "Select",
@@ -538,6 +559,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"depends_on": "eval:doc.margin_type && doc.price_list_rate",
"fieldname": "margin_rate_or_amount",
"fieldtype": "Float",
@@ -564,9 +586,10 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"depends_on": "eval:doc.margin_type && doc.price_list_rate",
"fieldname": "total_margin",
- "fieldtype": "Float",
+ "fieldtype": "Currency",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
@@ -590,6 +613,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "section_break_1",
"fieldtype": "Section Break",
"hidden": 0,
@@ -613,6 +637,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "rate",
"fieldtype": "Currency",
"hidden": 0,
@@ -642,6 +667,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "amount",
"fieldtype": "Currency",
"hidden": 0,
@@ -671,6 +697,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "col_break3",
"fieldtype": "Column Break",
"hidden": 0,
@@ -694,6 +721,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "base_rate",
"fieldtype": "Currency",
"hidden": 0,
@@ -723,6 +751,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "base_amount",
"fieldtype": "Currency",
"hidden": 0,
@@ -752,6 +781,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "pricing_rule",
"fieldtype": "Link",
"hidden": 0,
@@ -777,6 +807,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "section_break_25",
"fieldtype": "Section Break",
"hidden": 0,
@@ -801,6 +832,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "net_rate",
"fieldtype": "Currency",
"hidden": 0,
@@ -827,6 +859,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "net_amount",
"fieldtype": "Currency",
"hidden": 0,
@@ -853,6 +886,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "column_break_28",
"fieldtype": "Column Break",
"hidden": 0,
@@ -877,6 +911,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "base_net_rate",
"fieldtype": "Currency",
"hidden": 0,
@@ -903,6 +938,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "base_net_amount",
"fieldtype": "Currency",
"hidden": 0,
@@ -929,6 +965,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "warehouse_and_reference",
"fieldtype": "Section Break",
"hidden": 0,
@@ -953,6 +990,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "warehouse",
"fieldtype": "Link",
"hidden": 0,
@@ -982,6 +1020,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"depends_on": "",
"description": "",
"fieldname": "target_warehouse",
@@ -1010,6 +1049,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "serial_no",
"fieldtype": "Text",
"hidden": 0,
@@ -1036,6 +1076,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "batch_no",
"fieldtype": "Link",
"hidden": 0,
@@ -1063,6 +1104,7 @@
"allow_on_submit": 1,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "actual_qty",
"fieldtype": "Float",
"hidden": 0,
@@ -1091,6 +1133,7 @@
"allow_on_submit": 1,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"depends_on": "batch_no",
"fieldname": "actual_batch_qty",
"fieldtype": "Float",
@@ -1119,6 +1162,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"description": "",
"fieldname": "item_group",
"fieldtype": "Link",
@@ -1147,6 +1191,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "brand",
"fieldtype": "Link",
"hidden": 1,
@@ -1176,6 +1221,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "item_tax_rate",
"fieldtype": "Small Text",
"hidden": 1,
@@ -1202,6 +1248,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "col_break4",
"fieldtype": "Column Break",
"hidden": 0,
@@ -1225,6 +1272,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "expense_account",
"fieldtype": "Link",
"hidden": 0,
@@ -1251,6 +1299,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"default": ":Company",
"fieldname": "cost_center",
"fieldtype": "Link",
@@ -1278,6 +1327,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "against_sales_order",
"fieldtype": "Link",
"hidden": 0,
@@ -1303,6 +1353,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "against_sales_invoice",
"fieldtype": "Link",
"hidden": 0,
@@ -1328,6 +1379,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "so_detail",
"fieldtype": "Data",
"hidden": 1,
@@ -1356,6 +1408,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "si_detail",
"fieldtype": "Data",
"hidden": 1,
@@ -1381,6 +1434,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "installed_qty",
"fieldtype": "Float",
"hidden": 0,
@@ -1409,6 +1463,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "billed_amt",
"fieldtype": "Currency",
"hidden": 0,
@@ -1435,6 +1490,7 @@
"allow_on_submit": 1,
"bold": 0,
"collapsible": 0,
+ "columns": 0,
"fieldname": "page_break",
"fieldtype": "Check",
"hidden": 0,
@@ -1468,7 +1524,7 @@
"issingle": 0,
"istable": 1,
"max_attachments": 0,
- "modified": "2016-07-11 03:27:59.254550",
+ "modified": "2016-11-01 13:01:29.621272",
"modified_by": "Administrator",
"module": "Stock",
"name": "Delivery Note Item",
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
index 6d6ae97..86fb88b 100644
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
@@ -8,7 +8,7 @@
from frappe import throw, _
import frappe.defaults
-
+from frappe.utils import getdate
from erpnext.controllers.buying_controller import BuyingController
from erpnext.accounts.utils import get_account_currency
from frappe.desk.notifications import clear_doctype_notifications
@@ -59,7 +59,7 @@
pc_obj = frappe.get_doc('Purchase Common')
self.check_for_closed_status(pc_obj)
- if self.posting_date > nowdate():
+ if getdate(self.posting_date) > getdate(nowdate()):
throw(_("Posting Date cannot be future date"))
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py
index a60e945..1a3c26c 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.py
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.py
@@ -31,7 +31,7 @@
item.update(get_bin_details(item.item_code, item.s_warehouse))
def validate(self):
- self.pro_doc = None
+ self.pro_doc = frappe._dict()
if self.production_order:
self.pro_doc = frappe.get_doc('Production Order', self.production_order)
@@ -582,7 +582,7 @@
def set_production_order_details(self):
if not getattr(self, "pro_doc", None):
- self.pro_doc = None
+ self.pro_doc = frappe._dict()
if self.production_order:
# common validations