merge
This commit is contained in:
commit
efe8102351
@ -37,37 +37,6 @@ wn.pages['trial-balance'].onload = function(wrapper) {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
export: function() {
|
|
||||||
var msgbox = msgprint('<p>Select To Download:</p>\
|
|
||||||
<p><input type="checkbox" name="with_groups" checked> Account Groups</p>\
|
|
||||||
<p><input type="checkbox" name="with_ledgers" checked> Account Ledgers</p>\
|
|
||||||
<p><button class="btn btn-info">Download</button>');
|
|
||||||
|
|
||||||
var me = this;
|
|
||||||
|
|
||||||
$(msgbox.body).find("button").click(function() {
|
|
||||||
var with_groups = $(msgbox.body).find("[name='with_groups']").is(":checked");
|
|
||||||
var with_ledgers = $(msgbox.body).find("[name='with_ledgers']").is(":checked");
|
|
||||||
|
|
||||||
var data = wn.slickgrid_tools.get_view_data(me.columns, me.dataView,
|
|
||||||
function(row, item) {
|
|
||||||
if(with_groups) {
|
|
||||||
// pad row
|
|
||||||
for(var i=0; i<item.indent; i++) row[0] = " " + row[0];
|
|
||||||
}
|
|
||||||
if(with_groups && item.group_or_ledger == "Group") return true;
|
|
||||||
if(with_ledgers && item.group_or_ledger == "Ledger") return true;
|
|
||||||
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
|
|
||||||
wn.tools.downloadify(data, ["Report Manager", "System Manager"], me);
|
|
||||||
return false;
|
|
||||||
})
|
|
||||||
|
|
||||||
return false;
|
|
||||||
},
|
|
||||||
|
|
||||||
prepare_balances: function() {
|
prepare_balances: function() {
|
||||||
// store value of with closing entry
|
// store value of with closing entry
|
||||||
this.with_period_closing_entry = this.wrapper
|
this.with_period_closing_entry = this.wrapper
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
import webnotes
|
import webnotes
|
||||||
def execute():
|
def execute():
|
||||||
|
webnotes.reload_doc("website", "doctype", "web_page")
|
||||||
|
webnotes.reload_doc("website", "doctype", "blog")
|
||||||
|
webnotes.reload_doc("stock", "doctype", "item")
|
||||||
|
webnotes.reload_doc("setup", "doctype", "item_group")
|
||||||
|
|
||||||
# build wn-web.js and wn-web.css
|
# build wn-web.js and wn-web.css
|
||||||
from website.helpers.make_web_include_files import make
|
from website.helpers.make_web_include_files import make
|
||||||
make()
|
make()
|
||||||
|
@ -62,8 +62,7 @@ erpnext.StockAnalytics = erpnext.StockGridReport.extend({
|
|||||||
this.columns = std_columns.concat(this.columns);
|
this.columns = std_columns.concat(this.columns);
|
||||||
},
|
},
|
||||||
filters: [
|
filters: [
|
||||||
{fieldtype:"Select", label: "Value or Qty", options:["Value (Weighted Average)",
|
{fieldtype:"Select", label: "Value or Qty", options:["Value", "Quantity"],
|
||||||
"Value (FIFO)", "Quantity"],
|
|
||||||
filter: function(val, item, opts, me) {
|
filter: function(val, item, opts, me) {
|
||||||
return me.apply_zero_filter(val, item, opts, me);
|
return me.apply_zero_filter(val, item, opts, me);
|
||||||
}},
|
}},
|
||||||
@ -145,7 +144,10 @@ erpnext.StockAnalytics = erpnext.StockGridReport.extend({
|
|||||||
|
|
||||||
if(me.value_or_qty!="Quantity") {
|
if(me.value_or_qty!="Quantity") {
|
||||||
var wh = me.get_item_warehouse(sl.warehouse, sl.item_code);
|
var wh = me.get_item_warehouse(sl.warehouse, sl.item_code);
|
||||||
var is_fifo = this.value_or_qty== "Value (FIFO)";
|
var valuation_method = item.valuation_method ?
|
||||||
|
item.valuation_method : sys_defaults.valuation_method;
|
||||||
|
var is_fifo = valuation_method == "FIFO";
|
||||||
|
|
||||||
var diff = me.get_value_diff(wh, sl, is_fifo);
|
var diff = me.get_value_diff(wh, sl, is_fifo);
|
||||||
} else {
|
} else {
|
||||||
var diff = sl.qty;
|
var diff = sl.qty;
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
{
|
{
|
||||||
"creation": "2013-01-10 16:34:19",
|
"creation": "2013-01-10 16:34:19",
|
||||||
"docstatus": 0,
|
"docstatus": 0,
|
||||||
"modified": "2013-01-22 14:56:40",
|
"modified": "2013-01-22 15:23:24",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"owner": "Administrator"
|
"owner": "Administrator"
|
||||||
},
|
},
|
||||||
@ -52,7 +52,7 @@
|
|||||||
"no_copy": 1,
|
"no_copy": 1,
|
||||||
"oldfieldname": "naming_series",
|
"oldfieldname": "naming_series",
|
||||||
"oldfieldtype": "Select",
|
"oldfieldtype": "Select",
|
||||||
"options": "ENQUIRY\nENQ",
|
"options": "OPPT",
|
||||||
"reqd": 1
|
"reqd": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -239,10 +239,6 @@ class DocType(SellingController):
|
|||||||
# =========================================================================
|
# =========================================================================
|
||||||
def on_submit(self):
|
def on_submit(self):
|
||||||
self.check_item_table()
|
self.check_item_table()
|
||||||
if not self.doc.amended_from:
|
|
||||||
webnotes.conn.set(self.doc, 'message', 'Quotation: '+self.doc.name+' has been sent')
|
|
||||||
else:
|
|
||||||
webnotes.conn.set(self.doc, 'message', 'Quotation has been amended. New Quotation no:'+self.doc.name)
|
|
||||||
|
|
||||||
# Check for Approving Authority
|
# Check for Approving Authority
|
||||||
get_obj('Authorization Control').validate_approving_authority(self.doc.doctype, self.doc.company, self.doc.grand_total, self)
|
get_obj('Authorization Control').validate_approving_authority(self.doc.doctype, self.doc.company, self.doc.grand_total, self)
|
||||||
@ -257,24 +253,11 @@ class DocType(SellingController):
|
|||||||
# ON CANCEL
|
# ON CANCEL
|
||||||
# ==========================================================================
|
# ==========================================================================
|
||||||
def on_cancel(self):
|
def on_cancel(self):
|
||||||
webnotes.conn.set(self.doc, 'message', 'Quotation: '+self.doc.name+' has been cancelled')
|
|
||||||
|
|
||||||
#update enquiry status
|
#update enquiry status
|
||||||
self.update_enquiry('cancel')
|
self.update_enquiry('cancel')
|
||||||
|
|
||||||
webnotes.conn.set(self.doc,'status','Cancelled')
|
webnotes.conn.set(self.doc,'status','Cancelled')
|
||||||
|
|
||||||
|
|
||||||
# SEND SMS
|
|
||||||
# =============================================================================
|
|
||||||
def send_sms(self):
|
|
||||||
if not self.doc.customer_mobile_no:
|
|
||||||
msgprint("Please enter customer mobile no")
|
|
||||||
elif not self.doc.message:
|
|
||||||
msgprint("Please enter the message you want to send")
|
|
||||||
else:
|
|
||||||
msgprint(get_obj("SMS Control", "SMS Control").send_sms([self.doc.contact_mobile,], self.doc.message))
|
|
||||||
|
|
||||||
# Print other charges
|
# Print other charges
|
||||||
# ===========================================================================
|
# ===========================================================================
|
||||||
def print_other_charges(self,docname):
|
def print_other_charges(self,docname):
|
||||||
|
@ -42,14 +42,25 @@ erpnext.StockBalance = erpnext.StockAnalytics.extend({
|
|||||||
this.columns = [
|
this.columns = [
|
||||||
{id: "name", name: "Item", field: "name", width: 300,
|
{id: "name", name: "Item", field: "name", width: 300,
|
||||||
formatter: this.tree_formatter},
|
formatter: this.tree_formatter},
|
||||||
{id: "opening", name: "Opening", field: "opening", width: 100,
|
|
||||||
|
{id: "opening_qty", name: "Opening Qty", field: "opening_qty", width: 100,
|
||||||
formatter: this.currency_formatter},
|
formatter: this.currency_formatter},
|
||||||
{id: "inflow", name: "In", field: "inflow", width: 100,
|
{id: "inflow_qty", name: "In Qty", field: "inflow_qty", width: 100,
|
||||||
formatter: this.currency_formatter},
|
formatter: this.currency_formatter},
|
||||||
{id: "outflow", name: "Out", field: "outflow", width: 100,
|
{id: "outflow_qty", name: "Out Qty", field: "outflow_qty", width: 100,
|
||||||
formatter: this.currency_formatter},
|
formatter: this.currency_formatter},
|
||||||
{id: "closing", name: "Closing", field: "closing", width: 100,
|
{id: "closing_qty", name: "Closing Qty", field: "closing_qty", width: 100,
|
||||||
formatter: this.currency_formatter},
|
formatter: this.currency_formatter},
|
||||||
|
|
||||||
|
{id: "opening_value", name: "Opening Value", field: "opening_value", width: 100,
|
||||||
|
formatter: this.currency_formatter},
|
||||||
|
{id: "inflow_value", name: "In Value", field: "inflow_value", width: 100,
|
||||||
|
formatter: this.currency_formatter},
|
||||||
|
{id: "outflow_value", name: "Out Value", field: "outflow_value", width: 100,
|
||||||
|
formatter: this.currency_formatter},
|
||||||
|
{id: "closing_value", name: "Closing Value", field: "closing_value", width: 100,
|
||||||
|
formatter: this.currency_formatter},
|
||||||
|
|
||||||
{id: "brand", name: "Brand", field: "brand", width: 100},
|
{id: "brand", name: "Brand", field: "brand", width: 100},
|
||||||
{id: "item_name", name: "Item Name", field: "item_name", width: 100},
|
{id: "item_name", name: "Item Name", field: "item_name", width: 100},
|
||||||
{id: "description", name: "Description", field: "description", width: 200,
|
{id: "description", name: "Description", field: "description", width: 200,
|
||||||
@ -58,17 +69,14 @@ erpnext.StockBalance = erpnext.StockAnalytics.extend({
|
|||||||
},
|
},
|
||||||
|
|
||||||
filters: [
|
filters: [
|
||||||
{fieldtype:"Select", label: "Value or Qty", options:["Value (Weighted Average)",
|
|
||||||
"Value (FIFO)", "Quantity"],
|
|
||||||
filter: function(val, item, opts, me) {
|
|
||||||
return me.apply_zero_filter(val, item, opts, me);
|
|
||||||
}},
|
|
||||||
{fieldtype:"Select", label: "Brand", link:"Brand",
|
{fieldtype:"Select", label: "Brand", link:"Brand",
|
||||||
default_value: "Select Brand...", filter: function(val, item, opts) {
|
default_value: "Select Brand...", filter: function(val, item, opts) {
|
||||||
return val == opts.default_value || item.brand == val || item._show;
|
return val == opts.default_value || item.brand == val || item._show;
|
||||||
}, link_formatter: {filter_input: "brand"}},
|
}, link_formatter: {filter_input: "brand"}},
|
||||||
{fieldtype:"Select", label: "Warehouse", link:"Warehouse",
|
{fieldtype:"Select", label: "Warehouse", link:"Warehouse",
|
||||||
default_value: "Select Warehouse..."},
|
default_value: "Select Warehouse...", filter: function(val, item, opts, me) {
|
||||||
|
return me.apply_zero_filter(val, item, opts, me);
|
||||||
|
}},
|
||||||
{fieldtype:"Date", label: "From Date"},
|
{fieldtype:"Date", label: "From Date"},
|
||||||
{fieldtype:"Label", label: "To"},
|
{fieldtype:"Label", label: "To"},
|
||||||
{fieldtype:"Date", label: "To Date"},
|
{fieldtype:"Date", label: "To Date"},
|
||||||
@ -100,31 +108,37 @@ erpnext.StockBalance = erpnext.StockAnalytics.extend({
|
|||||||
|
|
||||||
if(me.is_default("warehouse") ? true : me.warehouse == sl.warehouse) {
|
if(me.is_default("warehouse") ? true : me.warehouse == sl.warehouse) {
|
||||||
var item = me.item_by_name[sl.item_code];
|
var item = me.item_by_name[sl.item_code];
|
||||||
|
var wh = me.get_item_warehouse(sl.warehouse, sl.item_code);
|
||||||
|
var valuation_method = item.valuation_method ?
|
||||||
|
item.valuation_method : sys_defaults.valuation_method;
|
||||||
|
var is_fifo = valuation_method == "FIFO";
|
||||||
|
|
||||||
if(me.value_or_qty!="Quantity") {
|
var qty_diff = sl.qty;
|
||||||
var wh = me.get_item_warehouse(sl.warehouse, sl.item_code);
|
var value_diff = me.get_value_diff(wh, sl, is_fifo);
|
||||||
var is_fifo = this.value_or_qty== "Value (FIFO)";
|
|
||||||
var diff = me.get_value_diff(wh, sl, is_fifo);
|
|
||||||
} else {
|
|
||||||
var diff = sl.qty;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(posting_datetime < from_date) {
|
if(posting_datetime < from_date) {
|
||||||
item.opening += diff;
|
item.opening_qty += qty_diff;
|
||||||
|
item.opening_value += value_diff;
|
||||||
} else if(posting_datetime <= to_date) {
|
} else if(posting_datetime <= to_date) {
|
||||||
var ignore_inflow_outflow = this.is_default("warehouse")
|
var ignore_inflow_outflow = this.is_default("warehouse")
|
||||||
&& sl.voucher_type=="Stock Entry"
|
&& sl.voucher_type=="Stock Entry"
|
||||||
&& this.stock_entry_map[sl.voucher_no].purpose=="Material Transfer";
|
&& this.stock_entry_map[sl.voucher_no].purpose=="Material Transfer";
|
||||||
|
|
||||||
if(!ignore_inflow_outflow) {
|
if(!ignore_inflow_outflow) {
|
||||||
if(diff < 0) {
|
if(qty_diff < 0) {
|
||||||
item.outflow += Math.abs(diff);
|
item.outflow_qty += Math.abs(qty_diff);
|
||||||
} else {
|
} else {
|
||||||
item.inflow += diff;
|
item.inflow_qty += qty_diff;
|
||||||
|
}
|
||||||
|
if(value_diff < 0) {
|
||||||
|
item.outflow_value += Math.abs(value_diff);
|
||||||
|
} else {
|
||||||
|
item.inflow_value += value_diff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
item.closing += diff;
|
item.closing_qty += qty_diff;
|
||||||
|
item.closing_value += value_diff;
|
||||||
} else {
|
} else {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -134,7 +148,8 @@ erpnext.StockBalance = erpnext.StockAnalytics.extend({
|
|||||||
// opening + diff = closing
|
// opening + diff = closing
|
||||||
// adding opening, since diff already added to closing
|
// adding opening, since diff already added to closing
|
||||||
$.each(me.item_by_name, function(key, item) {
|
$.each(me.item_by_name, function(key, item) {
|
||||||
item.closing += item.opening;
|
item.closing_qty += item.opening_qty;
|
||||||
|
item.closing_value += item.opening_value;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user