built item grids for sales, purchase, stock

This commit is contained in:
Rushabh Mehta 2014-07-29 16:07:43 +05:30 committed by Anand Doshi
parent c13727adba
commit b5e768906a
18 changed files with 642 additions and 378 deletions

View File

@ -16,7 +16,6 @@ class Account(Document):
if not frozen_accounts_modifier or frozen_accounts_modifier in frappe.user.get_roles():
self.get("__onload").can_freeze_account = True
def autoname(self):
self.name = self.account_name.strip() + ' - ' + \
frappe.db.get_value("Company", self.company, "abbr")

View File

@ -18,6 +18,10 @@ month_map = {'Monthly': 1, 'Quarterly': 3, 'Half-yearly': 6, 'Yearly': 12}
from erpnext.controllers.selling_controller import SellingController
form_grid_templates = {
"entries": "templates/form_grid/item_grid.html"
}
class SalesInvoice(SellingController):
tname = 'Sales Invoice Item'
fname = 'entries'

View File

@ -8,6 +8,10 @@ from frappe import msgprint, _, throw
from frappe.model.mapper import get_mapped_doc
from erpnext.controllers.buying_controller import BuyingController
form_grid_templates = {
"po_details": "templates/form_grid/item_grid.html"
}
class PurchaseOrder(BuyingController):
tname = 'Purchase Order Item'
fname = 'po_details'

View File

@ -6,6 +6,11 @@ import frappe
from frappe.model.mapper import get_mapped_doc
from erpnext.controllers.buying_controller import BuyingController
form_grid_templates = {
"quotation_items": "templates/form_grid/item_grid.html"
}
class SupplierQuotation(BuyingController):
tname = "Supplier Quotation Item"
fname = "quotation_items"

View File

@ -6,6 +6,7 @@ import frappe
from frappe.utils import cint, flt, rounded, cstr, comma_or
from erpnext.setup.utils import get_company_currency
from frappe import _, throw
from erpnext.stock.get_item_details import get_available_qty
from erpnext.controllers.stock_controller import StockController
@ -17,6 +18,12 @@ class SellingController(StockController):
"other_charges": "templates/print_formats/includes/taxes.html",
}
def onload(self):
if self.doctype in ("Sales Order", "Delivery Note", "Sales Invoice"):
for item in self.get(self.fname):
item.update(get_available_qty(item.item_code,
item.warehouse))
def validate(self):
super(SellingController, self).validate()
self.validate_max_discount()

View File

@ -9,6 +9,10 @@ from frappe import _
from erpnext.controllers.selling_controller import SellingController
form_grid_templates = {
"quotation_details": "templates/form_grid/item_grid.html"
}
class Quotation(SellingController):
tname = 'Quotation Item'
fname = 'quotation_details'

View File

@ -12,6 +12,10 @@ from frappe.model.mapper import get_mapped_doc
from erpnext.controllers.selling_controller import SellingController
form_grid_templates = {
"sales_order_details": "templates/form_grid/item_grid.html"
}
class SalesOrder(SellingController):
tname = 'Sales Order Item'
fname = 'sales_order_details'

View File

