* -Added field def_warehouse that sets warehouse of all items
-Grouped warehouse fields together and put raw materies supplied before items table, it will only show if there are any items supplied
* Set def_warehouse in test_sales_order.py
* Changed from def_warehouse to set_warehouse
* Rest of def_warehouse to set_warehouse
* Update transaction.js
* setup barcode scan
stock entry controller not inherited from transaction.js, need to call setup barcode scan from transaction.js
* fix bug of item_code change always reset qty to 0
when calling frappe.model.set_value(dt,dn,'item_code',xxx), even qty is set, system always reset qty to 0.
* Update transaction.js
* Update transaction.js
* Update transaction.js
* Update transaction.js
* Update transaction.js
* Update transaction.js
* clean up barcode logic for transactions
* call scan_barcode method for stock entry
* separate out logic for searching serial, batch or barcode number
* added scan barcode field in transactions doctype
* search barcode-serial-batch sequence, code rectify
* hide all barcode related field if disabled from settings
* remove print statement
* Update stock_entry.py
In version
```
Installed Apps
ERPNext: v11.0.3-beta.20 () (staging)
Frappe Framework: v11.0.3-beta.25 () (staging)
```
When creating a new Sales invoice without healthcare active we have this error
```
Not permitted
Insufficient Permission for Patient
```
Console log
```
Traceback (most recent call last):
File "/home/frappe/auroraone-v11/apps/frappe/frappe/app.py", line 61, in application
response = frappe.handler.handle()
File "/home/frappe/auroraone-v11/apps/frappe/frappe/handler.py", line 21, in handle
data = execute_cmd(cmd)
File "/home/frappe/auroraone-v11/apps/frappe/frappe/handler.py", line 56, in execute_cmd
return frappe.call(method, **frappe.form_dict)
File "/home/frappe/auroraone-v11/apps/frappe/frappe/__init__.py", line 1007, in call
return fn(*args, **newargs)
File "/home/frappe/auroraone-v11/apps/frappe/frappe/desk/search.py", line 53, in search_link
search_widget(doctype, txt, query, searchfield=searchfield, page_length=page_length, filters=filters, ignore_user_permissions=ignore_user_permissions)
File "/home/frappe/auroraone-v11/apps/frappe/frappe/desk/search.py", line 149, in search_widget
as_list=not as_dict)
File "/home/frappe/auroraone-v11/apps/frappe/frappe/__init__.py", line 1235, in get_list
return frappe.model.db_query.DatabaseQuery(doctype).execute(None, *args, **kwargs)
File "/home/frappe/auroraone-v11/apps/frappe/frappe/model/db_query.py", line 40, in execute
raise frappe.PermissionError(self.doctype)
PermissionError: Patient
```
* fix(perpetual inventory): Get warehouse account map only if perpetual inventory enabled
* fix(perpetual inventory): Get warehouse account map only if perpetual inventory enabled
* Minor fix for the problem that Net Total, Net Rate, Net Amount field would not be shown when default taxes were fetched
* Prevent net_rate from becoming NaN
* -Fixed problem that party_account_currency was not set in mapped document
-Fixed problem that discount amount was not recalculated (in mapped document)
-Fixed problem that set_dynamic_fields would work only on certain condition that led to showing Total (Company Currency) field even when using company currency
* added section for deferred expense in item master
* added default expense account field in Company master
* added deferred expense section in purchase invoice item
* validation and getter code added
* scheduler event to book expense every month
* codacy, import fix and other minor fixes
* rectify debit credit logic for expense
* commonify js code for deferred expense and revenue
* remove deferred calculation and validation
* common file to calculate deferred revenue and expense
* codacy fixes
* expense account root_type - Asset, specific method naming
* fix(translations): Replace translations by keyword with indexed version
Keywords in the translation also gets translated which
results in an error because python cannot find the key
* Update buying_controller.py
The new code for cost center checking in payment_entry.py crashes if `voucher_type` is `None`, which is an explicit possibility if party type is Employee. This commit adds a simple check to make sure that voucher_type is not None before running `get_doc`.