示例#1
0
    def est_coherent(self, generaux, clients):
        """
        vérifie que les données du fichier importé sont cohérentes
        :param generaux: paramètres généraux
        :param clients: clients importés
        :return: 1 s'il y a une erreur, 0 sinon
        """

        if self.verifie_coherence == 1:
            print(self.libelle + ": cohérence déjà vérifiée")
            return 0

        msg = ""
        ligne = 1
        donnees_list = []

        for donnee in self.donnees:
            if donnee['position'] == "":
                msg += "la position de la ligne " + str(
                    ligne) + " ne peut être vide\n"

            donnee['position'], info = Outils.est_un_nombre(
                donnee['position'], "la position", ligne)
            msg += info
            donnee['position'] = int(donnee['position'])
            if donnee['position'] < 1:
                msg += " la position de la ligne " + str(
                    ligne) + " doit être un entier > 0\n"

            if donnee['Annexe-pièces'] == "":
                msg += "le annexe P.J. de la ligne " + str(
                    ligne) + " ne peut être vide\n"
            if not (donnee['Annexe-pièces'] == "OUI"
                    or donnee['Annexe-pièces'] == "NON"):
                msg += "le annexe P.J. de la ligne " + str(
                    ligne) + " doit être 'OUI' ou 'NON'\n"

            if donnee['Annexe-interne'] == "":
                msg += "le annexe Int de la ligne " + str(
                    ligne) + " ne peut être vide\n"
            if not (donnee['Annexe-interne'] == "OUI"
                    or donnee['Annexe-interne'] == "NON"):
                msg += "le annexe Int de la ligne " + str(
                    ligne) + " doit être 'OUI' ou 'NON'\n"

            if donnee['nature'] != "" and donnee[
                    'nature'] not in generaux.obtenir_code_n():
                msg += "la nature '" + donnee['nature'] + "' de la ligne " + str(ligne) +\
                    " n'existe pas dans les types N\n"

            if donnee['code'] != "" and donnee[
                    'code'] not in clients.obtenir_codes():
                msg += "le code client '" + donnee[
                    'code'] + "' de la ligne " + str(
                        ligne) + " n'est pas référencé\n"

            donnee['chemin'] = Outils.chemin(
                [self._chemin, donnee['nom'] + ".pdf"])
            if not Outils.existe(donnee['chemin']):
                msg += "le fichier PDF '" + donnee[
                    'nom'] + "' de la ligne " + str(ligne) + " n'existe pas\n"

            donnees_list.append(donnee)

            ligne += 1

        self.donnees = donnees_list
        self.verifie_coherence = 1

        if msg != "":
            msg = self.libelle + "\n" + msg
            Outils.affiche_message(msg)
            return 1
        return 0
示例#2
0
                        Verification, Detail, Resumes, Recapitulatifs)
from prod2qual import Prod2Qual
from latex import Latex

arguments = docopt(__doc__)

if arguments["--sansgraphiques"]:
    Outils.interface_graphique(False)

if arguments["--entrees"]:
    dossier_data = arguments["--entrees"]
else:
    dossier_data = Outils.choisir_dossier()
dossier_source = DossierSource(dossier_data)

pe_present = Outils.existe(Outils.chemin([dossier_data, Edition.nom_fichier]))
sup_present = Outils.existe(
    Outils.chemin([dossier_data, SuppressionFacture.nom_fichier]))
ann_present = Outils.existe(
    Outils.chemin([dossier_data, AnnulationVersion.nom_fichier]))
ann_sup_present = Outils.existe(
    Outils.chemin([dossier_data, AnnulationSuppression.nom_fichier]))

if pe_present and sup_present:
    msg = "Deux fichiers bruts incompatibles dans le répertoire : supprfact.csv et paramedit.csv"
    Outils.affiche_message(msg)
    sys.exit("Erreur sur les fichiers")

if pe_present and ann_present:
    msg = "Deux fichiers bruts incompatibles dans le répertoire : paramedit.csv et annulversion.csv"
    Outils.affiche_message(msg)
示例#3
0
    Outils.interface_graphique(False)

if arguments["--entrees"]:
    dossier_data = arguments["--entrees"]
else:
    dossier_data = Outils.choisir_dossier(plateforme)
dossier_source = DossierSource(dossier_data)

subedition = SubEdition(dossier_source)
subgeneraux = SubGeneraux(dossier_source)

subcomptes = SubCompte(dossier_source)
submachines = SubMachine(dossier_source)
subprestations = SubPrestation(dossier_source)

chemin_force = Outils.chemin([dossier_data, Force.nom_fichier], plateforme)
force = None
if Outils.existe(chemin_force):
    force = Force(dossier_source)

dossier_bilans = subgeneraux.lecture
mois = subedition.mois_debut_general
annee = subedition.annee_debut_general
bilans = []
while 1:
    fichier_complet = "bilan-comptes_" + str(annee) + "_" + Outils.mois_string(
        mois) + ".csv"
    chemin = Outils.chemin(
        [dossier_bilans, annee,
         Outils.mois_string(mois), fichier_complet], plateforme)
    if not Outils.existe(chemin):