@ -1,443 +1,443 @@
{
"autoname": "SOD/.#####",
"creation": "2013-03-07 11:42:58",
"docstatus": 0,
"doctype": "DocType",
"autoname": "SOD/.#####",
"creation": "2013-03-07 11:42:58",
"docstatus": 0,
"doctype": "DocType",
"fields": [
{
"fieldname": "item_code",
"fieldtype": "Link",
"in_filter": 1,
"in_list_view": 1,
"label": "Item Code",
"oldfieldname": "item_code",
"oldfieldtype": "Link",
"options": "Item",
"permlevel": 0,
"print_width": "150px",
"read_only": 0,
"reqd": 1,
"search_index": 1,
"fieldname": "item_code",
"fieldtype": "Link",
"in_filter": 1,
"in_list_view": 1,
"label": "Item Code",
"oldfieldname": "item_code",
"oldfieldtype": "Link",
"options": "Item",
"permlevel": 0,
"print_width": "150px",
"read_only": 0,
"reqd": 1,
"search_index": 1,
"width": "150px"
},
},
{
"fieldname": "customer_item_code",
"fieldtype": "Data",
"hidden": 1,
"in_list_view": 0,
"label": "Customer's Item Code",
"permlevel": 0,
"print_hide": 1,
"fieldname": "customer_item_code",
"fieldtype": "Data",
"hidden": 1,
"in_list_view": 0,
"label": "Customer's Item Code",
"permlevel": 0,
"print_hide": 1,
"read_only": 1
},
},
{
"fieldname": "item_name",
"fieldtype": "Data",
"in_list_view": 0,
"label": "Item Name",
"oldfieldname": "item_name",
"oldfieldtype": "Data",
"permlevel": 0,
"print_hide": 1,
"print_width": "150",
"read_only": 0,
"reqd": 1,
"fieldname": "item_name",
"fieldtype": "Data",
"in_list_view": 0,
"label": "Item Name",
"oldfieldname": "item_name",
"oldfieldtype": "Data",
"permlevel": 0,
"print_hide": 1,
"print_width": "150",
"read_only": 0,
"reqd": 1,
"width": "150"
},
},
{
"fieldname": "col_break1",
"fieldtype": "Column Break",
"fieldname": "col_break1",
"fieldtype": "Column Break",
"permlevel": 0
},
},
{
"fieldname": "description",
"fieldtype": "Small Text",
"in_filter": 1,
"in_list_view": 1,
"label": "Description",
"oldfieldname": "description",
"oldfieldtype": "Small Text",
"permlevel": 0,
"print_width": "300px",
"read_only": 0,
"reqd": 1,
"search_index": 1,
"fieldname": "description",
"fieldtype": "Small Text",
"in_filter": 1,
"in_list_view": 1,
"label": "Description",
"oldfieldname": "description",
"oldfieldtype": "Small Text",
"permlevel": 0,
"print_width": "300px",
"read_only": 0,
"reqd": 1,
"search_index": 1,
"width": "300px"
},
},
{
"fieldname": "quantity_and_rate",
"fieldtype": "Section Break",
"in_list_view": 0,
"label": "Quantity and Rate",
"fieldname": "quantity_and_rate",
"fieldtype": "Section Break",
"in_list_view": 0,
"label": "Quantity and Rate",
"permlevel": 0
},
},
{
"fieldname": "qty",
"fieldtype": "Float",
"in_list_view": 1,
"label": "Quantity",
"oldfieldname": "qty",
"oldfieldtype": "Currency",
"permlevel": 0,
"print_width": "100px",
"read_only": 0,
"reqd": 1,
"fieldname": "qty",
"fieldtype": "Float",
"in_list_view": 1,
"label": "Quantity",
"oldfieldname": "qty",
"oldfieldtype": "Currency",
"permlevel": 0,
"print_width": "100px",
"read_only": 0,
"reqd": 1,
"width": "100px"
},
},
{
"fieldname": "price_list_rate",
"fieldtype": "Currency",
"in_list_view": 0,
"label": "Price List Rate",
"oldfieldname": "ref_rate",
"oldfieldtype": "Currency",
"options": "currency",
"permlevel": 0,
"print_hide": 1,
"print_width": "70px",
"read_only": 1,
"reqd": 0,
"fieldname": "price_list_rate",
"fieldtype": "Currency",
"in_list_view": 0,
"label": "Price List Rate",
"oldfieldname": "ref_rate",
"oldfieldtype": "Currency",
"options": "currency",
"permlevel": 0,
"print_hide": 1,
"print_width": "70px",
"read_only": 1,
"reqd": 0,
"width": "70px"
},
},
{
"fieldname": "discount_percentage",
"fieldtype": "Percent",
"in_list_view": 0,
"label": "Discount(%)",
"oldfieldname": "adj_rate",
"oldfieldtype": "Float",
"permlevel": 0,
"print_hide": 1,
"print_width": "70px",
"read_only": 0,
"fieldname": "discount_percentage",
"fieldtype": "Float",
"in_list_view": 0,
"label": "Discount(%)",
"oldfieldname": "adj_rate",
"oldfieldtype": "Float",
"permlevel": 0,
"print_hide": 1,
"print_width": "70px",
"read_only": 0,
"width": "70px"
},
},
{
"fieldname": "col_break2",
"fieldtype": "Column Break",
"fieldname": "col_break2",
"fieldtype": "Column Break",
"permlevel": 0
},
},
{
"fieldname": "stock_uom",
"fieldtype": "Link",
"hidden": 0,
"in_list_view": 0,
"label": "UOM",
"oldfieldname": "stock_uom",
"oldfieldtype": "Data",
"options": "UOM",
"permlevel": 0,
"print_width": "70px",
"read_only": 1,
"reqd": 0,
"fieldname": "stock_uom",
"fieldtype": "Link",
"hidden": 0,
"in_list_view": 0,
"label": "UOM",
"oldfieldname": "stock_uom",
"oldfieldtype": "Data",
"options": "UOM",
"permlevel": 0,
"print_width": "70px",
"read_only": 1,
"reqd": 0,
"width": "70px"
},
},
{
"fieldname": "base_price_list_rate",
"fieldtype": "Currency",
"in_list_view": 0,
"label": "Price List Rate (Company Currency)",
"oldfieldname": "base_ref_rate",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
"permlevel": 0,
"print_hide": 1,
"print_width": "100px",
"read_only": 1,
"fieldname": "base_price_list_rate",
"fieldtype": "Currency",
"in_list_view": 0,
"label": "Price List Rate (Company Currency)",
"oldfieldname": "base_ref_rate",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
"permlevel": 0,
"print_hide": 1,
"print_width": "100px",
"read_only": 1,
"width": "100px"
},
},
{
"fieldname": "section_break_simple1",
"fieldtype": "Section Break",
"fieldname": "section_break_simple1",
"fieldtype": "Section Break",
"permlevel": 0
},
},
{
"fieldname": "rate",
"fieldtype": "Currency",
"in_list_view": 1,
"label": "Rate",
"oldfieldname": "export_rate",
"oldfieldtype": "Currency",
"options": "currency",
"permlevel": 0,
"print_width": "100px",
"read_only": 0,
"reqd": 0,
"fieldname": "rate",
"fieldtype": "Currency",
"in_list_view": 1,
"label": "Rate",
"oldfieldname": "export_rate",
"oldfieldtype": "Currency",
"options": "currency",
"permlevel": 0,
"print_width": "100px",
"read_only": 0,
"reqd": 0,
"width": "100px"
},
},
{
"fieldname": "amount",
"fieldtype": "Currency",
"in_list_view": 1,
"label": "Amount",
"no_copy": 0,
"oldfieldname": "export_amount",
"oldfieldtype": "Currency",
"options": "currency",
"permlevel": 0,
"print_width": "100px",
"read_only": 1,
"reqd": 0,
"fieldname": "amount",
"fieldtype": "Currency",
"in_list_view": 1,
"label": "Amount",
"no_copy": 0,
"oldfieldname": "export_amount",
"oldfieldtype": "Currency",
"options": "currency",
"permlevel": 0,
"print_width": "100px",
"read_only": 1,
"reqd": 0,
"width": "100px"
},
},
{
"fieldname": "col_break3",
"fieldtype": "Column Break",
"fieldname": "col_break3",
"fieldtype": "Column Break",
"permlevel": 0
},
},
{
"fieldname": "base_rate",
"fieldtype": "Currency",
"in_list_view": 0,
"label": "Basic Rate (Company Currency)",
"oldfieldname": "basic_rate",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
"permlevel": 0,
"print_hide": 1,
"print_width": "100px",
"read_only": 1,
"reqd": 0,
"fieldname": "base_rate",
"fieldtype": "Currency",
"in_list_view": 0,
"label": "Basic Rate (Company Currency)",
"oldfieldname": "basic_rate",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
"permlevel": 0,
"print_hide": 1,
"print_width": "100px",
"read_only": 1,
"reqd": 0,
"width": "100px"
},
},
{
"fieldname": "base_amount",
"fieldtype": "Currency",
"in_list_view": 0,
"label": "Amount (Company Currency)",
"no_copy": 0,
"oldfieldname": "amount",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
"permlevel": 0,
"print_hide": 1,
"print_width": "100px",
"read_only": 1,
"reqd": 0,
"fieldname": "base_amount",
"fieldtype": "Currency",
"in_list_view": 0,
"label": "Amount (Company Currency)",
"no_copy": 0,
"oldfieldname": "amount",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
"permlevel": 0,
"print_hide": 1,
"print_width": "100px",
"read_only": 1,
"reqd": 0,
"width": "100px"
},
},
{
"fieldname": "pricing_rule",
"fieldtype": "Link",
"label": "Pricing Rule",
"options": "Pricing Rule",
"permlevel": 0,
"fieldname": "pricing_rule",
"fieldtype": "Link",
"label": "Pricing Rule",
"options": "Pricing Rule",
"permlevel": 0,
"read_only": 1
},
},
{
"fieldname": "warehouse_and_reference",
"fieldtype": "Section Break",
"in_list_view": 0,
"label": "Warehouse and Reference",
"fieldname": "warehouse_and_reference",
"fieldtype": "Section Break",
"in_list_view": 0,
"label": "Warehouse and Reference",
"permlevel": 0
},
},
{
"fieldname": "warehouse",
"fieldtype": "Link",
"in_list_view": 0,
"label": "Reserved Warehouse",
"no_copy": 0,
"oldfieldname": "reserved_warehouse",
"oldfieldtype": "Link",
"options": "Warehouse",
"permlevel": 0,
"print_hide": 1,
"print_width": "150px",
"read_only": 0,
"reqd": 0,
"fieldname": "warehouse",
"fieldtype": "Link",
"in_list_view": 0,
"label": "Reserved Warehouse",
"no_copy": 0,
"oldfieldname": "reserved_warehouse",
"oldfieldtype": "Link",
"options": "Warehouse",
"permlevel": 0,
"print_hide": 1,
"print_width": "150px",
"read_only": 0,
"reqd": 0,
"width": "150px"
},
},
{
"fieldname": "prevdoc_docname",
"fieldtype": "Link",
"hidden": 0,
"in_filter": 1,
"in_list_view": 0,
"label": "Quotation",
"no_copy": 1,
"oldfieldname": "prevdoc_docname",
"oldfieldtype": "Link",
"options": "Quotation",
"permlevel": 0,
"print_hide": 1,
"read_only": 1,
"fieldname": "prevdoc_docname",
"fieldtype": "Link",
"hidden": 0,
"in_filter": 1,
"in_list_view": 0,
"label": "Quotation",
"no_copy": 1,
"oldfieldname": "prevdoc_docname",
"oldfieldtype": "Link",
"options": "Quotation",
"permlevel": 0,
"print_hide": 1,
"read_only": 1,
"search_index": 1
},
},
{
"fieldname": "brand",
"fieldtype": "Link",
"hidden": 1,
"in_filter": 1,
"in_list_view": 0,
"label": "Brand Name",
"oldfieldname": "brand",
"oldfieldtype": "Link",
"options": "Brand",
"permlevel": 0,
"print_hide": 1,
"read_only": 1,
"fieldname": "brand",
"fieldtype": "Link",
"hidden": 1,
"in_filter": 1,
"in_list_view": 0,
"label": "Brand Name",
"oldfieldname": "brand",
"oldfieldtype": "Link",
"options": "Brand",
"permlevel": 0,
"print_hide": 1,
"read_only": 1,
"search_index": 1
},
},
{
"description": "<a href=\"#Sales Browser/Item Group\">Add / Edit</a>",
"fieldname": "item_group",
"fieldtype": "Link",
"hidden": 1,
"in_filter": 1,
"in_list_view": 0,
"label": "Item Group",
"oldfieldname": "item_group",
"oldfieldtype": "Link",
"options": "Item Group",
"permlevel": 0,
"print_hide": 1,
"read_only": 1,
"description": "<a href=\"#Sales Browser/Item Group\">Add / Edit</a>",
"fieldname": "item_group",
"fieldtype": "Link",
"hidden": 1,
"in_filter": 1,
"in_list_view": 0,
"label": "Item Group",
"oldfieldname": "item_group",
"oldfieldtype": "Link",
"options": "Item Group",
"permlevel": 0,
"print_hide": 1,
"read_only": 1,
"search_index": 1
},
},
{
"allow_on_submit": 1,
"fieldname": "page_break",
"fieldtype": "Check",
"in_list_view": 0,
"label": "Page Break",
"oldfieldname": "page_break",
"oldfieldtype": "Check",
"permlevel": 0,
"print_hide": 1,
"read_only": 0,
"allow_on_submit": 1,
"fieldname": "page_break",
"fieldtype": "Check",
"in_list_view": 0,
"label": "Page Break",
"oldfieldname": "page_break",
"oldfieldtype": "Check",
"permlevel": 0,
"print_hide": 1,
"read_only": 0,
"report_hide": 1
},
},
{
"fieldname": "col_break4",
"fieldtype": "Column Break",
"fieldname": "col_break4",
"fieldtype": "Column Break",
"permlevel": 0
},
},
{
"fieldname": "projected_qty",
"fieldtype": "Float",
"hidden": 1,
"in_list_view": 0,
"label": "Projected Qty",
"no_copy": 1,
"oldfieldname": "projected_qty",
"oldfieldtype": "Currency",
"permlevel": 0,
"print_hide": 1,
"print_width": "70px",
"read_only": 1,
"fieldname": "projected_qty",
"fieldtype": "Float",
"hidden": 0,
"in_list_view": 0,
"label": "Projected Qty",
"no_copy": 1,
"oldfieldname": "projected_qty",
"oldfieldtype": "Currency",
"permlevel": 0,
"print_hide": 1,
"print_width": "70px",
"read_only": 1,
"width": "70px"
},
},
{
"fieldname": "actual_qty",
"fieldtype": "Float",
"in_list_view": 0,
"label": "Actual Qty",
"no_copy": 1,
"permlevel": 0,
"print_hide": 1,
"print_width": "70px",
"read_only": 1,
"fieldname": "actual_qty",
"fieldtype": "Float",
"in_list_view": 0,
"label": "Actual Qty",
"no_copy": 1,
"permlevel": 0,
"print_hide": 1,
"print_width": "70px",
"read_only": 1,
"width": "70px"
},
},
{
"fieldname": "delivered_qty",
"fieldtype": "Float",
"hidden": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "Delivered Qty",
"no_copy": 1,
"oldfieldname": "delivered_qty",
"oldfieldtype": "Currency",
"permlevel": 0,
"print_hide": 1,
"print_width": "100px",
"read_only": 1,
"search_index": 0,
"fieldname": "delivered_qty",
"fieldtype": "Float",
"hidden": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "Delivered Qty",
"no_copy": 1,
"oldfieldname": "delivered_qty",
"oldfieldtype": "Currency",
"permlevel": 0,
"print_hide": 1,
"print_width": "100px",
"read_only": 1,
"search_index": 0,
"width": "100px"
},
},
{
"fieldname": "billed_amt",
"fieldtype": "Currency",
"in_list_view": 0,
"label": "Billed Amt",
"no_copy": 1,
"options": "currency",
"permlevel": 0,
"print_hide": 1,
"fieldname": "billed_amt",
"fieldtype": "Currency",
"in_list_view": 0,
"label": "Billed Amt",
"no_copy": 1,
"options": "currency",
"permlevel": 0,
"print_hide": 1,
"read_only": 1
},
},
{
"description": "For Production",
"fieldname": "planned_qty",
"fieldtype": "Float",
"hidden": 1,
"in_list_view": 0,
"label": "Planned Quantity",
"no_copy": 1,
"oldfieldname": "planned_qty",
"oldfieldtype": "Currency",
"permlevel": 0,
"print_hide": 1,
"print_width": "50px",
"read_only": 1,
"report_hide": 1,
"description": "For Production",
"fieldname": "planned_qty",
"fieldtype": "Float",
"hidden": 1,
"in_list_view": 0,
"label": "Planned Quantity",
"no_copy": 1,
"oldfieldname": "planned_qty",
"oldfieldtype": "Currency",
"permlevel": 0,
"print_hide": 1,
"print_width": "50px",
"read_only": 1,
"report_hide": 1,
"width": "50px"
},
},
{
"description": "For Production",
"fieldname": "produced_qty",
"fieldtype": "Float",
"hidden": 1,
"in_list_view": 0,
"label": "Produced Quantity",
"oldfieldname": "produced_qty",
"oldfieldtype": "Currency",
"permlevel": 0,
"print_hide": 1,
"print_width": "50px",
"read_only": 1,
"report_hide": 1,
"description": "For Production",
"fieldname": "produced_qty",
"fieldtype": "Float",
"hidden": 1,
"in_list_view": 0,
"label": "Produced Quantity",
"oldfieldname": "produced_qty",
"oldfieldtype": "Currency",
"permlevel": 0,
"print_hide": 1,
"print_width": "50px",
"read_only": 1,
"report_hide": 1,
"width": "50px"
},
},
{
"fieldname": "item_tax_rate",
"fieldtype": "Small Text",
"hidden": 1,
"in_list_view": 0,
"label": "Item Tax Rate",
"oldfieldname": "item_tax_rate",
"oldfieldtype": "Small Text",
"permlevel": 0,
"print_hide": 1,
"read_only": 1,
"fieldname": "item_tax_rate",
"fieldtype": "Small Text",
"hidden": 1,
"in_list_view": 0,
"label": "Item Tax Rate",
"oldfieldname": "item_tax_rate",
"oldfieldtype": "Small Text",
"permlevel": 0,
"print_hide": 1,
"read_only": 1,
"report_hide": 1
},
},
{
"description": "Used for Production Plan",
"fieldname": "transaction_date",
"fieldtype": "Date",
"hidden": 1,
"in_filter": 0,
"in_list_view": 0,
"label": "Sales Order Date",
"oldfieldname": "transaction_date",
"oldfieldtype": "Date",
"permlevel": 0,
"print_hide": 1,
"read_only": 1,
"report_hide": 1,
"description": "Used for Production Plan",
"fieldname": "transaction_date",
"fieldtype": "Date",
"hidden": 1,
"in_filter": 0,
"in_list_view": 0,
"label": "Sales Order Date",
"oldfieldname": "transaction_date",
"oldfieldtype": "Date",
"permlevel": 0,
"print_hide": 1,
"read_only": 1,
"report_hide": 1,
"search_index": 0
}
],
"idx": 1,
"istable": 1,
"modified": "2014-07-31 04:55:10.143164",
"modified_by": "Administrator",
"module": "Selling",
"name": "Sales Order Item",
"owner": "Administrator",
"permissions": [],
"sort_field": "modified",
],
"idx": 1,
"istable": 1,
"modified": "2014-07-31 04:55:10.143164",
"modified_by": "Administrator",
"module": "Selling",
"name": "Sales Order Item",
"owner": "Administrator",
"permissions": [],
"sort_field": "modified",
"sort_order": "DESC"
}
}

