Fixes in Stock Entry and test cases

This commit is contained in:
Anand Doshi 2014-07-16 15:48:02 +05:30
parent 75936cdde5
commit d93fa2f78b
3 changed files with 305 additions and 303 deletions

View File

@ -1,385 +1,385 @@
[
{
"company": "_Test Company",
"conversion_rate": 1.0,
"currency": "INR",
"customer": "_Test Customer",
"customer_name": "_Test Customer",
"debit_to": "_Test Customer - _TC",
"doctype": "Sales Invoice",
"due_date": "2013-01-23",
"company": "_Test Company",
"conversion_rate": 1.0,
"currency": "INR",
"customer": "_Test Customer",
"customer_name": "_Test Customer",
"debit_to": "_Test Customer - _TC",
"doctype": "Sales Invoice",
"due_date": "2013-01-23",
"entries": [
{
"amount": 500.0,
"base_amount": 500.0,
"base_rate": 500.0,
"cost_center": "_Test Cost Center - _TC",
"description": "138-CMS Shoe",
"doctype": "Sales Invoice Item",
"income_account": "Sales - _TC",
"item_name": "138-CMS Shoe",
"parentfield": "entries",
"qty": 1.0,
"amount": 500.0,
"base_amount": 500.0,
"base_rate": 500.0,
"cost_center": "_Test Cost Center - _TC",
"description": "138-CMS Shoe",
"doctype": "Sales Invoice Item",
"income_account": "Sales - _TC",
"item_name": "138-CMS Shoe",
"parentfield": "entries",
"qty": 1.0,
"rate": 500.0
}
],
"fiscal_year": "_Test Fiscal Year 2013",
"grand_total": 561.8,
"grand_total_export": 561.8,
"is_pos": 0,
"naming_series": "_T-Sales Invoice-",
"net_total": 500.0,
],
"fiscal_year": "_Test Fiscal Year 2013",
"grand_total": 561.8,
"grand_total_export": 561.8,
"is_pos": 0,
"naming_series": "_T-Sales Invoice-",
"net_total": 500.0,
"other_charges": [
{
"account_head": "_Test Account VAT - _TC",
"charge_type": "On Net Total",
"description": "VAT",
"doctype": "Sales Taxes and Charges",
"parentfield": "other_charges",
"account_head": "_Test Account VAT - _TC",
"charge_type": "On Net Total",
"description": "VAT",
"doctype": "Sales Taxes and Charges",
"parentfield": "other_charges",
"rate": 6
},
},
{
"account_head": "_Test Account Service Tax - _TC",
"charge_type": "On Net Total",
"description": "Service Tax",
"doctype": "Sales Taxes and Charges",
"parentfield": "other_charges",
"account_head": "_Test Account Service Tax - _TC",
"charge_type": "On Net Total",
"description": "Service Tax",
"doctype": "Sales Taxes and Charges",
"parentfield": "other_charges",
"rate": 6.36
}
],
"plc_conversion_rate": 1.0,
"posting_date": "2013-01-23",
"price_list_currency": "INR",
],
"plc_conversion_rate": 1.0,
"posting_date": "2013-01-23",
"price_list_currency": "INR",
"sales_team": [
{
"allocated_percentage": 65.5,
"doctype": "Sales Team",
"parentfield": "sales_team",
"allocated_percentage": 65.5,
"doctype": "Sales Team",
"parentfield": "sales_team",
"sales_person": "_Test Sales Person 1"
},
},
{
"allocated_percentage": 34.5,
"doctype": "Sales Team",
"parentfield": "sales_team",
"allocated_percentage": 34.5,
"doctype": "Sales Team",
"parentfield": "sales_team",
"sales_person": "_Test Sales Person 2"
}
],
"selling_price_list": "_Test Price List",
],
"selling_price_list": "_Test Price List",
"territory": "_Test Territory"
},
},
{
"company": "_Test Company",
"conversion_rate": 1.0,
"currency": "INR",
"customer": "_Test Customer",
"customer_name": "_Test Customer",
"debit_to": "_Test Customer - _TC",
"doctype": "Sales Invoice",
"due_date": "2013-01-23",
"company": "_Test Company",
"conversion_rate": 1.0,
"currency": "INR",
"customer": "_Test Customer",
"customer_name": "_Test Customer",
"debit_to": "_Test Customer - _TC",
"doctype": "Sales Invoice",
"due_date": "2013-03-07",
"entries": [
{
"amount": 500.0,
"base_amount": 500.0,
"base_rate": 500.0,
"cost_center": "_Test Cost Center - _TC",
"description": "_Test Item",
"doctype": "Sales Invoice Item",
"expense_account": "_Test Account Cost for Goods Sold - _TC",
"income_account": "Sales - _TC",
"item_code": "_Test Item",
"item_name": "_Test Item",
"parentfield": "entries",
"price_list_rate": 500.0,
"amount": 500.0,
"base_amount": 500.0,
"base_rate": 500.0,
"cost_center": "_Test Cost Center - _TC",
"description": "_Test Item",
"doctype": "Sales Invoice Item",
"expense_account": "_Test Account Cost for Goods Sold - _TC",
"income_account": "Sales - _TC",
"item_code": "_Test Item",
"item_name": "_Test Item",
"parentfield": "entries",
"price_list_rate": 500.0,
"qty": 1.0
}
],
"fiscal_year": "_Test Fiscal Year 2013",
"grand_total": 630.0,
"grand_total_export": 630.0,
"is_pos": 0,
"naming_series": "_T-Sales Invoice-",
"net_total": 500.0,
],
"fiscal_year": "_Test Fiscal Year 2013",
"grand_total": 630.0,
"grand_total_export": 630.0,
"is_pos": 0,
"naming_series": "_T-Sales Invoice-",
"net_total": 500.0,
"other_charges": [
{
"account_head": "_Test Account VAT - _TC",
"charge_type": "On Net Total",
"description": "VAT",
"doctype": "Sales Taxes and Charges",
"parentfield": "other_charges",
"account_head": "_Test Account VAT - _TC",
"charge_type": "On Net Total",
"description": "VAT",
"doctype": "Sales Taxes and Charges",
"parentfield": "other_charges",
"rate": 16
},
},
{
"account_head": "_Test Account Service Tax - _TC",
"charge_type": "On Net Total",
"description": "Service Tax",
"doctype": "Sales Taxes and Charges",
"parentfield": "other_charges",
"account_head": "_Test Account Service Tax - _TC",
"charge_type": "On Net Total",
"description": "Service Tax",
"doctype": "Sales Taxes and Charges",
"parentfield": "other_charges",
"rate": 10
}
],
"plc_conversion_rate": 1.0,
"posting_date": "2013-03-07",
"price_list_currency": "INR",
"selling_price_list": "_Test Price List",
],
"plc_conversion_rate": 1.0,
"posting_date": "2013-03-07",
"price_list_currency": "INR",
"selling_price_list": "_Test Price List",
"territory": "_Test Territory"
},
},
{
"company": "_Test Company",
"conversion_rate": 1.0,
"currency": "INR",
"customer": "_Test Customer",
"customer_name": "_Test Customer",
"debit_to": "_Test Customer - _TC",
"doctype": "Sales Invoice",
"due_date": "2013-01-23",
"company": "_Test Company",
"conversion_rate": 1.0,
"currency": "INR",
"customer": "_Test Customer",
"customer_name": "_Test Customer",
"debit_to": "_Test Customer - _TC",
"doctype": "Sales Invoice",
"due_date": "2013-01-23",
"entries": [
{
"cost_center": "_Test Cost Center - _TC",
"doctype": "Sales Invoice Item",
"income_account": "Sales - _TC",
"item_code": "_Test Item Home Desktop 100",
"item_name": "_Test Item Home Desktop 100",
"item_tax_rate": "{\"_Test Account Excise Duty - _TC\": 10}",
"parentfield": "entries",
"price_list_rate": 50,
"qty": 10,
"rate": 50,
"cost_center": "_Test Cost Center - _TC",
"doctype": "Sales Invoice Item",
"income_account": "Sales - _TC",
"item_code": "_Test Item Home Desktop 100",
"item_name": "_Test Item Home Desktop 100",
"item_tax_rate": "{\"_Test Account Excise Duty - _TC\": 10}",
"parentfield": "entries",
"price_list_rate": 50,
"qty": 10,
"rate": 50,
"stock_uom": "_Test UOM"
},
},
{
"cost_center": "_Test Cost Center - _TC",
"doctype": "Sales Invoice Item",
"income_account": "Sales - _TC",
"item_code": "_Test Item Home Desktop 200",
"item_name": "_Test Item Home Desktop 200",
"parentfield": "entries",
"price_list_rate": 150,
"qty": 5,
"rate": 150,
"cost_center": "_Test Cost Center - _TC",
"doctype": "Sales Invoice Item",
"income_account": "Sales - _TC",
"item_code": "_Test Item Home Desktop 200",
"item_name": "_Test Item Home Desktop 200",
"parentfield": "entries",
"price_list_rate": 150,
"qty": 5,
"rate": 150,
"stock_uom": "_Test UOM"
}
],
"fiscal_year": "_Test Fiscal Year 2013",
"grand_total_export": 0,
"is_pos": 0,
"naming_series": "_T-Sales Invoice-",
],
"fiscal_year": "_Test Fiscal Year 2013",
"grand_total_export": 0,
"is_pos": 0,
"naming_series": "_T-Sales Invoice-",
"other_charges": [
{
"account_head": "_Test Account Shipping Charges - _TC",
"charge_type": "Actual",
"cost_center": "_Test Cost Center - _TC",
"description": "Shipping Charges",
"doctype": "Sales Taxes and Charges",
"parentfield": "other_charges",
"account_head": "_Test Account Shipping Charges - _TC",
"charge_type": "Actual",
"cost_center": "_Test Cost Center - _TC",
"description": "Shipping Charges",
"doctype": "Sales Taxes and Charges",
"parentfield": "other_charges",
"rate": 100
},
},
{
"account_head": "_Test Account Customs Duty - _TC",
"charge_type": "On Net Total",
"cost_center": "_Test Cost Center - _TC",
"description": "Customs Duty",
"doctype": "Sales Taxes and Charges",
"parentfield": "other_charges",
"account_head": "_Test Account Customs Duty - _TC",
"charge_type": "On Net Total",
"cost_center": "_Test Cost Center - _TC",
"description": "Customs Duty",
"doctype": "Sales Taxes and Charges",
"parentfield": "other_charges",
"rate": 10
},
},
{
"account_head": "_Test Account Excise Duty - _TC",
"charge_type": "On Net Total",
"cost_center": "_Test Cost Center - _TC",
"description": "Excise Duty",
"doctype": "Sales Taxes and Charges",
"parentfield": "other_charges",
"account_head": "_Test Account Excise Duty - _TC",
"charge_type": "On Net Total",
"cost_center": "_Test Cost Center - _TC",
"description": "Excise Duty",
"doctype": "Sales Taxes and Charges",
"parentfield": "other_charges",
"rate": 12
},
},
{
"account_head": "_Test Account Education Cess - _TC",
"charge_type": "On Previous Row Amount",
"cost_center": "_Test Cost Center - _TC",
"description": "Education Cess",
"doctype": "Sales Taxes and Charges",
"parentfield": "other_charges",
"rate": 2,
"account_head": "_Test Account Education Cess - _TC",
"charge_type": "On Previous Row Amount",
"cost_center": "_Test Cost Center - _TC",
"description": "Education Cess",
"doctype": "Sales Taxes and Charges",
"parentfield": "other_charges",
"rate": 2,
"row_id": 3
},
},
{
"account_head": "_Test Account S&H Education Cess - _TC",
"charge_type": "On Previous Row Amount",
"cost_center": "_Test Cost Center - _TC",
"description": "S&H Education Cess",
"doctype": "Sales Taxes and Charges",
"parentfield": "other_charges",
"rate": 1,
"account_head": "_Test Account S&H Education Cess - _TC",
"charge_type": "On Previous Row Amount",
"cost_center": "_Test Cost Center - _TC",
"description": "S&H Education Cess",
"doctype": "Sales Taxes and Charges",
"parentfield": "other_charges",
"rate": 1,
"row_id": 3
},
},
{
"account_head": "_Test Account CST - _TC",
"charge_type": "On Previous Row Total",
"cost_center": "_Test Cost Center - _TC",
"description": "CST",
"doctype": "Sales Taxes and Charges",
"parentfield": "other_charges",
"rate": 2,
"account_head": "_Test Account CST - _TC",
"charge_type": "On Previous Row Total",
"cost_center": "_Test Cost Center - _TC",
"description": "CST",
"doctype": "Sales Taxes and Charges",
"parentfield": "other_charges",
"rate": 2,
"row_id": 5
},
},
{
"account_head": "_Test Account VAT - _TC",
"charge_type": "On Net Total",
"cost_center": "_Test Cost Center - _TC",
"description": "VAT",
"doctype": "Sales Taxes and Charges",
"parentfield": "other_charges",
"account_head": "_Test Account VAT - _TC",
"charge_type": "On Net Total",
"cost_center": "_Test Cost Center - _TC",
"description": "VAT",
"doctype": "Sales Taxes and Charges",
"parentfield": "other_charges",
"rate": 12.5
},
},
{
"account_head": "_Test Account Discount - _TC",
"charge_type": "On Previous Row Total",
"cost_center": "_Test Cost Center - _TC",
"description": "Discount",
"doctype": "Sales Taxes and Charges",
"parentfield": "other_charges",
"rate": -10,
"account_head": "_Test Account Discount - _TC",
"charge_type": "On Previous Row Total",
"cost_center": "_Test Cost Center - _TC",
"description": "Discount",
"doctype": "Sales Taxes and Charges",
"parentfield": "other_charges",
"rate": -10,
"row_id": 7
}
],
"plc_conversion_rate": 1.0,
"posting_date": "2013-01-23",
"price_list_currency": "INR",
"selling_price_list": "_Test Price List",
],
"plc_conversion_rate": 1.0,
"posting_date": "2013-01-23",
"price_list_currency": "INR",
"selling_price_list": "_Test Price List",
"territory": "_Test Territory"
},
},
{
"company": "_Test Company",
"conversion_rate": 1.0,
"currency": "INR",
"customer": "_Test Customer",
"customer_name": "_Test Customer",
"debit_to": "_Test Customer - _TC",
"doctype": "Sales Invoice",
"due_date": "2013-01-23",
"company": "_Test Company",
"conversion_rate": 1.0,
"currency": "INR",
"customer": "_Test Customer",
"customer_name": "_Test Customer",
"debit_to": "_Test Customer - _TC",
"doctype": "Sales Invoice",
"due_date": "2013-01-23",
"entries": [
{
"cost_center": "_Test Cost Center - _TC",
"doctype": "Sales Invoice Item",
"income_account": "Sales - _TC",
"item_code": "_Test Item Home Desktop 100",
"item_name": "_Test Item Home Desktop 100",
"item_tax_rate": "{\"_Test Account Excise Duty - _TC\": 10}",
"parentfield": "entries",
"price_list_rate": 62.5,
"qty": 10,
"cost_center": "_Test Cost Center - _TC",
"doctype": "Sales Invoice Item",
"income_account": "Sales - _TC",
"item_code": "_Test Item Home Desktop 100",
"item_name": "_Test Item Home Desktop 100",
"item_tax_rate": "{\"_Test Account Excise Duty - _TC\": 10}",
"parentfield": "entries",
"price_list_rate": 62.5,
"qty": 10,
"stock_uom": "_Test UOM"
},
},
{
"cost_center": "_Test Cost Center - _TC",
"doctype": "Sales Invoice Item",
"income_account": "Sales - _TC",
"item_code": "_Test Item Home Desktop 200",
"item_name": "_Test Item Home Desktop 200",
"parentfield": "entries",
"price_list_rate": 190.66,
"qty": 5,
"cost_center": "_Test Cost Center - _TC",
"doctype": "Sales Invoice Item",
"income_account": "Sales - _TC",
"item_code": "_Test Item Home Desktop 200",
"item_name": "_Test Item Home Desktop 200",
"parentfield": "entries",
"price_list_rate": 190.66,
"qty": 5,
"stock_uom": "_Test UOM"
}
],
"fiscal_year": "_Test Fiscal Year 2013",
"grand_total_export": 0,
"is_pos": 0,
"naming_series": "_T-Sales Invoice-",
],
"fiscal_year": "_Test Fiscal Year 2013",
"grand_total_export": 0,
"is_pos": 0,
"naming_series": "_T-Sales Invoice-",
"other_charges": [
{
"account_head": "_Test Account Excise Duty - _TC",
"charge_type": "On Net Total",
"cost_center": "_Test Cost Center - _TC",
"description": "Excise Duty",
"doctype": "Sales Taxes and Charges",
"idx": 1,
"included_in_print_rate": 1,
"parentfield": "other_charges",
"account_head": "_Test Account Excise Duty - _TC",
"charge_type": "On Net Total",
"cost_center": "_Test Cost Center - _TC",
"description": "Excise Duty",
"doctype": "Sales Taxes and Charges",
"idx": 1,
"included_in_print_rate": 1,
"parentfield": "other_charges",
"rate": 12
},
},
{
"account_head": "_Test Account Education Cess - _TC",
"charge_type": "On Previous Row Amount",
"cost_center": "_Test Cost Center - _TC",
"description": "Education Cess",
"doctype": "Sales Taxes and Charges",
"idx": 2,
"included_in_print_rate": 1,
"parentfield": "other_charges",
"rate": 2,
"account_head": "_Test Account Education Cess - _TC",
"charge_type": "On Previous Row Amount",
"cost_center": "_Test Cost Center - _TC",
"description": "Education Cess",
"doctype": "Sales Taxes and Charges",
"idx": 2,
"included_in_print_rate": 1,
"parentfield": "other_charges",
"rate": 2,
"row_id": 1
},
},
{
"account_head": "_Test Account S&H Education Cess - _TC",
"charge_type": "On Previous Row Amount",
"cost_center": "_Test Cost Center - _TC",
"description": "S&H Education Cess",
"doctype": "Sales Taxes and Charges",
"idx": 3,
"included_in_print_rate": 1,
"parentfield": "other_charges",
"rate": 1,
"account_head": "_Test Account S&H Education Cess - _TC",
"charge_type": "On Previous Row Amount",
"cost_center": "_Test Cost Center - _TC",
"description": "S&H Education Cess",
"doctype": "Sales Taxes and Charges",
"idx": 3,
"included_in_print_rate": 1,
"parentfield": "other_charges",
"rate": 1,
"row_id": 1
},
},
{
"account_head": "_Test Account CST - _TC",
"charge_type": "On Previous Row Total",
"cost_center": "_Test Cost Center - _TC",
"description": "CST",
"doctype": "Sales Taxes and Charges",
"idx": 4,
"included_in_print_rate": 1,
"parentfield": "other_charges",
"rate": 2,
"account_head": "_Test Account CST - _TC",
"charge_type": "On Previous Row Total",
"cost_center": "_Test Cost Center - _TC",
"description": "CST",
"doctype": "Sales Taxes and Charges",
"idx": 4,
"included_in_print_rate": 1,
"parentfield": "other_charges",
"rate": 2,
"row_id": 3
},
},
{
"account_head": "_Test Account VAT - _TC",
"charge_type": "On Net Total",
"cost_center": "_Test Cost Center - _TC",
"description": "VAT",
"doctype": "Sales Taxes and Charges",
"idx": 5,
"included_in_print_rate": 1,
"parentfield": "other_charges",
"account_head": "_Test Account VAT - _TC",
"charge_type": "On Net Total",
"cost_center": "_Test Cost Center - _TC",
"description": "VAT",
"doctype": "Sales Taxes and Charges",
"idx": 5,
"included_in_print_rate": 1,
"parentfield": "other_charges",
"rate": 12.5
},
},
{
"account_head": "_Test Account Customs Duty - _TC",
"charge_type": "On Net Total",
"cost_center": "_Test Cost Center - _TC",
"description": "Customs Duty",
"doctype": "Sales Taxes and Charges",
"idx": 6,
"parentfield": "other_charges",
"account_head": "_Test Account Customs Duty - _TC",
"charge_type": "On Net Total",
"cost_center": "_Test Cost Center - _TC",
"description": "Customs Duty",
"doctype": "Sales Taxes and Charges",
"idx": 6,
"parentfield": "other_charges",
"rate": 10
},
},
{
"account_head": "_Test Account Shipping Charges - _TC",
"charge_type": "Actual",
"cost_center": "_Test Cost Center - _TC",
"description": "Shipping Charges",
"doctype": "Sales Taxes and Charges",
"idx": 7,
"parentfield": "other_charges",
"account_head": "_Test Account Shipping Charges - _TC",
"charge_type": "Actual",
"cost_center": "_Test Cost Center - _TC",
"description": "Shipping Charges",
"doctype": "Sales Taxes and Charges",
"idx": 7,
"parentfield": "other_charges",
"rate": 100
},
},
{
"account_head": "_Test Account Discount - _TC",
"charge_type": "On Previous Row Total",
"cost_center": "_Test Cost Center - _TC",
"description": "Discount",
"doctype": "Sales Taxes and Charges",
"idx": 8,
"parentfield": "other_charges",
"rate": -10,
"account_head": "_Test Account Discount - _TC",
"charge_type": "On Previous Row Total",
"cost_center": "_Test Cost Center - _TC",
"description": "Discount",
"doctype": "Sales Taxes and Charges",
"idx": 8,
"parentfield": "other_charges",
"rate": -10,
"row_id": 7
}
],
"plc_conversion_rate": 1.0,
"posting_date": "2013-01-23",
"price_list_currency": "INR",
"selling_price_list": "_Test Price List",
],
"plc_conversion_rate": 1.0,
"posting_date": "2013-01-23",
"price_list_currency": "INR",
"selling_price_list": "_Test Price List",
"territory": "_Test Territory"
}
]
]

