This commit is contained in:
2026-01-20 20:13:08 +01:00
parent ecdc4b283d
commit 8a54b6fcbc

View File

@@ -6,6 +6,7 @@ from trytond.model import fields
from trytond.modules.document_incoming.exceptions import (
DocumentIncomingProcessError)
from trytond.pool import Pool, PoolMeta
import json
class IncomingConfiguration(metaclass=PoolMeta):
@@ -37,8 +38,31 @@ class Incoming(metaclass=PoolMeta):
WR.run_ocr([wr])
WR.run_metadata([wr])
metadata = wr.metadata_json
# DEBUG: Vérifiez le type et contenu
print(f"Type de metadata: {type(metadata)}")
print(f"Contenu de metadata: {metadata}")
# Si c'est une chaîne, parsez-la
if isinstance(metadata, str):
try:
metadata = json.loads(metadata)
except json.JSONDecodeError as e:
raise DocumentIncomingProcessError(
gettext('document_incoming.msg_invalid_json',
document=self.rec_name,
error=str(e)))
# Maintenant metadata devrait être un dict
if not isinstance(metadata, dict):
raise DocumentIncomingProcessError(
gettext('document_incoming.msg_no_metadata',
document=self.rec_name))
# Créez le rapport - CORRECT, pas besoin de save() supplémentaire
WeightReport = Pool().get('weight.report')
WeightReport.create_from_json(wr.metadata_json)
WeightReport.create_from_json(metadata)
return wr