''' Génère des factures dans la base Factures à partir des données de Tarification de Analytique @author: olivier.massot, févr. 2018 ''' import logging import sys from path import Path from core import logconf from core.pde import FacturesDb, AnalytiqueDb, CommunDb logger = logging.getLogger("analytique2facture") logconf.start("analytique2facture", logging.DEBUG) # # POUR TESTER, décommenter les lignes suivantes ##----------------------------------------------- logger.warning("<<<<<<<<<<<<<< Mode TEST >>>>>>>>>>>>>>>>>") AnalytiqueDb._path = Path(r"\\h2o\local\4-transversal\BDD\mdb_test\Db_analytique.mdb") FacturesDb._path = Path(r"\\h2o\local\4-transversal\BDD\mdb_test\Facture_data.mdb") CommunDb._path = Path(r"\\h2o\local\4-transversal\BDD\mdb_test\Commun_Data.mdb") ##----------------------------------------------- # Connexion à Analytique analytique_db = AnalytiqueDb(autocommit=False) # Connexion à Controles facture_db = FacturesDb(autocommit=False) # Connexion à CommunDb commun_db = CommunDb(autocommit=False) mois_facturation = input("Veuillez renseigner le mois de facturation ('q' pour quitter): ") # Format: voir avec jacky if mois_facturation == 'q': sys.exit(1) sql = """SELECT * FROM tbl_Tarification WHERE strStatut='A facturer' ORDER BY DblAffaireId, DblTarifId DESC; """ if not analytique_db.exists(sql): logger.info("Aucune facture à créer - Opération annulée") sys.exit(1) # On va créer une facture commune à toutes les interventions 'à facturer' d'une même affaire (cad qui ont un numéro de pièce commun) # > Pour chaque facture, on va ajouter une ligne dans tblPieceEntete, et une ligne par intervention dans tblPieceLigne # > NB: On ne touche pas aux interventions de cette affaire qui ont déja été facturées for tarif in analytique_db.read(sql): pass