built item grids for sales, purchase, stock
This commit is contained in:
committed by
Anand Doshi
parent
c13727adba
commit
b5e768906a
@@ -16,7 +16,6 @@ class Account(Document):
|
|||||||
if not frozen_accounts_modifier or frozen_accounts_modifier in frappe.user.get_roles():
|
if not frozen_accounts_modifier or frozen_accounts_modifier in frappe.user.get_roles():
|
||||||
self.get("__onload").can_freeze_account = True
|
self.get("__onload").can_freeze_account = True
|
||||||
|
|
||||||
|
|
||||||
def autoname(self):
|
def autoname(self):
|
||||||
self.name = self.account_name.strip() + ' - ' + \
|
self.name = self.account_name.strip() + ' - ' + \
|
||||||
frappe.db.get_value("Company", self.company, "abbr")
|
frappe.db.get_value("Company", self.company, "abbr")
|
||||||
|
|||||||
@@ -18,6 +18,10 @@ month_map = {'Monthly': 1, 'Quarterly': 3, 'Half-yearly': 6, 'Yearly': 12}
|
|||||||
|
|
||||||
from erpnext.controllers.selling_controller import SellingController
|
from erpnext.controllers.selling_controller import SellingController
|
||||||
|
|
||||||
|
form_grid_templates = {
|
||||||
|
"entries": "templates/form_grid/item_grid.html"
|
||||||
|
}
|
||||||
|
|
||||||
class SalesInvoice(SellingController):
|
class SalesInvoice(SellingController):
|
||||||
tname = 'Sales Invoice Item'
|
tname = 'Sales Invoice Item'
|
||||||
fname = 'entries'
|
fname = 'entries'
|
||||||
|
|||||||
@@ -8,6 +8,10 @@ from frappe import msgprint, _, throw
|
|||||||
from frappe.model.mapper import get_mapped_doc
|
from frappe.model.mapper import get_mapped_doc
|
||||||
from erpnext.controllers.buying_controller import BuyingController
|
from erpnext.controllers.buying_controller import BuyingController
|
||||||
|
|
||||||
|
form_grid_templates = {
|
||||||
|
"po_details": "templates/form_grid/item_grid.html"
|
||||||
|
}
|
||||||
|
|
||||||
class PurchaseOrder(BuyingController):
|
class PurchaseOrder(BuyingController):
|
||||||
tname = 'Purchase Order Item'
|
tname = 'Purchase Order Item'
|
||||||
fname = 'po_details'
|
fname = 'po_details'
|
||||||
|
|||||||
@@ -6,6 +6,11 @@ import frappe
|
|||||||
from frappe.model.mapper import get_mapped_doc
|
from frappe.model.mapper import get_mapped_doc
|
||||||
|
|
||||||
from erpnext.controllers.buying_controller import BuyingController
|
from erpnext.controllers.buying_controller import BuyingController
|
||||||
|
|
||||||
|
form_grid_templates = {
|
||||||
|
"quotation_items": "templates/form_grid/item_grid.html"
|
||||||
|
}
|
||||||
|
|
||||||
class SupplierQuotation(BuyingController):
|
class SupplierQuotation(BuyingController):
|
||||||
tname = "Supplier Quotation Item"
|
tname = "Supplier Quotation Item"
|
||||||
fname = "quotation_items"
|
fname = "quotation_items"
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import frappe
|
|||||||
from frappe.utils import cint, flt, rounded, cstr, comma_or
|
from frappe.utils import cint, flt, rounded, cstr, comma_or
|
||||||
from erpnext.setup.utils import get_company_currency
|
from erpnext.setup.utils import get_company_currency
|
||||||
from frappe import _, throw
|
from frappe import _, throw
|
||||||
|
from erpnext.stock.get_item_details import get_available_qty
|
||||||
|
|
||||||
from erpnext.controllers.stock_controller import StockController
|
from erpnext.controllers.stock_controller import StockController
|
||||||
|
|
||||||
@@ -17,6 +18,12 @@ class SellingController(StockController):
|
|||||||
"other_charges": "templates/print_formats/includes/taxes.html",
|
"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):
|
def validate(self):
|
||||||
super(SellingController, self).validate()
|
super(SellingController, self).validate()
|
||||||
self.validate_max_discount()
|
self.validate_max_discount()
|
||||||
|
|||||||
@@ -9,6 +9,10 @@ from frappe import _
|
|||||||
|
|
||||||
from erpnext.controllers.selling_controller import SellingController
|
from erpnext.controllers.selling_controller import SellingController
|
||||||
|
|
||||||
|
form_grid_templates = {
|
||||||
|
"quotation_details": "templates/form_grid/item_grid.html"
|
||||||
|
}
|
||||||
|
|
||||||
class Quotation(SellingController):
|
class Quotation(SellingController):
|
||||||
tname = 'Quotation Item'
|
tname = 'Quotation Item'
|
||||||
fname = 'quotation_details'
|
fname = 'quotation_details'
|
||||||
|
|||||||
@@ -12,6 +12,10 @@ from frappe.model.mapper import get_mapped_doc
|
|||||||
|
|
||||||
from erpnext.controllers.selling_controller import SellingController
|
from erpnext.controllers.selling_controller import SellingController
|
||||||
|
|
||||||
|
form_grid_templates = {
|
||||||
|
"sales_order_details": "templates/form_grid/item_grid.html"
|
||||||
|
}
|
||||||
|
|
||||||
class SalesOrder(SellingController):
|
class SalesOrder(SellingController):
|
||||||
tname = 'Sales Order Item'
|
tname = 'Sales Order Item'
|
||||||
fname = 'sales_order_details'
|
fname = 'sales_order_details'
|
||||||
|
|||||||
@@ -101,7 +101,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"fieldname": "discount_percentage",
|
"fieldname": "discount_percentage",
|
||||||
"fieldtype": "Percent",
|
"fieldtype": "Float",
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
"label": "Discount(%)",
|
"label": "Discount(%)",
|
||||||
"oldfieldname": "adj_rate",
|
"oldfieldname": "adj_rate",
|
||||||
@@ -315,7 +315,7 @@
|
|||||||
{
|
{
|
||||||
"fieldname": "projected_qty",
|
"fieldname": "projected_qty",
|
||||||
"fieldtype": "Float",
|
"fieldtype": "Float",
|
||||||
"hidden": 1,
|
"hidden": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
"label": "Projected Qty",
|
"label": "Projected Qty",
|
||||||
"no_copy": 1,
|
"no_copy": 1,
|
||||||
|
|||||||
@@ -12,6 +12,10 @@ from frappe.model.mapper import get_mapped_doc
|
|||||||
from erpnext.stock.utils import update_bin
|
from erpnext.stock.utils import update_bin
|
||||||
from erpnext.controllers.selling_controller import SellingController
|
from erpnext.controllers.selling_controller import SellingController
|
||||||
|
|
||||||
|
form_grid_templates = {
|
||||||
|
"delivery_note_details": "templates/form_grid/item_grid.html"
|
||||||
|
}
|
||||||
|
|
||||||
class DeliveryNote(SellingController):
|
class DeliveryNote(SellingController):
|
||||||
tname = 'Delivery Note Item'
|
tname = 'Delivery Note Item'
|
||||||
fname = 'delivery_note_details'
|
fname = 'delivery_note_details'
|
||||||
|
|||||||
@@ -109,7 +109,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"fieldname": "discount_percentage",
|
"fieldname": "discount_percentage",
|
||||||
"fieldtype": "Percent",
|
"fieldtype": "Float",
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
"label": "Discount (%)",
|
"label": "Discount (%)",
|
||||||
"oldfieldname": "adj_rate",
|
"oldfieldname": "adj_rate",
|
||||||
@@ -365,6 +365,7 @@
|
|||||||
"label": "Against Sales Order",
|
"label": "Against Sales Order",
|
||||||
"options": "Sales Order",
|
"options": "Sales Order",
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
|
"print_hide": 1,
|
||||||
"read_only": 1
|
"read_only": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -373,6 +374,7 @@
|
|||||||
"label": "Against Sales Invoice",
|
"label": "Against Sales Invoice",
|
||||||
"options": "Sales Invoice",
|
"options": "Sales Invoice",
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
|
"print_hide": 1,
|
||||||
"read_only": 1
|
"read_only": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -429,7 +431,7 @@
|
|||||||
],
|
],
|
||||||
"idx": 1,
|
"idx": 1,
|
||||||
"istable": 1,
|
"istable": 1,
|
||||||
"modified": "2014-07-24 05:56:00.218977",
|
"modified": "2014-07-29 06:11:36.636120",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Stock",
|
"module": "Stock",
|
||||||
"name": "Delivery Note Item",
|
"name": "Delivery Note Item",
|
||||||
|
|||||||
@@ -12,6 +12,11 @@ from frappe import _
|
|||||||
from frappe.model.mapper import get_mapped_doc
|
from frappe.model.mapper import get_mapped_doc
|
||||||
|
|
||||||
from erpnext.controllers.buying_controller import BuyingController
|
from erpnext.controllers.buying_controller import BuyingController
|
||||||
|
|
||||||
|
form_grid_templates = {
|
||||||
|
"indent_details": "templates/form_grid/material_request_grid.html"
|
||||||
|
}
|
||||||
|
|
||||||
class MaterialRequest(BuyingController):
|
class MaterialRequest(BuyingController):
|
||||||
tname = 'Material Request Item'
|
tname = 'Material Request Item'
|
||||||
fname = 'indent_details'
|
fname = 'indent_details'
|
||||||
|
|||||||
@@ -11,6 +11,11 @@ import frappe.defaults
|
|||||||
from erpnext.stock.utils import update_bin
|
from erpnext.stock.utils import update_bin
|
||||||
|
|
||||||
from erpnext.controllers.buying_controller import BuyingController
|
from erpnext.controllers.buying_controller import BuyingController
|
||||||
|
|
||||||
|
form_grid_templates = {
|
||||||
|
"purchase_receipt_details": "templates/form_grid/item_grid.html"
|
||||||
|
}
|
||||||
|
|
||||||
class PurchaseReceipt(BuyingController):
|
class PurchaseReceipt(BuyingController):
|
||||||
tname = 'Purchase Receipt Item'
|
tname = 'Purchase Receipt Item'
|
||||||
fname = 'purchase_receipt_details'
|
fname = 'purchase_receipt_details'
|
||||||
|
|||||||
@@ -19,6 +19,10 @@ class DuplicateEntryForProductionOrderError(frappe.ValidationError): pass
|
|||||||
|
|
||||||
from erpnext.controllers.stock_controller import StockController
|
from erpnext.controllers.stock_controller import StockController
|
||||||
|
|
||||||
|
form_grid_templates = {
|
||||||
|
"mtn_details": "templates/form_grid/stock_entry_grid.html"
|
||||||
|
}
|
||||||
|
|
||||||
class StockEntry(StockController):
|
class StockEntry(StockController):
|
||||||
fname = 'mtn_details'
|
fname = 'mtn_details'
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"autoname": "MTND/.######",
|
"autoname": "MTND/.######",
|
||||||
"creation": "2013-03-29 18:22:12.000000",
|
"creation": "2013-03-29 18:22:12",
|
||||||
"docstatus": 0,
|
"docstatus": 0,
|
||||||
"doctype": "DocType",
|
"doctype": "DocType",
|
||||||
"fields": [
|
"fields": [
|
||||||
@@ -190,7 +190,7 @@
|
|||||||
"oldfieldtype": "Link",
|
"oldfieldtype": "Link",
|
||||||
"options": "Batch",
|
"options": "Batch",
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
"print_hide": 1,
|
"print_hide": 0,
|
||||||
"read_only": 0
|
"read_only": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -300,9 +300,10 @@
|
|||||||
],
|
],
|
||||||
"idx": 1,
|
"idx": 1,
|
||||||
"istable": 1,
|
"istable": 1,
|
||||||
"modified": "2014-02-03 12:59:27.000000",
|
"modified": "2014-07-29 05:28:21.872968",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Stock",
|
"module": "Stock",
|
||||||
"name": "Stock Entry Detail",
|
"name": "Stock Entry Detail",
|
||||||
"owner": "Administrator"
|
"owner": "Administrator",
|
||||||
|
"permissions": []
|
||||||
}
|
}
|
||||||
13
erpnext/templates/form_grid/includes/visible_cols.html
Normal file
13
erpnext/templates/form_grid/includes/visible_cols.html
Normal 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>
|
||||||
|
{% } %}
|
||||||
|
{% }); %}
|
||||||
109
erpnext/templates/form_grid/item_grid.html
Normal file
109
erpnext/templates/form_grid/item_grid.html
Normal 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> </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>
|
||||||
|
{% } %}
|
||||||
52
erpnext/templates/form_grid/material_request_grid.html
Normal file
52
erpnext/templates/form_grid/material_request_grid.html
Normal 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>
|
||||||
|
{% } %}
|
||||||
42
erpnext/templates/form_grid/stock_entry_grid.html
Normal file
42
erpnext/templates/form_grid/stock_entry_grid.html
Normal 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>
|
||||||
|
{% } %}
|
||||||
Reference in New Issue
Block a user