fixes in stock entry
diff --git a/stock/DocType Mapper/Purchase Order-Purchase Receipt/Purchase Order-Purchase Receipt.txt b/stock/DocType Mapper/Purchase Order-Purchase Receipt/Purchase Order-Purchase Receipt.txt
index 8d7fab1..0833aaa 100644
--- a/stock/DocType Mapper/Purchase Order-Purchase Receipt/Purchase Order-Purchase Receipt.txt
+++ b/stock/DocType Mapper/Purchase Order-Purchase Receipt/Purchase Order-Purchase Receipt.txt
@@ -1,189 +1,169 @@
[
{
- "owner": "Administrator",
+ "creation": "2013-02-22 01:28:05",
"docstatus": 0,
- "creation": "2010-08-08 17:09:35",
+ "modified": "2013-03-26 07:58:20",
"modified_by": "Administrator",
- "modified": "2012-04-02 14:03:39"
+ "owner": "Administrator"
},
{
+ "doctype": "Table Mapper Detail",
"name": "__common__",
"parent": "Purchase Order-Purchase Receipt",
- "doctype": "Table Mapper Detail",
- "parenttype": "DocType Mapper",
- "parentfield": "table_mapper_details"
+ "parentfield": "table_mapper_details",
+ "parenttype": "DocType Mapper"
},
{
+ "doctype": "Field Mapper Detail",
"map": "Yes",
"name": "__common__",
"parent": "Purchase Order-Purchase Receipt",
- "doctype": "Field Mapper Detail",
- "parenttype": "DocType Mapper",
- "parentfield": "field_mapper_details"
+ "parentfield": "field_mapper_details",
+ "parenttype": "DocType Mapper"
},
{
- "name": "__common__",
- "to_doctype": "Purchase Receipt",
- "module": "Stock",
"doctype": "DocType Mapper",
+ "from_doctype": "Purchase Order",
+ "module": "Stock",
+ "name": "__common__",
"ref_doc_submitted": 1,
- "from_doctype": "Purchase Order"
+ "to_doctype": "Purchase Receipt"
},
{
- "name": "Purchase Order-Purchase Receipt",
- "doctype": "DocType Mapper"
+ "doctype": "DocType Mapper",
+ "name": "Purchase Order-Purchase Receipt"
},
{
- "match_id": 0,
- "to_field": "supplier",
+ "checking_operator": "=",
"doctype": "Field Mapper Detail",
"from_field": "supplier",
- "checking_operator": "="
+ "match_id": 0,
+ "to_field": "supplier"
},
{
- "match_id": 0,
- "to_field": "company",
+ "checking_operator": "=",
"doctype": "Field Mapper Detail",
"from_field": "company",
- "checking_operator": "="
+ "match_id": 0,
+ "to_field": "company"
},
{
- "match_id": 0,
- "to_field": "currency",
+ "checking_operator": "=",
"doctype": "Field Mapper Detail",
"from_field": "currency",
- "checking_operator": "="
+ "match_id": 0,
+ "to_field": "currency"
},
{
- "to_field": "prevdoc_detail_docname",
"doctype": "Field Mapper Detail",
+ "from_field": "name",
"match_id": 1,
- "from_field": "name"
+ "to_field": "prevdoc_detail_docname"
},
{
- "to_field": "prevdoc_docname",
"doctype": "Field Mapper Detail",
+ "from_field": "parent",
"match_id": 1,
- "from_field": "parent"
+ "to_field": "prevdoc_docname"
},
{
- "to_field": "prevdoc_doctype",
"doctype": "Field Mapper Detail",
+ "from_field": "parenttype",
"match_id": 1,
- "from_field": "parenttype"
+ "to_field": "prevdoc_doctype"
},
{
- "match_id": 1,
- "to_field": "item_code",
+ "checking_operator": "=",
"doctype": "Field Mapper Detail",
"from_field": "item_code",
- "checking_operator": "="
- },
- {
- "to_field": "received_qty",
- "doctype": "Field Mapper Detail",
"match_id": 1,
- "from_field": "eval:(flt(obj.qty) - flt(obj.received_qty)) "
+ "to_field": "item_code"
},
{
- "to_field": "qty",
"doctype": "Field Mapper Detail",
+ "from_field": "eval:(flt(obj.qty) - flt(obj.received_qty)) ",
"match_id": 1,
- "from_field": "eval:(flt(obj.qty) - flt(obj.received_qty)) "
+ "to_field": "received_qty"
},
{
- "to_field": "stock_qty",
"doctype": "Field Mapper Detail",
+ "from_field": "eval:(flt(obj.qty) - flt(obj.received_qty)) ",
"match_id": 1,
- "from_field": "eval:(flt(obj.qty) - flt(obj.received_qty)) * flt(obj.conversion_factor)"
+ "to_field": "qty"
},
{
- "to_field": "import_amount",
"doctype": "Field Mapper Detail",
+ "from_field": "eval:(flt(obj.qty) - flt(obj.received_qty)) * flt(obj.conversion_factor)",
"match_id": 1,
- "from_field": "eval:(flt(obj.qty) - flt(obj.received_qty)) * flt(obj.import_rate)"
+ "to_field": "stock_qty"
},
{
- "to_field": "amount",
"doctype": "Field Mapper Detail",
+ "from_field": "eval:(flt(obj.qty) - flt(obj.received_qty)) * flt(obj.import_rate)",
"match_id": 1,
- "from_field": "eval:(flt(obj.qty) - flt(obj.received_qty)) * flt(obj.purchase_rate)"
+ "to_field": "import_amount"
},
{
- "to_field": "schedule_date",
"doctype": "Field Mapper Detail",
+ "from_field": "eval:(flt(obj.qty) - flt(obj.received_qty)) * flt(obj.purchase_rate)",
"match_id": 1,
- "from_field": "schedule_date"
+ "to_field": "amount"
},
{
- "to_field": "net_total",
"doctype": "Field Mapper Detail",
+ "from_field": "schedule_date",
+ "match_id": 1,
+ "to_field": "schedule_date"
+ },
+ {
+ "doctype": "Field Mapper Detail",
+ "from_field": "net_total",
"match_id": 0,
- "from_field": "net_total"
+ "to_field": "net_total"
},
{
- "to_field": "grand_total",
"doctype": "Field Mapper Detail",
+ "from_field": "grand_total",
"match_id": 0,
- "from_field": "grand_total"
+ "to_field": "grand_total"
},
{
- "to_field": "total_tax",
"doctype": "Field Mapper Detail",
+ "from_field": "total_tax",
"match_id": 0,
- "from_field": "total_tax"
+ "to_field": "total_tax"
},
{
- "to_field": "conversion_rate",
"doctype": "Field Mapper Detail",
+ "from_field": "conversion_rate",
"match_id": 0,
- "from_field": "conversion_rate"
+ "to_field": "conversion_rate"
},
{
- "reference_key": "prevdoc_detail_docname",
- "match_id": 1,
- "reference_doctype_key": "prevdoc_doctype",
- "to_field": "purchase_receipt_details",
"doctype": "Table Mapper Detail",
"from_field": "po_details",
"from_table": "Purchase Order Item",
+ "match_id": 1,
+ "reference_doctype_key": "prevdoc_doctype",
+ "reference_key": "prevdoc_detail_docname",
+ "to_field": "purchase_receipt_details",
"to_table": "Purchase Receipt Item",
"validation_logic": "docstatus=1 and qty > ifnull(received_qty,0)"
},
{
- "reference_key": "prevdoc_detail_docname",
- "match_id": 1,
- "reference_doctype_key": "prevdoc_doctype",
- "to_field": "purchase_receipt_details",
- "doctype": "Table Mapper Detail",
- "from_field": "po_details",
- "from_table": "Purchase Order Item",
- "to_table": "Purchase Receipt Item",
- "validation_logic": "docstatus=1 and qty > ifnull(received_qty,0)"
- },
- {
- "reference_key": "prevdoc_docname",
- "match_id": 0,
"doctype": "Table Mapper Detail",
"from_table": "Purchase Order",
+ "match_id": 0,
+ "reference_key": "prevdoc_docname",
"to_table": "Purchase Receipt",
"validation_logic": "docstatus = 1"
},
{
- "match_id": 2,
- "to_field": "purchase_tax_details",
"doctype": "Table Mapper Detail",
"from_field": "purchase_tax_details",
"from_table": "Purchase Taxes and Charges",
- "to_table": "Purchase Taxes and Charges",
- "validation_logic": "docstatus = 1"
- },
- {
"match_id": 2,
"to_field": "purchase_tax_details",
- "doctype": "Table Mapper Detail",
- "from_field": "purchase_tax_details",
- "from_table": "Purchase Taxes and Charges",
"to_table": "Purchase Taxes and Charges",
"validation_logic": "docstatus = 1"
}
diff --git a/stock/doctype/stock_entry/stock_entry.py b/stock/doctype/stock_entry/stock_entry.py
index d89d95b..c437135 100644
--- a/stock/doctype/stock_entry/stock_entry.py
+++ b/stock/doctype/stock_entry/stock_entry.py
@@ -55,6 +55,7 @@
self.validate_finished_goods()
self.validate_return_reference_doc()
self.validate_with_material_request()
+ self.validate_fiscal_year()
def on_submit(self):
self.update_serial_no(1)
@@ -68,6 +69,11 @@
self.update_production_order(0)
self.make_gl_entries()
+ def validate_fiscal_year(self):
+ import accounts.utils
+ accounts.utils.validate_fiscal_year(self.doc.posting_date, self.doc.fiscal_year,
+ self.meta.get_label("posting_date"))
+
def validate_purpose(self):
valid_purposes = ["Material Issue", "Material Receipt", "Material Transfer",
"Manufacture/Repack", "Subcontract", "Sales Return", "Purchase Return"]
diff --git a/stock/doctype/stock_entry/stock_entry.txt b/stock/doctype/stock_entry/stock_entry.txt
index df5b613..91f9bb4 100644
--- a/stock/doctype/stock_entry/stock_entry.txt
+++ b/stock/doctype/stock_entry/stock_entry.txt
@@ -1,8 +1,8 @@
[
{
- "creation": "2013-03-11 12:34:40",
+ "creation": "2013-03-26 06:51:17",
"docstatus": 0,
- "modified": "2013-03-19 17:48:29",
+ "modified": "2013-03-26 07:24:53",
"modified_by": "Administrator",
"owner": "Administrator"
},
@@ -543,6 +543,16 @@
"search_index": 0
},
{
+ "doctype": "DocField",
+ "fieldname": "fiscal_year",
+ "fieldtype": "Select",
+ "in_filter": 0,
+ "label": "Fiscal Year",
+ "options": "link:Fiscal Year",
+ "print_hide": 1,
+ "reqd": 1
+ },
+ {
"allow_on_submit": 0,
"doctype": "DocField",
"fieldname": "company",
@@ -610,13 +620,5 @@
{
"doctype": "DocPerm",
"role": "Manufacturing User"
- },
- {
- "doctype": "DocPerm",
- "role": "Manufacturing Manager"
- },
- {
- "doctype": "DocPerm",
- "role": "Material Manager"
}
]
\ No newline at end of file
diff --git a/stock/doctype/stock_entry/test_stock_entry.py b/stock/doctype/stock_entry/test_stock_entry.py
index 2501893..3f8012a 100644
--- a/stock/doctype/stock_entry/test_stock_entry.py
+++ b/stock/doctype/stock_entry/test_stock_entry.py
@@ -490,7 +490,7 @@
def test_make_return_jv_for_purchase_receipt(self):
se, pr_name = self.test_purchase_receipt_return()
self._test_purchase_return_jv(se)
-
+
se, pr_name = self._test_purchase_return_return_against_purchase_order()
self._test_purchase_return_jv(se)
diff --git a/utilities/transaction_base.py b/utilities/transaction_base.py
index 2dc8c6a..c43a456 100644
--- a/utilities/transaction_base.py
+++ b/utilities/transaction_base.py
@@ -250,4 +250,5 @@
def validate_posting_time(self):
if not self.doc.posting_time:
- self.doc.posting_time = now_datetime().strftime('%H:%M:%S')
\ No newline at end of file
+ self.doc.posting_time = now_datetime().strftime('%H:%M:%S')
+
\ No newline at end of file