<?xml version="1.0" encoding="ISO-8859-1"?>
<controls>
 <document id="DocEtatsFrais">
  <collectivite-path sort="2">
   <code-path>/ef:EtatsFrais/ef:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyIdentification/cbc:ID</code-path>
   <libelle-path>/ef:EtatsFrais/ef:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyIdentification/cbc:ID</libelle-path>
  </collectivite-path>
  <param id="secteur" name="Secteur" datatype="string" use="required" value="Etat">
   <select id="nomencl">
    <option value="Public Local">Public Local</option>
    <option value="Etat">Etat</option>
   </select>
  </param>
  <param id="Type d'état" name="Type d'état" datatype="string" use="required" value="K2, K3">
   <input id="Type d'état" datatype="String"/></param>
  <param id="Moyens de paiement" name="Moyens de paiement" datatype="string" use="required" value="V, O, C">
   <input id="Moyens de paiement" datatype="String"/></param>
  <param id="Types de frais" name="Types de frais" datatype="string" use="required" value="AUTRE, HOTEL, PARKING, VOITURE, 2_ROUES, TAXI, PEAGE, TRAIN, AVION, CAR, BATEAU, AUTRE_TRANSPORT_COMMUN, REPAS, NUITEE, LOCATION, ABONNEMENT, AVANCE_FRAIS">
   <input id="Types de frais" datatype="String"/></param>
  <controlTech id="TECH01" libelle="Contrôle de la structure xml du fichier." severity="BLOQUANT"/>
  <controlTech id="TECH02" libelle="Contrôle de l'encoding du fichier." severity="BLOQUANT">
   <paramTech id="encoding" name="encoding" value="ISO-8859-15"/></controlTech>
 <controlTech id="TECH03" libelle="Contrôle de la conformance au schéma." severity="BLOQUANT">
   <paramTech id="schemaLocation" name="schemaLocation" value="etat-frais/schema/EtatsFrais.xsd"/></controlTech>
  <control id="SOM01" libelle="Contrôle de cohérence des montants des ordres de mission" severity="BLOQUANT" class="fr.gouv.finances.dgfip.xemelios.controls.etatFrais.som.SOM01">
   <regle-fonctionnelle>Le montant total des frais de chaque ordre de mission doit être égal à la somme des montants des lignes de frais.</regle-fonctionnelle>
   <message-echec>Ordre de mission n° #CBC_ID# - Date= #CBC_ISSUEDATE# - Type Etat de Frais= #CBC_INVOICETYPECODE# MtN= #CAC_LEGAL_MONETARY_TOTAL# - Somme des lignes= #SOMME_CBC_LINEEXTENSIONAMOUNT# </message-echec>
  </control>
  <control id="PRES01" libelle="Contrôle de présence des valideurs d'ordres de mission" severity="BLOQUANT" class="fr.gouv.finances.dgfip.xemelios.controls.etatFrais.pres.PRES01">
   <regle-fonctionnelle>Chaque ordre de mission doit avoir un valideur</regle-fonctionnelle>
   <message-echec>Ordre de mission n° #CBC_ID# - Date= #CBC_ISSUEDATE# - Type Etat de Frais= #CBC_INVOICETYPECODE# : Il n'y a pas de valideur</message-echec>
  </control>
  <control id="PRES02" libelle="Contrôle de présence des initiateurs d'ordres de mission" severity="BLOQUANT" class="fr.gouv.finances.dgfip.xemelios.controls.etatFrais.pres.PRES02">
   <regle-fonctionnelle>Chaque ordre de mission doit avoir un initiateur</regle-fonctionnelle>
   <message-echec>Ordre de mission n° #CBC_ID# - Date= #CBC_ISSUEDATE# - Type Etat de Frais= #CBC_INVOICETYPECODE# : Il n'y a pas d'initiateur</message-echec>
  </control>
  <control id="CHORUS01" libelle="Contrôle de présence des centres de couts" severity="BLOQUANT" class="fr.gouv.finances.dgfip.xemelios.controls.etatFrais.chorus.CHORUS01">
   <regle-fonctionnelle>Chaque ligne de frais doit avoir un centre de couts</regle-fonctionnelle>
   <message-echec>Ordre de mission n° #CBC_ID# - Date= #CBC_ISSUEDATE# - Type Etat de Frais= #CBC_INVOICETYPECODE# - Ligne de frais #CBC_IDINVOICELINE#: Il n'y a pas de centre de couts</message-echec>
  </control>
  <control id="CHORUS02" libelle="Contrôle de présence des centres financiers" severity="BLOQUANT" class="fr.gouv.finances.dgfip.xemelios.controls.etatFrais.chorus.CHORUS02">
   <regle-fonctionnelle>Chaque ligne de frais doit avoir un centre de couts</regle-fonctionnelle>
   <message-echec>Ordre de mission n° #CBC_ID# - Date= #CBC_ISSUEDATE# - Type Etat de Frais= #CBC_INVOICETYPECODE# - Ligne de frais #CBC_IDINVOICELINE#: Il n'y a pas de centre de financier</message-echec>
  </control>
  <control id="CHORUS03" libelle="Contrôle de présence des domaines fonctionnels" severity="BLOQUANT" class="fr.gouv.finances.dgfip.xemelios.controls.etatFrais.chorus.CHORUS03">
   <regle-fonctionnelle>Chaque ligne de frais doit avoir un centre de couts</regle-fonctionnelle>
   <message-echec>Ordre de mission n° #CBC_ID# - Date= #CBC_ISSUEDATE# - Type Etat de Frais= #CBC_INVOICETYPECODE# - Ligne de frais #CBC_IDINVOICELINE#: Il n'y a pas de domaine fonctionnel</message-echec>
  </control>
  <control id="CHORUS04" libelle="Contrôle de présence des activités" severity="BLOQUANT" class="fr.gouv.finances.dgfip.xemelios.controls.etatFrais.chorus.CHORUS04">
   <regle-fonctionnelle>Chaque ligne de frais doit avoir une activité</regle-fonctionnelle>
   <message-echec>Ordre de mission n° #CBC_ID# - Date= #CBC_ISSUEDATE# - Type Etat de Frais= #CBC_INVOICETYPECODE# - Ligne de frais #CBC_IDINVOICELINE#: Il n'y a pas d'activité</message-echec>
  </control>
  <control id="CHORUS05" libelle="Contrôle de présence des localisations interministerielle" severity="BLOQUANT" class="fr.gouv.finances.dgfip.xemelios.controls.etatFrais.chorus.CHORUS05">
   <regle-fonctionnelle>Chaque ligne de frais doit avoir un centre de couts</regle-fonctionnelle>
   <message-echec>Ordre de mission n° #CBC_ID# - Date= #CBC_ISSUEDATE# - Type Etat de Frais= #CBC_INVOICETYPECODE# - Ligne de frais #CBC_IDINVOICELINE#: Il n'y a pas de localisation interministérielle</message-echec>
  </control>
  <control id="VALUES01" libelle="Contrôle des modalités de réglement" severity="BLOQUANT" class="fr.gouv.finances.dgfip.xemelios.controls.etatFrais.values.VALUES01">
   <regle-fonctionnelle>Les seuls moyens de paiement reconnus sont V: virement bancaire O: paiement en devise étrangère et C: chèque</regle-fonctionnelle>
   <message-echec>Ordre de mission n° #CBC_ID# - Date= #CBC_ISSUEDATE# - Type Etat de Frais= #CBC_INVOICETYPECODE# Valeur incorrecte #CBC_VALUE# pour l'élément #CBC_ELEMENT#
