Merge branch 'develop' into pr-dn-return

This commit is contained in:
Marica 2020-11-09 12:19:36 +05:30 committed by GitHub
commit f72a5a6dca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 12 additions and 5 deletions

View File

@ -132,15 +132,19 @@ class POSInvoice(SalesInvoice):
msg = "" msg = ""
item_code = frappe.bold(d.item_code) item_code = frappe.bold(d.item_code)
serial_nos = get_serial_nos(d.serial_no)
if serialized and batched and (no_batch_selected or no_serial_selected): if serialized and batched and (no_batch_selected or no_serial_selected):
msg = (_('Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.') msg = (_('Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.')
.format(d.idx, item_code)) .format(d.idx, item_code))
if serialized and no_serial_selected: elif serialized and no_serial_selected:
msg = (_('Row #{}: No serial number selected against item: {}. Please select one or remove it to complete transaction.') msg = (_('Row #{}: No serial number selected against item: {}. Please select one or remove it to complete transaction.')
.format(d.idx, item_code)) .format(d.idx, item_code))
if batched and no_batch_selected: elif batched and no_batch_selected:
msg = (_('Row #{}: No batch selected against item: {}. Please select a batch or remove it to complete transaction.') msg = (_('Row #{}: No batch selected against item: {}. Please select a batch or remove it to complete transaction.')
.format(d.idx, item_code)) .format(d.idx, item_code))
elif serialized and not no_serial_selected and len(serial_nos) != d.qty:
msg = (_("Row #{}: You must select {} serial numbers for item {}.").format(d.idx, frappe.bold(cint(d.qty)), item_code))
if msg: if msg:
error_msg.append(msg) error_msg.append(msg)

View File

@ -19,7 +19,7 @@
</div> </div>
<div class="col-xs-6"> <div class="col-xs-6">
<table> <table>
<tr><td><strong>Date: </strong></td><td>{{ frappe.utils.formatdate(doc.creation) }}</td></tr> <tr><td><strong>Date: </strong></td><td>{{ frappe.utils.format_date(doc.creation) }}</td></tr>
</table> </table>
</div> </div>
</div> </div>

View File

@ -236,7 +236,7 @@ def get_tax_template(master_doctype, company, is_inter_state, state_code):
if tax_category.gst_state == number_state_mapping[state_code] or \ if tax_category.gst_state == number_state_mapping[state_code] or \
(not default_tax and not tax_category.gst_state): (not default_tax and not tax_category.gst_state):
default_tax = frappe.db.get_value(master_doctype, default_tax = frappe.db.get_value(master_doctype,
{'disabled': 0, 'tax_category': tax_category.name}, 'name') {'company': company, 'disabled': 0, 'tax_category': tax_category.name}, 'name')
return default_tax return default_tax
def get_tax_template_for_sez(party_details, master_doctype, company, party_type): def get_tax_template_for_sez(party_details, master_doctype, company, party_type):

View File

@ -555,6 +555,8 @@ erpnext.PointOfSale.Controller = class {
frappe.utils.play_sound("error"); frappe.utils.play_sound("error");
return; return;
} }
if (!item_code) return;
item_selected_from_selector && (value = flt(value)) item_selected_from_selector && (value = flt(value))
const args = { item_code, batch_no, [field]: value }; const args = { item_code, batch_no, [field]: value };

View File

@ -372,12 +372,13 @@ erpnext.PointOfSale.ItemDetails = class {
this.$form_container.on('click', '.auto-fetch-btn', () => { this.$form_container.on('click', '.auto-fetch-btn', () => {
this.batch_no_control && this.batch_no_control.set_value(''); this.batch_no_control && this.batch_no_control.set_value('');
let qty = this.qty_control.get_value(); let qty = this.qty_control.get_value();
let conversion_factor = this.conversion_factor_control.get_value();
let expiry_date = this.item_row.has_batch_no ? this.events.get_frm().doc.posting_date : ""; let expiry_date = this.item_row.has_batch_no ? this.events.get_frm().doc.posting_date : "";
let numbers = frappe.call({ let numbers = frappe.call({
method: "erpnext.stock.doctype.serial_no.serial_no.auto_fetch_serial_number", method: "erpnext.stock.doctype.serial_no.serial_no.auto_fetch_serial_number",
args: { args: {
qty, qty: qty * conversion_factor,
item_code: this.current_item.item_code, item_code: this.current_item.item_code,
warehouse: this.warehouse_control.get_value() || '', warehouse: this.warehouse_control.get_value() || '',
batch_nos: this.current_item.batch_no || '', batch_nos: this.current_item.batch_no || '',