20.01.26
This commit is contained in:
@@ -6,6 +6,7 @@ from trytond.model import fields
|
|||||||
from trytond.modules.document_incoming.exceptions import (
|
from trytond.modules.document_incoming.exceptions import (
|
||||||
DocumentIncomingProcessError)
|
DocumentIncomingProcessError)
|
||||||
from trytond.pool import Pool, PoolMeta
|
from trytond.pool import Pool, PoolMeta
|
||||||
|
import json
|
||||||
|
|
||||||
|
|
||||||
class IncomingConfiguration(metaclass=PoolMeta):
|
class IncomingConfiguration(metaclass=PoolMeta):
|
||||||
@@ -37,8 +38,31 @@ class Incoming(metaclass=PoolMeta):
|
|||||||
WR.run_ocr([wr])
|
WR.run_ocr([wr])
|
||||||
WR.run_metadata([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 = Pool().get('weight.report')
|
||||||
WeightReport.create_from_json(wr.metadata_json)
|
WeightReport.create_from_json(metadata)
|
||||||
|
|
||||||
return wr
|
return wr
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user