name of enrichisment function refactored
This commit is contained in:
parent
57103d406d
commit
69114ba0c3
3 changed files with 88 additions and 104 deletions
|
|
@ -5,30 +5,29 @@ from typing import Dict, List, Optional
|
||||||
import threading
|
import threading
|
||||||
import time
|
import time
|
||||||
import logging
|
import logging
|
||||||
from config import settings
|
|
||||||
import pyodbc
|
import pyodbc
|
||||||
from contextlib import contextmanager
|
from contextlib import contextmanager
|
||||||
import pywintypes
|
import pywintypes
|
||||||
|
|
||||||
from utils.articles.articles_data_sql import (
|
from utils.articles.articles_data_sql import (
|
||||||
_enrichir_stock_emplacements,
|
enrichir_stock_emplacements,
|
||||||
_enrichir_gammes_articles,
|
enrichir_gammes_articles,
|
||||||
_enrichir_tarifs_clients,
|
enrichir_tarifs_clients,
|
||||||
_enrichir_nomenclature,
|
enrichir_nomenclature,
|
||||||
_enrichir_compta_articles,
|
enrichir_compta_articles,
|
||||||
_enrichir_fournisseurs_multiples,
|
enrichir_fournisseurs_multiples,
|
||||||
_enrichir_depots_details,
|
enrichir_depots_details,
|
||||||
_enrichir_emplacements_details,
|
enrichir_emplacements_details,
|
||||||
_enrichir_gammes_enumeres,
|
enrichir_gammes_enumeres,
|
||||||
_enrichir_references_enumerees,
|
enrichir_references_enumerees,
|
||||||
_enrichir_medias_articles,
|
enrichir_medias_articles,
|
||||||
_enrichir_prix_gammes,
|
enrichir_prix_gammes,
|
||||||
_enrichir_conditionnements,
|
enrichir_conditionnements,
|
||||||
_mapper_article_depuis_row,
|
_mapper_article_depuis_row,
|
||||||
_enrichir_stocks_articles,
|
enrichir_stocks_articles,
|
||||||
_enrichir_fournisseurs_articles,
|
enrichir_fournisseurs_articles,
|
||||||
_enrichir_familles_articles,
|
enrichir_familles_articles,
|
||||||
_enrichir_tva_articles,
|
enrichir_tva_articles,
|
||||||
)
|
)
|
||||||
|
|
||||||
from utils.tiers.clients.clients_data import (
|
from utils.tiers.clients.clients_data import (
|
||||||
|
|
@ -45,7 +44,6 @@ from utils.functions.functions import (
|
||||||
_safe_int,
|
_safe_int,
|
||||||
_clean_str,
|
_clean_str,
|
||||||
_try_set_attribute,
|
_try_set_attribute,
|
||||||
normaliser_date,
|
|
||||||
_get_type_libelle,
|
_get_type_libelle,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -56,24 +54,17 @@ from utils.functions.items_to_dict import (
|
||||||
)
|
)
|
||||||
|
|
||||||
from utils.functions.sage_utilities import (
|
from utils.functions.sage_utilities import (
|
||||||
_verifier_devis_non_transforme,
|
|
||||||
peut_etre_transforme,
|
peut_etre_transforme,
|
||||||
lire_erreurs_sage,
|
lire_erreurs_sage,
|
||||||
)
|
)
|
||||||
|
|
||||||
from utils.documents.documents_data_sql import (
|
from utils.documents.documents_data_sql import (
|
||||||
_afficher_etat_document,
|
|
||||||
_compter_lignes_document,
|
|
||||||
_rechercher_devis_par_numero,
|
_rechercher_devis_par_numero,
|
||||||
_lire_document_sql,
|
_lire_document_sql,
|
||||||
_lister_documents_avec_lignes_sql,
|
_lister_documents_avec_lignes_sql,
|
||||||
)
|
)
|
||||||
|
|
||||||
from utils.documents.devis.devis_extraction import _extraire_infos_devis
|
from utils.documents.devis.devis_check import _rechercher_devis_dans_liste
|
||||||
from utils.documents.devis.devis_check import (
|
|
||||||
_recuperer_numero_devis,
|
|
||||||
_rechercher_devis_dans_liste,
|
|
||||||
)
|
|
||||||
|
|
||||||
from utils.tiers.contacts.contacts import (
|
from utils.tiers.contacts.contacts import (
|
||||||
_get_contacts,
|
_get_contacts,
|
||||||
|
|
@ -83,14 +74,7 @@ from utils.tiers.contacts.contacts import (
|
||||||
|
|
||||||
from utils import (
|
from utils import (
|
||||||
valider_donnees_creation,
|
valider_donnees_creation,
|
||||||
mapper_champ_api_vers_sage,
|
|
||||||
CHAMPS_STOCK_INITIAL,
|
|
||||||
CHAMPS_ASSIGNABLES_CREATION,
|
|
||||||
CHAMPS_ASSIGNABLES_MODIFICATION,
|
|
||||||
CHAMPS_OBJETS_SPECIAUX,
|
|
||||||
valider_champ,
|
|
||||||
valider_donnees_modification,
|
valider_donnees_modification,
|
||||||
obtenir_champs_assignables,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
from schemas.documents.doc_config import TypeDocumentVente
|
from schemas.documents.doc_config import TypeDocumentVente
|
||||||
|
|
@ -943,24 +927,24 @@ class SageConnector:
|
||||||
article_data = _mapper_article_depuis_row(row_data, colonnes_config)
|
article_data = _mapper_article_depuis_row(row_data, colonnes_config)
|
||||||
articles.append(article_data)
|
articles.append(article_data)
|
||||||
|
|
||||||
articles = _enrichir_stocks_articles(articles, cursor)
|
articles = enrichir_stocks_articles(articles, cursor)
|
||||||
articles = _enrichir_familles_articles(articles, cursor)
|
articles = enrichir_familles_articles(articles, cursor)
|
||||||
articles = _enrichir_fournisseurs_articles(articles, cursor)
|
articles = enrichir_fournisseurs_articles(articles, cursor)
|
||||||
articles = _enrichir_tva_articles(articles, cursor)
|
articles = enrichir_tva_articles(articles, cursor)
|
||||||
|
|
||||||
articles = _enrichir_stock_emplacements(articles, cursor)
|
articles = enrichir_stock_emplacements(articles, cursor)
|
||||||
articles = _enrichir_gammes_articles(articles, cursor)
|
articles = enrichir_gammes_articles(articles, cursor)
|
||||||
articles = _enrichir_tarifs_clients(articles, cursor)
|
articles = enrichir_tarifs_clients(articles, cursor)
|
||||||
articles = _enrichir_nomenclature(articles, cursor)
|
articles = enrichir_nomenclature(articles, cursor)
|
||||||
articles = _enrichir_compta_articles(articles, cursor)
|
articles = enrichir_compta_articles(articles, cursor)
|
||||||
articles = _enrichir_fournisseurs_multiples(articles, cursor)
|
articles = enrichir_fournisseurs_multiples(articles, cursor)
|
||||||
articles = _enrichir_depots_details(articles, cursor)
|
articles = enrichir_depots_details(articles, cursor)
|
||||||
articles = _enrichir_emplacements_details(articles, cursor)
|
articles = enrichir_emplacements_details(articles, cursor)
|
||||||
articles = _enrichir_gammes_enumeres(articles, cursor)
|
articles = enrichir_gammes_enumeres(articles, cursor)
|
||||||
articles = _enrichir_references_enumerees(articles, cursor)
|
articles = enrichir_references_enumerees(articles, cursor)
|
||||||
articles = _enrichir_medias_articles(articles, cursor)
|
articles = enrichir_medias_articles(articles, cursor)
|
||||||
articles = _enrichir_prix_gammes(articles, cursor)
|
articles = enrichir_prix_gammes(articles, cursor)
|
||||||
articles = _enrichir_conditionnements(articles, cursor)
|
articles = enrichir_conditionnements(articles, cursor)
|
||||||
|
|
||||||
return articles
|
return articles
|
||||||
|
|
||||||
|
|
@ -1110,23 +1094,23 @@ class SageConnector:
|
||||||
article
|
article
|
||||||
] # Liste d'un seul article pour les fonctions d'enrichissement
|
] # Liste d'un seul article pour les fonctions d'enrichissement
|
||||||
|
|
||||||
articles = _enrichir_stocks_articles(articles, cursor)
|
articles = enrichir_stocks_articles(articles, cursor)
|
||||||
articles = _enrichir_familles_articles(articles, cursor)
|
articles = enrichir_familles_articles(articles, cursor)
|
||||||
articles = _enrichir_fournisseurs_articles(articles, cursor)
|
articles = enrichir_fournisseurs_articles(articles, cursor)
|
||||||
articles = _enrichir_tva_articles(articles, cursor)
|
articles = enrichir_tva_articles(articles, cursor)
|
||||||
articles = _enrichir_stock_emplacements(articles, cursor)
|
articles = enrichir_stock_emplacements(articles, cursor)
|
||||||
articles = _enrichir_gammes_articles(articles, cursor)
|
articles = enrichir_gammes_articles(articles, cursor)
|
||||||
articles = _enrichir_tarifs_clients(articles, cursor)
|
articles = enrichir_tarifs_clients(articles, cursor)
|
||||||
articles = _enrichir_nomenclature(articles, cursor)
|
articles = enrichir_nomenclature(articles, cursor)
|
||||||
articles = _enrichir_compta_articles(articles, cursor)
|
articles = enrichir_compta_articles(articles, cursor)
|
||||||
articles = _enrichir_fournisseurs_multiples(articles, cursor)
|
articles = enrichir_fournisseurs_multiples(articles, cursor)
|
||||||
articles = _enrichir_depots_details(articles, cursor)
|
articles = enrichir_depots_details(articles, cursor)
|
||||||
articles = _enrichir_emplacements_details(articles, cursor)
|
articles = enrichir_emplacements_details(articles, cursor)
|
||||||
articles = _enrichir_gammes_enumeres(articles, cursor)
|
articles = enrichir_gammes_enumeres(articles, cursor)
|
||||||
articles = _enrichir_references_enumerees(articles, cursor)
|
articles = enrichir_references_enumerees(articles, cursor)
|
||||||
articles = _enrichir_medias_articles(articles, cursor)
|
articles = enrichir_medias_articles(articles, cursor)
|
||||||
articles = _enrichir_prix_gammes(articles, cursor)
|
articles = enrichir_prix_gammes(articles, cursor)
|
||||||
articles = _enrichir_conditionnements(articles, cursor)
|
articles = enrichir_conditionnements(articles, cursor)
|
||||||
|
|
||||||
logger.info(f"✓ Article {reference} lu avec tous les enrichissements")
|
logger.info(f"✓ Article {reference} lu avec tous les enrichissements")
|
||||||
return articles[0]
|
return articles[0]
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ from utils import (
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def _enrichir_stock_emplacements(articles: List[Dict], cursor) -> List[Dict]:
|
def enrichir_stock_emplacements(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
try:
|
try:
|
||||||
logger.info(" → Enrichissement stock emplacements...")
|
logger.info(" → Enrichissement stock emplacements...")
|
||||||
|
|
||||||
|
|
@ -76,7 +76,7 @@ def _enrichir_stock_emplacements(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
return articles
|
return articles
|
||||||
|
|
||||||
|
|
||||||
def _enrichir_gammes_articles(articles: List[Dict], cursor) -> List[Dict]:
|
def enrichir_gammes_articles(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
try:
|
try:
|
||||||
logger.info(" → Enrichissement gammes articles...")
|
logger.info(" → Enrichissement gammes articles...")
|
||||||
|
|
||||||
|
|
@ -135,7 +135,7 @@ def _enrichir_gammes_articles(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
return articles
|
return articles
|
||||||
|
|
||||||
|
|
||||||
def _enrichir_tarifs_clients(articles: List[Dict], cursor) -> List[Dict]:
|
def enrichir_tarifs_clients(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
try:
|
try:
|
||||||
logger.info(" → Enrichissement tarifs clients...")
|
logger.info(" → Enrichissement tarifs clients...")
|
||||||
|
|
||||||
|
|
@ -226,7 +226,7 @@ def _enrichir_tarifs_clients(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
return articles
|
return articles
|
||||||
|
|
||||||
|
|
||||||
def _enrichir_nomenclature(articles: List[Dict], cursor) -> List[Dict]:
|
def enrichir_nomenclature(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
try:
|
try:
|
||||||
logger.info(" → Enrichissement nomenclature...")
|
logger.info(" → Enrichissement nomenclature...")
|
||||||
|
|
||||||
|
|
@ -307,7 +307,7 @@ def _enrichir_nomenclature(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
return articles
|
return articles
|
||||||
|
|
||||||
|
|
||||||
def _enrichir_compta_articles(articles: List[Dict], cursor) -> List[Dict]:
|
def enrichir_compta_articles(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
try:
|
try:
|
||||||
logger.info(" → Enrichissement comptabilité articles...")
|
logger.info(" → Enrichissement comptabilité articles...")
|
||||||
|
|
||||||
|
|
@ -396,7 +396,7 @@ def _enrichir_compta_articles(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
return articles
|
return articles
|
||||||
|
|
||||||
|
|
||||||
def _enrichir_fournisseurs_multiples(articles: List[Dict], cursor) -> List[Dict]:
|
def enrichir_fournisseurs_multiples(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
try:
|
try:
|
||||||
logger.info(" → Enrichissement fournisseurs multiples...")
|
logger.info(" → Enrichissement fournisseurs multiples...")
|
||||||
|
|
||||||
|
|
@ -493,7 +493,7 @@ def _enrichir_fournisseurs_multiples(articles: List[Dict], cursor) -> List[Dict]
|
||||||
return articles
|
return articles
|
||||||
|
|
||||||
|
|
||||||
def _enrichir_depots_details(articles: List[Dict], cursor) -> List[Dict]:
|
def enrichir_depots_details(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
try:
|
try:
|
||||||
logger.info(" → Enrichissement détails dépôts...")
|
logger.info(" → Enrichissement détails dépôts...")
|
||||||
|
|
||||||
|
|
@ -564,7 +564,7 @@ def _enrichir_depots_details(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
return articles
|
return articles
|
||||||
|
|
||||||
|
|
||||||
def _enrichir_emplacements_details(articles: List[Dict], cursor) -> List[Dict]:
|
def enrichir_emplacements_details(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
try:
|
try:
|
||||||
logger.info(" → Enrichissement détails emplacements...")
|
logger.info(" → Enrichissement détails emplacements...")
|
||||||
|
|
||||||
|
|
@ -617,7 +617,7 @@ def _enrichir_emplacements_details(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
return articles
|
return articles
|
||||||
|
|
||||||
|
|
||||||
def _enrichir_gammes_enumeres(articles: List[Dict], cursor) -> List[Dict]:
|
def enrichir_gammes_enumeres(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
try:
|
try:
|
||||||
logger.info(" → Enrichissement énumérés gammes...")
|
logger.info(" → Enrichissement énumérés gammes...")
|
||||||
|
|
||||||
|
|
@ -683,7 +683,7 @@ def _enrichir_gammes_enumeres(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
return articles
|
return articles
|
||||||
|
|
||||||
|
|
||||||
def _enrichir_references_enumerees(articles: List[Dict], cursor) -> List[Dict]:
|
def enrichir_references_enumerees(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
try:
|
try:
|
||||||
logger.info(" → Enrichissement références énumérées...")
|
logger.info(" → Enrichissement références énumérées...")
|
||||||
|
|
||||||
|
|
@ -752,7 +752,7 @@ def _enrichir_references_enumerees(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
return articles
|
return articles
|
||||||
|
|
||||||
|
|
||||||
def _enrichir_medias_articles(articles: List[Dict], cursor) -> List[Dict]:
|
def enrichir_medias_articles(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
try:
|
try:
|
||||||
logger.info(" → Enrichissement médias articles...")
|
logger.info(" → Enrichissement médias articles...")
|
||||||
|
|
||||||
|
|
@ -815,7 +815,7 @@ def _enrichir_medias_articles(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
return articles
|
return articles
|
||||||
|
|
||||||
|
|
||||||
def _enrichir_prix_gammes(articles: List[Dict], cursor) -> List[Dict]:
|
def enrichir_prix_gammes(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
try:
|
try:
|
||||||
logger.info(" → Enrichissement prix par gammes...")
|
logger.info(" → Enrichissement prix par gammes...")
|
||||||
|
|
||||||
|
|
@ -876,7 +876,7 @@ def _enrichir_prix_gammes(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
return articles
|
return articles
|
||||||
|
|
||||||
|
|
||||||
def _enrichir_conditionnements(articles: List[Dict], cursor) -> List[Dict]:
|
def enrichir_conditionnements(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
try:
|
try:
|
||||||
logger.info(" → Enrichissement conditionnements...")
|
logger.info(" → Enrichissement conditionnements...")
|
||||||
|
|
||||||
|
|
@ -1140,7 +1140,7 @@ def _mapper_article_depuis_row(row_data: Dict, colonnes_config: Dict) -> Dict:
|
||||||
return article
|
return article
|
||||||
|
|
||||||
|
|
||||||
def _enrichir_stocks_articles(articles: List[Dict], cursor) -> List[Dict]:
|
def enrichir_stocks_articles(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
"""Enrichit les articles avec les données de stock depuis F_ARTSTOCK"""
|
"""Enrichit les articles avec les données de stock depuis F_ARTSTOCK"""
|
||||||
try:
|
try:
|
||||||
logger.info(f" → Enrichissement stocks pour {len(articles)} articles...")
|
logger.info(f" → Enrichissement stocks pour {len(articles)} articles...")
|
||||||
|
|
@ -1196,7 +1196,7 @@ def _enrichir_stocks_articles(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
return articles
|
return articles
|
||||||
|
|
||||||
|
|
||||||
def _enrichir_fournisseurs_articles(articles: List[Dict], cursor) -> List[Dict]:
|
def enrichir_fournisseurs_articles(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
"""Enrichit les articles avec le nom du fournisseur principal"""
|
"""Enrichit les articles avec le nom du fournisseur principal"""
|
||||||
try:
|
try:
|
||||||
logger.info(" → Enrichissement fournisseurs...")
|
logger.info(" → Enrichissement fournisseurs...")
|
||||||
|
|
@ -1278,7 +1278,7 @@ def _enrichir_fournisseurs_articles(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
return articles
|
return articles
|
||||||
|
|
||||||
|
|
||||||
def _enrichir_familles_articles(articles: List[Dict], cursor) -> List[Dict]:
|
def enrichir_familles_articles(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
"""Enrichit les articles avec les informations de famille depuis F_FAMILLE"""
|
"""Enrichit les articles avec les informations de famille depuis F_FAMILLE"""
|
||||||
try:
|
try:
|
||||||
logger.info(f" → Enrichissement familles pour {len(articles)} articles...")
|
logger.info(f" → Enrichissement familles pour {len(articles)} articles...")
|
||||||
|
|
@ -1435,7 +1435,7 @@ def _init_champs_famille_vides(article: Dict):
|
||||||
article["famille_pays"] = None
|
article["famille_pays"] = None
|
||||||
|
|
||||||
|
|
||||||
def _enrichir_tva_articles(articles: List[Dict], cursor) -> List[Dict]:
|
def enrichir_tva_articles(articles: List[Dict], cursor) -> List[Dict]:
|
||||||
"""Enrichit les articles avec le taux de TVA"""
|
"""Enrichit les articles avec le taux de TVA"""
|
||||||
try:
|
try:
|
||||||
logger.info(" → Enrichissement TVA...")
|
logger.info(" → Enrichissement TVA...")
|
||||||
|
|
@ -1504,24 +1504,24 @@ def _cast_article(persist_obj):
|
||||||
|
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
"_enrichir_stock_emplacements",
|
"enrichir_stock_emplacements",
|
||||||
"_enrichir_gammes_articles",
|
"enrichir_gammes_articles",
|
||||||
"_enrichir_tarifs_clients",
|
"enrichir_tarifs_clients",
|
||||||
"_enrichir_nomenclature",
|
"enrichir_nomenclature",
|
||||||
"_enrichir_compta_articles",
|
"enrichir_compta_articles",
|
||||||
"_enrichir_fournisseurs_multiples",
|
"enrichir_fournisseurs_multiples",
|
||||||
"_enrichir_depots_details",
|
"enrichir_depots_details",
|
||||||
"_enrichir_emplacements_details",
|
"enrichir_emplacements_details",
|
||||||
"_enrichir_gammes_enumeres",
|
"enrichir_gammes_enumeres",
|
||||||
"_enrichir_references_enumerees",
|
"enrichir_references_enumerees",
|
||||||
"_enrichir_medias_articles",
|
"enrichir_medias_articles",
|
||||||
"_enrichir_prix_gammes",
|
"enrichir_prix_gammes",
|
||||||
"_enrichir_conditionnements",
|
"enrichir_conditionnements",
|
||||||
"_mapper_article_depuis_row",
|
"_mapper_article_depuis_row",
|
||||||
"_enrichir_stocks_articles",
|
"enrichir_stocks_articles",
|
||||||
"_enrichir_fournisseurs_articles",
|
"enrichir_fournisseurs_articles",
|
||||||
"_enrichir_familles_articles",
|
"enrichir_familles_articles",
|
||||||
"_init_champs_famille_vides",
|
"_init_champs_famille_vides",
|
||||||
"_enrichir_tva_articles",
|
"enrichir_tva_articles",
|
||||||
"_cast_article",
|
"_cast_article",
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -546,7 +546,7 @@ def modifier_document_vente(
|
||||||
|
|
||||||
# 🔥 CONFIGURATION SPÉCIFIQUE FACTURE
|
# 🔥 CONFIGURATION SPÉCIFIQUE FACTURE
|
||||||
if type_document == TypeDocumentVente.FACTURE:
|
if type_document == TypeDocumentVente.FACTURE:
|
||||||
self._configurer_facture(doc)
|
_configurer_facture(self, doc)
|
||||||
|
|
||||||
doc.Write()
|
doc.Write()
|
||||||
logger.info(" ✓ Modifications appliquées")
|
logger.info(" ✓ Modifications appliquées")
|
||||||
|
|
@ -572,7 +572,7 @@ def modifier_document_vente(
|
||||||
|
|
||||||
# 🔥 CONFIGURATION SPÉCIFIQUE FACTURE (avant lignes)
|
# 🔥 CONFIGURATION SPÉCIFIQUE FACTURE (avant lignes)
|
||||||
if type_document == TypeDocumentVente.FACTURE:
|
if type_document == TypeDocumentVente.FACTURE:
|
||||||
self._configurer_facture(doc)
|
_configurer_facture(doc)
|
||||||
|
|
||||||
nouvelles_lignes = doc_data["lignes"]
|
nouvelles_lignes = doc_data["lignes"]
|
||||||
nb_nouvelles = len(nouvelles_lignes)
|
nb_nouvelles = len(nouvelles_lignes)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue