fixes in stock entry
This commit is contained in:
parent
9f91053201
commit
acec0227c5
@ -1,189 +1,169 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"owner": "Administrator",
|
"creation": "2013-02-22 01:28:05",
|
||||||
"docstatus": 0,
|
"docstatus": 0,
|
||||||
"creation": "2010-08-08 17:09:35",
|
"modified": "2013-03-26 07:58:20",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"modified": "2012-04-02 14:03:39"
|
"owner": "Administrator"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"doctype": "Table Mapper Detail",
|
||||||
"name": "__common__",
|
"name": "__common__",
|
||||||
"parent": "Purchase Order-Purchase Receipt",
|
"parent": "Purchase Order-Purchase Receipt",
|
||||||
"doctype": "Table Mapper Detail",
|
"parentfield": "table_mapper_details",
|
||||||
"parenttype": "DocType Mapper",
|
"parenttype": "DocType Mapper"
|
||||||
"parentfield": "table_mapper_details"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"doctype": "Field Mapper Detail",
|
||||||
"map": "Yes",
|
"map": "Yes",
|
||||||
"name": "__common__",
|
"name": "__common__",
|
||||||
"parent": "Purchase Order-Purchase Receipt",
|
"parent": "Purchase Order-Purchase Receipt",
|
||||||
"doctype": "Field Mapper Detail",
|
"parentfield": "field_mapper_details",
|
||||||
"parenttype": "DocType Mapper",
|
"parenttype": "DocType Mapper"
|
||||||
"parentfield": "field_mapper_details"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "__common__",
|
|
||||||
"to_doctype": "Purchase Receipt",
|
|
||||||
"module": "Stock",
|
|
||||||
"doctype": "DocType Mapper",
|
"doctype": "DocType Mapper",
|
||||||
|
"from_doctype": "Purchase Order",
|
||||||
|
"module": "Stock",
|
||||||
|
"name": "__common__",
|
||||||
"ref_doc_submitted": 1,
|
"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,
|
"checking_operator": "=",
|
||||||
"to_field": "supplier",
|
|
||||||
"doctype": "Field Mapper Detail",
|
"doctype": "Field Mapper Detail",
|
||||||
"from_field": "supplier",
|
"from_field": "supplier",
|
||||||
"checking_operator": "="
|
"match_id": 0,
|
||||||
|
"to_field": "supplier"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"match_id": 0,
|
"checking_operator": "=",
|
||||||
"to_field": "company",
|
|
||||||
"doctype": "Field Mapper Detail",
|
"doctype": "Field Mapper Detail",
|
||||||
"from_field": "company",
|
"from_field": "company",
|
||||||
"checking_operator": "="
|
"match_id": 0,
|
||||||
|
"to_field": "company"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"match_id": 0,
|
"checking_operator": "=",
|
||||||
"to_field": "currency",
|
|
||||||
"doctype": "Field Mapper Detail",
|
"doctype": "Field Mapper Detail",
|
||||||
"from_field": "currency",
|
"from_field": "currency",
|
||||||
"checking_operator": "="
|
"match_id": 0,
|
||||||
|
"to_field": "currency"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"to_field": "prevdoc_detail_docname",
|
|
||||||
"doctype": "Field Mapper Detail",
|
"doctype": "Field Mapper Detail",
|
||||||
|
"from_field": "name",
|
||||||
"match_id": 1,
|
"match_id": 1,
|
||||||
"from_field": "name"
|
"to_field": "prevdoc_detail_docname"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"to_field": "prevdoc_docname",
|
|
||||||
"doctype": "Field Mapper Detail",
|
"doctype": "Field Mapper Detail",
|
||||||
|
"from_field": "parent",
|
||||||
"match_id": 1,
|
"match_id": 1,
|
||||||
"from_field": "parent"
|
"to_field": "prevdoc_docname"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"to_field": "prevdoc_doctype",
|
|
||||||
"doctype": "Field Mapper Detail",
|
"doctype": "Field Mapper Detail",
|
||||||
|
"from_field": "parenttype",
|
||||||
"match_id": 1,
|
"match_id": 1,
|
||||||
"from_field": "parenttype"
|
"to_field": "prevdoc_doctype"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"match_id": 1,
|
"checking_operator": "=",
|
||||||
"to_field": "item_code",
|
|
||||||
"doctype": "Field Mapper Detail",
|
"doctype": "Field Mapper Detail",
|
||||||
"from_field": "item_code",
|
"from_field": "item_code",
|
||||||
"checking_operator": "="
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"to_field": "received_qty",
|
|
||||||
"doctype": "Field Mapper Detail",
|
|
||||||
"match_id": 1,
|
"match_id": 1,
|
||||||
"from_field": "eval:(flt(obj.qty) - flt(obj.received_qty)) "
|
"to_field": "item_code"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"to_field": "qty",
|
|
||||||
"doctype": "Field Mapper Detail",
|
"doctype": "Field Mapper Detail",
|
||||||
|
"from_field": "eval:(flt(obj.qty) - flt(obj.received_qty)) ",
|
||||||
"match_id": 1,
|
"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",
|
"doctype": "Field Mapper Detail",
|
||||||
|
"from_field": "eval:(flt(obj.qty) - flt(obj.received_qty)) ",
|
||||||
"match_id": 1,
|
"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",
|
"doctype": "Field Mapper Detail",
|
||||||
|
"from_field": "eval:(flt(obj.qty) - flt(obj.received_qty)) * flt(obj.conversion_factor)",
|
||||||
"match_id": 1,
|
"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",
|
"doctype": "Field Mapper Detail",
|
||||||
|
"from_field": "eval:(flt(obj.qty) - flt(obj.received_qty)) * flt(obj.import_rate)",
|
||||||
"match_id": 1,
|
"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",
|
"doctype": "Field Mapper Detail",
|
||||||
|
"from_field": "eval:(flt(obj.qty) - flt(obj.received_qty)) * flt(obj.purchase_rate)",
|
||||||
"match_id": 1,
|
"match_id": 1,
|
||||||
"from_field": "schedule_date"
|
"to_field": "amount"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"to_field": "net_total",
|
|
||||||
"doctype": "Field Mapper Detail",
|
"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,
|
"match_id": 0,
|
||||||
"from_field": "net_total"
|
"to_field": "net_total"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"to_field": "grand_total",
|
|
||||||
"doctype": "Field Mapper Detail",
|
"doctype": "Field Mapper Detail",
|
||||||
|
"from_field": "grand_total",
|
||||||
"match_id": 0,
|
"match_id": 0,
|
||||||
"from_field": "grand_total"
|
"to_field": "grand_total"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"to_field": "total_tax",
|
|
||||||
"doctype": "Field Mapper Detail",
|
"doctype": "Field Mapper Detail",
|
||||||
|
"from_field": "total_tax",
|
||||||
"match_id": 0,
|
"match_id": 0,
|
||||||
"from_field": "total_tax"
|
"to_field": "total_tax"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"to_field": "conversion_rate",
|
|
||||||
"doctype": "Field Mapper Detail",
|
"doctype": "Field Mapper Detail",
|
||||||
|
"from_field": "conversion_rate",
|
||||||
"match_id": 0,
|
"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",
|
"doctype": "Table Mapper Detail",
|
||||||
"from_field": "po_details",
|
"from_field": "po_details",
|
||||||
"from_table": "Purchase Order Item",
|
"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",
|
"to_table": "Purchase Receipt Item",
|
||||||
"validation_logic": "docstatus=1 and qty > ifnull(received_qty,0)"
|
"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",
|
"doctype": "Table Mapper Detail",
|
||||||
"from_table": "Purchase Order",
|
"from_table": "Purchase Order",
|
||||||
|
"match_id": 0,
|
||||||
|
"reference_key": "prevdoc_docname",
|
||||||
"to_table": "Purchase Receipt",
|
"to_table": "Purchase Receipt",
|
||||||
"validation_logic": "docstatus = 1"
|
"validation_logic": "docstatus = 1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"match_id": 2,
|
|
||||||
"to_field": "purchase_tax_details",
|
|
||||||
"doctype": "Table Mapper Detail",
|
"doctype": "Table Mapper Detail",
|
||||||
"from_field": "purchase_tax_details",
|
"from_field": "purchase_tax_details",
|
||||||
"from_table": "Purchase Taxes and Charges",
|
"from_table": "Purchase Taxes and Charges",
|
||||||
"to_table": "Purchase Taxes and Charges",
|
|
||||||
"validation_logic": "docstatus = 1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"match_id": 2,
|
"match_id": 2,
|
||||||
"to_field": "purchase_tax_details",
|
"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",
|
"to_table": "Purchase Taxes and Charges",
|
||||||
"validation_logic": "docstatus = 1"
|
"validation_logic": "docstatus = 1"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -55,6 +55,7 @@ class DocType(StockController):
|
|||||||
self.validate_finished_goods()
|
self.validate_finished_goods()
|
||||||
self.validate_return_reference_doc()
|
self.validate_return_reference_doc()
|
||||||
self.validate_with_material_request()
|
self.validate_with_material_request()
|
||||||
|
self.validate_fiscal_year()
|
||||||
|
|
||||||
def on_submit(self):
|
def on_submit(self):
|
||||||
self.update_serial_no(1)
|
self.update_serial_no(1)
|
||||||
@ -68,6 +69,11 @@ class DocType(StockController):
|
|||||||
self.update_production_order(0)
|
self.update_production_order(0)
|
||||||
self.make_gl_entries()
|
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):
|
def validate_purpose(self):
|
||||||
valid_purposes = ["Material Issue", "Material Receipt", "Material Transfer",
|
valid_purposes = ["Material Issue", "Material Receipt", "Material Transfer",
|
||||||
"Manufacture/Repack", "Subcontract", "Sales Return", "Purchase Return"]
|
"Manufacture/Repack", "Subcontract", "Sales Return", "Purchase Return"]
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"creation": "2013-03-11 12:34:40",
|
"creation": "2013-03-26 06:51:17",
|
||||||
"docstatus": 0,
|
"docstatus": 0,
|
||||||
"modified": "2013-03-19 17:48:29",
|
"modified": "2013-03-26 07:24:53",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"owner": "Administrator"
|
"owner": "Administrator"
|
||||||
},
|
},
|
||||||
@ -542,6 +542,16 @@
|
|||||||
"reqd": 0,
|
"reqd": 0,
|
||||||
"search_index": 0
|
"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,
|
"allow_on_submit": 0,
|
||||||
"doctype": "DocField",
|
"doctype": "DocField",
|
||||||
@ -610,13 +620,5 @@
|
|||||||
{
|
{
|
||||||
"doctype": "DocPerm",
|
"doctype": "DocPerm",
|
||||||
"role": "Manufacturing User"
|
"role": "Manufacturing User"
|
||||||
},
|
|
||||||
{
|
|
||||||
"doctype": "DocPerm",
|
|
||||||
"role": "Manufacturing Manager"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"doctype": "DocPerm",
|
|
||||||
"role": "Material Manager"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -251,3 +251,4 @@ class TransactionBase(DocListController):
|
|||||||
def validate_posting_time(self):
|
def validate_posting_time(self):
|
||||||
if not self.doc.posting_time:
|
if not self.doc.posting_time:
|
||||||
self.doc.posting_time = now_datetime().strftime('%H:%M:%S')
|
self.doc.posting_time = now_datetime().strftime('%H:%M:%S')
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user