View File

@ -12,6 +12,10 @@ from frappe.model.mapper import get_mapped_doc
from erpnext.stock.utils import update_bin
from erpnext.controllers.selling_controller import SellingController
form_grid_templates = {
"delivery_note_details": "templates/form_grid/item_grid.html"
}
class DeliveryNote(SellingController):
tname = 'Delivery Note Item'
fname = 'delivery_note_details'

View File

@ -109,7 +109,7 @@
},
{
"fieldname": "discount_percentage",
"fieldtype": "Percent",
"fieldtype": "Float",
"in_list_view": 0,
"label": "Discount (%)",
"oldfieldname": "adj_rate",
@ -365,6 +365,7 @@
"label": "Against Sales Order",
"options": "Sales Order",
"permlevel": 0,
"print_hide": 1,
"read_only": 1
},
{
@ -373,6 +374,7 @@
"label": "Against Sales Invoice",
"options": "Sales Invoice",
"permlevel": 0,
"print_hide": 1,
"read_only": 1
},
{
@ -429,7 +431,7 @@
],
"idx": 1,
"istable": 1,
"modified": "2014-07-24 05:56:00.218977",
"modified": "2014-07-29 06:11:36.636120",
"modified_by": "Administrator",
"module": "Stock",
"name": "Delivery Note Item",