View File

@ -674,6 +674,7 @@ class TestSalesInvoice(unittest.TestCase):
"notification_email_address": "test@example.com, test1@example.com, test2@example.com",
"repeat_on_day_of_month": getdate(today).day,
"posting_date": today,
"due_date": None,
"fiscal_year": get_fiscal_year(today)[0],
"invoice_period_from_date": get_first_day(today),
"invoice_period_to_date": get_last_day(today)

View File

@ -204,7 +204,7 @@ class StockEntry(StockController):
if not self.posting_date or not self.posting_time:
frappe.throw(_("Posting date and posting time is mandatory"))
allow_negative_stock = frappe.db.get_value("Stock Settings", None, "allow_negative_stock")
allow_negative_stock = cint(frappe.db.get_default("allow_negative_stock"))
for d in self.get('mtn_details'):
args = frappe._dict({
@ -219,7 +219,8 @@ class StockEntry(StockController):
# get actual stock at source warehouse
d.actual_qty = get_previous_sle(args).get("qty_after_transaction") or 0
if d.s_warehouse and not allow_negative_stock and d.actual_qty <= d.transfer_qty:
# validate qty during submit
if d.docstatus==1 and d.s_warehouse and not allow_negative_stock and d.actual_qty < d.transfer_qty:
frappe.throw(_("""Row {0}: Qty not avalable in warehouse {1} on {2} {3}.
Available Qty: {4}, Transfer Qty: {5}""").format(d.idx, d.s_warehouse,
self.posting_date, self.posting_time, d.actual_qty, d.transfer_qty))