changed field name, validation for change amount account, validation for serial no qty
This commit is contained in:
parent
baef2624a2
commit
e4e69ec027
@ -720,14 +720,14 @@
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"fieldname": "change_amount_account",
|
||||
"fieldname": "account_for_change_amount",
|
||||
"fieldtype": "Link",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Change Amount Account",
|
||||
"label": "Account for Change Amount",
|
||||
"length": 0,
|
||||
"no_copy": 0,
|
||||
"options": "Account",
|
||||
@ -885,7 +885,7 @@
|
||||
"issingle": 0,
|
||||
"istable": 0,
|
||||
"max_attachments": 0,
|
||||
"modified": "2016-08-09 02:36:07.316464",
|
||||
"modified": "2016-08-17 15:12:56.713748",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Accounts",
|
||||
"name": "POS Profile",
|
||||
|
@ -270,13 +270,13 @@ erpnext.accounts.SalesInvoiceController = erpnext.selling.SellingController.exte
|
||||
},
|
||||
|
||||
change_amount: function(){
|
||||
if((this.frm.doc.paid_amount - this.frm.doc.grand_total) < this.frm.doc.change_amount){
|
||||
this.frm.set_value("change_amount", 0.0)
|
||||
frappe.msgprint(__("You can not return change amount, limit has been exceeded"))
|
||||
}else{
|
||||
if(this.frm.doc.paid_amount > this.frm.doc.grand_total){
|
||||
this.calculate_write_off_amount()
|
||||
this.frm.refresh_fields();
|
||||
}else {
|
||||
this.frm.set_value("change_amount", 0.0)
|
||||
}
|
||||
|
||||
this.frm.refresh_fields();
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -2356,14 +2356,14 @@
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"fieldname": "change_amount_account",
|
||||
"fieldname": "account_for_change_amount",
|
||||
"fieldtype": "Link",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Change Amount Account",
|
||||
"label": "Account for Change Amount",
|
||||
"length": 0,
|
||||
"no_copy": 0,
|
||||
"options": "Account",
|
||||
@ -3751,7 +3751,7 @@
|
||||
"istable": 0,
|
||||
"max_attachments": 0,
|
||||
"menu_index": 0,
|
||||
"modified": "2016-08-04 05:08:15.008493",
|
||||
"modified": "2016-08-17 15:12:39.357372",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Accounts",
|
||||
"name": "Sales Invoice",
|
||||
|
@ -61,6 +61,7 @@ class SalesInvoice(SellingController):
|
||||
self.clear_unallocated_advances("Sales Invoice Advance", "advances")
|
||||
self.add_remarks()
|
||||
self.validate_write_off_account()
|
||||
self.validate_account_for_change_amount()
|
||||
self.validate_fixed_asset()
|
||||
self.set_income_account_for_fixed_assets()
|
||||
|
||||
@ -237,8 +238,8 @@ class SalesInvoice(SellingController):
|
||||
pos_profile = frappe.get_doc('POS Profile', pos.name) if pos else None
|
||||
update_multi_mode_option(self, pos_profile)
|
||||
|
||||
if not self.change_amount_account:
|
||||
self.change_amount_account = frappe.db.get_value('Company', self.company, 'default_cash_account')
|
||||
if not self.account_for_change_amount:
|
||||
self.account_for_change_amount = frappe.db.get_value('Company', self.company, 'default_cash_account')
|
||||
|
||||
if pos:
|
||||
if not for_validate and not self.customer:
|
||||
@ -246,8 +247,8 @@ class SalesInvoice(SellingController):
|
||||
self.mode_of_payment = pos.mode_of_payment
|
||||
# self.set_customer_defaults()
|
||||
|
||||
if not self.change_amount_account:
|
||||
self.change_amount_account = pos.get('change_amount_account')
|
||||
if pos.get('account_for_change_amount'):
|
||||
self.account_for_change_amount = pos.get('account_for_change_amount')
|
||||
|
||||
for fieldname in ('territory', 'naming_series', 'currency', 'taxes_and_charges', 'letter_head', 'tc_name',
|
||||
'selling_price_list', 'company', 'select_print_heading', 'cash_bank_account',
|
||||
@ -385,6 +386,9 @@ class SalesInvoice(SellingController):
|
||||
if flt(self.write_off_amount) and not self.write_off_account:
|
||||
msgprint(_("Please enter Write Off Account"), raise_exception=1)
|
||||
|
||||
def validate_account_for_change_amount(self):
|
||||
if flt(self.change_amount) and not self.account_for_change_amount:
|
||||
msgprint(_("Please enter Account for Change Amount"), raise_exception=1)
|
||||
|
||||
def validate_c_form(self):
|
||||
""" Blank C-form no if C-form applicable marked as 'No'"""
|
||||
@ -614,13 +618,13 @@ class SalesInvoice(SellingController):
|
||||
|
||||
def make_gle_for_change_amount(self, gl_entries):
|
||||
if cint(self.is_pos) and self.change_amount:
|
||||
if self.change_amount_account:
|
||||
if self.account_for_change_amount:
|
||||
gl_entries.append(
|
||||
self.get_gl_dict({
|
||||
"account": self.debit_to,
|
||||
"party_type": "Customer",
|
||||
"party": self.customer,
|
||||
"against": self.change_amount_account,
|
||||
"against": self.account_for_change_amount,
|
||||
"debit": flt(self.base_change_amount),
|
||||
"debit_in_account_currency": flt(self.base_change_amount) \
|
||||
if self.party_account_currency==self.company_currency else flt(self.change_amount),
|
||||
@ -631,7 +635,7 @@ class SalesInvoice(SellingController):
|
||||
|
||||
gl_entries.append(
|
||||
self.get_gl_dict({
|
||||
"account": self.change_amount_account,
|
||||
"account": self.account_for_change_amount,
|
||||
"against": self.customer,
|
||||
"credit": self.base_change_amount
|
||||
})
|
||||
|
@ -455,7 +455,7 @@ class TestSalesInvoice(unittest.TestCase):
|
||||
|
||||
self.pos_gl_entry(si, pos, 300)
|
||||
|
||||
def test_pos_chnage_amount(self):
|
||||
def test_pos_change_amount(self):
|
||||
set_perpetual_inventory()
|
||||
self.make_pos_profile()
|
||||
|
||||
|
@ -188,8 +188,8 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
|
||||
this.frm.doc.write_off_account = doc.write_off_account
|
||||
}
|
||||
|
||||
if(!this.frm.doc.change_amount_account){
|
||||
this.frm.doc.change_amount_account = doc.change_amount_account
|
||||
if(!this.frm.doc.account_for_change_amount){
|
||||
this.frm.doc.account_for_change_amount = doc.account_for_change_amount
|
||||
}
|
||||
},
|
||||
|
||||
@ -486,11 +486,8 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
|
||||
|
||||
this.remove_item = []
|
||||
$.each(this.frm.doc["items"] || [], function(i, d) {
|
||||
if (d.item_code == item_code && d.serial_no
|
||||
&& field == 'qty' && cint(value) != value) {
|
||||
d.qty = 0.0;
|
||||
me.refresh();
|
||||
frappe.throw(__("Serial no item cannot be a fraction"))
|
||||
if(d.serial_no){
|
||||
me.validate_serial_no_qty(d, item_code, field, value)
|
||||
}
|
||||
|
||||
if (d.item_code == item_code) {
|
||||
@ -907,6 +904,23 @@ erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
|
||||
}
|
||||
},
|
||||
|
||||
validate_serial_no_qty: function(args, item_code, field, value){
|
||||
var me = this;
|
||||
if (args.item_code == item_code && args.serial_no
|
||||
&& field == 'qty' && cint(value) != value) {
|
||||
args.qty = 0.0;
|
||||
this.refresh();
|
||||
frappe.throw(__("Serial no item cannot be a fraction"))
|
||||
}
|
||||
|
||||
if(args.serial_no && args.serial_no.split('\n').length != cint(value)){
|
||||
args.qty = 0.0;
|
||||
args.serial_no = ''
|
||||
this.refresh();
|
||||
frappe.throw(__("Total nos of serial no is not equal to quantity."))
|
||||
}
|
||||
},
|
||||
|
||||
mandatory_batch_no: function(){
|
||||
var me = this;
|
||||
if(this.items[0].has_batch_no && !this.item_batch_no[this.items[0].item_code]){
|
||||
|
@ -137,12 +137,14 @@
|
||||
font-size: 15px;
|
||||
}
|
||||
.pos-payment-row .col-xs-6 {
|
||||
padding: 10px;
|
||||
padding: 15px;
|
||||
}
|
||||
.pos-payment-row {
|
||||
border-bottom: 1px solid #d1d8dd;
|
||||
margin: 2px 0px 5px 0px;
|
||||
height: 60px;
|
||||
margin-top: 0px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
.pos-payment-row:hover,
|
||||
.pos-keyboard-key:hover {
|
||||
@ -202,3 +204,8 @@ body[data-route="pos"] .modal-dialog {
|
||||
.pos-invoice-list {
|
||||
padding: 15px 10px;
|
||||
}
|
||||
.write_off_amount,
|
||||
.change_amount {
|
||||
margin: 15px;
|
||||
width: 130px;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user