View File

@ -12,6 +12,11 @@ from frappe import _
from frappe.model.mapper import get_mapped_doc
from erpnext.controllers.buying_controller import BuyingController
form_grid_templates = {
"indent_details": "templates/form_grid/material_request_grid.html"
}
class MaterialRequest(BuyingController):
tname = 'Material Request Item'
fname = 'indent_details'

View File

@ -11,6 +11,11 @@ import frappe.defaults
from erpnext.stock.utils import update_bin
from erpnext.controllers.buying_controller import BuyingController
form_grid_templates = {
"purchase_receipt_details": "templates/form_grid/item_grid.html"
}
class PurchaseReceipt(BuyingController):
tname = 'Purchase Receipt Item'
fname = 'purchase_receipt_details'

View File

@ -19,6 +19,10 @@ class DuplicateEntryForProductionOrderError(frappe.ValidationError): pass
from erpnext.controllers.stock_controller import StockController
form_grid_templates = {
"mtn_details": "templates/form_grid/stock_entry_grid.html"
}
class StockEntry(StockController):
fname = 'mtn_details'

View File

@ -1,6 +1,6 @@
{
"autoname": "MTND/.######",
"creation": "2013-03-29 18:22:12.000000",
"creation": "2013-03-29 18:22:12",
"docstatus": 0,
"doctype": "DocType",
"fields": [
@ -190,7 +190,7 @@
"oldfieldtype": "Link",
"options": "Batch",
"permlevel": 0,
"print_hide": 1,
"print_hide": 0,
"read_only": 0
},
{
@ -300,9 +300,10 @@
],
"idx": 1,
"istable": 1,
"modified": "2014-02-03 12:59:27.000000",
"modified": "2014-07-29 05:28:21.872968",
"modified_by": "Administrator",
"module": "Stock",
"name": "Stock Entry Detail",
"owner": "Administrator"
"owner": "Administrator",
"permissions": []
}