Les valeurs possibles sont #CBC_LISTVALUES#
   </message-echec>
  </control>
  <control id="VALUES02" libelle="Contrôle des types de frais" severity="BLOQUANT" class="fr.gouv.finances.dgfip.xemelios.controls.etatFrais.values.VALUES02">
   <regle-fonctionnelle>Les seuls types de frais reconnus sont ceux de la liste passée en paramètre</regle-fonctionnelle>
   <message-echec>Ordre de mission n° #CBC_ID# - Date= #CBC_ISSUEDATE# - Type Etat de Frais= #CBC_INVOICETYPECODE# : Valeur incorrecte #CBC_VALUE# pour l'élément #CBC_ELEMENT# ; 
Les valeurs possibles sont #CBC_LISTVALUES#
   </message-echec>
  </control>
  <control id="VALUES03" libelle="Contrôle du type d'état de frais" severity="BLOQUANT" class="fr.gouv.finances.dgfip.xemelios.controls.etatFrais.values.VALUES03">
   <regle-fonctionnelle>Les seuls types d'état reconnus sont Etat de frais, demande d'avance ou Régularisation d'avance</regle-fonctionnelle>
   <message-echec>Ordre de mission n° #CBC_ID# - Date= #CBC_ISSUEDATE# - Type Etat de Frais= #CBC_INVOICETYPECODE# : Valeur incorrecte #CBC_VALUE# pour l'élément #CBC_ELEMENT# ; 
Les valeurs possibles sont #CBC_LISTVALUES#
   </message-echec>
  </control>
 </document>
</controls>
