Sales Order Item Custom Script for Batch Balance

I am trying to get Batch Balance quantity for Sale Order Item (Similar to Sales Invoice Item). For that I have a custom field batch_number and batch_balance_qty.
I am using the below code:

frappe.ui.form.on(‘Sales Order Item’, ‘manufacturer_date’, function(frm,cdt,cdn) {
var item = frappe.get_doc(cdt,cdn);{
method: “erpnext.stock.get_item_details.get_batch_qty”,
batch_no: item.batch_number,
warehouse: item.warehouse,
item_code: item.item_code
callback: function(r){
item.batch_balance_qty = r;

And I am getting this error:

Traceback (most recent call last):
File “/home/frappe/benches/bench-2017-03-30/apps/frappe/frappe/”, line 55, in application
response = frappe.handler.handle()
File “/home/frappe/benches/bench-2017-03-30/apps/frappe/frappe/”, line 19, in handle
File “/home/frappe/benches/bench-2017-03-30/apps/frappe/frappe/”, line 40, in execute_cmd
ret =, **frappe.form_dict)
File “/home/frappe/benches/bench-2017-03-30/apps/frappe/frappe/”, line 901, in call
return fn(*args, **newargs)
TypeError: get_batch_qty() takes exactly 3 arguments (2 given)

I have taken 3 arguments, batch_no, warehouse and item_code. Please help on why this error is coming.

Try this?

“batch_no”: item.batch_no,
“warehouse”: item.warehouse,
“item_code”: item.item_code

The above I copied from here ./apps/erpnext/erpnext/selling/sales_common.js

I guess the quotes are optional!?

I am not getting the error now, but I am not getting the Balance Qty as needed.

In the Balance Qty Field, Its showing - [object Object]

Please let me know whats wrong in this block of code.

I even Tried

callback: function(r){
frappe.model.set_value(cdt, cdn, “batch_balance_qty”, r );

But this is also not giving any value in batch_balance_qty field.

Someone please help with the issue.