Merge branch 'develop' into datev_fixes
This commit is contained in:
commit
3b4b17476a
@ -15,6 +15,7 @@
|
|||||||
"hide_custom": 0,
|
"hide_custom": 0,
|
||||||
"icon": "hr",
|
"icon": "hr",
|
||||||
"idx": 0,
|
"idx": 0,
|
||||||
|
"is_default": 0,
|
||||||
"is_standard": 1,
|
"is_standard": 1,
|
||||||
"label": "HR",
|
"label": "HR",
|
||||||
"links": [
|
"links": [
|
||||||
@ -226,42 +227,12 @@
|
|||||||
"onboard": 0,
|
"onboard": 0,
|
||||||
"type": "Card Break"
|
"type": "Card Break"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"dependencies": "Employee",
|
|
||||||
"hidden": 0,
|
|
||||||
"is_query_report": 0,
|
|
||||||
"label": "Leave Application",
|
|
||||||
"link_to": "Leave Application",
|
|
||||||
"link_type": "DocType",
|
|
||||||
"onboard": 0,
|
|
||||||
"type": "Link"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dependencies": "Employee",
|
|
||||||
"hidden": 0,
|
|
||||||
"is_query_report": 0,
|
|
||||||
"label": "Leave Allocation",
|
|
||||||
"link_to": "Leave Allocation",
|
|
||||||
"link_type": "DocType",
|
|
||||||
"onboard": 0,
|
|
||||||
"type": "Link"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dependencies": "Leave Type",
|
|
||||||
"hidden": 0,
|
|
||||||
"is_query_report": 0,
|
|
||||||
"label": "Leave Policy",
|
|
||||||
"link_to": "Leave Policy",
|
|
||||||
"link_type": "DocType",
|
|
||||||
"onboard": 0,
|
|
||||||
"type": "Link"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"dependencies": "",
|
"dependencies": "",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"is_query_report": 0,
|
"is_query_report": 0,
|
||||||
"label": "Leave Period",
|
"label": "Holiday List",
|
||||||
"link_to": "Leave Period",
|
"link_to": "Holiday List",
|
||||||
"link_type": "DocType",
|
"link_type": "DocType",
|
||||||
"onboard": 0,
|
"onboard": 0,
|
||||||
"type": "Link"
|
"type": "Link"
|
||||||
@ -280,8 +251,28 @@
|
|||||||
"dependencies": "",
|
"dependencies": "",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"is_query_report": 0,
|
"is_query_report": 0,
|
||||||
"label": "Holiday List",
|
"label": "Leave Period",
|
||||||
"link_to": "Holiday List",
|
"link_to": "Leave Period",
|
||||||
|
"link_type": "DocType",
|
||||||
|
"onboard": 0,
|
||||||
|
"type": "Link"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dependencies": "Leave Type",
|
||||||
|
"hidden": 0,
|
||||||
|
"is_query_report": 0,
|
||||||
|
"label": "Leave Policy",
|
||||||
|
"link_to": "Leave Policy",
|
||||||
|
"link_type": "DocType",
|
||||||
|
"onboard": 0,
|
||||||
|
"type": "Link"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dependencies": "Leave Policy",
|
||||||
|
"hidden": 0,
|
||||||
|
"is_query_report": 0,
|
||||||
|
"label": "Leave Policy Assignment",
|
||||||
|
"link_to": "Leave Policy Assignment",
|
||||||
"link_type": "DocType",
|
"link_type": "DocType",
|
||||||
"onboard": 0,
|
"onboard": 0,
|
||||||
"type": "Link"
|
"type": "Link"
|
||||||
@ -290,8 +281,18 @@
|
|||||||
"dependencies": "Employee",
|
"dependencies": "Employee",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"is_query_report": 0,
|
"is_query_report": 0,
|
||||||
"label": "Compensatory Leave Request",
|
"label": "Leave Application",
|
||||||
"link_to": "Compensatory Leave Request",
|
"link_to": "Leave Application",
|
||||||
|
"link_type": "DocType",
|
||||||
|
"onboard": 0,
|
||||||
|
"type": "Link"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dependencies": "Employee",
|
||||||
|
"hidden": 0,
|
||||||
|
"is_query_report": 0,
|
||||||
|
"label": "Leave Allocation",
|
||||||
|
"link_to": "Leave Allocation",
|
||||||
"link_type": "DocType",
|
"link_type": "DocType",
|
||||||
"onboard": 0,
|
"onboard": 0,
|
||||||
"type": "Link"
|
"type": "Link"
|
||||||
@ -317,12 +318,12 @@
|
|||||||
"type": "Link"
|
"type": "Link"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"dependencies": "Leave Application",
|
"dependencies": "Employee",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"is_query_report": 1,
|
"is_query_report": 0,
|
||||||
"label": "Employee Leave Balance",
|
"label": "Compensatory Leave Request",
|
||||||
"link_to": "Employee Leave Balance",
|
"link_to": "Compensatory Leave Request",
|
||||||
"link_type": "Report",
|
"link_type": "DocType",
|
||||||
"onboard": 0,
|
"onboard": 0,
|
||||||
"type": "Link"
|
"type": "Link"
|
||||||
},
|
},
|
||||||
@ -383,16 +384,6 @@
|
|||||||
"onboard": 0,
|
"onboard": 0,
|
||||||
"type": "Link"
|
"type": "Link"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"dependencies": "Attendance",
|
|
||||||
"hidden": 0,
|
|
||||||
"is_query_report": 1,
|
|
||||||
"label": "Monthly Attendance Sheet",
|
|
||||||
"link_to": "Monthly Attendance Sheet",
|
|
||||||
"link_type": "Report",
|
|
||||||
"onboard": 0,
|
|
||||||
"type": "Link"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"is_query_report": 0,
|
"is_query_report": 0,
|
||||||
@ -420,6 +411,15 @@
|
|||||||
"onboard": 0,
|
"onboard": 0,
|
||||||
"type": "Link"
|
"type": "Link"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"hidden": 0,
|
||||||
|
"is_query_report": 0,
|
||||||
|
"label": "Travel Request",
|
||||||
|
"link_to": "Travel Request",
|
||||||
|
"link_type": "DocType",
|
||||||
|
"onboard": 0,
|
||||||
|
"type": "Link"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"is_query_report": 0,
|
"is_query_report": 0,
|
||||||
@ -464,6 +464,15 @@
|
|||||||
"onboard": 0,
|
"onboard": 0,
|
||||||
"type": "Card Break"
|
"type": "Card Break"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"hidden": 0,
|
||||||
|
"is_query_report": 0,
|
||||||
|
"label": "Driver",
|
||||||
|
"link_to": "Driver",
|
||||||
|
"link_type": "DocType",
|
||||||
|
"onboard": 0,
|
||||||
|
"type": "Link"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"dependencies": "",
|
"dependencies": "",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
@ -541,6 +550,24 @@
|
|||||||
"onboard": 0,
|
"onboard": 0,
|
||||||
"type": "Link"
|
"type": "Link"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"hidden": 0,
|
||||||
|
"is_query_report": 0,
|
||||||
|
"label": "Appointment Letter",
|
||||||
|
"link_to": "Appointment Letter",
|
||||||
|
"link_type": "DocType",
|
||||||
|
"onboard": 0,
|
||||||
|
"type": "Link"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hidden": 0,
|
||||||
|
"is_query_report": 0,
|
||||||
|
"label": "Appointment Letter Template",
|
||||||
|
"link_to": "Appointment Letter Template",
|
||||||
|
"link_type": "DocType",
|
||||||
|
"onboard": 0,
|
||||||
|
"type": "Link"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"is_query_report": 0,
|
"is_query_report": 0,
|
||||||
@ -625,33 +652,6 @@
|
|||||||
"onboard": 0,
|
"onboard": 0,
|
||||||
"type": "Link"
|
"type": "Link"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"hidden": 0,
|
|
||||||
"is_query_report": 0,
|
|
||||||
"label": "Reports",
|
|
||||||
"onboard": 0,
|
|
||||||
"type": "Card Break"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dependencies": "Employee",
|
|
||||||
"hidden": 0,
|
|
||||||
"is_query_report": 1,
|
|
||||||
"label": "Employee Birthday",
|
|
||||||
"link_to": "Employee Birthday",
|
|
||||||
"link_type": "Report",
|
|
||||||
"onboard": 0,
|
|
||||||
"type": "Link"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dependencies": "Employee",
|
|
||||||
"hidden": 0,
|
|
||||||
"is_query_report": 1,
|
|
||||||
"label": "Employees working on a holiday",
|
|
||||||
"link_to": "Employees working on a holiday",
|
|
||||||
"link_type": "Report",
|
|
||||||
"onboard": 0,
|
|
||||||
"type": "Link"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"is_query_report": 0,
|
"is_query_report": 0,
|
||||||
@ -702,7 +702,74 @@
|
|||||||
{
|
{
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"is_query_report": 0,
|
"is_query_report": 0,
|
||||||
"label": "Employee Tax and Benefits",
|
"label": "Key Reports",
|
||||||
|
"onboard": 0,
|
||||||
|
"type": "Card Break"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dependencies": "Attendance",
|
||||||
|
"hidden": 0,
|
||||||
|
"is_query_report": 1,
|
||||||
|
"label": "Monthly Attendance Sheet",
|
||||||
|
"link_to": "Monthly Attendance Sheet",
|
||||||
|
"link_type": "Report",
|
||||||
|
"onboard": 0,
|
||||||
|
"type": "Link"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dependencies": "Staffing Plan",
|
||||||
|
"hidden": 0,
|
||||||
|
"is_query_report": 1,
|
||||||
|
"label": "Recruitment Analytics",
|
||||||
|
"link_to": "Recruitment Analytics",
|
||||||
|
"link_type": "Report",
|
||||||
|
"onboard": 0,
|
||||||
|
"type": "Link"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dependencies": "Employee",
|
||||||
|
"hidden": 0,
|
||||||
|
"is_query_report": 1,
|
||||||
|
"label": "Employee Analytics",
|
||||||
|
"link_to": "Employee Analytics",
|
||||||
|
"link_type": "Report",
|
||||||
|
"onboard": 0,
|
||||||
|
"type": "Link"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dependencies": "Employee",
|
||||||
|
"hidden": 0,
|
||||||
|
"is_query_report": 1,
|
||||||
|
"label": "Employee Leave Balance",
|
||||||
|
"link_to": "Employee Leave Balance",
|
||||||
|
"link_type": "Report",
|
||||||
|
"onboard": 0,
|
||||||
|
"type": "Link"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dependencies": "Employee",
|
||||||
|
"hidden": 0,
|
||||||
|
"is_query_report": 1,
|
||||||
|
"label": "Employee Leave Balance Summary",
|
||||||
|
"link_to": "Employee Leave Balance Summary",
|
||||||
|
"link_type": "Report",
|
||||||
|
"onboard": 0,
|
||||||
|
"type": "Link"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dependencies": "Employee Advance",
|
||||||
|
"hidden": 0,
|
||||||
|
"is_query_report": 1,
|
||||||
|
"label": "Employee Advance Summary",
|
||||||
|
"link_to": "Employee Advance Summary",
|
||||||
|
"link_type": "Report",
|
||||||
|
"onboard": 0,
|
||||||
|
"type": "Link"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hidden": 0,
|
||||||
|
"is_query_report": 0,
|
||||||
|
"label": "Other Reports",
|
||||||
"onboard": 0,
|
"onboard": 0,
|
||||||
"type": "Card Break"
|
"type": "Card Break"
|
||||||
},
|
},
|
||||||
@ -710,74 +777,44 @@
|
|||||||
"dependencies": "Employee",
|
"dependencies": "Employee",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"is_query_report": 0,
|
"is_query_report": 0,
|
||||||
"label": "Employee Tax Exemption Declaration",
|
"label": "Employee Information",
|
||||||
"link_to": "Employee Tax Exemption Declaration",
|
"link_to": "Employee Information",
|
||||||
"link_type": "DocType",
|
"link_type": "Report",
|
||||||
"onboard": 0,
|
"onboard": 0,
|
||||||
"type": "Link"
|
"type": "Link"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"dependencies": "Employee",
|
"dependencies": "Employee",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"is_query_report": 0,
|
"is_query_report": 1,
|
||||||
"label": "Employee Tax Exemption Proof Submission",
|
"label": "Employee Birthday",
|
||||||
"link_to": "Employee Tax Exemption Proof Submission",
|
"link_to": "Employee Birthday",
|
||||||
"link_type": "DocType",
|
"link_type": "Report",
|
||||||
"onboard": 0,
|
|
||||||
"type": "Link"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dependencies": "Employee, Payroll Period",
|
|
||||||
"hidden": 0,
|
|
||||||
"is_query_report": 0,
|
|
||||||
"label": "Employee Other Income",
|
|
||||||
"link_to": "Employee Other Income",
|
|
||||||
"link_type": "DocType",
|
|
||||||
"onboard": 0,
|
"onboard": 0,
|
||||||
"type": "Link"
|
"type": "Link"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"dependencies": "Employee",
|
"dependencies": "Employee",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"is_query_report": 0,
|
"is_query_report": 1,
|
||||||
"label": "Employee Benefit Application",
|
"label": "Employees Working on a Holiday",
|
||||||
"link_to": "Employee Benefit Application",
|
"link_to": "Employees working on a holiday",
|
||||||
"link_type": "DocType",
|
"link_type": "Report",
|
||||||
"onboard": 0,
|
"onboard": 0,
|
||||||
"type": "Link"
|
"type": "Link"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"dependencies": "Employee",
|
"dependencies": "Daily Work Summary",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"is_query_report": 0,
|
"is_query_report": 1,
|
||||||
"label": "Employee Benefit Claim",
|
"label": "Daily Work Summary Replies",
|
||||||
"link_to": "Employee Benefit Claim",
|
"link_to": "Daily Work Summary Replies",
|
||||||
"link_type": "DocType",
|
"link_type": "Report",
|
||||||
"onboard": 0,
|
|
||||||
"type": "Link"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dependencies": "Employee",
|
|
||||||
"hidden": 0,
|
|
||||||
"is_query_report": 0,
|
|
||||||
"label": "Employee Tax Exemption Category",
|
|
||||||
"link_to": "Employee Tax Exemption Category",
|
|
||||||
"link_type": "DocType",
|
|
||||||
"onboard": 0,
|
|
||||||
"type": "Link"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dependencies": "Employee",
|
|
||||||
"hidden": 0,
|
|
||||||
"is_query_report": 0,
|
|
||||||
"label": "Employee Tax Exemption Sub Category",
|
|
||||||
"link_to": "Employee Tax Exemption Sub Category",
|
|
||||||
"link_type": "DocType",
|
|
||||||
"onboard": 0,
|
"onboard": 0,
|
||||||
"type": "Link"
|
"type": "Link"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"modified": "2021-01-21 13:38:38.941001",
|
"modified": "2021-03-24 17:35:21.483297",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "HR",
|
"module": "HR",
|
||||||
"name": "HR",
|
"name": "HR",
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
import unittest
|
import unittest
|
||||||
import frappe
|
import frappe
|
||||||
from frappe.utils import cstr
|
from frappe.utils import cstr, flt
|
||||||
from frappe.test_runner import make_test_records
|
from frappe.test_runner import make_test_records
|
||||||
from erpnext.stock.doctype.stock_reconciliation.test_stock_reconciliation import create_stock_reconciliation
|
from erpnext.stock.doctype.stock_reconciliation.test_stock_reconciliation import create_stock_reconciliation
|
||||||
from erpnext.manufacturing.doctype.bom_update_tool.bom_update_tool import update_cost
|
from erpnext.manufacturing.doctype.bom_update_tool.bom_update_tool import update_cost
|
||||||
@ -81,15 +81,27 @@ class TestBOM(unittest.TestCase):
|
|||||||
bom = frappe.copy_doc(test_records[2])
|
bom = frappe.copy_doc(test_records[2])
|
||||||
bom.insert()
|
bom.insert()
|
||||||
|
|
||||||
# test amounts in selected currency
|
raw_material_cost = 0.0
|
||||||
self.assertEqual(bom.operating_cost, 100)
|
op_cost = 0.0
|
||||||
self.assertEqual(bom.raw_material_cost, 351.68)
|
|
||||||
self.assertEqual(bom.total_cost, 451.68)
|
for op_row in bom.operations:
|
||||||
|
op_cost += op_row.operating_cost
|
||||||
|
|
||||||
|
for row in bom.items:
|
||||||
|
raw_material_cost += row.amount
|
||||||
|
|
||||||
|
base_raw_material_cost = raw_material_cost * flt(bom.conversion_rate, bom.precision("conversion_rate"))
|
||||||
|
base_op_cost = op_cost * flt(bom.conversion_rate, bom.precision("conversion_rate"))
|
||||||
|
|
||||||
# test amounts in selected currency
|
# test amounts in selected currency
|
||||||
self.assertEqual(bom.base_operating_cost, 6000)
|
self.assertEqual(bom.operating_cost, op_cost)
|
||||||
self.assertEqual(bom.base_raw_material_cost, 21100.80)
|
self.assertEqual(bom.raw_material_cost, raw_material_cost)
|
||||||
self.assertEqual(bom.base_total_cost, 27100.80)
|
self.assertEqual(bom.total_cost, raw_material_cost + op_cost)
|
||||||
|
|
||||||
|
# test amounts in selected currency
|
||||||
|
self.assertEqual(bom.base_operating_cost, base_op_cost)
|
||||||
|
self.assertEqual(bom.base_raw_material_cost, base_raw_material_cost)
|
||||||
|
self.assertEqual(bom.base_total_cost, base_raw_material_cost + base_op_cost)
|
||||||
|
|
||||||
def test_bom_cost_multi_uom_multi_currency_based_on_price_list(self):
|
def test_bom_cost_multi_uom_multi_currency_based_on_price_list(self):
|
||||||
frappe.db.set_value("Price List", "_Test Price List", "price_not_uom_dependent", 1)
|
frappe.db.set_value("Price List", "_Test Price List", "price_not_uom_dependent", 1)
|
||||||
|
|||||||
@ -47,6 +47,8 @@ class JobCard(Document):
|
|||||||
if d.completed_qty:
|
if d.completed_qty:
|
||||||
self.total_completed_qty += d.completed_qty
|
self.total_completed_qty += d.completed_qty
|
||||||
|
|
||||||
|
self.total_completed_qty = flt(self.total_completed_qty, self.precision("total_completed_qty"))
|
||||||
|
|
||||||
def get_overlap_for(self, args, check_next_available_slot=False):
|
def get_overlap_for(self, args, check_next_available_slot=False):
|
||||||
production_capacity = 1
|
production_capacity = 1
|
||||||
|
|
||||||
|
|||||||
@ -737,26 +737,32 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({
|
|||||||
this.frm.trigger("item_code", cdt, cdn);
|
this.frm.trigger("item_code", cdt, cdn);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
var valid_serial_nos = [];
|
|
||||||
var serialnos = [];
|
|
||||||
// Replacing all occurences of comma with carriage return
|
// Replacing all occurences of comma with carriage return
|
||||||
item.serial_no = item.serial_no.replace(/,/g, '\n');
|
item.serial_no = item.serial_no.replace(/,/g, '\n');
|
||||||
|
item.conversion_factor = item.conversion_factor || 1;
|
||||||
|
refresh_field("serial_no", item.name, item.parentfield);
|
||||||
|
if (!doc.is_return && cint(frappe.user_defaults.set_qty_in_transactions_based_on_serial_no_input)) {
|
||||||
|
setTimeout(() => {
|
||||||
|
me.update_qty(cdt, cdn);
|
||||||
|
}, 10000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
update_qty: function(cdt, cdn) {
|
||||||
|
var valid_serial_nos = [];
|
||||||
|
var serialnos = [];
|
||||||
|
var item = frappe.get_doc(cdt, cdn);
|
||||||
serialnos = item.serial_no.split("\n");
|
serialnos = item.serial_no.split("\n");
|
||||||
for (var i = 0; i < serialnos.length; i++) {
|
for (var i = 0; i < serialnos.length; i++) {
|
||||||
if (serialnos[i] != "") {
|
if (serialnos[i] != "") {
|
||||||
valid_serial_nos.push(serialnos[i]);
|
valid_serial_nos.push(serialnos[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
item.conversion_factor = item.conversion_factor || 1;
|
|
||||||
|
|
||||||
refresh_field("serial_no", item.name, item.parentfield);
|
|
||||||
if(!doc.is_return && cint(user_defaults.set_qty_in_transactions_based_on_serial_no_input)) {
|
|
||||||
frappe.model.set_value(item.doctype, item.name,
|
frappe.model.set_value(item.doctype, item.name,
|
||||||
"qty", valid_serial_nos.length / item.conversion_factor);
|
"qty", valid_serial_nos.length / item.conversion_factor);
|
||||||
frappe.model.set_value(item.doctype, item.name, "stock_qty", valid_serial_nos.length);
|
frappe.model.set_value(item.doctype, item.name, "stock_qty", valid_serial_nos.length);
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
validate: function() {
|
validate: function() {
|
||||||
|
|||||||
@ -787,6 +787,8 @@ class GSPConnector():
|
|||||||
|
|
||||||
self.invoice.irn = res.get('Irn')
|
self.invoice.irn = res.get('Irn')
|
||||||
self.invoice.ewaybill = res.get('EwbNo')
|
self.invoice.ewaybill = res.get('EwbNo')
|
||||||
|
self.invoice.ack_no = res.get('AckNo')
|
||||||
|
self.invoice.ack_date = res.get('AckDt')
|
||||||
self.invoice.signed_einvoice = dec_signed_invoice
|
self.invoice.signed_einvoice = dec_signed_invoice
|
||||||
self.invoice.signed_qr_code = res.get('SignedQRCode')
|
self.invoice.signed_qr_code = res.get('SignedQRCode')
|
||||||
|
|
||||||
|
|||||||
@ -17,7 +17,7 @@ frappe.ui.form.on('Global Defaults', {
|
|||||||
method: "frappe.client.get_list",
|
method: "frappe.client.get_list",
|
||||||
args: {
|
args: {
|
||||||
doctype: "UOM Conversion Factor",
|
doctype: "UOM Conversion Factor",
|
||||||
filters: { "category": "Length" },
|
filters: { "category": __("Length") },
|
||||||
fields: ["to_uom"],
|
fields: ["to_uom"],
|
||||||
limit_page_length: 500
|
limit_page_length: 500
|
||||||
},
|
},
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user