Bonjour à tous, j’ai une série de bug qui ont l’air d’être présent que sur mon install.
J’ai peut-être une série de difficultés liés aux personnalisations que j’ai réalisé.
Je souhaite donc repartir sur une base propre :
- installation dokos avec les appli frappeverse
- creation d’une appli sje pour gérer toutes les configuration, personnalisation et appli spécifique (et du coup ne plus avoir de personnalisation autre que dans l’appli)
- J’en profiterai pour réimporter les donner strictement nécessaire et du coup faire du nettoyage !!
J’arrive du coup à mes questions :
- pensez-vous que c’est la bonne méthode
- Je pense passer par l’outil export de dokos / traiter la donnée en csv ou tableur / import dans le nouveau dokos
- Quel est la hiérarchie des donnée à avoir pour éviter au maximum les erreurs d’import ? (ex. groupe d’article avant articles…)
- Comment structurer le rangement des images liés aux articles et autres documents sans qu’ils soient en doublon et en vrac dans les publics_files ou privates_files
Merci d’avance pour vos conseil et avis
PS: ci-dessous un des dernier bug que j’ai
Please type some additional information that could help us reproduce this issue:
App Versions
{
"bank": "1.0.1",
"builder": "1.13.0",
"construction": "1.12.0",
"crm": "1.34.5",
"erpnext": "4.45.1",
"frappe": "4.50.0",
"hrms": "2.48.0",
"insights": "2.2.9",
"nextcloud": "0.0.1",
"ocr": "1.0.0",
"payments": "2.15.0",
"print_designer": "1.4.3",
"wiki": "2.0.0"
}
Route
Form/Sales Invoice/(44m9i74ua8)
Error Report
Traceback (most recent call last):
File "apps/frappe/frappe/app.py", line 114, in application
response = frappe.api.handle(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "apps/frappe/frappe/api/__init__.py", line 49, in handle
data = endpoint(**arguments)
^^^^^^^^^^^^^^^^^^^^^
File "apps/frappe/frappe/api/v1.py", line 36, in handle_rpc_call
return frappe.handler.handle()
^^^^^^^^^^^^^^^^^^^^^^^
File "apps/frappe/frappe/handler.py", line 49, in handle
data = execute_cmd(cmd)
^^^^^^^^^^^^^^^^
File "apps/frappe/frappe/handler.py", line 85, in execute_cmd
return frappe.call(method, **frappe.form_dict)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "apps/frappe/frappe/__init__.py", line 1738, in call
return fn(*args, **newargs)
^^^^^^^^^^^^^^^^^^^^
File "apps/frappe/frappe/utils/typing_validations.py", line 30, in wrapper
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "apps/frappe/frappe/desk/form/save.py", line 37, in savedocs
doc.submit()
File "apps/frappe/frappe/utils/typing_validations.py", line 30, in wrapper
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "apps/frappe/frappe/model/document.py", line 1105, in submit
def cancel(self):
^^^^^^^^^^
File "apps/frappe/frappe/model/document.py", line 1088, in _submit
"""Cancel the document. Sets `docstatus` = 2, then saves."""
^^^^^^^^^^^
File "apps/frappe/frappe/model/document.py", line 343, in save
return self._save(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "apps/frappe/frappe/model/document.py", line 416, in _save
self.run_post_save_methods()
File "apps/frappe/frappe/model/document.py", line 1188, in run_post_save_methods
raise
File "apps/frappe/frappe/model/document.py", line 1022, in run_method
run_webhooks(self, method)
^^^^^^^^^^^^^^^^^^^^^
File "apps/frappe/frappe/model/document.py", line 1393, in composer
def runner(self, method, *args, **kwargs):
^^^^^^^^^^^^^^^^^^^^^^^^
File "apps/frappe/frappe/__init__.py", line 1728, in get_attr
return getattr(get_module(modulename), methodname)
^^^^^^^^^^^^^^^^^^^^^^
File "apps/frappe/frappe/__init__.py", line 1465, in get_module
return importlib.import_module(modulename)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1387, in _gcd_import
File "", line 1360, in _find_and_load
File "", line 1331, in _find_and_load_unlocked
File "", line 935, in _load_unlocked
File "", line 995, in exec_module
File "", line 488, in _call_with_frames_removed
File "apps/erpnext/erpnext/regional/italy/utils.py", line 11, in
from erpnext.stock.utils import get_default_stock_uom
ImportError: cannot import name 'get_default_stock_uom' from 'erpnext.stock.utils' (apps/erpnext/erpnext/stock/utils.py)
Request Data
{
"type": "POST",
"args": {
"doc": "{\"make_payment_via_journal_entry\":0},\"__last_sync_on\":\"2025-03-03T17:29:39.500Z\"}",
"action": "Submit"
},
"btn": {
"jQuery370052702650411046231": {
"events": {
"click": [
{
"type": "click",
"origType": "click",
"guid": 776,
"namespace": ""
}
]
}
}
},
"freeze": true,
"headers": {},
"error_handlers": {},
"url": "/api/method/frappe.desk.form.save.savedocs"
}
Response JSON
{
"exception": "ImportError: cannot import name 'get_default_stock_uom' from 'erpnext.stock.utils' (apps/erpnext/erpnext/stock/utils.py)",
"exc_type": "ImportError",
"_exc_source": "erpnext (app)"
}