View File

@ -0,0 +1,13 @@
{% $.each(visible_columns || [], function(i, df) { %}
{% var val = row.get_formatted(df.fieldname);
if(val) { %}
<div class="row">
<div class="col-xs-3">
<strong>{%= __(df.label) %}:</strong>
</div>
<div class="col-xs-9">
{%= row.get_formatted(df.fieldname) %}
</div>
</div>
{% } %}
{% }); %}

View File

@ -0,0 +1,109 @@
{% var visible_columns = row.get_visible_columns(["item_code", "item_name", "description", "qty", "rate", "amount", "stock_uom", "uom", "discount_percentage", "schedule_date", "warehouse", "against_sales_order", "sales_order"]); %}
{% if(!doc) { %}
<div class="row">
<div class="col-sm-6">{%= __("Item") %}</div>
<div class="col-sm-2 text-right">{%= __("Qty") %}</div>
<div class="col-sm-2 text-right">{%= __("Rate") %}</div>
<div class="col-sm-2 text-right">{%= __("Amount") %}</div>
</div>
{% } else { %}
<div class="row">
<div class="col-sm-6"><strong>{%= doc.item_code %}</strong>
{% if(doc.item_name != doc.item_code) { %}
<br>{%= doc.item_name %}{% } %}
{% if(doc.item_name != doc.description) { %}
<p>{%= doc.description %}</p>{% } %}
{% if(doc.sales_order || doc.against_sales_order) { %}
<p><span class="label label-default"
title="{%= __("Sales Order") %}">
<i class="icon-file"></i>
{%= doc.sales_order || doc.against_sales_order %}
</span></p>
{% } %}
{% include "templates/form_grid/includes/visible_cols.html" %}
{% if(doc.schedule_date) { %}
<br><span title="{%= __("Reqd By Date") %}" class="label {%=
(frappe.datetime.get_diff(doc.schedule_date) < 1
&& doc.received_qty < doc.qty)
? "label-danger" : "label-default" %}">
{%= row.get_formatted("schedule_date") %}</span>
{% } %}
</div>
<!-- qty -->
<div class="col-sm-2 text-right">
{%= row.get_formatted("qty") %}
<br><small>{%= doc.uom || doc.stock_uom %}</small>
{% if(in_list(["Sales Order Item", "Purchase Order Item"],
doc.doctype) && frm.doc.docstatus===1) {
var delivered = doc.doctype==="Sales Order Item" ?
doc.delivered_qty : doc.received_qty,
percent_delivered =
100 - cint((doc.qty - delivered) * 100 / doc.qty);
%}
<div class="progress" title="% {%= __("Delivered") %}"
style="margin-bottom: 4px;">
<div class="progress-bar" role="progressbar"
aria-valuenow="{%= percent_delivered %}"
aria-valuemin="0" aria-valuemax="100"
style="width: {%= percent_delivered %}%">
{%= percent_delivered %}%
</div>
</div>
{% } %}
{% if(doc.warehouse) {
var label_class = "label-default",
title = "Warehouse",
actual_qty = (doc.doctype==="Sales Order"
? doc.projected_qty : doc.actual_qty);
if(actual_qty != undefined) {
if(actual_qty > doc.qty) {
var label_class = "label-success";
var title = "In Stock"
} else {
var title = "Not In Stock"
}
}
%}
<div style="overflow:hidden; min-height: 25px;
white-space:nowrap; text-overflow: ellipsis;"
title="{%= title %}">
<span class="label {%= label_class %}">
{%= doc.warehouse %}
</span>
</div>
{% } %}
</div>
<!-- rate -->
<div class="col-sm-2 text-right">
{%= row.get_formatted("rate") %}
{% if(doc.discount_percentage) { %}
<br><span class="label label-default pull-right"
title="{%= __("Discount") %}">
{%= -1 * doc.discount_percentage %}%</span>
{% }%}
</div>
<!-- amount -->
<div class="col-sm-2 text-right">
{%= row.get_formatted("amount") %}
{% if(in_list(["Sales Order Item", "Purchase Order Item"],
doc.doctype) && frm.doc.docstatus===1 && doc.amount) {
var percent_billed =
100 - cint((doc.amount - doc.billed_amt) * 100 / doc.amount);
%}
<br><small>&nbsp;</small>
<div class="progress" title="% {%= __("Billed") %}">
<div class="progress-bar" role="progressbar"
aria-valuenow="{%= percent_billed %}"
aria-valuemin="0" aria-valuemax="100"
style="width: {%= percent_billed %}%">
{%= percent_billed %}%
</div>
</div>
{% } %}
</div>
</div>
{% } %}

