POS issue after upgrade to version 9

I m unable to use or view the POS system after i upgraded to version 9.
I did bench update --reset and everything went smoothly.
but when i click the POS icon i get blank screen with error message- something went wrong

and traceback i got in console was :

POST 
XHR 
http://localhost:8000/ [HTTP/1.0 500 INTERNAL SERVER ERROR 25ms]     desk.min.js:1565:7 
>
Traceback (most recent call last):
  File "/home/taher/frappe-bench/apps/frappe/frappe/app.py", line 57, in application
    response = frappe.handler.handle()
  File "/home/taher/frappe-bench/apps/frappe/frappe/handler.py", line 22, in handle
    data = execute_cmd(cmd)
  File "/home/taher/frappe-bench/apps/frappe/frappe/handler.py", line 53, in execute_cmd
    return frappe.call(method, **frappe.form_dict)
  File "/home/taher/frappe-bench/apps/frappe/frappe/__init__.py", line 923, in call
    return fn(*args, **newargs)
  File "/home/taher/frappe-bench/apps/erpnext/erpnext/accounts/doctype/sales_invoice/pos.py", line 16, in get_pos_data
    doc = frappe.new_doc('Sales Invoice')
  File "/home/taher/frappe-bench/apps/frappe/frappe/__init__.py", line 598, in new_doc
    return get_new_doc(doctype, parent_doc, parentfield, as_dict=as_dict)
  File "/home/taher/frappe-bench/apps/frappe/frappe/model/create_new.py", line 20, in get_new_doc
    frappe.local.new_doc_templates[doctype] = make_new_doc(doctype)
  File "/home/taher/frappe-bench/apps/frappe/frappe/model/create_new.py", line 38, in make_new_doc
    "docstatus": 0
  File "/home/taher/frappe-bench/apps/frappe/frappe/__init__.py", line 622, in get_doc
    return frappe.model.document.get_doc(*args, **kwargs)
  File "/home/taher/frappe-bench/apps/frappe/frappe/model/document.py", line 68, in get_doc
    return controller(*args, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'owner'

Please help-- POS is a key feature.

Thanks

Got the POS screen after i deleted the POS profile and changed to online POS- (just tried and worked - no idea why), but dont know what the actual issue was;; …
But now as soon as i enter POS i get another 2 errors saying somehting went wrong with traceback:

    Traceback (most recent call last):
      File "/home/taher/frappe-bench/apps/frappe/frappe/app.py", line 57, in application
        response = frappe.handler.handle()
      File "/home/taher/frappe-bench/apps/frappe/frappe/handler.py", line 22, in handle
        data = execute_cmd(cmd)
      File "/home/taher/frappe-bench/apps/frappe/frappe/handler.py", line 53, in execute_cmd
        return frappe.call(method, **frappe.form_dict)
      File "/home/taher/frappe-bench/apps/frappe/frappe/__init__.py", line 923, in call
        return fn(*args, **newargs)
      File "/home/taher/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/taher/frappe-bench/apps/frappe/frappe/desk/form/run_method.py", line 21, in runserverobj
        doc = frappe.get_doc(json.loads(docs))
      File "/home/taher/frappe-bench/apps/frappe/frappe/__init__.py", line 622, in get_doc
        return frappe.model.document.get_doc(*args, **kwargs)
      File "/home/taher/frappe-bench/apps/frappe/frappe/model/document.py", line 68, in get_doc
        return controller(*args, **kwargs)
    TypeError: __init__() got an unexpected keyword argument '__islocal'

    TypeError: this.container is null[Learn More]

previous problem returns in offline mode- also i cant make sale in sales invoice if POS is ticked-says cannot save and some error

Thanks for the help in advance!

Hi @Taher_Khalil
Seems like you found a bug. Please open an issue on github and add this link in your description

Seems this has been fixed. Please update

Yes That problem has been solved ,
thanks
. @tundebabzy
i did find a couple more bugs on online POS though.
1st : Error while applying discount on total

base_amount: could not find docfield in method precision() desk.min.js:8715:12
Traceback (most recent call last):
File “/home/taher/frappe-bench/apps/frappe/frappe/app.py”, line 57, in application
response = frappe.handler.handle()
File “/home/taher/frappe-bench/apps/frappe/frappe/handler.py”, line 22, in handle
data = execute_cmd(cmd)
File “/home/taher/frappe-bench/apps/frappe/frappe/handler.py”, line 53, in execute_cmd
return frappe.call(method, **frappe.form_dict)
File “/home/taher/frappe-bench/apps/frappe/frappe/init.py”, line 923, in call
return fn(*args, **newargs)
File “/home/taher/frappe-bench/apps/erpnext/erpnext/selling/page/point_of_sale/point_of_sale.py”, line 71, in submit_invoice
doc.run_method(“calculate_taxes_and_totals”)
File “/home/taher/frappe-bench/apps/frappe/frappe/model/document.py”, line 702, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “/home/taher/frappe-bench/apps/frappe/frappe/model/document.py”, line 924, in composer
return composed(self, method, *args, **kwargs)
File “/home/taher/frappe-bench/apps/frappe/frappe/model/document.py”, line 907, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “/home/taher/frappe-bench/apps/frappe/frappe/model/document.py”, line 696, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File “/home/taher/frappe-bench/apps/erpnext/erpnext/controllers/accounts_controller.py”, line 88, in calculate_taxes_and_totals
calculate_taxes_and_totals(self)
File “/home/taher/frappe-bench/apps/erpnext/erpnext/controllers/taxes_and_totals.py”, line 15, in init
self.calculate()
File “/home/taher/frappe-bench/apps/erpnext/erpnext/controllers/taxes_and_totals.py”, line 22, in calculate
self.set_discount_amount()
File “/home/taher/frappe-bench/apps/erpnext/erpnext/controllers/taxes_and_totals.py”, line 353, in set_discount_amount
* self.doc.additional_discount_percentage / 100, self.doc.precision(“discount_amount”))
TypeError: can’t multiply sequence by non-int of type ‘float’

2nd : Showing multiple entry for item with a garbage value price when searched through barcode

  • only the price 7.5 is in the system and second price is not entered anywhere - same with all items
  • unlike offline POS item does not get added automatically on entering barcode and the field does not get blank - prevents quick multiple entries(key feature of any POS) .

UI improvement:
please keep click filling of payment method like in offline mode i.e clicking the payment option automatically fills the outstanding balance.

UI Glitch/Bug
When a priced is fixed and pay option is pressed and when you go back and add discount or something and make pay again - the initial value is still present in the field but not considered resulting in something like:
The initial payment amount without any discount was 7.5- click pay entered 7.5 in field , click close and go back to add discount.
image

Then click pay again it will show previous entries-- notice the paid amount and change amount as well
image

Now add the actual value you will get
image
notice the amounts in 2 fields , the paid amount, change and outstanding


Should i create a separate github issue for these?

Thanks

Yes please do. +1 for detailed description