Salary Slip Error

On Salary Slip create a new record and when selecting the Employee for the first time it will or might work but if you leave the form and return and select again the Employee BUMMM the error comes … i have been experiencing this error long ago but thought it was my local code … testing now and is not my local code

jquery.min.js:4 POST http://192.168.229.146:8000/ 500 (INTERNAL SERVER ERROR)
send @ jquery.min.js:4
ajax @ jquery.min.js:4
frappe.request.call @ desk.min.js?ver=1507845355.0:1512
frappe.call @ desk.min.js?ver=1507845355.0:1406
cur_frm.cscript.start_date @ VM716:109
cur_frm.cscript.employee @ VM716:124
runner @ form.min.js?ver=1507845355.0:2616
(anonymous) @ form.min.js?ver=1507845355.0:2643
Promise resolved (async)
(anonymous) @ desk.min.js?ver=1507845355.0:693
frappe.run_serially @ desk.min.js?ver=1507845355.0:691
trigger @ form.min.js?ver=1507845355.0:2648
(anonymous) @ form.min.js?ver=1507845355.0:305
(anonymous) @ desk.min.js?ver=1507845355.0:5848
each @ jquery.min.js:2
runner @ desk.min.js?ver=1507845355.0:5846
(anonymous) @ desk.min.js?ver=1507845355.0:5865
Promise resolved (async)
(anonymous) @ desk.min.js?ver=1507845355.0:693
frappe.run_serially @ desk.min.js?ver=1507845355.0:691
trigger @ desk.min.js?ver=1507845355.0:5869
(anonymous) @ desk.min.js?ver=1507845355.0:5821
Promise resolved (async)
(anonymous) @ desk.min.js?ver=1507845355.0:693
frappe.run_serially @ desk.min.js?ver=1507845355.0:691
set_value @ desk.min.js?ver=1507845355.0:5832
set_model_value @ control.min.js?ver=1507845355.0:218
(anonymous) @ control.min.js?ver=1507845355.0:187
Promise resolved (async)
(anonymous) @ desk.min.js?ver=1507845355.0:693
frappe.run_serially @ desk.min.js?ver=1507845355.0:691
set @ control.min.js?ver=1507845355.0:186
(anonymous) @ control.min.js?ver=1507845355.0:200
Promise resolved (async)
validate_and_set_in_model @ control.min.js?ver=1507845355.0:199
parse_validate_and_set_in_model @ control.min.js?ver=1507845355.0:176
(anonymous) @ control.min.js?ver=1507845355.0:1169
dispatch @ jquery.min.js:3
$event.dispatch @ report.min.js?ver=1507845355.0:3036
r.handle @ jquery.min.js:3
i.fire @ libs.min.js?ver=1507845355.0:6
select @ libs.min.js?ver=1507845355.0:6
mousedown @ libs.min.js?ver=1507845355.0:6
desk.min.js?ver=1507845355.0:1613 Traceback (most recent call last):
File “/home/helio/frappe-bench/apps/frappe/frappe/app.py”, line 57, in application
response = frappe.handler.handle()
File “/home/helio/frappe-bench/apps/frappe/frappe/handler.py”, line 22, in handle
data = execute_cmd(cmd)
File “/home/helio/frappe-bench/apps/frappe/frappe/handler.py”, line 53, in execute_cmd
return frappe.call(method, **frappe.form_dict)
File “/home/helio/frappe-bench/apps/frappe/frappe/init.py”, line 923, in call
return fn(*args, **newargs)
File “/home/helio/frappe-bench/apps/frappe/frappe/handler.py”, line 81, in runserverobj
frappe.desk.form.run_method.runserverobj(method, docs=docs, dt=dt, dn=dn, arg=arg, args=args)
File “/home/helio/frappe-bench/apps/frappe/frappe/desk/form/run_method.py”, line 21, in runserverobj
doc = frappe.get_doc(json.loads(docs))
File “/home/helio/frappe-bench/apps/frappe/frappe/init.py”, line 622, in get_doc
return frappe.model.document.get_doc(*args, **kwargs)
File “/home/helio/frappe-bench/apps/frappe/frappe/model/document.py”, line 68, in get_doc
return controller(*args, **kwargs)
File “/home/helio/frappe-bench/apps/frappe/frappe/model/document.py”, line 112, in init
super(Document, self).init(kwargs)
File “/home/helio/frappe-bench/apps/frappe/frappe/model/base_document.py”, line 53, in init
self.update(d)
File “/home/helio/frappe-bench/apps/frappe/frappe/model/base_document.py”, line 76, in update
self.set(key, value)
File “/home/helio/frappe-bench/apps/frappe/frappe/model/base_document.py”, line 123, in set
self.extend(key, value)
File “/home/helio/frappe-bench/apps/frappe/frappe/model/base_document.py”, line 151, in extend
self.append(key, v)
File “/home/helio/frappe-bench/apps/frappe/frappe/model/base_document.py”, line 145, in append
"Document attached to child table must be a dict or BaseDocument, not " + str(type(value))[1:-1]
ValueError: Document attached to child table must be a dict or BaseDocument, not type ‘int’

This is were the issues starts or happens

// Get leave details
//---------------------------------------------------------------------
cur_frm.cscript.start_date = function(doc, dt, dn){
if(!doc.start_date){
return frappe.call({
method: ‘get_emp_and_leave_details’,
doc: locals[dt][dn],
callback: function(r, rt) {
cur_frm.refresh();
calculate_all(doc, dt, dn);
}
});
}
}

Hi @Helios
This looks like a bug. Please report this on github if you haven’t already. Don’t forget to add steps to reproduce and screenshots/screen casts if possible. Also add a link to this thread