View File

@ -0,0 +1,52 @@
{% var visible_columns = row.get_visible_columns(["item_code",
"item_name", "description", "amount", "stock_uom", "uom", "qty"]); %}
{% if(!doc) { %}
<div class="row">
<div class="col-sm-9">{%= __("Item") %}</div>
<div class="col-sm-3 text-right">{%= __("Qty") %}</div>
</div>
{% } else { %}
<div class="row">
<div class="col-sm-9"><strong>{%= doc.item_code %}</strong>
{% if(doc.item_name != doc.item_code) { %}
<br>{%= doc.item_name %}{% } %}
{% if(doc.item_name != doc.description) { %}
<p>{%= doc.description %}</p>{% } %}
{% include "templates/form_grid/includes/visible_cols.html" %}
{% if(doc.schedule_date) { %}
<br><span title="{%= __("Reqd By Date") %}" class="label {%=
(frappe.datetime.get_diff(doc.schedule_date) < 1
&& doc.ordered_qty < doc.qty)
? "label-danger" : "label-default" %}">
{%= row.get_formatted("schedule_date") %}</span>
{% } %}
</div>
<!-- qty -->
<div class="col-sm-3 text-right">
{%= row.get_formatted("qty") %}
<small>{%= doc.uom || doc.stock_uom %}</small>
{% var percent_delivered =
100 - cint((doc.qty - cint(doc.ordered_qty)) * 100 / doc.qty); %}
<div class="progress" title="% {%= __("Ordered") %}"
style="margin-bottom: 4px;">
<div class="progress-bar" role="progressbar"
aria-valuenow="{%= percent_delivered %}"
aria-valuemin="0" aria-valuemax="100"
style="width: {%= percent_delivered %}%">
{%= percent_delivered %}%
</div>
</div>
{% if(doc.warehouse) { %}
<div style="overflow:hidden; min-height: 25px;
white-space:nowrap; text-overflow: ellipsis;"
title="{%= __("For Warehouse") %}">
<span class="label label-default">
{%= doc.warehouse %}
</span>
</div>
{% } %}
</div>
</div>
{% } %}

View File

@ -0,0 +1,42 @@
{% var visible_columns = row.get_visible_columns(["item_code",
"item_name", "description", "amount", "stock_uom", "uom", "qty",
"s_warehouse", "t_warehouse", "incoming_rate"]);
%}
{% if(!doc) { %}
<div class="row">
<div class="col-sm-8">{%= __("Item") %}</div>
<div class="col-sm-2 text-right">{%= __("Qty") %}</div>
<div class="col-sm-2 text-right">{%= __("Amount") %}</div>
</div>
{% } else { %}
<div class="row">
<div class="col-sm-8"><strong>{%= doc.item_code %}</strong>
{% if(doc.item_name != doc.item_code) { %}
<br>{%= doc.item_name %}{% } %}
{% if(doc.item_name != doc.description) { %}
<p>{%= doc.description %}</p>{% } %}
{% include "templates/form_grid/includes/visible_cols.html" %}
<div>
{% if(doc.s_warehouse) { %}<span class="label label-default">
{%= doc.s_warehouse || "" %}</span>{% } %}
<i class="icon-long-arrow-right"></i>
{% if(doc.t_warehouse) { %}<span class="label label-primary">
{%= doc.t_warehouse || "" %}</span>{% } %}
</div>
</div>
<!-- qty -->
<div class="col-sm-2 text-right">
{%= row.get_formatted("qty") %}
<br><small>{%= doc.uom || doc.stock_uom %}</small>
</div>
<!-- amount -->
<div class="col-sm-2 text-right">
{%= row.get_formatted("amount") %}
<div class="small text-muted">
{%= row.get_formatted("incoming_rate") %}</div>
</div>
</div>
{% } %}