--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project name="XEMELIOS-cg-etat" default="usage" basedir=".">
+ <import file="../../common-tasks.xml"/>
+ <description>Builds, tests, and runs the project XEMELIOS CG Etat</description>
+ <property file="${user.home}/.ant.properties"/>
+
+ <target name="usage">
+ <echo>
+ Using ${ant.version}
+
+ These are targets supported by this ANT build script:
+
+ compile - compile all .java files, except
+ thoses in ./tmp folder.
+ clean - deletes all compiled and generated
+ files and resources.
+ jars - build jar files.
+
+ Do not call this script directly, use the one located
+ at root of projet (in ../..) instead.
+ </echo>
+ </target>
+
+ <target name="compile" depends="mk-output-dirs,define-compile-debug,prepare">
+ <javac srcdir="java" destdir="build/classes" debug="${compile.debug}" encoding="ISO-8859-1">
+ <classpath>
+ <pathelement path="../starter/build/jars"/>
+ <fileset dir="../core/lib" includes="*.jar"/>
+ <pathelement path="../core/build/classes"/>
+ </classpath>
+ </javac>
+ <copy todir="build/classes">
+ <fileset dir="java">
+ <include name="**/*"/>
+ <exclude name="**/*.class"/>
+ <exclude name="**/*.java"/>
+ <exclude name="**/*.form"/>
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="jars" depends="prepare">
+ <property file="component.properties"/>
+ <copy file="manifest/manifest.txt" tofile="build/manifest.txt">
+ <filterset>
+ <filter token="version" value="${component.release}"/>
+ <filter token="name" value="${component.name}"/>
+ </filterset>
+ </copy>
+ <jar destfile="build/jars/${component.name}.jar" basedir="build/classes" manifest="build/manifest.txt"/>
+ </target>
+
+ <target name="config" depends="get-configuration,prepare">
+ <property name="component.dir" value="build/config/source/${component.name}/${component.release}"/>
+ <copy file="component-definition-properties.xml" tofile="build/config/source/component-definition-properties.xml"/>
+ <mkdir dir="${component.dir}"/>
+ <copy todir="${component.dir}">
+ <fileset dir="conf">
+ <include name="**/*"/>
+ <exclude name="**/CVS/*"/>
+ <exclude name="**/${component.name}.xml"/>
+ </fileset>
+ </copy>
+ <copy todir="${component.dir}" file="build/jars/${component.name}.jar"/>
+ <antcall target="prepare-config-metier"/>
+ <antcall target="generate-update"/>
+ </target>
+
+ <target name="clean">
+ <delete dir="build"/>
+ </target>
+
+ <target name="setup">
+ <copy todir="../../build/setup/root/lib">
+ <fileset dir="build/jars" includes="*.jar"/>
+ </copy>
+ <copy todir="../../build/setup/root/documents-def">
+ <fileset dir="conf" includes="**/*" excludes="**/CVS"/>
+ </copy>
+ </target>
+
+ <target name="mk-output-dirs">
+ <mkdir dir="build/classes"/>
+ <mkdir dir="build/jars"/>
+ <mkdir dir="build/config"/>
+ </target>
+
+</project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<component xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="../../defs/technical-component-definition.xsd">
+ <name>cg-etat</name>
+ <description>Configuration Compte de Gestion Etat</description>
+ <release>5.0.0.5</release>
+ <url>http://xemelios.org/updatesV5/cg-etat</url>
+ <type>CONFIG</type>
+ <destination>
+ <base>${xemelios.root}/documents-def</base>
+ <file>
+ <name>${component.name}.jar</name>
+ <dest>${xemelios.root}/lib</dest>
+ </file>
+ <file>
+ <name>${component.name}.html</name>
+ <dest>${xemelios.root}/help/documents</dest>
+ </file>
+ </destination>
+ <requires>
+ <component-ref url="http://xemelios.org/updatesV5/core" release="5.0.0.6"/>
+ </requires>
+ <release-notes>
+ <release v="5.0.0.5">
+ <note visibility="public">Correction de feuilles de style</note>
+ </release>
+ <release v="5.0.0.4">
+ <note visibility="public">Correction des liens depuis la balance, l'annexe I et le développement des dépenses</note>
+ </release>
+ <release v="5.0.0.3">
+ <note visibility="public">Augmentation de la taille des colonnes pour les montants</note>
+ <note visibility="dev">Correction des liens depuis le sommaire - FAP-0036</note>
+ </release>
+ <release v="5.0.0.2">
+ <note>Repli des corrections V4</note>
+ <note>Traçabilité des archives</note>
+ </release>
+ <release v="5.0.0.1">
+ <note>Standardisation des factory XML</note>
+ </release>
+ </release-notes>
+</component>
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<documents xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../defs/config-metier/documents-def.xsd">
+ <document
+ balise="CompteGestionEtat"
+ browsable="true"
+ default-browsable-etat="Accueil"
+ extension="xml"
+ id="cg-etat"
+ import-class="fr.gouv.finances.dgfip.xemelios.importers.DefaultImporter"
+ libelle-extension="du compte de gestion état (XML)"
+ schema="toto.xsd"
+ referentiel="not-available-tag"
+ titre="Compte Gestion Etat"
+ menu-grouping="group"
+ persistence-config="cg-etat/cg-etat-persist.xml"
+ link-resolver="fr.gouv.finances.dgfip.xemelios.cge.linkResolver.CGECustomLinkResolver"
+ natIdColl="SIREN">
+ <namespaces>
+ <ns prefix="n" uri="http://www.xemelios.org/namespaces#cge"/>
+ <!--ns prefix="" uri="http://www.xemelios.org/namespaces#cge"/-->
+ <ns prefix="added" uri="http://www.xemelios.org/namespaces#added"/>
+ </namespaces>
+
+ <special-key id="spExercice" libelle="Exercice" path="/CompteGestionEtat/Entete/Infos/Collectivite/@Exercice" pos="1"/>
+
+ <!--delete-filter filter="{/CompteGestionEtat/Entete/Infos/Collectivite/@Exercice{@V=##value##}}" pos="1" sort="lib" special-key-source="1"/-->
+ <default-budget value="00">Budget Principal</default-budget>
+ <collectivite-path id="c1">
+ <code-path>/CompteGestionEtat/Entete/Infos/Collectivite/@Siret</code-path>
+ <libelle-path>/CompteGestionEtat/Entete/Infos/Collectivite/@Libelle</libelle-path>
+ <!--parent-coll id="p1" level="1" libelle="Etat">
+ <code-path>/CompteGestionEtat/Entete/Infos/Collectivite/@SiretEtat</code-path>
+ <libelle-path>/CompteGestionEtat/Entete/Infos/Collectivite/@LibelleEtat</libelle-path>
+ </parent-coll-->
+ </collectivite-path>
+ <budget-path id="b1">
+ <code-path>/CompteGestionEtat/Entete/Infos/Collectivite/@CodeBudget</code-path>
+ <libelle-path>/CompteGestionEtat/Entete/Infos/Collectivite/@TypeBudget</libelle-path>
+ </budget-path>
+ <parameters>
+ <parameter name="liens.balance" value="cg-etat/LiensBalance.xml"/>
+ </parameters>
+ <entete id="Entete">Entete</entete>
+
+ <!--***************************************************************************************************************-->
+ <!--**************************************************** Accueil **************************************************-->
+ <!--***************************************************************************************************************-->
+ <etat
+ balise="Accueil"
+ balise-namespace="http://www.xemelios.org/namespaces#cge"
+ id="Accueil" browsable-element="PageAccueil" titre="Table des matières" exportable="false" use-external-browser="false" multi-page="false" importable-element="PageAccueil" xslt-file="cg-etat/navigate-table-matiere.xsl">
+ <element balise="PageAccueil" id="PageAccueil" max-display="1" titre="Table des matières du Compte de Gestion Etat" searchable="false" browsable="true">
+ <path>/n:CompteGestionEtat/n:Accueil/n:PageAccueil</path>
+ <liste-resultat ordre="ASC" tri-defaut="lr1">
+ <champ id="lr1" datatype="integer" libelle="NumPage">
+ <valeur>Pied/@NumPage</valeur>
+ </champ>
+ </liste-resultat>
+
+ <critere id="CRI_ACCUEIL_ACCUEIL_NUMPAGE" libelle="NumPage">
+ <path>{n:Pied/@NumPage##OPERATEUR:NumPage####VALEUR:NumPage##}</path>
+ <input id="NumPage" datatype="numeric"/>
+ </critere>
+ </element>
+
+ <element balise="LigneAccueil" id="LigneAccueil" max-display="500" searchable="false" titre="Ligne Accueil">
+ <path>/n:CompteGestionEtat/n:Accueil/n:PageAccueil/n:LigneAccueil</path>
+ <liste-resultat ordre="ASC" tri-defaut="la1">
+ <champ id="la1" libelle="Etat">
+ <valeur>@Etat</valeur>
+ </champ>
+ <champ id="la2" libelle="Titre">
+ <valeur>@Titre</valeur>
+ </champ>
+ <champ id="la3" libelle="Path">
+ <valeur>@Path</valeur>
+ </champ>
+ </liste-resultat>
+
+ <critere id="CRI_ACCUEIL_LIGNEACCUEIL_ETAT" libelle="Etat">
+ <path>{##OPERATEUR:Etat##(@Etat,"##VALEUR:Etat##")}</path>
+ <input id="Etat" datatype="string"/>
+ </critere>
+ <critere id="CRI_ACCUEIL_LIGNEACCUEIL_TITRE" libelle="Titre">
+ <path>{##OPERATEUR:Titre##(@Titre,"##VALEUR:Titre##")}</path>
+ <input id="Titre" datatype="string"/>
+ </critere>
+ <critere id="CRI_ACCUEIL_LIGNEACCUEIL_PATH" libelle="Path">
+ <path>{##OPERATEUR:Path##(@Path,"##VALEUR:Path##")}</path>
+ <input id="Path" datatype="string"/>
+ </critere>
+ </element>
+ </etat>
+
+
+ <!--***************************************************************************************************************-->
+ <!--********************************************* Balance Générale ************************************************-->
+ <!--***************************************************************************************************************-->
+ <etat
+ balise="BalanceGenerale"
+ balise-namespace="http://www.xemelios.org/namespaces#cge"
+ id="BalanceGenerale" browsable-element="PageBalanceGenerale" titre="Balance des comptes" exportable="true" multi-page="true" use-external-browser="false" importable-element="PageBalanceGenerale" xslt-file="cg-etat/etat-BalanceCompte.xsl">
+
+ <element balise="PageBalanceGenerale" id="PageBalanceGenerale" max-display="500" searchable="false" titre="Page Balance des comptes">
+ <path>/n:CompteGestionEtat/n:BalanceGenerale/n:PageBalanceGenerale</path>
+
+ <liste-resultat ordre="ASC,ASC,ASC" tri-defaut="lr1,lr2,lr3">
+ <champ id="lr1" exportable="true" datatype="integer" libelle="Exercice">
+ <valeur>n:Pied/@Exercice</valeur>
+ </champ>
+ <champ id="lr2" exportable="true" datatype="integer" libelle="NumPage">
+ <valeur>n:Pied/@NumPage</valeur>
+ </champ>
+ <champ id="lr3" exportable="true" datatype="string" libelle="Comptable">
+ <valeur>n:Pied/@Comptable</valeur>
+ </champ>
+ </liste-resultat>
+
+ <enfants>
+ <enfant element="LigneBalanceGenerale" path="n:LigneBalanceGenerale"/>
+ </enfants>
+
+ <critere id="CRI_BALANCEGENERALE_BALANCEGENERALE_NUMPAGE" libelle="Page">
+ <path>{n:Pied/@NumPage##OPERATEUR:NumPage####VALEUR:NumPage##}</path>
+ <input id="NumPage" datatype="numeric"/>
+ </critere>
+ </element>
+
+ <element balise="LigneBalanceGenerale" id="LigneBalanceGenerale" max-display="500" titre="Balance des comptes">
+ <path>/n:CompteGestionEtat/n:BalanceGenerale/n:PageBalanceGenerale/n:LigneBalanceGenerale[@added:isSearchable]</path>
+
+ <liste-resultat ordre="ASC,ASC,ASC" tri-defaut="lr2,lr0,lr1">
+ <hidden name="xsl-param:numCompte">
+ <valeur>@NumCompte</valeur>
+ </hidden>
+ <hidden name="xsl-param:generatedId">
+ <valeur>@added:generated-id</valeur>
+ </hidden>
+
+ <champ id="lr0" exportable="true" datatype="string" libelle="Exercice">
+ <valeur>../n:Pied/@Exercice</valeur>
+ </champ>
+ <champ id="lr1" exportable="true" datatype="string" libelle="Comptable">
+ <valeur>../n:Pied/@Comptable</valeur>
+ </champ>
+ <champ id="lr2" exportable="true" datatype="string" libelle="Compte">
+ <valeur>@NumCompte</valeur>
+ </champ>
+ <champ id="lr3" exportable="true" datatype="string" libelle="Lib. Cpte">
+ <valeur>@LibelleCpte</valeur>
+ </champ>
+ <champ id="lr4" exportable="true" datatype="amount" libelle="Bal. Entrée Débit">
+ <valeur>@BalanceEntreeDebit</valeur>
+ </champ>
+ <champ id="lr5" exportable="true" datatype="amount" libelle="Bal. Entrée Crédit">
+ <valeur>@BalanceEntreeCredit</valeur>
+ </champ>
+ <champ id="lr6" exportable="true" datatype="amount" libelle="Ope. Année Débit">
+ <valeur>@OperationDebit</valeur>
+ </champ>
+ <champ id="lr7" exportable="true" datatype="amount" libelle="Ope. Année Crédit">
+ <valeur>@OperationCredit</valeur>
+ </champ>
+ <champ id="lr8" exportable="true" datatype="amount" libelle="Op. fin année Débit">
+ <valeur>@OperationFinDebit</valeur>
+ </champ>
+ <champ id="lr9" exportable="true" datatype="amount" libelle="Op. fin année Crédit">
+ <valeur>@OperationFinCredit</valeur>
+ </champ>
+ <champ id="lr10" exportable="true" datatype="amount" libelle="Bal. Sortie Débit">
+ <valeur>@BalanceSortieDebit</valeur>
+ </champ>
+ <champ id="lr11" exportable="true" datatype="amount" libelle="Bal. Sortie Crédit">
+ <valeur>@BalanceSortieCredit</valeur>
+ </champ>
+ </liste-resultat>
+
+ <parent element="PageBalanceGenerale" path=".."/>
+
+ <critere id="CRI_BALANCEGENERALE_EXERCICE" libelle="Exercice">
+ <path>{##OPERATEUR:Exercice##(../n:Pied/@Exercice,"##VALEUR:Exercice##")}</path>
+ <input id="Exercice" datatype="string"/>
+ </critere>
+ <critere id="CRI_BALANCEGENERALE_LIGNE_COMPTABLE" libelle="Comptable">
+ <path>{##OPERATEUR:Comptable##(../n:Pied/@Comptable,"##VALEUR:Comptable##")}</path>
+ <input id="Comptable" help="/n:CompteGestionEtat/n:BalanceGenerale/n:PageBalanceGenerale/n:Pied/@Comptable" datatype="string"/>
+ </critere>
+ <critere id="show_totaux" libelle="Totaux/Sous Totaux">
+ <path>{@added:isNotShowResultat="0" or @added:isNotShowResultat="##VALEUR:show_totaux##"}</path>
+ <select id="show_totaux">
+ <option value="0">Sans</option>
+ <option value="1">Avec</option>
+ </select>
+ </critere>
+
+ <critere id="CRI_BALANCEGENERALE_LIGNE_NUMCOMPTE" libelle="Compte">
+ <path>{##OPERATEUR:NumCompte##(@NumCompte,"##VALEUR:NumCompte##")}</path>
+ <input id="NumCompte" datatype="string"/>
+ </critere>
+ <critere id="CRI_BALANCEGENERALE_LIGNE_MONTANTBALANCEENTREEDEBIT" libelle="Balance Entrée Débit">
+ <path>{@BalanceEntreeDebit##OPERATEUR:BalanceEntreeDebit####VALEUR:BalanceEntreeDebit##}</path>
+ <input id="BalanceEntreeDebit" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_BALANCEGENERALE_LIGNE_MONTANTBALANCEENTREECREDIT" libelle="Balance Entrée Crédit">
+ <path>{@BalanceEntreeCredit##OPERATEUR:BalanceEntreeCredit####VALEUR:BalanceEntreeCredit##}</path>
+ <input id="BalanceEntreeCredit" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_BALANCEGENERALE_LIGNE_MONTANTOPEANNEEDEBIT" libelle="Opération de l'année Débit">
+ <path>{@OperationDebit##OPERATEUR:OperationDebit####VALEUR:OperationDebit##}</path>
+ <input id="OperationDebit" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_BALANCEGENERALE_LIGNE_MONTANTOPEANNEECREDIT" libelle="Opération de l'année Crédit">
+ <path>{@OperationCredit##OPERATEUR:OperationCredit####VALEUR:OperationCredit##}</path>
+ <input id="OperationCredit" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_BALANCEGENERALE_LIGNE_MONTANTOPEFINANNEEDEBIT" libelle="Opération fin d'année Débit">
+ <path>{@OperationFinDebit##OPERATEUR:OperationFinDebit####VALEUR:OperationFinDebit##}</path>
+ <input id="OperationFinDebit" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_BALANCEGENERALE_LIGNE_MONTANTOPEFINANNEECREDIT" libelle="Opération fin d'année Crédit">
+ <path>{@OperationFinCredit##OPERATEUR:OperationFinCredit####VALEUR:OperationFinCredit##}</path>
+ <input id="OperationFinCredit" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_BALANCEGENERALE_LIGNE_MONTANTBALANCESORTIEDEBIT" libelle="Balance Sortie Débit">
+ <path>{@BalanceSortieDebit##OPERATEUR:BalanceSortieDebit####VALEUR:BalanceSortieDebit##}</path>
+ <input id="BalanceSortieDebit" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_BALANCEGENERALE_LIGNE_MONTANTBALANCESORTIECREDIT" libelle="Balance Sortie Crédit">
+ <path>{@BalanceSortieCredit##OPERATEUR:BalanceSortieCredit####VALEUR:BalanceSortieCredit##}</path>
+ <input id="BalanceSortieCredit" datatype="numeric"/>
+ </critere>
+ </element>
+ </etat>
+
+ <!--***************************************************************************************************************-->
+ <!-- **************************************** Développements des Recettes **************************************** -->
+ <!--***************************************************************************************************************-->
+ <etat balise="DeveloppementRecette"
+ balise-namespace="http://www.xemelios.org/namespaces#cge"
+ id="DeveloppementRecette" titre="Annexe I Développement des Recettes" exportable="true" use-external-browser="false" multi-page="true" importable-element="PageDeveloppementRecette" xslt-file="cg-etat/etat-AnnexeI.xsl">
+
+ <element balise="PageDeveloppementRecette" id="PageDeveloppementRecette" max-display="500" searchable="false" titre="Page Développement des Recettes">
+ <path>/n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette</path>
+
+ <liste-resultat ordre="ASC,ASC,ASC" tri-defaut="lr1,lr2,lr3">
+ <champ id="lr1" exportable="true" datatype="integer" libelle="Exercice">
+ <valeur>n:Pied/@Exercice</valeur>
+ </champ>
+ <champ id="lr2" exportable="true" datatype="integer" libelle="NumPage">
+ <valeur>n:Pied/@NumPage</valeur>
+ </champ>
+ <champ id="lr3" exportable="true" datatype="string" libelle="Comptable">
+ <valeur>n:Pied/@Comptable</valeur>
+ </champ>
+ </liste-resultat>
+
+ <enfants>
+ <enfant element="LigneDeveloppementRecette" path="n:LigneDeveloppementRecette"/>
+ </enfants>
+
+ <critere id="CRI_DEVELOPPEMENTRECETTE_PAGE_EXERCICE" libelle="Exercice">
+ <path>{n:Pied/@Exercice##OPERATEUR:Exercice####VALEUR:Exercice##}</path>
+ <input id="Exercice" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENTRECETTE_PAGE_NUMPAGE" libelle="NumPage">
+ <path>{n:Pied/@NumPage##OPERATEUR:NumPage####VALEUR:NumPage##}</path>
+ <input id="NumPage" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENTRECETTE_PAGE_COMPTABLE" libelle="Comptable">
+ <path>{n:Pied/@Comptable##OPERATEUR:Comptable####VALEUR:Comptable##}</path>
+ <input id="Comptable" datatype="numeric"/>
+ </critere>
+ </element>
+
+ <element balise="LigneDeveloppementRecette" id="LigneDeveloppementRecette" max-display="500" titre="Annexe I Développement des Recettes">
+ <path>/n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette/n:LigneDeveloppementRecette[@added:isSearchable]</path>
+
+ <liste-resultat ordre="ASC,ASC,ASC" tri-defaut="lr5,lr0,lr1">
+ <hidden name="xsl-param:numCompte">
+ <valeur>@NumCompte</valeur>
+ </hidden>
+ <hidden name="xsl-param:comptePEC">
+ <valeur>@ComptePEC</valeur>
+ </hidden>
+ <hidden name="xsl-param:ligneRecette">
+ <valeur>@LigneRecette</valeur>
+ </hidden>
+ <hidden name="xsl-param:generatedId">
+ <valeur>@added:generated-id</valeur>
+ </hidden>
+
+ <champ id="lr0" exportable="true" datatype="string" libelle="Exercice">
+ <valeur>../n:Pied/@Exercice</valeur>
+ </champ>
+ <champ id="lr1" exportable="true" datatype="string" libelle="Comptable">
+ <valeur>../n:Pied/@Comptable</valeur>
+ </champ>
+ <champ id="lr2" exportable="true" datatype="string" libelle="Nat. Prod.">
+ <valeur>@NatureProduit</valeur>
+ </champ>
+ <champ id="lr5" exportable="true" datatype="string" libelle="Lg Rec.">
+ <valeur>@LigneRecette</valeur>
+ </champ>
+ <champ id="lr3" exportable="true" datatype="string" libelle="Cpt de rec.">
+ <valeur>@NumCompte</valeur>
+ </champ>
+ <champ id="lr4" exportable="true" datatype="string" libelle="Cpt PEC">
+ <valeur>@ComptePEC</valeur>
+ </champ>
+ <champ id="lr6" exportable="true" datatype="amount" libelle="RAR 01/01">
+ <valeur>@RARDeb</valeur>
+ </champ>
+ <champ id="lr7" exportable="true" datatype="amount" libelle="Droits PEC">
+ <valeur>@Droits</valeur>
+ </champ>
+ <champ id="lr8" exportable="true" datatype="amount" libelle="Annul. PEC">
+ <valeur>@Annulations</valeur>
+ </champ>
+ <champ id="lr9" exportable="true" datatype="amount" libelle="Tot. Droits">
+ <valeur>@TotDroits</valeur>
+ </champ>
+ <champ id="lr10" exportable="true" datatype="amount" libelle="Recouvr. PEC">
+ <valeur>@Recouvrement</valeur>
+ </champ>
+ <champ id="lr11" exportable="true" datatype="amount" libelle="Rec. Comptant">
+ <valeur>@RecettesComptant</valeur>
+ </champ>
+ <champ id="lr12" exportable="true" datatype="amount" libelle="RAR 31/12">
+ <valeur>@RARFin</valeur>
+ </champ>
+ <champ id="lr13" exportable="true" datatype="amount" libelle="Tot. Rec. Budg.">
+ <valeur>@TotRecetteBudg</valeur>
+ </champ>
+ </liste-resultat>
+
+ <parent element="PageDeveloppementRecette" path=".."/>
+
+ <critere id="CRI_DEVELOPPEMENTRECETTE_PAGE_EXERCICE" libelle="Exercice">
+ <path>{##OPERATEUR:Exercice##(../n:Pied/@Exercice,"##VALEUR:Exercice##")}</path>
+ <input id="Exercice" datatype="string"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENTRECETTE_PAGE_COMPTABLE" libelle="Comptable">
+ <path>{##OPERATEUR:Comptable##(../n:Pied/@Comptable,"##VALEUR:Comptable##")}</path>
+ <input id="Comptable" help="/n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette/n:Pied/@Comptable" datatype="string"/>
+ </critere>
+ <critere id="show_totaux" libelle="Totaux/Sous Totaux">
+ <path>{@added:isNotShowResultat="0" or @added:isNotShowResultat="##VALEUR:show_totaux##"}</path>
+ <select id="show_totaux">
+ <option value="0">Sans</option>
+ <option value="1">Avec</option>
+ </select>
+ </critere>
+
+
+ <critere id="CRI_DEVELOPPEMENTRECETTE_LIGNE_NATUREPRODUIT" libelle="Nature Produit">
+ <path>{##OPERATEUR:NatureProduit##(upper-case(@NatureProduit),"##VALEUR:NatureProduit##")}</path>
+ <input id="NatureProduit" datatype="string" uppercase="true"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENTRECETTE_LIGNE_LIGNERECETTE" libelle="Ligne de Recette">
+ <path>{##OPERATEUR:LigneRecette##(@LigneRecette,"##VALEUR:LigneRecette##")}</path>
+ <input id="LigneRecette" datatype="string"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENTRECETTE_LIGNE_NUMCOMPTE" libelle="Compte de recette">
+ <path>{##OPERATEUR:NumCompte##(@NumCompte,"##VALEUR:NumCompte##")}</path>
+ <input id="NumCompte" datatype="string"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENTRECETTE_LIGNE_COMPTEPEC" libelle="Compte de PEC">
+ <path>{##OPERATEUR:ComptePEC##(@ComptePEC,"##VALEUR:ComptePEC##")}</path>
+ <input id="ComptePEC" datatype="string"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENTRECETTE_LIGNE_RARDEB" libelle="RAR au 01/01">
+ <path>{@RARDeb##OPERATEUR:RARDeb####VALEUR:RARDeb##}</path>
+ <input id="RARDeb" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENTRECETTE_LIGNE_DROITS" libelle="Droits PEC">
+ <path>{@Droits##OPERATEUR:Droits####VALEUR:Droits##}</path>
+ <input id="Droits" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENTRECETTE_LIGNE_ANNULATIONS" libelle="Annulations PEC">
+ <path>{@Annulations##OPERATEUR:Annulations####VALEUR:Annulations##}</path>
+ <input id="Annulations" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENTRECETTE_LIGNE_TOTDROITS" libelle="Totalisations Droits">
+ <path>{@TotDroits##OPERATEUR:TotDroits####VALEUR:TotDroits##}</path>
+ <input id="TotDroits" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENTRECETTE_LIGNE_RECOUVREMENT" libelle="Recouvrement PEC">
+ <path>{@Recouvrement##OPERATEUR:Recouvrement####VALEUR:Recouvrement##}</path>
+ <input id="Recouvrement" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENTRECETTE_LIGNE_RECETTESCOMPTANT" libelle="Recettes au Comptant">
+ <path>{@RecettesComptant##OPERATEUR:RecettesComptant####VALEUR:RecettesComptant##}</path>
+ <input id="RecettesComptant" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENTRECETTE_LIGNE_RARFIN" libelle="RAR au 31/12">
+ <path>{@RARFin##OPERATEUR:RARFin####VALEUR:RARFin##}</path>
+ <input id="RARFin" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENTRECETTE_LIGNE_TOTRECETTEBUDG" libelle="Total Recettes Budgétaires">
+ <path>{@TotRecetteBudg##OPERATEUR:TotRecetteBudg####VALEUR:TotRecetteBudg##}</path>
+ <input id="TotRecetteBudg" datatype="numeric"/>
+ </critere>
+ </element>
+ </etat>
+
+
+
+ <!--***************************************************************************************************************-->
+ <!-- ***************************************** Récapitulation **************************************************** -->
+ <!--***************************************************************************************************************-->
+ <etat
+ balise="Recapitulation"
+ balise-namespace="http://www.xemelios.org/namespaces#cge"
+ id="Recapitulation" titre="Annexe I Récapitulation" exportable="true" use-external-browser="false" importable-element="PageRecapitulation" xslt-file="cg-etat/etat-AnnexeI.xsl">
+
+ <element balise="PageRecapitulation" id="PageRecapitulation" searchable="false" max-display="500" titre="Page Récapitulation">
+ <path>/n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation</path>
+ <liste-resultat ordre="ASC,ASC,ASC" tri-defaut="lr1,lr2,lr3">
+ <champ id="lr1" exportable="true" datatype="integer" libelle="Exercice">
+ <valeur>n:Pied/@Exercice</valeur>
+ </champ>
+ <champ id="lr2" exportable="true" datatype="integer" libelle="NumPage">
+ <valeur>n:Pied/@NumPage</valeur>
+ </champ>
+ <champ id="lr3" exportable="true" datatype="string" libelle="Comptable">
+ <valeur>n:Pied/@Comptable</valeur>
+ </champ>
+ </liste-resultat>
+
+ <enfants>
+ <enfant element="LigneRecapitulation" path="n:LigneRecapitulation"/>
+ </enfants>
+
+ <critere id="CRI_RECAPITULATION_PAGE_EXERCICE" libelle="Exercice">
+ <path>{n:Pied/@Exercice##OPERATEUR:Exercice####VALEUR:Exercice##}</path>
+ <input id="Exercice" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_RECAPITULATION_PAGE_NUMPAGE" libelle="NumPage">
+ <path>{n:Pied/@NumPage##OPERATEUR:NumPage####VALEUR:NumPage##}</path>
+ <input id="NumPage" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_RECAPITULATION_PAGE_COMPTABLE" libelle="Comptable">
+ <path>{n:Pied/@Comptable##OPERATEUR:Comptable####VALEUR:Comptable##}</path>
+ <input id="Comptable" datatype="numeric"/>
+ </critere>
+ </element>
+
+ <element balise="LigneRecapitulation" id="LigneRecapitulation" max-display="500" titre="Annexe I Récapitulation">
+ <path>/n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation/n:LigneRecapitulation[@added:isSearchable]</path>
+
+ <liste-resultat ordre="ASC,ASC,ASC" tri-defaut="lr5,lr0,lr1">
+ <hidden name="xsl-param:numCompte">
+ <valeur>@NumCompte</valeur>
+ </hidden>
+ <hidden name="xsl-param:comptePEC">
+ <valeur>@ComptePEC</valeur>
+ </hidden>
+ <hidden name="xsl-param:ligneRecette">
+ <valeur>@LigneRecette</valeur>
+ </hidden>
+ <hidden name="xsl-param:generatedId">
+ <valeur>@added:generated-id</valeur>
+ </hidden>
+
+ <champ id="lr0" exportable="true" datatype="string" libelle="Exercice">
+ <valeur>../n:Pied/@Exercice</valeur>
+ </champ>
+ <champ id="lr1" exportable="true" datatype="string" libelle="Comptable">
+ <valeur>../n:Pied/@Comptable</valeur>
+ </champ>
+ <champ id="lr2" exportable="true" datatype="string" libelle="Nat. Prod.">
+ <valeur>@NatureProduit</valeur>
+ </champ>
+ <champ id="lr5" exportable="true" datatype="string" libelle="Lg Rec.">
+ <valeur>@LigneRecette</valeur>
+ </champ>
+ <champ id="lr3" exportable="true" datatype="string" libelle="Cpt de rec.">
+ <valeur>@NumCompte</valeur>
+ </champ>
+ <champ id="lr4" exportable="true" datatype="string" libelle="Cpt PEC">
+ <valeur>@ComptePEC</valeur>
+ </champ>
+ <champ id="lr6" exportable="true" datatype="amount" libelle="RAR 01/01">
+ <valeur>@RARDeb</valeur>
+ </champ>
+ <champ id="lr7" exportable="true" datatype="amount" libelle="Droits PEC">
+ <valeur>@Droits</valeur>
+ </champ>
+ <champ id="lr8" exportable="true" datatype="amount" libelle="Annul. PEC">
+ <valeur>@Annulations</valeur>
+ </champ>
+ <champ id="lr9" exportable="true" datatype="amount" libelle="Tot. Droits">
+ <valeur>@TotDroits</valeur>
+ </champ>
+ <champ id="lr10" exportable="true" datatype="amount" libelle="Recouvr. PEC">
+ <valeur>@Recouvrement</valeur>
+ </champ>
+ <champ id="lr11" exportable="true" datatype="amount" libelle="Rec. Comptant">
+ <valeur>@RecettesComptant</valeur>
+ </champ>
+ <champ id="lr12" exportable="true" datatype="amount" libelle="RAR 31/12">
+ <valeur>@RARFin</valeur>
+ </champ>
+ <champ id="lr13" exportable="true" datatype="amount" libelle="Tot. Rec. Budg.">
+ <valeur>@TotRecetteBudg</valeur>
+ </champ>
+ </liste-resultat>
+
+ <parent element="PageRecapitulation" path=".."/>
+
+ <critere id="CRI_RECAPITULATION_PAGE_EXERCICE" libelle="Exercice">
+ <path>{##OPERATEUR:Exercice##(../n:Pied/@Exercice,"##VALEUR:Exercice##")}</path>
+ <input id="Exercice" datatype="string"/>
+ </critere>
+ <critere id="CRI_RECAPITULATION_PAGE_COMPTABLE" libelle="Comptable">
+ <path>{##OPERATEUR:Comptable##(../n:Pied/@Comptable,"##VALEUR:Comptable##")}</path>
+ <input id="Comptable" help="/n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation/n:Pied/@Comptable" datatype="string"/>
+ </critere>
+ <critere id="show_totaux" libelle="Totaux/Sous Totaux">
+ <path>{@added:isNotShowResultat="0" or @added:isNotShowResultat="##VALEUR:show_totaux##"}</path>
+ <select id="show_totaux">
+ <option value="0">Sans</option>
+ <option value="1">Avec</option>
+ </select>
+ </critere>
+
+ <critere id="CRI_RECAPITULATION_LIGNE_NATUREPRODUIT" libelle="Nature Produit">
+ <path>{##OPERATEUR:NatureProduit##(upper-case(@NatureProduit),"##VALEUR:NatureProduit##")}</path>
+ <input id="NatureProduit" datatype="string" uppercase="true"/>
+ </critere>
+ <critere id="CRI_RECAPITULATION_LIGNE_LIGNERECETTE" libelle="Ligne Recette">
+ <path>{##OPERATEUR:LigneRecette##(@LigneRecette,"##VALEUR:LigneRecette##")}</path>
+ <input id="LigneRecette" datatype="string"/>
+ </critere>
+ <critere id="CRI_RECAPITULATION_LIGNE_NUMCOMPTE" libelle="Compte de recette">
+ <path>{##OPERATEUR:NumCompte##(@NumCompte,"##VALEUR:NumCompte##")}</path>
+ <input id="NumCompte" datatype="string"/>
+ </critere>
+ <critere id="CRI_RECAPITULATION_LIGNE_COMPTEPEC" libelle="Compte de PEC">
+ <path>{##OPERATEUR:ComptePEC##(@ComptePEC,"##VALEUR:ComptePEC##")}</path>
+ <input id="ComptePEC" datatype="string"/>
+ </critere>
+ <critere id="CRI_RECAPITULATION_LIGNE_RARDEB" libelle="RAR au 01/01">
+ <path>{@RARDeb##OPERATEUR:RARDeb####VALEUR:RARDeb##}</path>
+ <input id="RARDeb" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_RECAPITULATION_LIGNE_DROITS" libelle="Droits PEC">
+ <path>{@Droits##OPERATEUR:Droits####VALEUR:Droits##}</path>
+ <input id="Droits" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_RECAPITULATION_LIGNE_ANNULATIONS" libelle="Annulations PEC">
+ <path>{@Annulations##OPERATEUR:Annulations####VALEUR:Annulations##}</path>
+ <input id="Annulations" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_RECAPITULATION_LIGNE_TOTDROITS" libelle="Totalisations Droits">
+ <path>{@TotDroits##OPERATEUR:TotDroits####VALEUR:TotDroits##}</path>
+ <input id="TotDroits" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_RECAPITULATION_LIGNE_RECOUVREMENT" libelle="Recouvrement PEC">
+ <path>{@Recouvrement##OPERATEUR:Recouvrement####VALEUR:Recouvrement##}</path>
+ <input id="Recouvrement" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_RECAPITULATION_LIGNE_RECETTESCOMPTANT" libelle="Recettes au Comptant">
+ <path>{@RecettesComptant##OPERATEUR:RecettesComptant####VALEUR:RecettesComptant##}</path>
+ <input id="RecettesComptant" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_RECAPITULATION_LIGNE_RARFIN" libelle="RAR au 31/12">
+ <path>{@RARFin##OPERATEUR:RARFin####VALEUR:RARFin##}</path>
+ <input id="RARFin" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_RECAPITULATION_LIGNE_TOTRECETTEBUDG" libelle="Total Recettes Budgétaires">
+ <path>{@TotRecetteBudg##OPERATEUR:TotRecetteBudg####VALEUR:TotRecetteBudg##}</path>
+ <input id="TotRecetteBudg" datatype="numeric"/>
+ </critere>
+ </element>
+ </etat>
+
+ <!--***************************************************************************************************************-->
+ <!-- ***************************************** Reversement **************************************************** -->
+ <!--***************************************************************************************************************-->
+ <etat
+ balise="Reversement"
+ balise-namespace="http://www.xemelios.org/namespaces#cge"
+ id="Reversement" titre="Annexe I Reversement" exportable="true" use-external-browser="false" importable-element="PageReversement" xslt-file="cg-etat/etat-AnnexeI.xsl">
+
+ <element balise="PageReversement" id="PageReversement" max-display="500" searchable="false" titre="Page Reversement">
+ <path>/n:CompteGestionEtat/n:Reversement/n:PageReversement</path>
+
+ <liste-resultat ordre="ASC,ASC,ASC" tri-defaut="lr1,lr2,lr3">
+ <champ id="lr1" exportable="true" datatype="integer" libelle="Exercice">
+ <valeur>n:Pied/@Exercice</valeur>
+ </champ>
+ <champ id="lr2" exportable="true" datatype="integer" libelle="NumPage">
+ <valeur>n:Pied/@NumPage</valeur>
+ </champ>
+ <champ id="lr3" exportable="true" datatype="string" libelle="Comptable">
+ <valeur>n:Pied/@Comptable</valeur>
+ </champ>
+ </liste-resultat>
+
+ <enfants>
+ <enfant element="LigneReversement" path="n:LigneReversement"/>
+ </enfants>
+
+ <critere id="CRI_REVERSEMENT_PAGEREVERSEMENT_EXERCICE" libelle="Exercice">
+ <path>{n:Pied/@Exercice##OPERATEUR:Exercice####VALEUR:Exercice##}</path>
+ <input id="Exercice" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_REVERSEMENT_PAGEREVERSEMENT_NUMPAGE" libelle="NumPage">
+ <path>{n:Pied/@NumPage##OPERATEUR:NumPage####VALEUR:NumPage##}</path>
+ <input id="NumPage" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_REVERSEMENT_PAGEREVERSEMENT_COMPTABLE" libelle="Comptable">
+ <path>{n:Pied/@Comptable##OPERATEUR:Comptable####VALEUR:Comptable##}</path>
+ <input id="Comptable" datatype="numeric"/>
+ </critere>
+ </element>
+
+ <element balise="LigneReversement" id="LigneReversement" max-display="500" titre="Annexe I Reversement">
+ <path>/n:CompteGestionEtat/n:Reversement/n:PageReversement/n:LigneReversement[@added:isSearchable]</path>
+
+ <liste-resultat ordre="ASC,ASC,ASC" tri-defaut="lr5,lr0,lr1">
+ <hidden name="xsl-param:numCompte">
+ <valeur>@NumCompte</valeur>
+ </hidden>
+ <hidden name="xsl-param:comptePEC">
+ <valeur>@ComptePEC</valeur>
+ </hidden>
+ <hidden name="xsl-param:ligneRecette">
+ <valeur>@LigneRecette</valeur>
+ </hidden>
+ <hidden name="xsl-param:generatedId">
+ <valeur>@added:generated-id</valeur>
+ </hidden>
+
+
+ <champ id="lr0" exportable="true" datatype="string" libelle="Exercice">
+ <valeur>../n:Pied/@Exercice</valeur>
+ </champ>
+ <champ id="lr1" exportable="true" datatype="string" libelle="Comptable">
+ <valeur>../n:Pied/@Comptable</valeur>
+ </champ>
+ <champ id="lr2" exportable="true" datatype="string" libelle="Nat. Prod.">
+ <valeur>@NatureProduit</valeur>
+ </champ>
+ <champ id="lr5" exportable="true" datatype="string" libelle="Lg Rec.">
+ <valeur>@LigneRecette</valeur>
+ </champ>
+ <champ id="lr3" exportable="true" datatype="string" libelle="Cpt de rec.">
+ <valeur>@NumCompte</valeur>
+ </champ>
+ <champ id="lr4" exportable="true" datatype="string" libelle="Cpt PEC">
+ <valeur>@ComptePEC</valeur>
+ </champ>
+ <champ id="lr6" exportable="true" datatype="amount" libelle="RAR 01/01">
+ <valeur>@RARDeb</valeur>
+ </champ>
+ <champ id="lr7" exportable="true" datatype="amount" libelle="Droits PEC">
+ <valeur>@Droits</valeur>
+ </champ>
+ <champ id="lr8" exportable="true" datatype="amount" libelle="Annul. PEC">
+ <valeur>@Annulations</valeur>
+ </champ>
+ <champ id="lr9" exportable="true" datatype="amount" libelle="Tot. Droits">
+ <valeur>@TotDroits</valeur>
+ </champ>
+ <champ id="lr10" exportable="true" datatype="amount" libelle="Recouvr. PEC">
+ <valeur>@Recouvrement</valeur>
+ </champ>
+ <champ id="lr11" exportable="true" datatype="amount" libelle="Rec. Comptant">
+ <valeur>@RecettesComptant</valeur>
+ </champ>
+ <champ id="lr12" exportable="true" datatype="amount" libelle="RAR 31/12">
+ <valeur>@RARFin</valeur>
+ </champ>
+ <champ id="lr13" exportable="true" datatype="amount" libelle="Tot. Rec. Budg.">
+ <valeur>@TotRecetteBudg</valeur>
+ </champ>
+ </liste-resultat>
+
+ <parent element="PageReversement" path=".."/>
+
+
+ <critere id="CRI_REVERSEMENT_PAGE_EXERCICE" libelle="Exercice">
+ <path>{##OPERATEUR:Exercice##(../n:Pied/@Exercice,"##VALEUR:Exercice##")}</path>
+ <input id="Exercice" datatype="string"/>
+ </critere>
+ <critere id="CRI_REVERSEMENT_PAGE_COMPTABLE" libelle="Comptable">
+ <path>{##OPERATEUR:Comptable##(../n:Pied/@Comptable,"##VALEUR:Comptable##")}</path>
+ <input id="Comptable" help="/n:CompteGestionEtat/n:Reversement/n:PageReversement/n:Pied/@Comptable" datatype="string"/>
+ </critere>
+ <critere id="show_totaux" libelle="Totaux/Sous Totaux">
+ <path>{@added:isNotShowResultat="0" or @added:isNotShowResultat="##VALEUR:show_totaux##"}</path>
+ <select id="show_totaux">
+ <option value="0">Sans</option>
+ <option value="1">Avec</option>
+ </select>
+ </critere>
+
+
+ <critere id="CRI_REVERSEMENT_LIGNE_NATUREPRODUIT" libelle="Nature Produit">
+ <path>{##OPERATEUR:NatureProduit##(upper-case(@NatureProduit),"##VALEUR:NatureProduit##")}</path>
+ <input id="NatureProduit" datatype="string" uppercase="true"/>
+ </critere>
+ <critere id="CRI_REVERSEMENT_LIGNE_LIGNERECETTE" libelle="Ligne Recette">
+ <path>{##OPERATEUR:LigneRecette##(@LigneRecette,"##VALEUR:LigneRecette##")}</path>
+ <input id="LigneRecette" datatype="string"/>
+ </critere>
+ <critere id="CRI_REVERSEMENT_LIGNE_NUMCOMPTE" libelle="Compte de recette">
+ <path>{##OPERATEUR:NumCompte##(@NumCompte,"##VALEUR:NumCompte##")}</path>
+ <input id="NumCompte" datatype="string"/>
+ </critere>
+ <critere id="CRI_REVERSEMENT_LIGNE_COMPTEPEC" libelle="Compte de PEC">
+ <path>{##OPERATEUR:ComptePEC##(@ComptePEC,"##VALEUR:ComptePEC##")}</path>
+ <input id="ComptePEC" datatype="string"/>
+ </critere>
+ <critere id="CRI_REVERSEMENT_LIGNE_RARDEB" libelle="RAR au 01/01">
+ <path>{@RARDeb##OPERATEUR:RARDeb####VALEUR:RARDeb##}</path>
+ <input id="RARDeb" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_REVERSEMENT_LIGNE_DROITS" libelle="Droits PEC">
+ <path>{@Droits##OPERATEUR:Droits####VALEUR:Droits##}</path>
+ <input id="Droits" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_REVERSEMENT_LIGNE_ANNULATIONS" libelle="Annulations PEC">
+ <path>{@Annulations##OPERATEUR:Annulations####VALEUR:Annulations##}</path>
+ <input id="Annulations" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_REVERSEMENT_LIGNE_TOTDROITS" libelle="Totalisations Droits">
+ <path>{@TotDroits##OPERATEUR:TotDroits####VALEUR:TotDroits##}</path>
+ <input id="TotDroits" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_REVERSEMENT_LIGNE_RECOUVREMENT" libelle="Recouvrement PEC">
+ <path>{@Recouvrement##OPERATEUR:Recouvrement####VALEUR:Recouvrement##}</path>
+ <input id="Recouvrement" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_REVERSEMENT_LIGNE_RECETTESCOMPTANT" libelle="Recettes au Comptant">
+ <path>{@RecettesComptant##OPERATEUR:RecettesComptant####VALEUR:RecettesComptant##}</path>
+ <input id="RecettesComptant" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_REVERSEMENT_LIGNE_RARFIN" libelle="RAR au 31/12">
+ <path>{@RARFin##OPERATEUR:RARFin####VALEUR:RARFin##}</path>
+ <input id="RARFin" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_REVERSEMENT_LIGNE_TOTRECETTEBUDG" libelle="Total Recettes Budgétaires">
+ <path>{@TotRecetteBudg##OPERATEUR:TotRecetteBudg####VALEUR:TotRecetteBudg##}</path>
+ <input id="TotRecetteBudg" datatype="numeric"/>
+ </critere>
+ </element>
+ </etat>
+
+
+ <!--***************************************************************************************************************-->
+ <!-- **************************************** Développements des Dépenses **************************************** -->
+ <!--***************************************************************************************************************-->
+ <etat
+ balise="DeveloppementDepense"
+ balise-namespace="http://www.xemelios.org/namespaces#cge"
+ id="DeveloppementDepense" titre="Annexe II Développement des Dépenses" exportable="true" multi-page="true" use-external-browser="false" importable-element="PageDeveloppementDepense" xslt-file="cg-etat/etat-DeveloppementDepense.xsl">
+
+ <element balise="PageDeveloppementDepense" id="PageDeveloppementDepense" max-display="500" searchable="false" titre="Page Developpement Depense">
+ <path>/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense</path>
+
+ <liste-resultat ordre="ASC,ASC,ASC" tri-defaut="lr1,lr2,lr3">
+
+ <champ id="lr1" exportable="true" datatype="integer" libelle="Exercice">
+ <valeur>n:Pied/@Exercice</valeur>
+ </champ>
+ <champ id="lr2" exportable="true" datatype="integer" libelle="NumPage">
+ <valeur>n:Pied/@NumPage</valeur>
+ </champ>
+ <champ id="lr3" exportable="true" datatype="string" libelle="Comptable">
+ <valeur>n:Pied/@Comptable</valeur>
+ </champ>
+
+ <champ id="lr4" exportable="true" libelle="Lib. Col. 0">
+ <valeur>n:LigneEnteteDeveloppementDepense/@LibCol0</valeur>
+ </champ>
+ <champ id="lr5" exportable="true" libelle="Lib. Col. 1">
+ <valeur>n:LigneEnteteDeveloppementDepense/@LibCol1</valeur>
+ </champ>
+ <champ id="lr6" exportable="true" libelle="Lib. Col. 2">
+ <valeur>n:LigneEnteteDeveloppementDepense/@LibCol2</valeur>
+ </champ>
+ <champ id="lr7" exportable="true" libelle="Lib. Col. 3">
+ <valeur>n:LigneEnteteDeveloppementDepense/@LibCol3</valeur>
+ </champ>
+ <champ id="lr8" exportable="true" libelle="Lib. Col. 4">
+ <valeur>n:LigneEnteteDeveloppementDepense/@LibCol4</valeur>
+ </champ>
+ <champ id="lr9" exportable="true" libelle="Lib. Col. 5">
+ <valeur>n:LigneEnteteDeveloppementDepense/@LibCol5</valeur>
+ </champ>
+ <champ id="lr10" exportable="true" libelle="Lib. Col. 6">
+ <valeur>n:LigneEnteteDeveloppementDepense/@LibCol6</valeur>
+ </champ>
+ <champ id="lr11" exportable="true" libelle="Lib. Col. 7">
+ <valeur>n:LigneEnteteDeveloppementDepense/@LibCol7</valeur>
+ </champ>
+ </liste-resultat>
+
+ <enfants>
+ <enfant element="LigneDeveloppementDepense" path="n:LigneDeveloppementDepense"/>
+ </enfants>
+
+ <critere id="CRI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL7" libelle="Lib. Col. 7">
+ <path>{##OPERATEUR:LibCol7##(upper-case(n:LigneEnteteDeveloppementDepense/@LibCol7),"##VALEUR:LibCol7##")}</path>
+ <input id="LibCol7" datatype="string" uppercase="true"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENT_DEPENSE_PAGE_COMPTABLE" libelle="Comptable">
+ <path>{n:Pied/@Comptable##OPERATEUR:Comptable####VALEUR:Comptable##}</path>
+ <input id="Comptable" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL6" libelle="Lib. Col. 6">
+ <path>{##OPERATEUR:LibCol6##(upper-case(n:LigneEnteteDeveloppementDepense/@LibCol6),"##VALEUR:LibCol6##")}</path>
+ <input id="LibCol6" datatype="string" uppercase="true"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL5" libelle="Lib. Col. 5">
+ <path>{##OPERATEUR:LibCol5##(upper-case(n:LigneEnteteDeveloppementDepense/@LibCol5),"##VALEUR:LibCol5##")}</path>
+ <input id="LibCol5" datatype="string" uppercase="true"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENT_DEPENSE_PAGE_NUMPAGE" libelle="NumPage">
+ <path>{n:Pied/@NumPage##OPERATEUR:NumPage####VALEUR:NumPage##}</path>
+ <input id="NumPage" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL4" libelle="Lib. Col. 4">
+ <path>{##OPERATEUR:LibCol4##(upper-case(n:LigneEnteteDeveloppementDepense/@LibCol4),"##VALEUR:LibCol4##")}</path>
+ <input id="LibCol4" datatype="string" uppercase="true"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL3" libelle="Lib. Col. 3">
+ <path>{##OPERATEUR:LibCol3##(upper-case(n:LigneEnteteDeveloppementDepense/@LibCol3),"##VALEUR:LibCol3##")}</path>
+ <input id="LibCol3" datatype="string" uppercase="true"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL2" libelle="Lib. Col. 2">
+ <path>{##OPERATEUR:LibCol2##(upper-case(n:LigneEnteteDeveloppementDepense/@LibCol2),"##VALEUR:LibCol2##")}</path>
+ <input id="LibCol2" datatype="string" uppercase="true"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL1" libelle="Lib. Col. 1">
+ <path>{##OPERATEUR:LibCol1##(upper-case(n:LigneEnteteDeveloppementDepense/@LibCol1),"##VALEUR:LibCol1##")}</path>
+ <input id="LibCol1" datatype="string" uppercase="true"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENT_DEPENSE_PAGE_EXERCICE" libelle="Exercice">
+ <path>{n:Pied/@Exercice##OPERATEUR:Exercice####VALEUR:Exercice##}</path>
+ <input id="Exercice" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL0" libelle="Lib. Col. 0">
+ <path>{##OPERATEUR:LibCol0##(upper-case(n:LigneEnteteDeveloppementDepense/@LibCol0),"##VALEUR:LibCol0##")}</path>
+ <input id="LibCol0" datatype="string" uppercase="true"/>
+ </critere>
+ </element>
+
+ <element balise="LigneDeveloppementDepense" id="LigneDeveloppementDepense" max-display="500" titre="Annexe II Développement des Dépenses">
+ <path>/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:LigneDeveloppementDepense</path>
+
+ <liste-resultat ordre="ASC,ASC,ASC,ASC,ASC,ASC" tri-defaut="lr2,lr0,lr1,lr3,lr4,lr5">
+ <hidden name="xsl-param:numCompte">
+ <valeur>@NumCompte</valeur>
+ </hidden>
+ <hidden name="xsl-param:ministere">
+ <valeur>@Ministere</valeur>
+ </hidden>
+ <hidden name="xsl-param:programme">
+ <valeur>@Programme</valeur>
+ </hidden>
+ <hidden name="xsl-param:article">
+ <valeur>@ArticleExec</valeur>
+ </hidden>
+ <hidden name="xsl-param:generatedId">
+ <valeur>@added:generated-id</valeur>
+ </hidden>
+
+ <champ id="lr0" exportable="true" datatype="string" libelle="Exercice">
+ <valeur>../n:Pied/@Exercice</valeur>
+ </champ>
+ <champ id="lr1" exportable="true" datatype="string" libelle="Comptable">
+ <valeur>@Comptable</valeur>
+ </champ>
+ <champ id="lr2" exportable="true" datatype="string" libelle="Num. Compte">
+ <valeur>@NumCompte</valeur>
+ </champ>
+ <champ id="lr3" exportable="true" datatype="string" libelle="Ministère">
+ <valeur>@Ministere</valeur>
+ </champ>
+ <champ id="lr4" exportable="true" datatype="string" libelle="Programme">
+ <valeur>@Programme</valeur>
+ </champ>
+ <champ id="lr5" exportable="true" datatype="string" libelle="Article Execution">
+ <valeur>@ArticleExec</valeur>
+ </champ>
+ <champ id="lr6" exportable="true" datatype="amount" libelle="Mt Debit">
+ <valeur>@MtDebit</valeur>
+ </champ>
+ <champ id="lr7" exportable="true" datatype="string" libelle="Lib. Comptable">
+ <valeur>@LibelleComptable</valeur>
+ </champ>
+ <champ id="lr8" exportable="true" datatype="string" libelle="Lib. Dpt">
+ <valeur>@LibelleDpt</valeur>
+ </champ>
+ </liste-resultat>
+
+ <parent element="PageDeveloppementDepense" path=".."/>
+
+ <critere id="CRI_DEVELOPPEMENT_DEPENSE_EXERCICE" libelle="Exercice">
+ <path>{##OPERATEUR:Exercice##(../n:Pied/@Exercice,"##VALEUR:Exercice##")}</path>
+ <input id="Exercice" datatype="string" help="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:Pied/@Exercice"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENT_DEPENSE_LIGNE_COMPTABLE" libelle="Comptable">
+ <path>{##OPERATEUR:Comptable##(../n:Pied/@Comptable,"##VALEUR:Comptable##")}</path>
+ <input id="Comptable" help="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:Pied/@Comptable" datatype="string"/>
+ </critere>
+ <critere id="show_totaux" libelle="Totaux/Sous Totaux">
+ <path>{@added:isNotShowResultat="0" or @added:isNotShowResultat="##VALEUR:show_totaux##"}</path>
+ <select id="show_totaux">
+ <option value="0">Sans</option>
+ <option value="1">Avec</option>
+ </select>
+ </critere>
+
+ <critere id="CRI_DEVELOPPEMENT_DEPENSE_LIGNE_NUMCOMPTE" libelle="Numéro Compte">
+ <path>{##OPERATEUR:NumCompte##(@NumCompte,"##VALEUR:NumCompte##")}</path>
+ <input id="NumCompte" datatype="string"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENT_DEPENSE_LIGNE_MINISTERE" libelle="Ministère">
+ <path>{##OPERATEUR:Ministere##(upper-case(@Ministere),"##VALEUR:Ministere##")}</path>
+ <input id="Ministere" help="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:LigneDeveloppementDepense/@Ministere" datatype="string" uppercase="true"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENT_DEPENSE_LIGNE_PROGRAMME" libelle="Programme">
+ <path>{@Programme##OPERATEUR:Programme####VALEUR:Programme##}</path>
+ <input id="Programme" help="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:LigneDeveloppementDepense/@Programme" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENT_DEPENSE_LIGNE_ARTICLEEXEC" libelle="Article d'éxecution">
+ <path>{@ArticleExec##OPERATEUR:ArticleExec####VALEUR:ArticleExec##}</path>
+ <input id="ArticleExec" help="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:LigneDeveloppementDepense/@ArticleExec" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENT_DEPENSE_LIGNE_MTDEBIT" libelle="Montant Dépense">
+ <path>{@MtDebit##OPERATEUR:MtDebit####VALEUR:MtDebit##}</path>
+ <input id="MtDebit" datatype="numeric"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENT_DEPENSE_LIGNE_LIBELLECOMPTABLE" libelle="Libellé Comptable">
+ <path>{##OPERATEUR:LibelleComptable##(upper-case(@LibelleComptable),"##VALEUR:LibelleComptable##")}</path>
+ <input id="LibelleComptable" datatype="string" uppercase="true"/>
+ </critere>
+ <critere id="CRI_DEVELOPPEMENT_DEPENSE_LIGNE_LIBELLEDPT" libelle="Libellé Département">
+ <path>{##OPERATEUR:LibelleDpt##(upper-case(@LibelleDpt),"##VALEUR:LibelleDpt##")}</path>
+ <input id="LibelleDpt" datatype="string" uppercase="true"/>
+ </critere>
+ </element>
+ </etat>
+ </document>
+</documents>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE xsl:stylesheet [
+<!ENTITY nbsp " ">
+<!ENTITY egrave "è">
+<!ENTITY euro "€">
+<!ENTITY agrave "à">
+<!ENTITY eacute "é">
+]><!-- xmlns="http://www.xemelios.org/namespaces#cge" -->
+<xsl:transform
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:n="http://www.xemelios.org/namespaces#cge"
+ xmlns:added="http://www.xemelios.org/namespaces#added"
+ version="2.0"
+ exclude-result-prefixes="added n xsl">
+ <xsl:character-map name="accents">
+ <xsl:output-character character="à" string="&#224;"/>
+ <xsl:output-character character="é" string="&#233;"/>
+ <xsl:output-character character="è" string="&#232;"/>
+ <xsl:output-character character="ê" string="&#234;"/>
+ <xsl:output-character character="ë" string="&#235;"/>
+ <xsl:output-character character="î" string="&#238;"/>
+ <xsl:output-character character="ï" string="&#239;"/>
+ <xsl:output-character character="ô" string="&#244;"/>
+ <xsl:output-character character="ù" string="&#249;"/>
+ </xsl:character-map>
+
+ <xsl:decimal-format name="decformat" decimal-separator="," grouping-separator=" " digit="#" pattern-separator=";" NaN="NaN" minus-sign="-"/>
+
+ <!-- Inclusion des XSL externes -->
+ <xsl:include href="./common-xsl/Style.xsl"/>
+ <xsl:include href="./common-xsl/Error.xsl"/>
+ <xsl:include href="./common-xsl/Navigate.xsl"/>
+ <xsl:include href="./common-xsl/Header.xsl"/>
+ <xsl:include href="./common-xsl/Number.xsl"/>
+
+ <!-- Paramètres d'entrée -->
+ <xsl:param name="show.formulaire"/>
+ <xsl:param name="browser-destination"/>
+
+ <!-- Paramètres Web -->
+ <xsl:param name="is.web">-1</xsl:param>
+ <xsl:param name="context.path"/>
+
+ <!-- Paramètres d'entrée de la liste de résultat -->
+ <xsl:param name="libPoste">0</xsl:param>
+
+ <!-- Paramètres d'erreur -->
+ <xsl:param name="error.message">nomessage</xsl:param>
+
+ <!-- Paramètres d'entrée de la liste de résultat -->
+ <xsl:param name="numCompte">0</xsl:param>
+ <xsl:param name="ministere">0</xsl:param>
+ <xsl:param name="programme">0</xsl:param>
+ <xsl:param name="article">0</xsl:param>
+
+ <!-- Variables -->
+ <xsl:variable name="page-format" select="paysage"/>
+ <xsl:variable name="NumPage" select="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:Pied/@NumPage"/>
+ <xsl:variable name="LastPage" select="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/@added:LastPage"/>
+ <xsl:variable name="isLastPage" select="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/@added:isLastPage"/>
+ <xsl:variable name="Entete">
+ <xsl:copy-of select="/n:CompteGestionEtat/n:Entete"/>
+ </xsl:variable>
+
+ <xsl:output method="xhtml" indent="yes" use-character-maps="accents" encoding="ISO-8859-1"/>
+
+ <!-- pour eviter les sorties parasites de tags non matches -->
+ <xsl:template match="*"/>
+
+ <xsl:template match="/n:CompteGestionEtat">
+ <html>
+ <head>
+ <title>Développement des dépenses budgétaires par ministère et programme</title>
+ <xsl:call-template name="style"/>
+ </head>
+ <body>
+ <xsl:if test="$error.message!='nomessage'">
+ <xsl:attribute name="onload">javascript:showDialog('<xsl:value-of select="$error.message"/>');</xsl:attribute>
+ </xsl:if>
+ <xsl:call-template name="Error"><!--xsl:with-param name="error.message" select="$error.message"/--></xsl:call-template>
+ <xsl:call-template name="navigate">
+ <xsl:with-param name="docId">compteGestionEtat</xsl:with-param>
+ <xsl:with-param name="etatId">DeveloppementDepense</xsl:with-param>
+ <xsl:with-param name="elementId">PageDeveloppementDepense</xsl:with-param>
+ <xsl:with-param name="sous.elementId">LigneDeveloppementDepense</xsl:with-param>
+ <xsl:with-param name="NumPage" select="$NumPage"/>
+ <xsl:with-param name="LastPage" select="$LastPage"/>
+ <xsl:with-param name="isLastPage" select="$isLastPage"/>
+ <xsl:with-param name="Entete" select="$Entete"/>
+ <xsl:with-param name="show.formulaire" select="$show.formulaire"/>
+ <xsl:with-param name="show.formulaire.compte" select="1"/>
+ <xsl:with-param name="show.depense.recette" select="0"/>
+ <xsl:with-param name="is.web" select="$is.web"/>
+ <xsl:with-param name="context.path" select="$context.path"/>
+ </xsl:call-template>
+ <xsl:call-template name="header" >
+ <xsl:with-param name="Entete" select="$Entete"/>
+ <xsl:with-param name="Titre">Développement des dépenses budgétaires par ministère et programme</xsl:with-param>
+ </xsl:call-template>
+ <xsl:call-template name="mainTable">
+ <xsl:with-param name="el" select="n:DeveloppementDepense/n:PageDeveloppementDepense"/>
+ </xsl:call-template>
+ <p>
+ <center>Page <xsl:choose><xsl:when test="$LastPage and string-length($LastPage) > 0"><xsl:value-of select="$NumPage"/> / <xsl:value-of select="$LastPage"/></xsl:when><xsl:otherwise>- <xsl:value-of select="$NumPage"/></xsl:otherwise></xsl:choose></center>
+ </p>
+ <xsl:call-template name="navigate">
+ <xsl:with-param name="docId">compteGestionEtat</xsl:with-param>
+ <xsl:with-param name="etatId">DeveloppementDepense</xsl:with-param>
+ <xsl:with-param name="elementId">PageDeveloppementDepense</xsl:with-param>
+ <xsl:with-param name="sous.elementId">LigneDeveloppementDepense</xsl:with-param>
+ <xsl:with-param name="NumPage" select="$NumPage"/>
+ <xsl:with-param name="LastPage" select="$LastPage"/>
+ <xsl:with-param name="isLastPage" select="$isLastPage"/>
+ <xsl:with-param name="Entete" select="$Entete"/>
+ <xsl:with-param name="show.formulaire" select="$show.formulaire"/>
+ <xsl:with-param name="show.formulaire.compte" select="1"/>
+ <xsl:with-param name="show.depense.recette" select="0"/>
+ <xsl:with-param name="ancre">#footer</xsl:with-param>
+ <xsl:with-param name="display.logos.entete">0</xsl:with-param>
+ <xsl:with-param name="is.web" select="$is.web"/>
+ <xsl:with-param name="context.path" select="$context.path"/>
+ </xsl:call-template>
+ <p id="footer"/>
+ </body>
+ </html>
+ </xsl:template>
+
+ <xsl:template name="mainTable">
+ <xsl:param name="el"/>
+ <table width="100%" class="bordered" id="main">
+ <colgroup>
+ <col width="20%"/>
+ <col width="25%"/>
+ <col width="10%"/>
+ <col width="20%"/>
+ <col width="10%"/>
+ <col width="15%"/>
+ </colgroup>
+ <thead>
+ <tr class="titre">
+ <td class="titre2 center bold bordered">Comptes</td>
+ <td class="titre2 center bold bordered">Montant OAD</td>
+ <td class="titre2 center bold bordered">Ministère</td>
+ <td class="titre2 center bold bordered">Programmes</td>
+ <td class="titre2 center bold bordered">Article<br/>exécution</td>
+ <td class="titre2 center bold bordered">Dépenses admises</td>
+ </tr>
+ </thead>
+ <tbody>
+ <xsl:variable name="nums.comptes" select="distinct-values($el/n:LigneDeveloppementDepense/@NumCompte)"/>
+ <xsl:for-each select="$nums.comptes">
+ <xsl:sort select="."/>
+ <xsl:variable name="this.compte" select="."/>
+ <xsl:variable name="lignes.this.compte" select="$el/n:LigneDeveloppementDepense[@NumCompte=$this.compte]"/>
+ <xsl:variable name="nb.lignes.this.compte" select="count($lignes.this.compte)"/>
+
+ <xsl:variable name="ministeres.lignes.this.compte" select="distinct-values($lignes.this.compte/@Ministere)"/>
+
+ <xsl:variable name="min.ministere" select="min($lignes.this.compte/@Ministere)"/>
+ <xsl:variable name="min.ministere.lignes" select="$lignes.this.compte[number(@Ministere)=$min.ministere]"/>
+
+ <xsl:variable name="min.article.ministere.lignes" select="min($min.ministere.lignes/@ArticleExec)"/>
+
+ <xsl:variable name="first" select="$min.ministere.lignes[1]/@added:generated-id"/>
+
+
+ <xsl:variable name="position.compte" select="position()"/>
+
+
+ <tr class="mask">
+ <td class="titre center bold bordered">
+ <xsl:attribute name="rowspan" select="$nb.lignes.this.compte"/>
+ <h3 style="color: black;"><xsl:value-of select="."/></h3>
+ </td>
+ <td colspan="5"> </td>
+ </tr>
+ <xsl:for-each select="$ministeres.lignes.this.compte">
+ <xsl:sort select="." data-type="text"/>
+ <xsl:variable name="this.ministere" select="."/>
+ <xsl:variable name="lignes.this.ministere" select="$lignes.this.compte[@Ministere=$this.ministere]"/>
+
+ <xsl:variable name="position.ministere" select="position()"/>
+
+ <xsl:variable name="programme.this.ministeres.lignes.this.compte" select="distinct-values($lignes.this.ministere/@Programme)"/>
+
+ <xsl:for-each select="$programme.this.ministeres.lignes.this.compte">
+ <xsl:sort select="."/>
+ <xsl:variable name="this.programme" select="."/>
+ <xsl:variable name="lignes.this.programme" select="$lignes.this.ministere[@Programme=$this.programme]"/>
+
+ <xsl:for-each select="$lignes.this.programme[string-length(@ArticleExec) > 0]">
+ <xsl:sort select="@ArticleExec" data-type="text"/>
+ <xsl:variable name="articleExec" select="@ArticleExec"/>
+ <xsl:variable name="position.programme" select="position()"/>
+ <tr>
+ <xsl:choose>
+ <xsl:when test="$numCompte != '0' and @NumCompte=$numCompte and $this.ministere=$ministere and $this.programme=$programme and $articleExec=$article">
+ <xsl:attribute name="id">highlighted</xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="(position() mod 2) = 0">
+ <xsl:attribute name="id">colorised3</xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="id">colorised2</xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="@MtDebit"><xsl:attribute name="class">NotTotal</xsl:attribute></xsl:when>
+ </xsl:choose>
+
+ <td class="montant bordered"><xsl:call-template name="number"><xsl:with-param name="num" select="@MtDebit"/></xsl:call-template> €</td>
+ <td class="bordered center"><xsl:value-of select="$this.ministere"/></td>
+ <xsl:if test="$position.programme eq 1">
+ <td class="bordered center">
+ <xsl:attribute name="rowspan" select="count($lignes.this.programme) - 1"/>
+ <xsl:value-of select="$this.programme"/>
+ </td>
+ </xsl:if>
+ <td class="bordered center"><xsl:value-of select="@ArticleExec"/></td>
+ <!--td class="montant bordered"><xsl:call-template name="number"><xsl:with-param name="num" select="@MtDebit"/></xsl:call-template> €</td-->
+ <xsl:element name="a">
+ <xsl:attribute name="href">
+ <xsl:text disable-output-escaping="yes">xemelios:/customLink?srcDocId=compteGestionEtat&srcEtatId=DeveloppementDepense&srcElementId=PageDeveloppementDepense&srcCollectivite=</xsl:text><xsl:value-of select="$Entete//n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes">&srcBudget=</xsl:text><xsl:value-of select="$Entete//n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes">&sp1=</xsl:text><xsl:value-of select="$Entete//n:Collectivite/@Exercice"/>
+ <xsl:text disable-output-escaping="yes">&comptable=</xsl:text><xsl:value-of select="$Entete//n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes">&ministere=</xsl:text><xsl:value-of select="$this.ministere"/>
+ <xsl:text disable-output-escaping="yes">&programme=</xsl:text><xsl:value-of select="$this.programme"/>
+ <xsl:text disable-output-escaping="yes">&articleExec=</xsl:text><xsl:value-of select="@ArticleExec"/>
+ </xsl:attribute>
+ <xsl:call-template name="number"><xsl:with-param name="num" select="@MtDebit"/></xsl:call-template> €</xsl:element>
+ </tr>
+ </xsl:for-each>
+ <xsl:variable name="ligne.total.this.programme" select="$lignes.this.programme[string-length(@ArticleExec) eq 0]"/>
+ <tr>
+ <!--td class="libelleLigne bold bordered"> <xsl:value-of select="$this.compte"/></td-->
+ <td class="bold bordered center totalAnnexeII" colspan="4">Total Programme <xsl:value-of select="$this.programme"/></td>
+ <td class="montant bold bordered totalAnnexeII"><xsl:call-template name="number"><xsl:with-param name="num" select="$ligne.total.this.programme/@MtDebit"/></xsl:call-template> €</td>
+ </tr>
+ </xsl:for-each>
+ </xsl:for-each>
+ <xsl:variable name="ligne.total.this.compte" select="$lignes.this.compte[string-length(@Ministere) eq 0]"/>
+ <tr>
+ <td class="bold totalAnnexeII1 bordered right">Total du compte <xsl:value-of select="$this.compte"/></td>
+ <td class="montant bold bordered totalAnnexeII1"><xsl:call-template name="number"><xsl:with-param name="num" select="$ligne.total.this.compte/@MtDebit"/></xsl:call-template> €</td>
+ <td class="montant bold bordered totalAnnexeII1" colspan="4"><xsl:call-template name="number"><xsl:with-param name="num" select="$ligne.total.this.compte/@MtDebit"/></xsl:call-template> €</td>
+ </tr>
+ </xsl:for-each>
+ </tbody>
+ </table>
+ </xsl:template>
+
+</xsl:transform>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<Editions>
+ <Comptes Edition="CG14">
+ <Compte Numero="40171" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="40172" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="403" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="40471" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="40472" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="405" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="408" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4091" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4098" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4181" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4182" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="419" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="425" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="427" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4286" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4287" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="429" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4386" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4387" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4486" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4487" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4631" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4642" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4643" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4648" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="465" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="466" Debit="" Credit="LivreAuxiliaire" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4673" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4686" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4687" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4711" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4712" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="47131" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="47132" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="47133" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="47134" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="47138" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="47141" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="47142" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4715" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4718" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="47211" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="47218" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4722" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4725" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4727" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4728" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="486" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="487" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="51172" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="51175" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="51176" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="51178" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="5186" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="5187" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="5191" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="5411" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="5412" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="5428" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="5511" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="5512" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="552" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="553" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="558" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="580" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="584" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="588" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4011" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="4041" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="421" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="4311" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="4312" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="4313" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="4318" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="437" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="442" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="44311" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="44321" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="44331" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="44341" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="44351" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="44361" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="44371" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="44381" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="447" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="4632" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="4633" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="4671" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="40971" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="40976" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4111" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4116" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4121" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4126" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4141" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4146" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4151" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4156" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="416" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4411" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4416" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44312" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44316" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44322" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44326" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44332" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44336" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44342" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44346" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44352" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44356" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44362" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44366" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44372" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44376" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44382" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44386" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4551" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4621" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4626" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="46721" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="46726" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4751" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4071" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="4074" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="417" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="4452" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="44551" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="44558" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="44562" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="44566" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="44567" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="44568" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="44571" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="44578" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="44581" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="44583" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="445884" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="445885" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="445886" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="445888" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="4557" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="45581" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="45582" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="45591" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="45592" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="461" Debit="LivreAuxiliaire" Credit="LivreAuxiliaire" Solde="LivreAuxiliaire"/>
+ <Compte Numero="4641" Debit="LivreAuxiliaire" Credit="LivreAuxiliaire" Solde="LivreAuxiliaire"/>
+ <Compte Numero="46771" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="46772" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="4757" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="4758" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="4759" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="47611" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="47612" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="47621" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="47622" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="4768" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="47711" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="47712" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="47721" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="47722" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="4778" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="4784" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="4788" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="5192" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="51931" Debit="LivreAuxiliaire" Credit="LivreAuxiliaire" Solde="LivreAuxiliaire"/>
+ <Compte Numero="51932" Debit="LivreAuxiliaire" Credit="LivreAuxiliaire" Solde="LivreAuxiliaire"/>
+ <Compte Numero="5194" Debit="LivreAuxiliaire" Credit="LivreAuxiliaire" Solde="LivreAuxiliaire"/>
+ <Compte Numero="5198" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="5421" Debit="LivreAuxiliaire" Credit="LivreAuxiliaire" Solde="LivreAuxiliaire"/>
+ </Comptes>
+ <Comptes Edition="CG22">
+ <Compte Numero="40171" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="40172" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="403" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="40471" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="40472" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="405" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="408" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4091" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4098" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4181" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4182" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="419" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="425" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="427" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4286" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4287" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="429" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4386" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4387" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4486" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4487" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4631" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4642" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4643" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4648" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="465" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="466" Debit="" Credit="LivreAuxiliaire" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4673" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4686" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4687" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4711" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4712" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="47131" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="47132" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="47133" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="47134" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="47138" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="47141" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="47142" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4715" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4718" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="47211" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="47218" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4722" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4725" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4727" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4728" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="486" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="487" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="51172" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="51175" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="51176" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="51178" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="5186" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="5187" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="5191" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="5411" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="5412" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="5428" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="5511" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="5512" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="552" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="553" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="558" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="580" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="584" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="588" Debit="" Credit="" Solde="DeveloppementSoldes"/>
+ <Compte Numero="4011" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="4041" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="421" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="4311" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="4312" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="4313" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="4318" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="437" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="442" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="44311" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="44321" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="44331" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="44341" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="44351" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="44361" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="44371" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="44381" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="447" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="4632" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="4633" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="4671" Debit="" Credit="" Solde="ERAP"/>
+ <Compte Numero="40971" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="40976" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4111" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4116" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4121" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4126" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4141" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4146" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4151" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4156" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="416" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4411" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4416" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44312" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44316" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44322" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44326" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44332" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44336" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44342" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44346" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44352" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44356" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44362" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44366" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44372" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44376" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44382" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="44386" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4551" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4621" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4626" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="46721" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="46726" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4751" Debit="" Credit="" Solde="ERAR"/>
+ <Compte Numero="4071" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="4074" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="417" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="4452" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="44551" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="44558" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="44562" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="44566" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="44567" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="44568" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="44571" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="44578" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="44581" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="44583" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="445884" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="445885" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="445886" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="445888" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="4557" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="45581" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="45582" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="45591" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="45592" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="461" Debit="LivreAuxiliaire" Credit="LivreAuxiliaire" Solde="LivreAuxiliaire"/>
+ <Compte Numero="4641" Debit="LivreAuxiliaire" Credit="LivreAuxiliaire" Solde="LivreAuxiliaire"/>
+ <Compte Numero="46771" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="46772" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="4757" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="4758" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="4759" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="47611" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="47612" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="47621" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="47622" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="4768" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="47711" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="47712" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="47721" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="47722" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="4778" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="4784" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="4788" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="5192" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="51931" Debit="LivreAuxiliaire" Credit="LivreAuxiliaire" Solde="LivreAuxiliaire"/>
+ <Compte Numero="51932" Debit="LivreAuxiliaire" Credit="LivreAuxiliaire" Solde="LivreAuxiliaire"/>
+ <Compte Numero="5194" Debit="LivreAuxiliaire" Credit="LivreAuxiliaire" Solde="LivreAuxiliaire"/>
+ <Compte Numero="5198" Debit="" Credit="" Solde="LivreAuxiliaire"/>
+ <Compte Numero="5421" Debit="LivreAuxiliaire" Credit="LivreAuxiliaire" Solde="LivreAuxiliaire"/>
+ </Comptes>
+</Editions>
\ No newline at end of file
--- /dev/null
+<?xml version="1.1" encoding="ISO-8859-1"?>
+<!DOCTYPE xsl:stylesheet [
+<!ENTITY nbsp " ">
+]>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:java="xalan://xml.apache.org/xalan/java" xmlns="http://www.xemelios.org/namespaces#cge" xmlns:n="http://www.xemelios.org/namespaces#cge" xmlns:added="http://www.xemelios.org/namespaces#added" xmlns:ano="http://projets.admisource.gouv.fr/xemelios/namespaces#anomally" exclude-result-prefixes="java" version="2.0">
+
+ <xsl:output standalone="yes" method="xml" indent="yes"/>
+
+ <xsl:output encoding="##output-encoding##"/>
+ <!--xsl:output version="##xml-version##"/-->
+ <xsl:output version="1.0"/>
+
+ <xsl:param name="language" select="'fr'"/>
+
+ <xsl:param name="CodeBudget"/>
+ <xsl:param name="LibelleBudget"/>
+ <xsl:param name="CodeCollectivite"/>
+ <xsl:param name="LibelleCollectivite"/>
+
+ <xsl:template match="/*[position()=1]">
+ <xsl:choose>
+ <xsl:when test="local-name(.) = 'CompteGestionEtat'">
+ <CompteGestionEtat xmlns="http://www.xemelios.org/namespaces#cge" xmlns:n="http://www.xemelios.org/namespaces#cge" xmlns:added="http://www.xemelios.org/namespaces#added">
+ <xsl:for-each select="./*">
+ <xsl:call-template name="writeElement">
+ <xsl:with-param name="el" select="."/>
+ </xsl:call-template>
+ <!--xsl:if test="local-name(.) = 'Entete'">
+ <xsl:call-template name="make.accueil">
+ <xsl:with-param name="fils" select="/n:CompteGestionEtat/*"/>
+ </xsl:call-template>
+ </xsl:if-->
+ </xsl:for-each>
+ </CompteGestionEtat>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="writeElement">
+ <xsl:param name="el"/>
+ <!--xsl:choose>
+ <xsl:when test="starts-with(name($el),'Date')">
+ <xsl:variable name="formatted"><xsl:call-template name="format-date"><xsl:with-param name="texte" select="$el/@V"/></xsl:call-template></xsl:variable>
+ <xsl:element name="{name($el)}">
+ <xsl:attribute name="V" select="$formatted"/>
+ </xsl:element>
+ </xsl:when>
+ <xsl:otherwise-->
+ <xsl:if test="not(contains('|LigneRecapitulation|',concat('|',name($el),'|'))) or (contains('|LigneRecapitulation|',concat('|',name($el),'|')) and string-length($el/@NatureProduit) > 0)">
+ <xsl:element name="{name($el)}">
+ <xsl:for-each select="$el/@*">
+ <xsl:choose>
+ <xsl:when test="string-length(.) eq 0"/>
+ <!--xsl:when test="starts-with(name(.),'Date')">
+ <xsl:variable name="formatted"><xsl:call-template name="format-date"><xsl:with-param name="texte" select="."/></xsl:call-template></xsl:variable>
+ <xsl:attribute name="{name(.)}" select="$formatted"/>
+ </xsl:when-->
+ <xsl:otherwise>
+ <xsl:attribute name="{name(.)}">
+ <xsl:value-of select="."/>
+ </xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ <!-- ajouts Attributs -->
+ <xsl:choose>
+ <xsl:when test="contains('|LigneAccueil|LigneBalanceGenerale|LigneDeveloppementDepense|LigneDeveloppementRecette|LigneRecapitulation|LigneReversement|',concat('|',name($el),'|'))">
+ <xsl:attribute name="generated-id" namespace="http://www.xemelios.org/namespaces#added">
+ <xsl:value-of select="generate-id()"/>
+ </xsl:attribute>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="contains('|Collectivite|',concat('|',name($el),'|'))">
+ <xsl:if test="not(@CodeBudget)"><xsl:attribute name="CodeBudget" select="$CodeBudget"/></xsl:if>
+ </xsl:when>
+ <xsl:when test="contains('|LigneBalanceGenerale|',concat('|',name($el),'|'))">
+ <xsl:choose>
+ <xsl:when test="(contains(lower-case($el/@LibelleCpte),'total') and (contains(lower-case($el/@LibelleCpte),'compte') or contains(lower-case($el/@LibelleCpte),'classe'))) or string-length($el/@NumCompte) eq 0">
+ <xsl:attribute name="isNotShowResultat" namespace="http://www.xemelios.org/namespaces#added">1</xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="isNotShowResultat" namespace="http://www.xemelios.org/namespaces#added">0</xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="number($el/@BalanceEntreeDebit) != 0 or number($el/@BalanceEntreeCredit) != 0 or number($el/@OperationDebit) != 0 or number($el/@OperationCredit) != 0 or number($el/@OperationFinDebit) != 0 or number($el/@OperationFinCredit) != 0 or number($el/@BalanceSortieDebit) != 0 or number($el/@BalanceSortieCredit) != 0">
+ <xsl:attribute name="isSearchable" namespace="http://www.xemelios.org/namespaces#added">1</xsl:attribute>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:when>
+ <!-- ANNEXE II -->
+ <xsl:when test="contains('|LigneDeveloppementDepense|',concat('|',name($el),'|'))">
+ <xsl:choose>
+ <xsl:when test="contains(upper-case($el/@Type),'TOTAL')">
+ <xsl:attribute name="isNotShowResultat" namespace="http://www.xemelios.org/namespaces#added">1</xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="isNotShowResultat" namespace="http://www.xemelios.org/namespaces#added">0</xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <!-- ANNEXE I -->
+ <xsl:when test="contains('|LigneDeveloppementRecette|',concat('|',name($el),'|'))">
+ <xsl:choose>
+ <xsl:when test="contains(upper-case($el/@Type),'TOTAL') or contains(upper-case($el/@Type),'TITRE')">
+ <xsl:attribute name="isNotShowResultat" namespace="http://www.xemelios.org/namespaces#added">1</xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="isNotShowResultat" namespace="http://www.xemelios.org/namespaces#added">0</xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="number($el/@Annulations) != 0 or number($el/@Droits) != 0 or number($el/@RARDeb) != 0 or number($el/@RARFin) != 0 or number($el/@RecettesComptant) != 0 or number($el/@TotDroits) != 0 or number($el/@TotRecetteBudg) != 0 or number($el/@Recouvrement) != 0">
+ <xsl:attribute name="isSearchable" namespace="http://www.xemelios.org/namespaces#added">1</xsl:attribute>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:when test="contains('|LigneRecapitulation|',concat('|',name($el),'|'))">
+ <xsl:choose>
+ <xsl:when test="contains(upper-case($el/@Type),'TOTAL')">
+ <xsl:attribute name="isNotShowResultat" namespace="http://www.xemelios.org/namespaces#added">1</xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="isNotShowResultat" namespace="http://www.xemelios.org/namespaces#added">0</xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="number($el/@Annulations) != 0 or number($el/@Droits) != 0 or number($el/@RARDeb) != 0 or number($el/@RARFin) != 0 or number($el/@RecettesComptant) != 0 or number($el/@TotDroits) != 0 or number($el/@TotRecetteBudg) != 0 or number($el/@Recouvrement) != 0">
+ <xsl:attribute name="isSearchable" namespace="http://www.xemelios.org/namespaces#added">1</xsl:attribute>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:when test="contains('|LigneReversement|',concat('|',name($el),'|'))">
+ <xsl:choose>
+ <xsl:when test="contains(upper-case($el/@Type),'TOTAL') or contains(upper-case($el/@Type),'TITRE')">
+ <xsl:attribute name="isNotShowResultat" namespace="http://www.xemelios.org/namespaces#added">1</xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="isNotShowResultat" namespace="http://www.xemelios.org/namespaces#added">0</xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="number($el/@Annulations) != 0 or number($el/@Droits) != 0 or number($el/@RARDeb) != 0 or number($el/@RARFin) != 0 or number($el/@RecettesComptant) != 0 or number($el/@TotDroits) != 0 or number($el/@TotRecetteBudg) != 0 or number($el/@Recouvrement) != 0">
+ <xsl:attribute name="isSearchable" namespace="http://www.xemelios.org/namespaces#added">1</xsl:attribute>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:when>
+ </xsl:choose>
+ <!-- recursion -->
+ <xsl:for-each select="$el/*">
+ <xsl:call-template name="writeElement">
+ <xsl:with-param name="el" select="."/>
+ </xsl:call-template>
+ </xsl:for-each>
+ </xsl:element>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template name="iso-date">
+ <xsl:param name="datebrute"/>
+ <xsl:param name="separator">/</xsl:param>
+ <xsl:variable name="date.tokenize" select="tokenize($datebrute,'/')"/>
+ <xsl:choose>
+ <xsl:when test="string-length($datebrute)=10 and not(contains($datebrute,'..'))">
+ <xsl:value-of select="$date.tokenize[3]"/>
+ <xsl:value-of select="$separator"/>
+ <xsl:value-of select="$date.tokenize[2]"/>
+ <xsl:value-of select="$separator"/>
+ <xsl:value-of select="$date.tokenize[1]"/>
+ </xsl:when>
+ <xsl:when test="string-length($datebrute)=8 and not(contains($datebrute,'..'))">
+ <xsl:choose>
+ <xsl:when test="number($date.tokenize[3])>74">19<xsl:value-of select="$date.tokenize[3]"/></xsl:when>
+ <xsl:otherwise>20<xsl:value-of select="$date.tokenize[3]"/></xsl:otherwise>
+ </xsl:choose>
+ <xsl:value-of select="$separator"/>
+ <xsl:value-of select="$date.tokenize[2]"/>
+ <xsl:value-of select="$separator"/>
+ <xsl:value-of select="$date.tokenize[1]"/>
+ </xsl:when>
+ <xsl:when test="string-length($datebrute)>0 and contains($datebrute,'..')">
+ <xsl:value-of select="$datebrute"/>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="date.in.string">
+ <xsl:param name="chaine"/>
+ <xsl:variable name="date" select="tokenize($chaine,'/')"/>
+ <xsl:variable name="day" select="substring($date[1],string-length($date[1])-1,2)"/>
+ <xsl:call-template name="iso-date">
+ <xsl:with-param name="datebrute"><xsl:value-of select="$day"/>/<xsl:value-of select="$date[2]"/>/<xsl:value-of select="$date[3]"/></xsl:with-param>
+ <xsl:with-param name="separator">-</xsl:with-param>
+ </xsl:call-template>
+ </xsl:template>
+
+ <!--xsl:template name="make.accueil">
+ <xsl:param name="fils"/>
+
+ <xsl:element name="Accueil" namespace="http://www.xemelios.org/namespaces#cge">
+ <xsl:element name="PageAccueil" namespace="http://www.xemelios.org/namespaces#cge">
+ <xsl:for-each select="$fils">
+ <xsl:variable name="name.el" select="name()"/>
+
+ <xsl:if test="contains('|BalanceGenerale|DeveloppementDepense|DeveloppementRecette|Recapitulation|Reversement|ERTN|',concat('|',$name.el,'|'))">
+ <xsl:element name="LigneAccueil" namespace="http://www.xemelios.org/namespaces#cge">
+ <xsl:choose>
+ <xsl:when test="contains('|BalanceGenerale|',concat('|',$name.el,'|'))">
+ <xsl:attribute name="Etat" select="'BalanceGenerale'"/>
+ <xsl:attribute name="Titre" select="'1 - Balance Générale des comptes'"/>
+ </xsl:when>
+ <xsl:when test="contains('|DeveloppementDepense|',concat('|',$name.el,'|'))">
+ <xsl:attribute name="Etat" select="'DeveloppementDepense'"/>
+ <xsl:attribute name="Titre" select="'2 - Développement des dépenses budgétaires par ministère et programme'"/>
+ </xsl:when>
+ <xsl:when test="contains('|DeveloppementRecette|',concat('|',$name.el,'|'))">
+ <xsl:attribute name="Etat" select="'DeveloppementRecette'"/>
+ <xsl:attribute name="Titre" select="'3 - Développement des recettes budgétaires et des comptes spéciaux - Ventilation par ligne'"/>
+ </xsl:when>
+ <xsl:when test="contains('|Recapitulation|',concat('|',$name.el,'|'))">
+ <xsl:attribute name="Etat" select="'Recapitulation'"/>
+ <xsl:attribute name="Titre" select="'4 - Développement des recettes budgétaires et des comptes spéciaux - Récapitulation par compte budgétaire'"/>
+ </xsl:when>
+ <xsl:when test="contains('|Reversement|',concat('|',$name.el,'|'))">
+ <xsl:attribute name="Etat" select="'Reversement'"/>
+ <xsl:attribute name="Titre" select="'5 - Reversements de fonds sur dépenses des ministères à annuler'"/>
+ </xsl:when>
+ <xsl:when test="contains('|ERTN|',concat('|',$name.el,'|'))">
+ <xsl:attribute name="Etat" select="'ERTN'"/>
+ <xsl:attribute name="Titre" select="'6 - Etat de Recettes des Titres Nationnaux'"/>
+ </xsl:when>
+ </xsl:choose>
+
+ <xsl:attribute name="FirstPage" select="'1'"/>
+ <xsl:attribute name="generated-id" namespace="http://www.xemelios.org/namespaces#added">
+ <xsl:value-of select="generate-id()"/>
+ </xsl:attribute>
+ </xsl:element>
+ </xsl:if>
+ </xsl:for-each>
+ <Pied NumPage="1"/>
+ </xsl:element>
+ </xsl:element>
+ </xsl:template-->
+
+ <!--xsl:template name="format-date"-->
+ <!-- 01/01/2007 vers 2007-01-01 -->
+ <!--xsl:param name="texte"/>
+ <xsl:choose>
+ <xsl:when test="string-length($texte) eq 0"/>
+ <xsl:when test="string-length($texte) eq 4"><xsl:value-of select="$texte"/>-01-01</xsl:when>
+ <xsl:when test="string-length($texte) eq 10">
+ <xsl:variable name="elements" select="tokenize($texte,'/')"/>
+ <xsl:value-of select="concat($elements[3],'-',$elements[2],'-',$elements[1])"/>
+ </xsl:when>
+ <xsl:otherwise><xsl:value-of select="$texte"/></xsl:otherwise>
+ </xsl:choose>
+
+ </xsl:template-->
+
+</xsl:stylesheet>
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<persistence-config>
+ <layer name="mysql" persistence-model="xemelios-sql">
+ <document id="cg-etat">
+ <table type="repository" base-name="CGE_REPOSITORY" version="1">
+ CREATE TABLE IF NOT EXISTS ${base-name} (
+ ID VARCHAR(25),
+ LIBELLE VARCHAR(100),
+ COLLECTIVITE VARCHAR(15) NOT NULL,
+ REPOSITORY LONGBLOB,
+ ENCODING VARCHAR(20) ) ENGINE MYISAM
+ </table>
+ <table type="special-key" base-name="CGE_SPECIAL_KEYS" version="1">
+ CREATE TABLE IF NOT EXISTS ${base-name} (
+ COLLECTIVITE VARCHAR(15) NOT NULL,
+ BUDGET VARCHAR(24) NOT NULL,
+ INITIAL_DOC_NAME VARCHAR(100) NOT NULL,
+ KEY1 VARCHAR(100) NOT NULL,
+ LIB1 VARCHAR(200),
+ KEY2 VARCHAR(100),
+ LIB2 VARCHAR(200),
+ KEY3 VARCHAR(100),
+ LIB3 VARCHAR(200),
+ INDEX IX_${base-name}_BC (COLLECTIVITE,BUDGET),
+ ARCHIVE_NAME VARCHAR(100), INDEX ${base-name}_AN (ARCHIVE_NAME) ) ENGINE MYISAM
+ </table>
+ <table type="list-bc" base-name="CGE_LIST_BUDG_COLL" version="2">
+ CREATE TABLE IF NOT EXISTS ${base-name} (
+ COLLECTIVITE VARCHAR(15) NOT NULL,
+ BUDGET VARCHAR(24) NOT NULL,
+ BUDGET_LIB VARCHAR(200),
+ COLLECTIVITE_LIB VARCHAR(200),
+ PARENT_COLL1 VARCHAR(15),
+ PARENT_COLL1_LIB VARCHAR(200),
+ PARENT_COLL2 VARCHAR(3),
+ PARENT_COLL2_LIB VARCHAR(3),
+ INITIAL_DOC_NAME VARCHAR(100) NOT NULL,
+ INDEX IX_${base-name}_BC (COLLECTIVITE,BUDGET),
+ ARCHIVE_NAME VARCHAR(100), INDEX ${base-name}_AN (ARCHIVE_NAME) ) ENGINE MYISAM
+ <patch from-version="1">
+ <sql failonerror="false">ALTER TABLE ${base-name} ADD PARENT_COLL1 VARCHAR(15)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} ADD PARENT_COLL1_LIB VARCHAR(200)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} ADD PARENT_COLL2 VARCHAR(3)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} ADD PARENT_COLL2_LIB VARCHAR(3)</sql>
+ </patch>
+ </table>
+
+ <!--***************************************************************************************************************-->
+ <!--*************************************************** Accueil ***************************************************-->
+ <!--***************************************************************************************************************-->
+ <etat id="Accueil" import-xslt-file="cg-etat/cg-etat-import-mysql.xsl">
+ <key1>
+ <path>/n:CompteGestionEtat/n:Accueil/n:PageAccueil/n:LigneAccueil/@added:generated-id</path>
+ </key1>
+
+ <table type="document" base-name="CGE_ACCUEIL_DOCUMENTS" version="1">
+ CREATE TABLE IF NOT EXISTS ${base-name} (
+ COLLECTIVITE VARCHAR(15) NOT NULL,
+ BUDGET VARCHAR(24) NOT NULL,
+ INITIAL_DOC_NAME VARCHAR(100) NOT NULL,
+ DOC_ID VARCHAR(100) NOT NULL,
+ DOC LONGBLOB,
+ ENCODING VARCHAR(20),
+ INDEX IX_${base-name}_BC (COLLECTIVITE,BUDGET,DOC_ID),
+ ARCHIVE_NAME VARCHAR(100), INDEX ${base-name}_AN (ARCHIVE_NAME)
+ ) ENGINE MYISAM
+ </table>
+ <table type="index" id="CGE_ACCUEIL_IX" base-name="CGE_ACCUEIL_IX" version="2" main="true">
+ CREATE TABLE IF NOT EXISTS ${base-name} (
+ COLLECTIVITE VARCHAR(15) NOT NULL,
+ BUDGET VARCHAR(24) NOT NULL,
+ DOC_ID VARCHAR(100) NOT NULL,
+ EXERCICE INTEGER ,
+ MODELE DECIMAL ,
+ CODEEDITION VARCHAR(5) ,
+ NUMPAGE INTEGER ,
+ NUMFIRSTPAGE INTEGER ,
+ INDEX IX_${base-name}_BC (COLLECTIVITE,BUDGET,DOC_ID),
+ INDEX IX_${base-name}_DC (DOC_ID),
+ INITIAL_DOC_NAME VARCHAR(100),
+ INDEX ${base-name}_IDN (INITIAL_DOC_NAME),
+ ARCHIVE_NAME VARCHAR(100),
+ INDEX ${base-name}_AN (ARCHIVE_NAME)
+ ) ENGINE MYISAM
+ <patch from-version="1">
+ <sql failonerror="false">ALTER TABLE ${base-name} ADD NUMFIRSTPAGE INTEGER</sql>
+ </patch>
+ </table>
+ <table type="index" id="CGE_ACCUEIL_LIGNEACCUEIL_IX" base-name="CGE_ACCUEIL_LIGNEACCUEIL_IX" version="1" main="false" based-on="key1">
+ CREATE TABLE IF NOT EXISTS ${base-name} (
+ COLLECTIVITE VARCHAR(15) NOT NULL,
+ BUDGET VARCHAR(24) NOT NULL,
+ DOC_ID VARCHAR(100) NOT NULL,
+ ETAT VARCHAR(255) ,
+ TITRE VARCHAR(255) ,
+ PATH VARCHAR(255) ,
+ INDEX IX_${base-name}_BC (COLLECTIVITE,BUDGET,DOC_ID),
+ INDEX IX_${base-name}_DC (DOC_ID),
+ INITIAL_DOC_NAME VARCHAR(100),
+ INDEX ${base-name}_IDN (INITIAL_DOC_NAME),
+ ARCHIVE_NAME VARCHAR(100),
+ INDEX ${base-name}_AN (ARCHIVE_NAME)
+ ) ENGINE MYISAM
+ </table>
+
+ <!-- CRITERIA /Accueil -->
+ <criteria id="CRI_ACCUEIL_ACCUEIL_NUMPAGE" type="1" sql-index-id="SQI_ACCUEIL_ACCUEIL_NUMPAGE">
+ <where-clause>${table}.${column}##OPERATEUR:NumPage####VALEUR:NumPage##</where-clause>
+ </criteria>
+
+ <!-- CRITERIA /Accueil/PageAccueil/LigneAccueil -->
+ <criteria id="CRI_ACCUEIL_LIGNEACCUEIL_ETAT" type="1" sql-index-id="SQI_ACCUEIL_LIGNEACCUEIL_ETAT">
+ <where-clause>fn:string-compare(${table}.${column},Etat)</where-clause>
+ </criteria>
+ <criteria id="CRI_ACCUEIL_LIGNEACCUEIL_TITRE" type="1" sql-index-id="SQI_ACCUEIL_LIGNEACCUEIL_TITRE">
+ <where-clause>fn:string-compare(${table}.${column},Titre)</where-clause>
+ </criteria>
+ <criteria id="CRI_ACCUEIL_LIGNEACCUEIL_PATH" type="1" sql-index-id="SQI_ACCUEIL_LIGNEACCUEIL_PATH">
+ <where-clause>fn:string-compare(${table}.${column},Path)</where-clause>
+ </criteria>
+
+
+ <!-- SQL-INDEX /Accueil -->
+ <sql-index id="SQI_ACCUEIL_ACCUEIL_MODELE" path="/n:CompteGestionEtat/n:Accueil/n:PageAccueil/@Modele" datatype="integer" column="MODELE" table="CGE_ACCUEIL_IX"/>
+ <sql-index id="SQI_ACCUEIL_ACCUEIL_NUMPAGE" path="/n:CompteGestionEtat/n:Accueil/n:PageAccueil/n:Pied/@NumPage" datatype="integer" column="NUMPAGE" table="CGE_ACCUEIL_IX"/>
+ <sql-index id="SQI_ACCUEIL_EXERCICE" path="/n:CompteGestionEtat/n:Entete/n:Infos/n:Collectivite/@Exercice" datatype="integer" column="EXERCICE" table="CGE_ACCUEIL_IX"/>
+ <sql-index id="SQI_ACCUEIL_EXERCICEB" path="/CompteGestionEtat/Entete/Infos/Collectivite/@Exercice" datatype="integer" column="EXERCICE" table="CGE_ACCUEIL_IX"/>
+
+ <!-- SQL-INDEX /Accueil/PageAccueil/LigneAccueil -->
+ <sql-index id="SQI_ACCUEIL_LIGNEACCUEIL_ETAT" path="/n:CompteGestionEtat/n:Accueil/n:PageAccueil/n:LigneAccueil/@Etat" datatype="string" column="ETAT" table="CGE_ACCUEIL_LIGNEACCUEIL_IX"/>
+ <sql-index id="SQI_ACCUEIL_LIGNEACCUEIL_TITRE" path="/n:CompteGestionEtat/n:Accueil/n:PageAccueil/n:LigneAccueil/@Titre" datatype="string" column="TITRE" table="CGE_ACCUEIL_LIGNEACCUEIL_IX"/>
+ <sql-index id="SQI_ACCUEIL_LIGNEACCUEIL_PATH" path="/n:CompteGestionEtat/n:Accueil/n:PageAccueil/n:LigneAccueil/@Path" datatype="string" column="PATH" table="CGE_ACCUEIL_LIGNEACCUEIL_IX"/>
+
+ <element id="CGE_ACCUEIL_LIGNEACCUEIL_IX">
+ <sql-count>COUNT(DISTINCT(CONCAT(ACCUEIL_IX.DOC_ID,CGE_ACCUEIL_LIGNEACCUEIL_IX.NODE_ID)))</sql-count>
+ <special-cond>CGE_ACCUEIL_LIGNEACCUEIL_IX.NODE_ID IS NOT NULL</special-cond>
+ </element>
+
+ </etat>
+
+ <!--***************************************************************************************************************-->
+ <!--********************************************** Balance générale ***********************************************-->
+ <!--***************************************************************************************************************-->
+ <etat id="BalanceGenerale" import-xslt-file="cg-etat/cg-etat-import-mysql.xsl">
+ <key1>
+ <path>/n:CompteGestionEtat/n:BalanceGenerale/n:PageBalanceGenerale/n:LigneBalanceGenerale/@added:generated-id</path>
+ </key1>
+
+ <table type="document" base-name="CGE_BALANCEGENERALE_DOCUMENTS" version="1">
+ CREATE TABLE IF NOT EXISTS ${base-name} (
+ COLLECTIVITE VARCHAR(15) NOT NULL,
+ BUDGET VARCHAR(24) NOT NULL,
+ INITIAL_DOC_NAME VARCHAR(100) NOT NULL,
+ DOC_ID VARCHAR(100) NOT NULL,
+ DOC LONGBLOB,
+ ENCODING VARCHAR(20),
+ INDEX IX_${base-name}_BC (COLLECTIVITE,BUDGET,DOC_ID),
+ ARCHIVE_NAME VARCHAR(100), INDEX ${base-name}_AN (ARCHIVE_NAME)
+ ) ENGINE MYISAM
+ </table>
+ <table type="index" id="CGE_BALANCEGENERALE_IX" base-name="CGE_BALANCEGENERALE_IX" version="1" main="true">
+ CREATE TABLE IF NOT EXISTS ${base-name} (
+ COLLECTIVITE VARCHAR(15) NOT NULL,
+ BUDGET VARCHAR(24) NOT NULL,
+ DOC_ID VARCHAR(100) NOT NULL,
+ NUMPAGE INTEGER ,
+ EXERCICE VARCHAR(4) ,
+ COMPTABLE VARCHAR(6) ,
+ INDEX IX_${base-name}_BC (COLLECTIVITE,BUDGET,DOC_ID),
+ INDEX IX_${base-name}_DC (DOC_ID),
+ INITIAL_DOC_NAME VARCHAR(100),
+ INDEX ${base-name}_IDN (INITIAL_DOC_NAME),
+ ARCHIVE_NAME VARCHAR(100),
+ INDEX ${base-name}_AN (ARCHIVE_NAME)
+ ) ENGINE MYISAM
+ </table>
+ <table type="index" id="CGE_BALANCEGENERALE_LIGNE_IX" base-name="CGE_BALANCEGENERALE_LIGNE_IX" version="2" main="false" based-on="key1">
+ CREATE TABLE IF NOT EXISTS ${base-name} (
+ COLLECTIVITE VARCHAR(15) NOT NULL,
+ BUDGET VARCHAR(24) NOT NULL,
+ DOC_ID VARCHAR(100) NOT NULL,
+ NODE_ID VARCHAR(50) NOT NULL,
+ NUMCOMPTE VARCHAR(14) ,
+ MONTANTBALANCEENTREEDEBIT DECIMAL(14,2),
+ MONTANTBALANCEENTREECREDIT DECIMAL(14,2),
+ MONTANTOPEANNEEDEBIT DECIMAL(14,2),
+ MONTANTOPEANNEECREDIT DECIMAL(14,2),
+ MONTANTOPEFINANNEEDEBIT DECIMAL(14,2),
+ MONTANTOPEFINANNEECREDIT DECIMAL(14,2),
+ MONTANTBALANCESORTIEDEBIT DECIMAL(14,2),
+ MONTANTBALANCESORTIECREDIT DECIMAL(14,2),
+ SHOWTOTAUX INTEGER ,
+ INDEX IX_${base-name}_BC (COLLECTIVITE,BUDGET,DOC_ID),
+ INDEX IX_${base-name}_DC (DOC_ID),
+ INITIAL_DOC_NAME VARCHAR(100),
+ INDEX ${base-name}_IDN (INITIAL_DOC_NAME),
+ ARCHIVE_NAME VARCHAR(100),
+ INDEX ${base-name}_AN (ARCHIVE_NAME)
+ ) ENGINE MYISAM
+ <patch from-version="1">
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY MONTANTBALANCEENTREEDEBIT DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY MONTANTBALANCEENTREECREDIT DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY MONTANTOPEANNEEDEBIT DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY MONTANTOPEANNEECREDIT DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY MONTANTOPEFINANNEEDEBIT DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY MONTANTOPEFINANNEECREDIT DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY MONTANTBALANCESORTIEDEBIT DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY MONTANTBALANCESORTIECREDIT DECIMAL(17,2)</sql>
+ </patch>
+ </table>
+
+
+ <!-- CRITERIA /BalanceGenerale -->
+ <criteria id="CRI_BALANCEGENERALE_BALANCEGENERALE_NUMPAGE" type="1" sql-index-id="SQI_BALANCEGENERALE_NUMPAGE">
+ <where-clause>${table}.${column}##OPERATEUR:NumPage####VALEUR:NumPage##</where-clause>
+ </criteria>
+
+ <!-- CRITERIA /BalanceGenerale/PageBalanceGenerale/LigneBalanceGenerale -->
+ <criteria id="CRI_BALANCEGENERALE_LIGNE_NUMCOMPTE" type="1" sql-index-id="SQI_BALANCEGENERALE_LIGNE_NUMCOMPTE">
+ <where-clause>fn:string-compare(${table}.${column},NumCompte)</where-clause>
+ </criteria>
+ <criteria id="CRI_BALANCEGENERALE_EXERCICE" type="1" sql-index-id="SQI_BALANCEGENERALE_EXERCICE">
+ <where-clause>fn:string-compare(${table}.${column},Exercice)</where-clause>
+ </criteria>
+ <criteria id="CRI_BALANCEGENERALE_LIGNE_COMPTABLE" type="1" sql-index-id="SQI_BALANCEGENERALE_LIGNE_COMPTABLE">
+ <where-clause>fn:string-compare(${table}.${column},Comptable)</where-clause>
+ </criteria>
+ <criteria id="CRI_BALANCEGENERALE_LIGNE_MONTANTBALANCEENTREEDEBIT" type="1" sql-index-id="SQI_BALANCEGENERALE_LIGNE_MONTANTBALANCEENTREEDEBIT">
+ <where-clause>${table}.${column}##OPERATEUR:BalanceEntreeDebit####VALEUR:BalanceEntreeDebit##</where-clause>
+ </criteria>
+ <criteria id="CRI_BALANCEGENERALE_LIGNE_MONTANTBALANCEENTREECREDIT" type="1" sql-index-id="SQI_BALANCEGENERALE_LIGNE_MONTANTBALANCEENTREECREDIT">
+ <where-clause>${table}.${column}##OPERATEUR:BalanceEntreeCredit####VALEUR:BalanceEntreeCredit##</where-clause>
+ </criteria>
+ <criteria id="CRI_BALANCEGENERALE_LIGNE_MONTANTOPEANNEEDEBIT" type="1" sql-index-id="SQI_BALANCEGENERALE_LIGNE_MONTANTOPEANNEEDEBIT">
+ <where-clause>${table}.${column}##OPERATEUR:OperationDebit####VALEUR:OperationDebit##</where-clause>
+ </criteria>
+ <criteria id="CRI_BALANCEGENERALE_LIGNE_MONTANTOPEANNEECREDIT" type="1" sql-index-id="SQI_BALANCEGENERALE_LIGNE_MONTANTOPEANNEECREDIT">
+ <where-clause>${table}.${column}##OPERATEUR:OperationCredit####VALEUR:OperationCredit##</where-clause>
+ </criteria>
+ <criteria id="CRI_BALANCEGENERALE_LIGNE_MONTANTOPEFINANNEEDEBIT" type="1" sql-index-id="SQI_BALANCEGENERALE_LIGNE_MONTANTOPEFINANNEEDEBIT">
+ <where-clause>${table}.${column}##OPERATEUR:OperationFinDebit####VALEUR:OperationFinDebit##</where-clause>
+ </criteria>
+ <criteria id="CRI_BALANCEGENERALE_LIGNE_MONTANTOPEFINANNEECREDIT" type="1" sql-index-id="SQI_BALANCEGENERALE_LIGNE_MONTANTOPEFINANNEECREDIT">
+ <where-clause>${table}.${column}##OPERATEUR:OperationFinCredit####VALEUR:OperationFinCredit##</where-clause>
+ </criteria>
+ <criteria id="CRI_BALANCEGENERALE_LIGNE_MONTANTBALANCESORTIEDEBIT" type="1" sql-index-id="SQI_BALANCEGENERALE_LIGNE_MONTANTBALANCESORTIEDEBIT">
+ <where-clause>${table}.${column}##OPERATEUR:BalanceSortieDebit####VALEUR:BalanceSortieDebit##</where-clause>
+ </criteria>
+ <criteria id="CRI_BALANCEGENERALE_LIGNE_MONTANTBALANCESORTIECREDIT" type="1" sql-index-id="SQI_BALANCEGENERALE_LIGNE_MONTANTBALANCESORTIECREDIT">
+ <where-clause>${table}.${column}##OPERATEUR:BalanceSortieCredit####VALEUR:BalanceSortieCredit##</where-clause>
+ </criteria>
+
+ <criteria id="show_totaux" type="1" sql-index-id="SQI_BALANCEGENERALE_LIGNE_SHOW_TOTAUX">
+ <where-clause>${table}.${column} = ##VALEUR:show_totaux##</where-clause>
+ </criteria>
+
+ <!-- SQL-INDEX /BalanceGenerale -->
+ <sql-index id="SQI_BALANCEGENERALE_NUMPAGE" path="/n:CompteGestionEtat/n:BalanceGenerale/n:PageBalanceGenerale/n:Pied/@NumPage" datatype="integer" column="NUMPAGE" table="CGE_BALANCEGENERALE_IX"/>
+
+ <sql-index id="SQI_BALANCEGENERALE_EXERCICE" path="/n:CompteGestionEtat/n:Entete/n:Infos/n:Collectivite/@Exercice" datatype="string" column="EXERCICE" table="CGE_BALANCEGENERALE_IX"/>
+ <sql-index id="SQI_BALANCEGENERALE_EXERCICEB" path="/CompteGestionEtat/Entete/Infos/Collectivite/@Exercice" datatype="string" column="EXERCICE" table="CGE_BALANCEGENERALE_IX"/>
+ <!--sql-index id="SQI_BALANCEGENERALE_EXERCICET" path="/n:CompteGestionEtat/n:BalanceGenerale/n:PageBalanceGenerale/n:Pied/@Exercice" datatype="string" column="EXERCICE" table="CGE_BALANCEGENERALE_IX" /-->
+
+ <!--sql-index id="SQI_BALANCEGENERALE_EXERCICE" path="/n:CompteGestionEtat/n:BalanceGenerale/n:PageBalanceGenerale/n:Pied/@Exercice" datatype="string" column="EXERCICE" table="CGE_BALANCEGENERALE_IX" />
+ <sql-index id="SQI_BALANCEGENERALE_EXERCICEB" path="/n:CompteGestionEtat/n:Entete/n:Infos/n:Collectivite/@Exercice" datatype="string" column="EXERCICE" table="CGE_BALANCEGENERALE_IX" /-->
+
+ <!-- SQL-INDEX /BalanceGenerale/PageBalanceGenerale/LigneBalanceGenerale -->
+ <sql-index id="SQI_BALANCEGENERALE_LIGNE_NODE_ID" path="/n:CompteGestionEtat/n:BalanceGenerale/n:PageBalanceGenerale/n:LigneBalanceGenerale/@added:generated-id" column="NODE_ID" datatype="string" table="CGE_BALANCEGENERALE_LIGNE_IX"/>
+ <sql-index id="SQI_BALANCEGENERALE_LIGNE_NUMCOMPTE_IS_SEARCHABLE" path="/n:CompteGestionEtat/n:BalanceGenerale/n:PageBalanceGenerale/n:LigneBalanceGenerale[@added:isSearchable]/@NumCompte" datatype="string" column="NUMCOMPTE" table="CGE_BALANCEGENERALE_LIGNE_IX"/>
+ <sql-index id="SQI_BALANCEGENERALE_LIGNE_NUMCOMPTE" path="/n:CompteGestionEtat/n:BalanceGenerale/n:PageBalanceGenerale/n:LigneBalanceGenerale/@NumCompte" datatype="string" column="NUMCOMPTE" table="CGE_BALANCEGENERALE_LIGNE_IX"/>
+ <sql-index id="SQI_BALANCEGENERALE_LIGNE_COMPTABLE" path="/n:CompteGestionEtat/n:BalanceGenerale/n:PageBalanceGenerale/n:Pied/@Comptable" datatype="string" column="COMPTABLE" table="CGE_BALANCEGENERALE_IX"/>
+ <sql-index id="SQI_BALANCEGENERALE_LIGNE_NUMCOMPTEB" path="/CompteGestionEtat/BalanceGenerale/PageBalanceGenerale/LigneBalanceGenerale/@NumCompte" datatype="string" column="NUMCOMPTE" table="CGE_BALANCEGENERALE_LIGNE_IX"/>
+ <sql-index id="SQI_BALANCEGENERALE_LIGNE_MONTANTBALANCEENTREEDEBIT" path="/n:CompteGestionEtat/n:BalanceGenerale/n:PageBalanceGenerale/n:LigneBalanceGenerale/@BalanceEntreeDebit" datatype="decimal" column="MONTANTBALANCEENTREEDEBIT" table="CGE_BALANCEGENERALE_LIGNE_IX"/>
+ <sql-index id="SQI_BALANCEGENERALE_LIGNE_MONTANTBALANCEENTREECREDIT" path="/n:CompteGestionEtat/n:BalanceGenerale/n:PageBalanceGenerale/n:LigneBalanceGenerale/@BalanceEntreeCredit" datatype="decimal" column="MONTANTBALANCEENTREECREDIT" table="CGE_BALANCEGENERALE_LIGNE_IX"/>
+ <sql-index id="SQI_BALANCEGENERALE_LIGNE_MONTANTOPEANNEEDEBIT" path="/n:CompteGestionEtat/n:BalanceGenerale/n:PageBalanceGenerale/n:LigneBalanceGenerale/@OperationDebit" datatype="decimal" column="MONTANTOPEANNEEDEBIT" table="CGE_BALANCEGENERALE_LIGNE_IX"/>
+ <sql-index id="SQI_BALANCEGENERALE_LIGNE_MONTANTOPEANNEECREDIT" path="/n:CompteGestionEtat/n:BalanceGenerale/n:PageBalanceGenerale/n:LigneBalanceGenerale/@OperationCredit" datatype="decimal" column="MONTANTOPEANNEECREDIT" table="CGE_BALANCEGENERALE_LIGNE_IX"/>
+ <sql-index id="SQI_BALANCEGENERALE_LIGNE_MONTANTOPEFINANNEEDEBIT" path="/n:CompteGestionEtat/n:BalanceGenerale/n:PageBalanceGenerale/n:LigneBalanceGenerale/@OperationFinDebit" datatype="decimal" column="MONTANTOPEFINANNEEDEBIT" table="CGE_BALANCEGENERALE_LIGNE_IX"/>
+ <sql-index id="SQI_BALANCEGENERALE_LIGNE_MONTANTOPEFINANNEECREDIT" path="/n:CompteGestionEtat/n:BalanceGenerale/n:PageBalanceGenerale/n:LigneBalanceGenerale/@OperationFinCredit" datatype="decimal" column="MONTANTOPEFINANNEECREDIT" table="CGE_BALANCEGENERALE_LIGNE_IX"/>
+ <sql-index id="SQI_BALANCEGENERALE_LIGNE_MONTANTBALANCESORTIEDEBIT" path="/n:CompteGestionEtat/n:BalanceGenerale/n:PageBalanceGenerale/n:LigneBalanceGenerale/@BalanceSortieDebit" datatype="decimal" column="MONTANTBALANCESORTIEDEBIT" table="CGE_BALANCEGENERALE_LIGNE_IX"/>
+ <sql-index id="SQI_BALANCEGENERALE_LIGNE_MONTANTBALANCESORTIECREDIT" path="/n:CompteGestionEtat/n:BalanceGenerale/n:PageBalanceGenerale/n:LigneBalanceGenerale/@BalanceSortieCredit" datatype="decimal" column="MONTANTBALANCESORTIECREDIT" table="CGE_BALANCEGENERALE_LIGNE_IX"/>
+
+ <sql-index id="SQI_BALANCEGENERALE_LIGNE_SHOW_TOTAUX" path="/n:CompteGestionEtat/n:BalanceGenerale/n:PageBalanceGenerale/n:LigneBalanceGenerale/@added:isNotShowResultat" datatype="integer" column="SHOWTOTAUX" table="CGE_BALANCEGENERALE_LIGNE_IX"/>
+
+ <element id="CGE_BALANCEGENERALE_LIGNE_IX">
+ <sql-count>COUNT(DISTINCT(CONCAT(CGE_BALANCEGENERALE_IX.DOC_ID,CGE_BALANCEGENERALE_LIGNE_IX.NODE_ID)))</sql-count>
+ <special-cond>CGE_BALANCEGENERALE_LIGNE_IX.NODE_ID IS NOT NULL</special-cond>
+ </element>
+
+ </etat>
+
+ <!--***************************************************************************************************************-->
+ <!-- **************************************** Développements des Dépenses **************************************** -->
+ <!--***************************************************************************************************************-->
+ <etat id="DeveloppementDepense" import-xslt-file="cg-etat/cg-etat-import-mysql.xsl">
+ <key1>
+ <path>/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:LigneDeveloppementDepense/@added:generated-id</path>
+ </key1>
+
+ <table type="document" base-name="CGE_DEVELOPPEMENT_DEPENSE_DOCUMENTS" version="1">
+ CREATE TABLE IF NOT EXISTS ${base-name} (
+ COLLECTIVITE VARCHAR(15) NOT NULL,
+ BUDGET VARCHAR(24) NOT NULL,
+ INITIAL_DOC_NAME VARCHAR(100) NOT NULL,
+ DOC_ID VARCHAR(100) NOT NULL,
+ DOC LONGBLOB,
+ ENCODING VARCHAR(20),
+ INDEX IX_${base-name}_BC (COLLECTIVITE,BUDGET,DOC_ID),
+ ARCHIVE_NAME VARCHAR(100), INDEX ${base-name}_AN (ARCHIVE_NAME)
+ ) ENGINE MYISAM
+ </table>
+ <table type="index" id="DEVELOPPEMENT_DEPENSE_PAGE_IX" base-name="CGE_DEVELOPPEMENT_DEPENSE_PAGE_IX" version="1" main="true">
+ CREATE TABLE IF NOT EXISTS ${base-name} (
+ COLLECTIVITE VARCHAR(15) NOT NULL,
+ BUDGET VARCHAR(24) NOT NULL,
+ DOC_ID VARCHAR(100) NOT NULL,
+ COMPTABLE VARCHAR(6) ,
+ NUMPAGE INTEGER ,
+ EXERCICE INTEGER ,
+ LIBCOL0 VARCHAR(100) ,
+ LIBCOL1 VARCHAR(100) ,
+ LIBCOL2 VARCHAR(100) ,
+ LIBCOL3 VARCHAR(100) ,
+ LIBCOL4 VARCHAR(100) ,
+ LIBCOL5 VARCHAR(100) ,
+ LIBCOL6 VARCHAR(100) ,
+ LIBCOL7 VARCHAR(100) ,
+ INDEX IX_${base-name}_BC (COLLECTIVITE,BUDGET,DOC_ID),
+ INDEX IX_${base-name}_DC (DOC_ID),
+ INITIAL_DOC_NAME VARCHAR(100),
+ INDEX ${base-name}_IDN (INITIAL_DOC_NAME),
+ ARCHIVE_NAME VARCHAR(100),
+ INDEX ${base-name}_AN (ARCHIVE_NAME)
+ ) ENGINE MYISAM
+ </table>
+ <table type="index" id="DEVELOPPEMENT_DEPENSE_LIGNE_IX" base-name="CGE_DEVELOPPEMENT_DEPENSE_LIGNE_IX" version="2" main="false" based-on="key1">
+ CREATE TABLE IF NOT EXISTS ${base-name} (
+ COLLECTIVITE VARCHAR(15) NOT NULL,
+ BUDGET VARCHAR(24) NOT NULL,
+ DOC_ID VARCHAR(100) NOT NULL,
+ NODE_ID VARCHAR(50) NOT NULL,
+ COMPTABLE VARCHAR(6) ,
+ NUMCOMPTE DECIMAL(14,2),
+ MINISTERE VARCHAR(50) ,
+ PROGRAMME INTEGER ,
+ ARTICLEEXEC INTEGER ,
+ MTDEBIT DECIMAL(14,2) ,
+ LIBELLECOMPTABLE VARCHAR(100) ,
+ LIBELLEDPT VARCHAR(50) ,
+ SHOWTOTAUX INTEGER ,
+ INDEX IX_${base-name}_BC (COLLECTIVITE,BUDGET,DOC_ID),
+ INDEX IX_${base-name}_DC (DOC_ID),
+ INITIAL_DOC_NAME VARCHAR(100),
+ INDEX ${base-name}_IDN (INITIAL_DOC_NAME),
+ ARCHIVE_NAME VARCHAR(100),
+ INDEX ${base-name}_AN (ARCHIVE_NAME)
+ ) ENGINE MYISAM
+ <patch from-version="1">
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY MTDEBIT DECIMAL(17,2)</sql>
+ </patch>
+ </table>
+
+
+ <!-- CRITERIA /DeveloppementDepense -->
+
+ <!-- CRITERIA /DeveloppementDepense/PageDeveloppementDepense -->
+
+ <criteria id="CRI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL0" type="1" sql-index-id="SQI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL0">
+ <where-clause>fn:string-compare(${table}.${column},LibCol0)</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL1" type="1" sql-index-id="SQI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL1">
+ <where-clause>fn:string-compare(${table}.${column},LibCol1)</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL2" type="1" sql-index-id="SQI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL2">
+ <where-clause>fn:string-compare(${table}.${column},LibCol2)</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL3" type="1" sql-index-id="SQI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL3">
+ <where-clause>fn:string-compare(${table}.${column},LibCol3)</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL4" type="1" sql-index-id="SQI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL4">
+ <where-clause>fn:string-compare(${table}.${column},LibCol4)</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL5" type="1" sql-index-id="SQI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL5">
+ <where-clause>fn:string-compare(${table}.${column},LibCol5)</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL6" type="1" sql-index-id="SQI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL6">
+ <where-clause>fn:string-compare(${table}.${column},LibCol6)</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL7" type="1" sql-index-id="SQI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL7">
+ <where-clause>fn:string-compare(${table}.${column},LibCol7)</where-clause>
+ </criteria>
+
+ <criteria id="CRI_DEVELOPPEMENT_DEPENSE_PAGE_COMPTABLE" type="1" sql-index-id="SQI_DEVELOPPEMENT_DEPENSE_PAGE_COMPTABLE">
+ <where-clause>fn:string-compare(${table}.${column},Comptable)</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENT_DEPENSE_PAGE_NUMPAGE" type="1" sql-index-id="SQI_DEVELOPPEMENT_DEPENSE_PAGE_NUMPAGE">
+ <where-clause>${table}.${column}##OPERATEUR:NumPage####VALEUR:NumPage##</where-clause>
+ </criteria>
+
+ <!-- CRITERIA /DeveloppementDepense/PageDeveloppementDepense/LigneDeveloppementDepense -->
+
+ <criteria id="CRI_DEVELOPPEMENT_DEPENSE_EXERCICE" type="1" sql-index-id="SQI_DEVELOPPEMENT_DEPENSE_EXERCICE">
+ <where-clause>fn:string-compare(${table}.${column},Exercice)</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENT_DEPENSE_LIGNE_NUMCOMPTE" type="1" sql-index-id="SQI_DEVELOPPEMENT_DEPENSE_LIGNE_NUMCOMPTE">
+ <where-clause>fn:string-compare(${table}.${column},NumCompte)</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENT_DEPENSE_LIGNE_COMPTABLE" type="1" sql-index-id="SQI_DEVELOPPEMENT_DEPENSE_LIGNE_COMPTABLE">
+ <where-clause>fn:string-compare(${table}.${column},Comptable)</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENT_DEPENSE_LIGNE_MINISTERE" type="1" sql-index-id="SQI_DEVELOPPEMENT_DEPENSE_LIGNE_MINISTERE">
+ <where-clause>fn:string-compare(${table}.${column},Ministere)</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENT_DEPENSE_LIGNE_PROGRAMME" type="1" sql-index-id="SQI_DEVELOPPEMENT_DEPENSE_LIGNE_PROGRAMME">
+ <where-clause>${table}.${column}##OPERATEUR:Programme####VALEUR:Programme##</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENT_DEPENSE_LIGNE_ARTICLEEXEC" type="1" sql-index-id="SQI_DEVELOPPEMENT_DEPENSE_LIGNE_ARTICLEEXEC">
+ <where-clause>${table}.${column}##OPERATEUR:ArticleExec####VALEUR:ArticleExec##</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENT_DEPENSE_LIGNE_MTDEBIT" type="1" sql-index-id="SQI_DEVELOPPEMENT_DEPENSE_LIGNE_MTDEBIT">
+ <where-clause>${table}.${column}##OPERATEUR:MtDebit####VALEUR:MtDebit##</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENT_DEPENSE_LIGNE_LIBELLECOMPTABLE" type="1" sql-index-id="SQI_DEVELOPPEMENT_DEPENSE_LIGNE_LIBELLECOMPTABLE">
+ <where-clause>fn:string-compare(${table}.${column},LibelleComptable)</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENT_DEPENSE_LIGNE_LIBELLEDPT" type="1" sql-index-id="SQI_DEVELOPPEMENT_DEPENSE_LIGNE_LIBELLEDPT">
+ <where-clause>fn:string-compare(${table}.${column},LibelleDpt)</where-clause>
+ </criteria>
+
+
+ <criteria id="show_totaux" type="1" sql-index-id="SQI_DEVELOPPEMENT_DEPENSE_LIGNE_TOTAUX">
+ <where-clause>${table}.${column} = ##VALEUR:show_totaux##</where-clause>
+ </criteria>
+
+ <!-- SQL-INDEX /DeveloppementDepense/PageDeveloppementDepense -->
+ <sql-index id="SQI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL0" path="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:LigneEnteteDeveloppementDepense/@LibCol0" datatype="string" column="LIBCOL0" table="DEVELOPPEMENT_DEPENSE_PAGE_IX" format="uppercase"/>
+ <sql-index id="SQI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL7" path="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:LigneEnteteDeveloppementDepense/@LibCol7" datatype="string" column="LIBCOL7" table="DEVELOPPEMENT_DEPENSE_PAGE_IX" format="uppercase"/>
+ <sql-index id="SQI_DEVELOPPEMENT_DEPENSE_PAGE_COMPTABLE" path="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:Pied/@Comptable" datatype="string" column="COMPTABLE" table="DEVELOPPEMENT_DEPENSE_PAGE_IX" format="uppercase"/>
+ <sql-index id="SQI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL6" path="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:LigneEnteteDeveloppementDepense/@LibCol6" datatype="string" column="LIBCOL6" table="DEVELOPPEMENT_DEPENSE_PAGE_IX" format="uppercase"/>
+ <sql-index id="SQI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL5" path="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:LigneEnteteDeveloppementDepense/@LibCol5" datatype="string" column="LIBCOL5" table="DEVELOPPEMENT_DEPENSE_PAGE_IX" format="uppercase"/>
+ <sql-index id="SQI_DEVELOPPEMENT_DEPENSE_PAGE_NUMPAGE" path="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:Pied/@NumPage" datatype="integer" column="NUMPAGE" table="DEVELOPPEMENT_DEPENSE_PAGE_IX" format="uppercase"/>
+ <sql-index id="SQI_DEVELOPPEMENT_DEPENSE_PAGE_NUMPAGEB" path="/CompteGestionEtat/DeveloppementDepense/PageDeveloppementDepense/Pied/@NumPage" datatype="integer" column="NUMPAGE" table="DEVELOPPEMENT_DEPENSE_PAGE_IX" format="uppercase"/>
+ <sql-index id="SQI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL4" path="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:LigneEnteteDeveloppementDepense/@LibCol4" datatype="string" column="LIBCOL4" table="DEVELOPPEMENT_DEPENSE_PAGE_IX" format="uppercase"/>
+ <sql-index id="SQI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL3" path="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:LigneEnteteDeveloppementDepense/@LibCol3" datatype="string" column="LIBCOL3" table="DEVELOPPEMENT_DEPENSE_PAGE_IX" format="uppercase"/>
+ <sql-index id="SQI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL2" path="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:LigneEnteteDeveloppementDepense/@LibCol2" datatype="string" column="LIBCOL2" table="DEVELOPPEMENT_DEPENSE_PAGE_IX" format="uppercase"/>
+ <sql-index id="SQI_DEVELOPPEMENT_DEPENSE_PAGE_LIBCOL1" path="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:LigneEnteteDeveloppementDepense/@LibCol1" datatype="string" column="LIBCOL1" table="DEVELOPPEMENT_DEPENSE_PAGE_IX" format="uppercase"/>
+
+ <sql-index id="SQI_DEVELOPPEMENT_DEPENSE_EXERCICE" path="/n:CompteGestionEtat/n:Entete/n:Infos/n:Collectivite/@Exercice" datatype="string" column="EXERCICE" table="DEVELOPPEMENT_DEPENSE_PAGE_IX" format="uppercase"/>
+ <sql-index id="SQI_DEVELOPPEMENT_DEPENSE_EXERCICEB" path="/CompteGestionEtat/Entete/Infos/Collectivite/@Exercice" datatype="string" column="EXERCICE" table="DEVELOPPEMENT_DEPENSE_PAGE_IX"/>
+ <!--sql-index id="SQI_DEVELOPPEMENT_DEPENSE_EXERCICE" path="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:Pied/@Exercice" datatype="string" column="EXERCICE" table="DEVELOPPEMENT_DEPENSE_PAGE_IX" />
+ <sql-index id="SQI_DEVELOPPEMENT_DEPENSE_EXERCICEB" path="/n:CompteGestionEtat/n:Entete/n:Infos/n:Collectivite/@Exercice" datatype="string" column="EXERCICE" table="DEVELOPPEMENT_DEPENSE_PAGE_IX" /-->
+
+ <!-- SQL-INDEX /DeveloppementDepense/PageDeveloppementDepense/LigneDeveloppementDepense -->
+ <sql-index id="SQI_DEVELOPPEMENT_DEPENSE_LIGNE_NODE_ID" path="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:LigneDeveloppementDepense/@added:generated-id" column="NODE_ID" datatype="string" table="DEVELOPPEMENT_DEPENSE_LIGNE_IX"/>
+ <sql-index id="SQI_DEVELOPPEMENT_DEPENSE_LIGNE_PROGRAMME" path="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:LigneDeveloppementDepense/@Programme" datatype="integer" column="PROGRAMME" table="DEVELOPPEMENT_DEPENSE_LIGNE_IX" format="uppercase"/>
+ <sql-index id="SQI_DEVELOPPEMENT_DEPENSE_LIGNE_NUMCOMPTE" path="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:LigneDeveloppementDepense/@NumCompte" datatype="string" column="NUMCOMPTE" table="DEVELOPPEMENT_DEPENSE_LIGNE_IX"/>
+ <sql-index id="SQI_DEVELOPPEMENT_DEPENSE_LIGNE_NUMCOMPTEB" path="/CompteGestionEtat/DeveloppementDepense/PageDeveloppementDepense/LigneDeveloppementDepense/@NumCompte" datatype="string" column="NUMCOMPTE" table="DEVELOPPEMENT_DEPENSE_LIGNE_IX"/>
+ <sql-index id="SQI_DEVELOPPEMENT_DEPENSE_LIGNE_ARTICLEEXEC" path="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:LigneDeveloppementDepense/@ArticleExec" datatype="integer" column="ARTICLEEXEC" table="DEVELOPPEMENT_DEPENSE_LIGNE_IX" format="uppercase"/>
+ <sql-index id="SQI_DEVELOPPEMENT_DEPENSE_LIGNE_LIBELLECOMPTABLE" path="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:LigneDeveloppementDepense/@LibelleComptable" datatype="string" column="LIBELLECOMPTABLE" table="DEVELOPPEMENT_DEPENSE_LIGNE_IX" format="uppercase"/>
+ <sql-index id="SQI_DEVELOPPEMENT_DEPENSE_LIGNE_MINISTERE" path="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:LigneDeveloppementDepense/@Ministere" datatype="string" column="MINISTERE" table="DEVELOPPEMENT_DEPENSE_LIGNE_IX" format="uppercase"/>
+ <sql-index id="SQI_DEVELOPPEMENT_DEPENSE_LIGNE_LIBELLEDPT" path="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:LigneDeveloppementDepense/@LibelleDpt" datatype="string" column="LIBELLEDPT" table="DEVELOPPEMENT_DEPENSE_LIGNE_IX" format="uppercase"/>
+ <sql-index id="SQI_DEVELOPPEMENT_DEPENSE_LIGNE_COMPTABLE" path="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:LigneDeveloppementDepense/@Comptable" datatype="string" column="COMPTABLE" table="DEVELOPPEMENT_DEPENSE_LIGNE_IX" format="uppercase"/>
+ <sql-index id="SQI_DEVELOPPEMENT_DEPENSE_LIGNE_MTDEBIT" path="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:LigneDeveloppementDepense/@MtDebit" datatype="decimal" column="MTDEBIT" table="DEVELOPPEMENT_DEPENSE_LIGNE_IX" format="uppercase"/>
+ <sql-index id="SQI_DEVELOPPEMENT_DEPENSE_LIGNE_TOTAUX" path="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:LigneDeveloppementDepense/@added:isNotShowResultat" datatype="integer" column="SHOWTOTAUX" table="DEVELOPPEMENT_DEPENSE_LIGNE_IX"/>
+
+
+
+
+ <element id="DEVELOPPEMENT_DEPENSE_LIGNE_IX">
+ <sql-count>COUNT(DISTINCT(CONCAT(DEVELOPPEMENT_DEPENSE_PAGE_IX.DOC_ID,DEVELOPPEMENT_DEPENSE_LIGNE_IX.NODE_ID)))</sql-count>
+ <special-cond>DEVELOPPEMENT_DEPENSE_LIGNE_IX.NODE_ID IS NOT NULL</special-cond>
+ </element>
+ </etat>
+
+ <!--***************************************************************************************************************-->
+ <!-- **************************************** Développements des Recettes **************************************** -->
+ <!--***************************************************************************************************************-->
+ <etat id="DeveloppementRecette" import-xslt-file="cg-etat/cg-etat-import-mysql.xsl">
+ <key1>
+ <path>/n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette/n:LigneDeveloppementRecette/@added:generated-id</path>
+ </key1>
+
+ <table type="document" base-name="CGE_DEVELOPPEMENT_RECETTE_DOCUMENTS" version="1">
+ CREATE TABLE IF NOT EXISTS ${base-name} (
+ COLLECTIVITE VARCHAR(15) NOT NULL,
+ BUDGET VARCHAR(24) NOT NULL,
+ INITIAL_DOC_NAME VARCHAR(100) NOT NULL,
+ DOC_ID VARCHAR(100) NOT NULL,
+ DOC LONGBLOB,
+ ENCODING VARCHAR(20),
+ INDEX IX_${base-name}_BC (COLLECTIVITE,BUDGET,DOC_ID),
+ ARCHIVE_NAME VARCHAR(100), INDEX ${base-name}_AN (ARCHIVE_NAME)
+ ) ENGINE MYISAM
+ </table>
+ <table type="index" id="CGE_DEVELOPPEMENTRECETTE_PAGE_IX" base-name="CGE_DEVELOPPEMENT_RECETTE_PAGE_IX" version="1" main="true">
+ CREATE TABLE IF NOT EXISTS ${base-name} (
+ COLLECTIVITE VARCHAR(15) NOT NULL,
+ BUDGET VARCHAR(24) NOT NULL,
+ DOC_ID VARCHAR(100) NOT NULL,
+ EXERCICE VARCHAR(4) ,
+ NUMPAGE INTEGER ,
+ COMPTABLE VARCHAR(6) ,
+ INDEX IX_${base-name}_BC (COLLECTIVITE,BUDGET,DOC_ID),
+ INDEX IX_${base-name}_DC (DOC_ID),
+ INITIAL_DOC_NAME VARCHAR(100),
+ INDEX ${base-name}_IDN (INITIAL_DOC_NAME),
+ ARCHIVE_NAME VARCHAR(100),
+ INDEX ${base-name}_AN (ARCHIVE_NAME)
+ ) ENGINE MYISAM
+ </table>
+ <table type="index" id="CGE_DEVELOPPEMENTRECETTE_LIGNE_IX" base-name="CGE_DEVELOPPEMENT_RECETTE_LIGNE_IX" version="3" main="false" based-on="key1">
+ CREATE TABLE IF NOT EXISTS ${base-name} (
+ COLLECTIVITE VARCHAR(15) NOT NULL,
+ BUDGET VARCHAR(24) NOT NULL,
+ DOC_ID VARCHAR(100) NOT NULL,
+ NODE_ID VARCHAR(50) NOT NULL,
+ TYPE VARCHAR(12) ,
+ RARFIN DECIMAL(14,2),
+ DROITS DECIMAL(14,2),
+ RECOUVREMENT DECIMAL(14,2),
+ ANNULATIONS DECIMAL(14,2),
+ LIGNERECETTE INTEGER ,
+ RARDEB DECIMAL(14,2),
+ RECETTESCOMPTANT DECIMAL(14,2),
+ COMPTEPEC INTEGER ,
+ TOTDROITS DECIMAL(14,2),
+ TOTRECETTEBUDG DECIMAL(14,2),
+ NATUREPRODUIT VARCHAR(250) ,
+ NUMCOMPTE VARCHAR(14) ,
+ SHOWTOTAUX INTEGER ,
+ INDEX IX_${base-name}_BC (COLLECTIVITE,BUDGET,DOC_ID),
+ INDEX IX_${base-name}_DC (DOC_ID),
+ INITIAL_DOC_NAME VARCHAR(100),
+ INDEX ${base-name}_IDN (INITIAL_DOC_NAME),
+ ARCHIVE_NAME VARCHAR(100),
+ INDEX ${base-name}_AN (ARCHIVE_NAME)
+ ) ENGINE MYISAM
+ <patch from-version="1">
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY NATUREPRODUIT VARCHAR(250)</sql>
+ </patch>
+ <patch from-version="2">
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY RARFIN DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY DROITS DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY RECOUVREMENT DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY ANNULATIONS DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY RARDEB DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY RECETTESCOMPTANT DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY TOTDROITS DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY TOTRECETTEBUDG DECIMAL(17,2)</sql>
+ </patch>
+ </table>
+
+
+ <!-- CRITERIA /CompteGestionEtat/DeveloppementRecette -->
+
+ <!-- CRITERIA /n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette -->
+ <criteria id="CRI_DEVELOPPEMENTRECETTE_PAGE_EXERCICE" type="1" sql-index-id="SQI_DEVELOPPEMENTRECETTE_PAGE_EXERCICE">
+ <where-clause>fn:string-compare(${table}.${column},Exercice)</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENTRECETTE_PAGE_NUMPAGE" type="1" sql-index-id="SQI_DEVELOPPEMENTRECETTE_PAGE_NUMPAGE">
+ <where-clause>${table}.${column}##OPERATEUR:NumPage####VALEUR:NumPage##</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENTRECETTE_PAGE_COMPTABLE" type="1" sql-index-id="SQI_DEVELOPPEMENTRECETTE_PAGE_COMPTABLE">
+ <where-clause>fn:string-compare(${table}.${column},Comptable)</where-clause>
+ </criteria>
+
+ <!-- CRITERIA /n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette/n:LigneDeveloppementRecette -->
+ <criteria id="CRI_DEVELOPPEMENTRECETTE_LIGNE_TYPE" type="1" sql-index-id="SQI_DEVELOPPEMENTRECETTE_LIGNE_TYPE">
+ <where-clause>fn:string-compare(${table}.${column},Type)</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENTRECETTE_LIGNE_RARFIN" type="1" sql-index-id="SQI_DEVELOPPEMENTRECETTE_LIGNE_RARFIN">
+ <where-clause>${table}.${column}##OPERATEUR:RARFin####VALEUR:RARFin##</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENTRECETTE_LIGNE_DROITS" type="1" sql-index-id="SQI_DEVELOPPEMENTRECETTE_LIGNE_DROITS">
+ <where-clause>${table}.${column}##OPERATEUR:Droits####VALEUR:Droits##</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENTRECETTE_LIGNE_RECOUVREMENT" type="1" sql-index-id="SQI_DEVELOPPEMENTRECETTE_LIGNE_RECOUVREMENT">
+ <where-clause>${table}.${column}##OPERATEUR:Recouvrement####VALEUR:Recouvrement##</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENTRECETTE_LIGNE_ANNULATIONS" type="1" sql-index-id="SQI_DEVELOPPEMENTRECETTE_LIGNE_ANNULATIONS">
+ <where-clause>${table}.${column}##OPERATEUR:Annulations####VALEUR:Annulations##</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENTRECETTE_LIGNE_LIGNERECETTE" type="1" sql-index-id="SQI_DEVELOPPEMENTRECETTE_LIGNE_LIGNERECETTE">
+ <where-clause>fn:string-compare(${table}.${column},LigneRecette)</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENTRECETTE_LIGNE_RARDEB" type="1" sql-index-id="SQI_DEVELOPPEMENTRECETTE_LIGNE_RARDEB">
+ <where-clause>${table}.${column}##OPERATEUR:RARDeb####VALEUR:RARDeb##</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENTRECETTE_LIGNE_RECETTESCOMPTANT" type="1" sql-index-id="SQI_DEVELOPPEMENTRECETTE_LIGNE_RECETTESCOMPTANT">
+ <where-clause>${table}.${column}##OPERATEUR:RecettesComptant####VALEUR:RecettesComptant##</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENTRECETTE_LIGNE_COMPTEPEC" type="1" sql-index-id="SQI_DEVELOPPEMENTRECETTE_LIGNE_COMPTEPEC">
+ <where-clause>fn:string-compare(${table}.${column},ComptePEC)</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENTRECETTE_LIGNE_TOTDROITS" type="1" sql-index-id="SQI_DEVELOPPEMENTRECETTE_LIGNE_TOTDROITS">
+ <where-clause>${table}.${column}##OPERATEUR:TotDroits####VALEUR:TotDroits##</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENTRECETTE_LIGNE_TOTRECETTEBUDG" type="1" sql-index-id="SQI_DEVELOPPEMENTRECETTE_LIGNE_TOTRECETTEBUDG">
+ <where-clause>${table}.${column}##OPERATEUR:TotRecetteBudg####VALEUR:TotRecetteBudg##</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENTRECETTE_LIGNE_NATUREPRODUIT" type="1" sql-index-id="SQI_DEVELOPPEMENTRECETTE_LIGNE_NATUREPRODUIT">
+ <where-clause>fn:string-compare(${table}.${column},NatureProduit)</where-clause>
+ </criteria>
+ <criteria id="CRI_DEVELOPPEMENTRECETTE_LIGNE_NUMCOMPTE" type="1" sql-index-id="SQI_DEVELOPPEMENTRECETTE_LIGNE_NUMCOMPTE">
+ <where-clause>fn:string-compare(${table}.${column},NumCompte)</where-clause>
+ </criteria>
+
+ <criteria id="show_totaux" type="1" sql-index-id="SQI_DEVELOPPEMENTRECETTE_LIGNE_SHOW_TOTAUX">
+ <where-clause>${table}.${column} = ##VALEUR:show_totaux##</where-clause>
+ </criteria>
+
+ <!-- SQL-INDEX /CompteGestionEtat/DeveloppementRecette -->
+
+ <!-- SQL-INDEX /n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette -->
+ <sql-index id="SQI_DEVELOPPEMENTRECETTE_PAGE_EXERCICE" path="/n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette/n:Pied/@Exercice" datatype="string" column="EXERCICE" table="CGE_DEVELOPPEMENTRECETTE_PAGE_IX" format="uppercase"/>
+ <sql-index id="SQI_DEVELOPPEMENTRECETTE_PAGE_NUMPAGE" path="/n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette/n:Pied/@NumPage" datatype="integer" column="NUMPAGE" table="CGE_DEVELOPPEMENTRECETTE_PAGE_IX" format="uppercase"/>
+ <sql-index id="SQI_DEVELOPPEMENTRECETTE_PAGE_COMPTABLE" path="/n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette/n:Pied/@Comptable" datatype="string" column="COMPTABLE" table="CGE_DEVELOPPEMENTRECETTE_PAGE_IX" format="uppercase"/>
+
+ <sql-index id="SQI_DEVELOPPEMENTRECETTE_PAGE_EXERCICE" path="/n:CompteGestionEtat/n:Entete/n:Infos/n:Collectivite/@Exercice" datatype="string" column="EXERCICE" table="CGE_DEVELOPPEMENTRECETTE_PAGE_IX"/>
+ <sql-index id="SQI_DEVELOPPEMENTRECETTE_PAGE_EXERCICEB" path="/CompteGestionEtat/Entete/Infos/Collectivite/@Exercice" datatype="string" column="EXERCICE" table="CGE_DEVELOPPEMENTRECETTE_PAGE_IX"/>
+
+ <!-- SQL-INDEX /n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette/n:LigneDeveloppementRecette -->
+ <sql-index id="SQI_DEVELOPPEMENTRECETTE_LIGNE_NODE_ID" path="/n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette/n:LigneDeveloppementRecette/@added:generated-id" column="NODE_ID" datatype="string" table="CGE_DEVELOPPEMENTRECETTE_LIGNE_IX"/>
+ <sql-index id="SQI_DEVELOPPEMENTRECETTE_LIGNE_TYPE" path="/n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette/n:LigneDeveloppementRecette/@Type" datatype="string" column="TYPE" table="CGE_DEVELOPPEMENTRECETTE_LIGNE_IX" format="uppercase"/>
+ <sql-index id="SQI_DEVELOPPEMENTRECETTE_LIGNE_RARFIN" path="/n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette/n:LigneDeveloppementRecette/@RARFin" datatype="decimal" column="RARFIN" table="CGE_DEVELOPPEMENTRECETTE_LIGNE_IX"/>
+ <sql-index id="SQI_DEVELOPPEMENTRECETTE_LIGNE_DROITS" path="/n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette/n:LigneDeveloppementRecette/@Droits" datatype="decimal" column="DROITS" table="CGE_DEVELOPPEMENTRECETTE_LIGNE_IX"/>
+ <sql-index id="SQI_DEVELOPPEMENTRECETTE_LIGNE_RECOUVREMENT" path="/n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette/n:LigneDeveloppementRecette/@Recouvrement" datatype="decimal" column="RECOUVREMENT" table="CGE_DEVELOPPEMENTRECETTE_LIGNE_IX"/>
+ <sql-index id="SQI_DEVELOPPEMENTRECETTE_LIGNE_ANNULATIONS" path="/n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette/n:LigneDeveloppementRecette/@Annulations" datatype="decimal" column="ANNULATIONS" table="CGE_DEVELOPPEMENTRECETTE_LIGNE_IX"/>
+ <sql-index id="SQI_DEVELOPPEMENTRECETTE_LIGNE_LIGNERECETTE" path="/n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette/n:LigneDeveloppementRecette/@LigneRecette" datatype="integer" column="LIGNERECETTE" table="CGE_DEVELOPPEMENTRECETTE_LIGNE_IX" format="uppercase"/>
+ <sql-index id="SQI_DEVELOPPEMENTRECETTE_LIGNE_RARDEB" path="/n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette/n:LigneDeveloppementRecette/@RARDeb" datatype="decimal" column="RARDEB" table="CGE_DEVELOPPEMENTRECETTE_LIGNE_IX"/>
+ <sql-index id="SQI_DEVELOPPEMENTRECETTE_LIGNE_RECETTESCOMPTANT" path="/n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette/n:LigneDeveloppementRecette/@RecettesComptant" datatype="decimal" column="RECETTESCOMPTANT" table="CGE_DEVELOPPEMENTRECETTE_LIGNE_IX"/>
+ <sql-index id="SQI_DEVELOPPEMENTRECETTE_LIGNE_COMPTEPEC" path="/n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette/n:LigneDeveloppementRecette/@ComptePEC" datatype="integer" column="COMPTEPEC" table="CGE_DEVELOPPEMENTRECETTE_LIGNE_IX" format="uppercase"/>
+ <sql-index id="SQI_DEVELOPPEMENTRECETTE_LIGNE_TOTDROITS" path="/n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette/n:LigneDeveloppementRecette/@TotDroits" datatype="decimal" column="TOTDROITS" table="CGE_DEVELOPPEMENTRECETTE_LIGNE_IX"/>
+ <sql-index id="SQI_DEVELOPPEMENTRECETTE_LIGNE_TOTRECETTEBUDG" path="/n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette/n:LigneDeveloppementRecette/@TotRecetteBudg" datatype="decimal" column="TOTRECETTEBUDG" table="CGE_DEVELOPPEMENTRECETTE_LIGNE_IX"/>
+ <sql-index id="SQI_DEVELOPPEMENTRECETTE_LIGNE_NATUREPRODUIT" path="/n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette/n:LigneDeveloppementRecette/@NatureProduit" datatype="string" column="NATUREPRODUIT" table="CGE_DEVELOPPEMENTRECETTE_LIGNE_IX" format="uppercase"/>
+ <sql-index id="SQI_DEVELOPPEMENTRECETTE_LIGNE_NUMCOMPTE" path="/n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette/n:LigneDeveloppementRecette/@NumCompte" datatype="string" column="NUMCOMPTE" table="CGE_DEVELOPPEMENTRECETTE_LIGNE_IX" format="uppercase"/>
+ <sql-index id="SQI_DEVELOPPEMENTRECETTE_LIGNE_NUMCOMPTE_IS_SEARCHABLE" path="/n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette/n:LigneDeveloppementRecette[@added:isSearchable]/@NumCompte" datatype="string" column="NUMCOMPTE" table="CGE_DEVELOPPEMENTRECETTE_LIGNE_IX" format="uppercase"/>
+
+ <sql-index id="SQI_DEVELOPPEMENTRECETTE_LIGNE_SHOW_TOTAUX" path="/n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette/n:LigneDeveloppementRecette/@added:isNotShowResultat" datatype="integer" column="SHOWTOTAUX" table="CGE_DEVELOPPEMENTRECETTE_LIGNE_IX"/>
+
+ <element id="CGE_DEVELOPPEMENTRECETTE_LIGNE_IX">
+ <sql-count>COUNT(DISTINCT(CONCAT(CGE_DEVELOPPEMENTRECETTE_PAGE_IX.DOC_ID,CGE_DEVELOPPEMENTRECETTE_LIGNE_IX.NODE_ID)))</sql-count>
+ <special-cond>CGE_DEVELOPPEMENTRECETTE_LIGNE_IX.NODE_ID IS NOT NULL</special-cond>
+ </element>
+
+ </etat>
+
+ <!--***************************************************************************************************************-->
+ <!-- ***************************************** Récapitulation **************************************************** -->
+ <!--***************************************************************************************************************-->
+ <etat id="Recapitulation" import-xslt-file="cg-etat/cg-etat-import-mysql.xsl">
+ <key1>
+ <path>/n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation/n:LigneRecapitulation/@added:generated-id</path>
+ </key1>
+
+ <table type="document" base-name="CGE_RECAPITULATION_DOCUMENTS" version="1">
+ CREATE TABLE IF NOT EXISTS ${base-name} (
+ COLLECTIVITE VARCHAR(15) NOT NULL,
+ BUDGET VARCHAR(24) NOT NULL,
+ INITIAL_DOC_NAME VARCHAR(100) NOT NULL,
+ DOC_ID VARCHAR(100) NOT NULL,
+ DOC LONGBLOB,
+ ENCODING VARCHAR(20),
+ INDEX IX_${base-name}_BC (COLLECTIVITE,BUDGET,DOC_ID),
+ ARCHIVE_NAME VARCHAR(100), INDEX ${base-name}_AN (ARCHIVE_NAME)
+ ) ENGINE MYISAM
+ </table>
+ <table type="index" id="CGE_RECAPITULATION_PAGE_IX" base-name="CGE_RECAPITULATION_PAGE_IX" version="1" main="true">
+ CREATE TABLE IF NOT EXISTS ${base-name} (
+ COLLECTIVITE VARCHAR(15) NOT NULL,
+ BUDGET VARCHAR(24) NOT NULL,
+ DOC_ID VARCHAR(100) NOT NULL,
+ EXERCICE VARCHAR(4) ,
+ NUMPAGE INTEGER ,
+ COMPTABLE VARCHAR(6) ,
+ INDEX IX_${base-name}_BC (COLLECTIVITE,BUDGET,DOC_ID),
+ INDEX IX_${base-name}_DC (DOC_ID),
+ INITIAL_DOC_NAME VARCHAR(100),
+ INDEX ${base-name}_IDN (INITIAL_DOC_NAME),
+ ARCHIVE_NAME VARCHAR(100),
+ INDEX ${base-name}_AN (ARCHIVE_NAME)
+ ) ENGINE MYISAM
+ </table>
+ <table type="index" id="CGE_RECAPITULATION_LIGNE_IX" base-name="CGE_RECAPITULATION_LIGNE_IX" version="2" main="false" based-on="key1">
+ CREATE TABLE IF NOT EXISTS ${base-name} (
+ COLLECTIVITE VARCHAR(15) NOT NULL,
+ BUDGET VARCHAR(24) NOT NULL,
+ DOC_ID VARCHAR(100) NOT NULL,
+ NODE_ID VARCHAR(50) NOT NULL,
+ TYPE VARCHAR(12) ,
+ RARFIN DECIMAL(14,2),
+ DROITS DECIMAL(14,2),
+ RECOUVREMENT DECIMAL(14,2),
+ ANNULATIONS DECIMAL(14,2),
+ LIGNERECETTE INTEGER ,
+ RARDEB DECIMAL(14,2),
+ RECETTESCOMPTANT DECIMAL(14,2),
+ COMPTEPEC INTEGER ,
+ TOTDROITS DECIMAL(14,2),
+ TOTRECETTEBUDG DECIMAL(14,2),
+ NATUREPRODUIT VARCHAR(150) ,
+ NUMCOMPTE VARCHAR(14) ,
+ SHOWTOTAUX INTEGER ,
+ INDEX IX_${base-name}_BC (COLLECTIVITE,BUDGET,DOC_ID),
+ INDEX IX_${base-name}_DC (DOC_ID),
+ INITIAL_DOC_NAME VARCHAR(100),
+ INDEX ${base-name}_IDN (INITIAL_DOC_NAME),
+ ARCHIVE_NAME VARCHAR(100),
+ INDEX ${base-name}_AN (ARCHIVE_NAME)
+ ) ENGINE MYISAM
+ <patch from-version="1">
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY RARFIN DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY DROITS DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY RECOUVREMENT DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY ANNULATIONS DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY RARDEB DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY RECETTESCOMPTANT DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY TOTDROITS DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY TOTRECETTEBUDG DECIMAL(17,2)</sql>
+ </patch>
+ </table>
+
+
+ <!-- CRITERIA /n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation -->
+ <criteria id="CRI_RECAPITULATION_PAGE_EXERCICE" type="1" sql-index-id="SQI_RECAPITULATION_PAGE_EXERCICE">
+ <where-clause>fn:string-compare(${table}.${column},Exercice)</where-clause>
+ </criteria>
+ <criteria id="CRI_RECAPITULATION_PAGE_NUMPAGE" type="1" sql-index-id="SQI_RECAPITULATION_PAGE_NUMPAGE">
+ <where-clause>${table}.${column}##OPERATEUR:NumPage####VALEUR:NumPage##</where-clause>
+ </criteria>
+ <criteria id="CRI_RECAPITULATION_PAGE_COMPTABLE" type="1" sql-index-id="SQI_RECAPITULATION_PAGE_COMPTABLE">
+ <where-clause>fn:string-compare(${table}.${column},Comptable)</where-clause>
+ </criteria>
+
+ <!-- CRITERIA /n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation/n:LigneRecapitulation -->
+ <criteria id="CRI_RECAPITULATION_LIGNE_TYPE" type="1" sql-index-id="SQI_RECAPITULATION_LIGNE_TYPE">
+ <where-clause>fn:string-compare(${table}.${column},Type)</where-clause>
+ </criteria>
+ <criteria id="CRI_RECAPITULATION_LIGNE_RARFIN" type="1" sql-index-id="SQI_RECAPITULATION_LIGNE_RARFIN">
+ <where-clause>${table}.${column}##OPERATEUR:RARFin####VALEUR:RARFin##</where-clause>
+ </criteria>
+ <criteria id="CRI_RECAPITULATION_LIGNE_DROITS" type="1" sql-index-id="SQI_RECAPITULATION_LIGNE_DROITS">
+ <where-clause>${table}.${column}##OPERATEUR:Droits####VALEUR:Droits##</where-clause>
+ </criteria>
+ <criteria id="CRI_RECAPITULATION_LIGNE_RECOUVREMENT" type="1" sql-index-id="SQI_RECAPITULATION_LIGNE_RECOUVREMENT">
+ <where-clause>${table}.${column}##OPERATEUR:Recouvrement####VALEUR:Recouvrement##</where-clause>
+ </criteria>
+ <criteria id="CRI_RECAPITULATION_LIGNE_ANNULATIONS" type="1" sql-index-id="SQI_RECAPITULATION_LIGNE_ANNULATIONS">
+ <where-clause>${table}.${column}##OPERATEUR:Annulations####VALEUR:Annulations##</where-clause>
+ </criteria>
+ <criteria id="CRI_RECAPITULATION_LIGNE_LIGNERECETTE" type="1" sql-index-id="SQI_RECAPITULATION_LIGNE_LIGNERECETTE">
+ <where-clause>fn:string-compare(${table}.${column},LigneRecette)</where-clause>
+ </criteria>
+ <criteria id="CRI_RECAPITULATION_LIGNE_RARDEB" type="1" sql-index-id="SQI_RECAPITULATION_LIGNE_RARDEB">
+ <where-clause>${table}.${column}##OPERATEUR:RARDeb####VALEUR:RARDeb##</where-clause>
+ </criteria>
+ <criteria id="CRI_RECAPITULATION_LIGNE_RECETTESCOMPTANT" type="1" sql-index-id="SQI_RECAPITULATION_LIGNE_RECETTESCOMPTANT">
+ <where-clause>${table}.${column}##OPERATEUR:RecettesComptant####VALEUR:RecettesComptant##</where-clause>
+ </criteria>
+ <criteria id="CRI_RECAPITULATION_LIGNE_COMPTEPEC" type="1" sql-index-id="SQI_RECAPITULATION_LIGNE_COMPTEPEC">
+ <where-clause>fn:string-compare(${table}.${column},ComptePEC)</where-clause>
+ </criteria>
+ <criteria id="CRI_RECAPITULATION_LIGNE_TOTDROITS" type="1" sql-index-id="SQI_RECAPITULATION_LIGNE_TOTDROITS">
+ <where-clause>${table}.${column}##OPERATEUR:TotDroits####VALEUR:TotDroits##</where-clause>
+ </criteria>
+ <criteria id="CRI_RECAPITULATION_LIGNE_TOTRECETTEBUDG" type="1" sql-index-id="SQI_RECAPITULATION_LIGNE_TOTRECETTEBUDG">
+ <where-clause>${table}.${column}##OPERATEUR:TotRecetteBudg####VALEUR:TotRecetteBudg##</where-clause>
+ </criteria>
+ <criteria id="CRI_RECAPITULATION_LIGNE_NATUREPRODUIT" type="1" sql-index-id="SQI_RECAPITULATION_LIGNE_NATUREPRODUIT">
+ <where-clause>fn:string-compare(${table}.${column},NatureProduit)</where-clause>
+ </criteria>
+ <criteria id="CRI_RECAPITULATION_LIGNE_NUMCOMPTE" type="1" sql-index-id="SQI_RECAPITULATION_LIGNE_NUMCOMPTE">
+ <where-clause>${table}.${column}##OPERATEUR:NumCompte####VALEUR:NumCompte##</where-clause>
+ </criteria>
+
+ <criteria id="show_totaux" type="1" sql-index-id="SQI_RECAPITULATION_LIGNE_SHOW_TOTAUX">
+ <where-clause>${table}.${column} = ##VALEUR:show_totaux##</where-clause>
+ </criteria>
+
+ <!-- SQL-INDEX /n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation -->
+ <sql-index id="SQI_RECAPITULATION_PAGE_EXERCICE" path="/n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation/n:Pied/@Exercice" datatype="string" column="EXERCICE" table="CGE_RECAPITULATION_PAGE_IX" format="uppercase"/>
+ <sql-index id="SQI_RECAPITULATION_PAGE_NUMPAGE" path="/n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation/n:Pied/@NumPage" datatype="integer" column="NUMPAGE" table="CGE_RECAPITULATION_PAGE_IX" format="uppercase"/>
+ <sql-index id="SQI_RECAPITULATION_PAGE_COMPTABLE" path="/n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation/n:Pied/@Comptable" datatype="string" column="COMPTABLE" table="CGE_RECAPITULATION_PAGE_IX" format="uppercase"/>
+
+ <sql-index id="SQI_RECAPITULATION_PAGE_EXERCICE" path="/n:CompteGestionEtat/n:Entete/n:Infos/n:Collectivite/@Exercice" datatype="string" column="EXERCICE" table="CGE_RECAPITULATION_PAGE_IX"/>
+ <sql-index id="SQI_RECAPITULATION_PAGE_EXERCICEB" path="/CompteGestionEtat/Entete/Infos/Collectivite/@Exercice" datatype="string" column="EXERCICE" table="CGE_RECAPITULATION_PAGE_IX"/>
+
+ <!-- SQL-INDEX /n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation/n:LigneRecapitulation -->
+ <sql-index id="SQI_RECAPITULATION_LIGNE_NODE_ID" path="/n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation/n:LigneRecapitulation/@added:generated-id" column="NODE_ID" datatype="string" table="CGE_RECAPITULATION_LIGNE_IX"/>
+ <sql-index id="SQI_RECAPITULATION_LIGNE_TYPE" path="/n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation/n:LigneRecapitulation/@Type" datatype="string" column="TYPE" table="CGE_RECAPITULATION_LIGNE_IX" format="uppercase"/>
+ <sql-index id="SQI_RECAPITULATION_LIGNE_RARFIN" path="/n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation/n:LigneRecapitulation/@RARFin" datatype="decimal" column="RARFIN" table="CGE_RECAPITULATION_LIGNE_IX"/>
+ <sql-index id="SQI_RECAPITULATION_LIGNE_DROITS" path="/n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation/n:LigneRecapitulation/@Droits" datatype="decimal" column="DROITS" table="CGE_RECAPITULATION_LIGNE_IX"/>
+ <sql-index id="SQI_RECAPITULATION_LIGNE_RECOUVREMENT" path="/n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation/n:LigneRecapitulation/@Recouvrement" datatype="decimal" column="RECOUVREMENT" table="CGE_RECAPITULATION_LIGNE_IX"/>
+ <sql-index id="SQI_RECAPITULATION_LIGNE_ANNULATIONS" path="/n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation/n:LigneRecapitulation/@Annulations" datatype="decimal" column="ANNULATIONS" table="CGE_RECAPITULATION_LIGNE_IX"/>
+ <sql-index id="SQI_RECAPITULATION_LIGNE_LIGNERECETTE" path="/n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation/n:LigneRecapitulation/@LigneRecette" datatype="integer" column="LIGNERECETTE" table="CGE_RECAPITULATION_LIGNE_IX" format="uppercase"/>
+ <sql-index id="SQI_RECAPITULATION_LIGNE_RARDEB" path="/n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation/n:LigneRecapitulation/@RARDeb" datatype="decimal" column="RARDEB" table="CGE_RECAPITULATION_LIGNE_IX"/>
+ <sql-index id="SQI_RECAPITULATION_LIGNE_RECETTESCOMPTANT" path="/n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation/n:LigneRecapitulation/@RecettesComptant" datatype="decimal" column="RECETTESCOMPTANT" table="CGE_RECAPITULATION_LIGNE_IX"/>
+ <sql-index id="SQI_RECAPITULATION_LIGNE_COMPTEPEC" path="/n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation/n:LigneRecapitulation/@ComptePEC" datatype="integer" column="COMPTEPEC" table="CGE_RECAPITULATION_LIGNE_IX" format="uppercase"/>
+ <sql-index id="SQI_RECAPITULATION_LIGNE_TOTDROITS" path="/n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation/n:LigneRecapitulation/@TotDroits" datatype="decimal" column="TOTDROITS" table="CGE_RECAPITULATION_LIGNE_IX"/>
+ <sql-index id="SQI_RECAPITULATION_LIGNE_TOTRECETTEBUDG" path="/n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation/n:LigneRecapitulation/@TotRecetteBudg" datatype="decimal" column="TOTRECETTEBUDG" table="CGE_RECAPITULATION_LIGNE_IX"/>
+ <sql-index id="SQI_RECAPITULATION_LIGNE_NATUREPRODUIT" path="/n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation/n:LigneRecapitulation/@NatureProduit" datatype="string" column="NATUREPRODUIT" table="CGE_RECAPITULATION_LIGNE_IX" format="uppercase"/>
+ <sql-index id="SQI_RECAPITULATION_LIGNE_NUMCOMPTE" path="/n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation/n:LigneRecapitulation/@NumCompte" datatype="string" column="NUMCOMPTE" table="CGE_RECAPITULATION_LIGNE_IX" format="uppercase"/>
+
+ <sql-index id="SQI_RECAPITULATION_LIGNE_SHOW_TOTAUX" path="/n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation/n:LigneRecapitulation/@added:isNotShowResultat" datatype="integer" column="SHOWTOTAUX" table="CGE_RECAPITULATION_LIGNE_IX"/>
+
+ <element id="CGE_RECAPITULATION_LIGNE_IX">
+ <sql-count>COUNT(DISTINCT(CONCAT(CGE_RECAPITULATION_PAGE_IX.DOC_ID,CGE_RECAPITULATION_LIGNE_IX.NODE_ID)))</sql-count>
+ <special-cond>CGE_RECAPITULATION_LIGNE_IX.NODE_ID IS NOT NULL</special-cond>
+ </element>
+
+ </etat>
+
+ <!--***************************************************************************************************************-->
+ <!-- ***************************************** Reversement **************************************************** -->
+ <!--***************************************************************************************************************-->
+ <etat id="Reversement" import-xslt-file="cg-etat/cg-etat-import-mysql.xsl">
+ <key1>
+ <path>/n:CompteGestionEtat/n:Reversement/n:PageReversement/n:LigneReversement/@added:generated-id</path>
+ </key1>
+
+ <table type="document" base-name="CGE_REVERSEMENT_DOCUMENTS" version="1">
+ CREATE TABLE IF NOT EXISTS ${base-name} (
+ COLLECTIVITE VARCHAR(15) NOT NULL,
+ BUDGET VARCHAR(24) NOT NULL,
+ INITIAL_DOC_NAME VARCHAR(100) NOT NULL,
+ DOC_ID VARCHAR(100) NOT NULL,
+ DOC LONGBLOB,
+ ENCODING VARCHAR(20),
+ INDEX IX_${base-name}_BC (COLLECTIVITE,BUDGET,DOC_ID),
+ ARCHIVE_NAME VARCHAR(100), INDEX ${base-name}_AN (ARCHIVE_NAME)
+ ) ENGINE MYISAM
+ </table>
+ <table type="index" id="CGE_REVERSEMENT_PAGE_IX" base-name="CGE_REVERSEMENT_PAGE_IX" version="1" main="true">
+ CREATE TABLE IF NOT EXISTS ${base-name} (
+ COLLECTIVITE VARCHAR(15) NOT NULL,
+ BUDGET VARCHAR(24) NOT NULL,
+ DOC_ID VARCHAR(100) NOT NULL,
+ EXERCICE VARCHAR(4) ,
+ NUMPAGE INTEGER ,
+ COMPTABLE VARCHAR(6) ,
+ INDEX IX_${base-name}_BC (COLLECTIVITE,BUDGET,DOC_ID),
+ INDEX IX_${base-name}_DC (DOC_ID),
+ INITIAL_DOC_NAME VARCHAR(100),
+ INDEX ${base-name}_IDN (INITIAL_DOC_NAME),
+ ARCHIVE_NAME VARCHAR(100),
+ INDEX ${base-name}_AN (ARCHIVE_NAME)
+ ) ENGINE MYISAM
+ </table>
+ <table type="index" id="CGE_REVERSEMENT_LIGNE_IX" base-name="CGE_REVERSEMENT_LIGNE_IX" version="2" main="false" based-on="key1">
+ CREATE TABLE IF NOT EXISTS ${base-name} (
+ COLLECTIVITE VARCHAR(15) NOT NULL,
+ BUDGET VARCHAR(24) NOT NULL,
+ DOC_ID VARCHAR(100) NOT NULL,
+ NODE_ID VARCHAR(50) NOT NULL,
+ TYPE VARCHAR(12) ,
+ RARFIN DECIMAL(14,2),
+ DROITS DECIMAL(14,2),
+ RECOUVREMENT DECIMAL(14,2),
+ ANNULATIONS DECIMAL(14,2),
+ LIGNERECETTE INTEGER ,
+ RARDEB DECIMAL(14,2),
+ RECETTESCOMPTANT DECIMAL(14,2),
+ COMPTEPEC INTEGER ,
+ TOTDROITS DECIMAL(14,2),
+ TOTRECETTEBUDG DECIMAL(14,2),
+ NATUREPRODUIT VARCHAR(150) ,
+ NUMCOMPTE VARCHAR(14) ,
+ SHOWTOTAUX INTEGER,
+ INDEX IX_${base-name}_BC (COLLECTIVITE,BUDGET,DOC_ID),
+ INDEX IX_${base-name}_DC (DOC_ID),
+ INITIAL_DOC_NAME VARCHAR(100),
+ INDEX ${base-name}_IDN (INITIAL_DOC_NAME),
+ ARCHIVE_NAME VARCHAR(100),
+ INDEX ${base-name}_AN (ARCHIVE_NAME)
+ ) ENGINE MYISAM
+ <patch from-version="1">
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY RARFIN DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY DROITS DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY RECOUVREMENT DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY ANNULATIONS DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY RARDEB DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY RECETTESCOMPTANT DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY TOTDROITS DECIMAL(17,2)</sql>
+ <sql failonerror="false">ALTER TABLE ${base-name} MODIFY TOTRECETTEBUDG DECIMAL(17,2)</sql>
+ </patch>
+ </table>
+
+
+ <!-- CRITERIA /n:CompteGestionEtat/n:Reversement -->
+
+ <!-- CRITERIA /n:CompteGestionEtat/n:Reversement/n:PageReversement -->
+ <criteria id="CRI_REVERSEMENT_PAGE_EXERCICE" type="1" sql-index-id="SQI_REVERSEMENT_PAGE_EXERCICE">
+ <where-clause>fn:string-compare(${table}.${column},Exercice)</where-clause>
+ </criteria>
+ <criteria id="CRI_REVERSEMENT_PAGE_NUMPAGE" type="1" sql-index-id="SQI_REVERSEMENT_PAGE_NUMPAGE">
+ <where-clause>${table}.${column}##OPERATEUR:NumPage####VALEUR:NumPage##</where-clause>
+ </criteria>
+ <criteria id="CRI_REVERSEMENT_PAGE_COMPTABLE" type="1" sql-index-id="SQI_REVERSEMENT_PAGE_COMPTABLE">
+ <where-clause>fn:string-compare(${table}.${column},Comptable)</where-clause>
+ </criteria>
+
+ <!-- CRITERIA /n:CompteGestionEtat/n:Reversement/n:PageReversement/n:LigneReversement -->
+ <criteria id="CRI_REVERSEMENT_LIGNE_TYPE" type="1" sql-index-id="SQI_REVERSEMENT_LIGNE_TYPE">
+ <where-clause>fn:string-compare(${table}.${column},Type)</where-clause>
+ </criteria>
+ <criteria id="CRI_REVERSEMENT_LIGNE_RARFIN" type="1" sql-index-id="SQI_REVERSEMENT_LIGNE_RARFIN">
+ <where-clause>${table}.${column}##OPERATEUR:RARFin####VALEUR:RARFin##</where-clause>
+ </criteria>
+ <criteria id="CRI_REVERSEMENT_LIGNE_DROITS" type="1" sql-index-id="SQI_REVERSEMENT_LIGNE_DROITS">
+ <where-clause>${table}.${column}##OPERATEUR:Droits####VALEUR:Droits##</where-clause>
+ </criteria>
+ <criteria id="CRI_REVERSEMENT_LIGNE_RECOUVREMENT" type="1" sql-index-id="SQI_REVERSEMENT_LIGNE_RECOUVREMENT">
+ <where-clause>${table}.${column}##OPERATEUR:Recouvrement####VALEUR:Recouvrement##</where-clause>
+ </criteria>
+ <criteria id="CRI_REVERSEMENT_LIGNE_ANNULATIONS" type="1" sql-index-id="SQI_REVERSEMENT_LIGNE_ANNULATIONS">
+ <where-clause>${table}.${column}##OPERATEUR:Annulations####VALEUR:Annulations##</where-clause>
+ </criteria>
+ <criteria id="CRI_REVERSEMENT_LIGNE_LIGNERECETTE" type="1" sql-index-id="SQI_REVERSEMENT_LIGNE_LIGNERECETTE">
+ <where-clause>fn:string-compare(${table}.${column},LigneRecette)</where-clause>
+ </criteria>
+ <criteria id="CRI_REVERSEMENT_LIGNE_RARDEB" type="1" sql-index-id="SQI_REVERSEMENT_LIGNE_RARDEB">
+ <where-clause>${table}.${column}##OPERATEUR:RARDeb####VALEUR:RARDeb##</where-clause>
+ </criteria>
+ <criteria id="CRI_REVERSEMENT_LIGNE_RECETTESCOMPTANT" type="1" sql-index-id="SQI_REVERSEMENT_LIGNE_RECETTESCOMPTANT">
+ <where-clause>${table}.${column}##OPERATEUR:RecettesComptant####VALEUR:RecettesComptant##</where-clause>
+ </criteria>
+ <criteria id="CRI_REVERSEMENT_LIGNE_COMPTEPEC" type="1" sql-index-id="SQI_REVERSEMENT_LIGNE_COMPTEPEC">
+ <where-clause>fn:string-compare(${table}.${column},ComptePEC)</where-clause>
+ </criteria>
+ <criteria id="CRI_REVERSEMENT_LIGNE_TOTDROITS" type="1" sql-index-id="SQI_REVERSEMENT_LIGNE_TOTDROITS">
+ <where-clause>${table}.${column}##OPERATEUR:TotDroits####VALEUR:TotDroits##</where-clause>
+ </criteria>
+ <criteria id="CRI_REVERSEMENT_LIGNE_TOTRECETTEBUDG" type="1" sql-index-id="SQI_REVERSEMENT_LIGNE_TOTRECETTEBUDG">
+ <where-clause>${table}.${column}##OPERATEUR:TotRecetteBudg####VALEUR:TotRecetteBudg##</where-clause>
+ </criteria>
+ <criteria id="CRI_REVERSEMENT_LIGNE_NATUREPRODUIT" type="1" sql-index-id="SQI_REVERSEMENT_LIGNE_NATUREPRODUIT">
+ <where-clause>fn:string-compare(${table}.${column},NatureProduit)</where-clause>
+ </criteria>
+ <criteria id="CRI_REVERSEMENT_LIGNE_NUMCOMPTE" type="1" sql-index-id="SQI_REVERSEMENT_LIGNE_NUMCOMPTE">
+ <where-clause>fn:string-compare(${table}.${column},NumCompte)</where-clause>
+ </criteria>
+
+ <criteria id="show_totaux" type="1" sql-index-id="SQI_REVERSEMENT_LIGNE_SHOW_TOTAUX">
+ <where-clause>${table}.${column} = ##VALEUR:show_totaux##</where-clause>
+ </criteria>
+
+ <!-- SQL-INDEX /n:CompteGestionEtat/n:Reversement/n:PageReversement -->
+ <sql-index id="SQI_REVERSEMENT_PAGE_EXERCICE" path="/n:CompteGestionEtat/n:Reversement/n:PageReversement/n:Pied/@Exercice" datatype="string" column="EXERCICE" table="CGE_REVERSEMENT_PAGE_IX" format="uppercase"/>
+ <sql-index id="SQI_REVERSEMENT_PAGE_NUMPAGE" path="/n:CompteGestionEtat/n:Reversement/n:PageReversement/n:Pied/@NumPage" datatype="integer" column="NUMPAGE" table="CGE_REVERSEMENT_PAGE_IX" format="uppercase"/>
+ <sql-index id="SQI_REVERSEMENT_PAGE_COMPTABLE" path="/n:CompteGestionEtat/n:Reversement/n:PageReversement/n:Pied/@Comptable" datatype="string" column="COMPTABLE" table="CGE_REVERSEMENT_PAGE_IX" format="uppercase"/>
+
+ <sql-index id="SQI_REVERSEMENT_PAGE_EXERCICE" path="/n:CompteGestionEtat/n:Entete/n:Infos/n:Collectivite/@Exercice" datatype="string" column="EXERCICE" table="CGE_REVERSEMENT_PAGE_IX"/>
+ <sql-index id="SQI_REVERSEMENT_PAGE_EXERCICEB" path="/CompteGestionEtat/Entete/Infos/Collectivite/@Exercice" datatype="string" column="EXERCICE" table="CGE_REVERSEMENT_PAGE_IX"/>
+
+ <!-- SQL-INDEX /n:CompteGestionEtat/n:Reversement/n:PageReversement/n:LigneReversement -->
+ <sql-index id="SQI_REVERSEMENT_LIGNE_NODE_ID" path="/n:CompteGestionEtat/n:Reversement/n:PageReversement/n:LigneReversement/@added:generated-id" column="NODE_ID" datatype="string" table="CGE_REVERSEMENT_LIGNE_IX"/>
+ <sql-index id="SQI_REVERSEMENT_LIGNE_TYPE" path="/n:CompteGestionEtat/n:Reversement/n:PageReversement/n:LigneReversement/@Type" datatype="string" column="TYPE" table="CGE_REVERSEMENT_LIGNE_IX" format="uppercase"/>
+ <sql-index id="SQI_REVERSEMENT_LIGNE_RARFIN" path="/n:CompteGestionEtat/n:Reversement/n:PageReversement/n:LigneReversement/@RARFin" datatype="decimal" column="RARFIN" table="CGE_REVERSEMENT_LIGNE_IX"/>
+ <sql-index id="SQI_REVERSEMENT_LIGNE_DROITS" path="/n:CompteGestionEtat/n:Reversement/n:PageReversement/n:LigneReversement/@Droits" datatype="decimal" column="DROITS" table="CGE_REVERSEMENT_LIGNE_IX"/>
+ <sql-index id="SQI_REVERSEMENT_LIGNE_RECOUVREMENT" path="/n:CompteGestionEtat/n:Reversement/n:PageReversement/n:LigneReversement/@Recouvrement" datatype="decimal" column="RECOUVREMENT" table="CGE_REVERSEMENT_LIGNE_IX"/>
+ <sql-index id="SQI_REVERSEMENT_LIGNE_ANNULATIONS" path="/n:CompteGestionEtat/n:Reversement/n:PageReversement/n:LigneReversement/@Annulations" datatype="decimal" column="ANNULATIONS" table="CGE_REVERSEMENT_LIGNE_IX"/>
+ <sql-index id="SQI_REVERSEMENT_LIGNE_LIGNERECETTE" path="/n:CompteGestionEtat/n:Reversement/n:PageReversement/n:LigneReversement/@LigneRecette" datatype="integer" column="LIGNERECETTE" table="CGE_REVERSEMENT_LIGNE_IX" format="uppercase"/>
+ <sql-index id="SQI_REVERSEMENT_LIGNE_RARDEB" path="/n:CompteGestionEtat/n:Reversement/n:PageReversement/n:LigneReversement/@RARDeb" datatype="decimal" column="RARDEB" table="CGE_REVERSEMENT_LIGNE_IX"/>
+ <sql-index id="SQI_REVERSEMENT_LIGNE_RECETTESCOMPTANT" path="/n:CompteGestionEtat/n:Reversement/n:PageReversement/n:LigneReversement/@RecettesComptant" datatype="decimal" column="RECETTESCOMPTANT" table="CGE_REVERSEMENT_LIGNE_IX"/>
+ <sql-index id="SQI_REVERSEMENT_LIGNE_COMPTEPEC" path="/n:CompteGestionEtat/n:Reversement/n:PageReversement/n:LigneReversement/@ComptePEC" datatype="integer" column="COMPTEPEC" table="CGE_REVERSEMENT_LIGNE_IX" format="uppercase"/>
+ <sql-index id="SQI_REVERSEMENT_LIGNE_TOTDROITS" path="/n:CompteGestionEtat/n:Reversement/n:PageReversement/n:LigneReversement/@TotDroits" datatype="decimal" column="TOTDROITS" table="CGE_REVERSEMENT_LIGNE_IX"/>
+ <sql-index id="SQI_REVERSEMENT_LIGNE_TOTRECETTEBUDG" path="/n:CompteGestionEtat/n:Reversement/n:PageReversement/n:LigneReversement/@TotRecetteBudg" datatype="decimal" column="TOTRECETTEBUDG" table="CGE_REVERSEMENT_LIGNE_IX"/>
+ <sql-index id="SQI_REVERSEMENT_LIGNE_NATUREPRODUIT" path="/n:CompteGestionEtat/n:Reversement/n:PageReversement/n:LigneReversement/@NatureProduit" datatype="string" column="NATUREPRODUIT" table="CGE_REVERSEMENT_LIGNE_IX" format="uppercase"/>
+ <sql-index id="SQI_REVERSEMENT_LIGNE_NUMCOMPTE" path="/n:CompteGestionEtat/n:Reversement/n:PageReversement/n:LigneReversement/@NumCompte" datatype="string" column="NUMCOMPTE" table="CGE_REVERSEMENT_LIGNE_IX" format="uppercase"/>
+
+ <sql-index id="SQI_REVERSEMENT_LIGNE_SHOW_TOTAUX" path="/n:CompteGestionEtat/n:Reversement/n:PageReversement/n:LigneReversement/@added:isNotShowResultat" datatype="integer" column="SHOWTOTAUX" table="CGE_REVERSEMENT_LIGNE_IX"/>
+
+ <element id="REVERSEMENT_LIGNE_IX">
+ <sql-count>COUNT(DISTINCT(CONCAT(CGE_REVERSEMENT_PAGE_IX.DOC_ID,CGE_REVERSEMENT_LIGNE_IX.NODE_ID)))</sql-count>
+ <special-cond>CGE_REVERSEMENT_LIGNE_IX.NODE_ID IS NOT NULL</special-cond>
+ </element>
+
+ </etat>
+ </document>
+ </layer>
+</persistence-config>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.xemelios.org/namespaces#cge" xmlns:n="http://www.xemelios.org/namespaces#cge" version="2.0">
+ <xsl:template name="style">
+ <style type="text/css" media="all">
+ body {font-family: verdana, sans-serif; font-size: 12px; }
+
+ .numPage {font-family: verdana, sans-serif; font-size: 12px; }
+ /*.numCompte { position:absolute; left: 10em; font-size: 14px; font-weight: bold;}*/
+
+ h1 { font-size: 20px; color: #003535; font-weight: bold; }
+ h2 { font-size: 14px; color: #004545; text-align: center;}
+ h3 { font-size: 12px; color: #005555; text-align: center;}
+
+ span {font-size: 18px; font-weight: bold;}
+
+ span a:link {color: #0000FF; font-size: 18px; font-weight: bold; font-style: underline;}
+ span a:visited {color: #0000FF; font-size: 18px; font-weight: bold; font-style: underline;}
+
+ table#main {border-spacing: 0px; background-color: white; border: #000000 solid 2px;border-collapse: collapse; }
+ table#mainBorderedNot {border-spacing: 0px; background-color: white; border: #000000 none 2px; border-collapse: collapse; }
+
+
+ .bordered { border: #000000 solid 1px;}
+ .borderedBold { border: #000000 solid 2px;}
+
+ .borderedNot { border: #000000 none 1px;}
+
+ .bordureRight { border-right: #000000 solid 1px; }
+ .bordureLeft { border-left: #000000 solid 1px; }
+
+ .bordureTop { border-top: #000000 solid 1px; }
+ .bordureTopBold { border-top: #000000 solid 2px; }
+
+ .bordureBottom { border-bottom: #000000 solid 1px; }
+ .bordureBottomBold { border-bottom: #000000 solid 2px; }
+
+ .borderedNotTop { border-bottom: #000000 solid 1px ; border-left: #000000 solid 1px ; border-right: #000000 solid 1px ;}
+ .borderedNotBottom { border-top: #000000 solid 1px ; border-left: #000000 solid 1px ; border-right: #000000 solid 1px ;}
+ .borderedNotLeft { border-top: #000000 solid 1px ; border-bottom: #000000 solid 1px ; border-right: #000000 solid 1px ;}
+ .borderedNotRight { border-top: #000000 solid 1px ; border-bottom: #000000 solid 1px ; border-left: #000000 solid 1px ;}
+
+ b.negative { color: red;}
+
+ tr#colorised1 td {background-color: #FFFFC5; }
+ tr#colorised2 td {background-color: #FFFFE0; } /* jaune pale */
+ tr#colorised3 td {background-color: #D9EEFF; } /* bleu pale */
+
+ tr#highlighted td {background-color: #FFFF68; font-weight:bold; }
+ tr#highlighted td a { font-weight: bold; }
+ tr#highlighted td a:hover { color: #FF4000; }
+
+ tr.paddingLeft td { padding-left: 20px;}
+
+ tr.total td { font-weight:bold; font-size: 12px;}
+ tr.total td a { font-weight: bold; font-size: 12px;}
+ tr.total td a:hover { color: #FF4000; font-size: 12px;}
+
+ tr.Total td { font-weight:bold; font-size: 12px;}
+ tr.Total td a { font-weight: bold; font-size: 12px;}
+ tr.Total td a:hover { color: #FF4000; font-size: 12px;}
+
+ td.totalAnnexeII1 { background-color: #FFFF9A; font-size: 13px;}
+ td.totalAnnexeII { color: navy; background-color: #FFFFBB; font-size: 12px;}
+
+ tr.NotTotal td{ font-size: 12.5px;}
+
+ a:link { color: #0000FF; background: transparent; }
+ a:visited { color: #FF3ABA; background: transparent; }
+
+ td#highlighted {background-color: #FFFF68; font-weight:bold; }
+
+ td#padding2 { padding-left: 20px;}
+ td#padding4 { padding-left: 40px;}
+ td#padding6 { padding-left: 60px;}
+ td#padding8 { padding-left: 80px;}
+ td#padding10 { padding-left: 100px;}
+ td#padding12 { padding-left: 120px;}
+ td#padding14 { padding-left: 140px;}
+ td#padding70 { padding-left: 200px;}
+ td#padding77 { padding-left: 220px;}
+
+ a {font-size: 12.5px;}
+
+ a.precsuiv { color: #0000FF; background: transparent; font-style: normal; text-decoration: none;}
+ a.sommaire:visited { color: #0000FF; background: transparent; font-style: normal;}
+
+ tr.mask td {heigth: 0px; font-size: 0px;}
+ tr[id!=mask] td { height: 20px;}
+
+ td.right { text-align: right; }
+ td.left { text-align: left; }
+ td.center { text-align: center; }
+ td.bold { font-weight:bold; }
+ td.montant { white-space: nowrap;text-align: right;}
+
+ td.titre { font-size: 12px;}
+ td.titre2 { font-size: 11px;}
+ td.titre3 { font-size: 10px;}
+
+ td.libelleLigne { text-align: right; font-size: 12px; }
+ td.libelleLigne2 { text-align: right; font-size: 10px; }
+
+ td.font { background-color: #FFFFFF; }
+
+
+ tr.lineEntete1 td { height: 20px;}
+
+ div p { padding-left: 75px;}
+ div p input { padding-left: 20px;}
+
+ td#message { border: red solid 2px; text-align: center; v-align: middle; color: red; width: 50%;}
+
+ caption { color: navy; font-size: 12px; font-weight: bold;}
+ label { font-size: 11px; font-weight: bold;}
+
+ img {border: none;}
+
+ .formulaire {display: block;}
+ .navigate {display: block;}
+ .showPrint { display: none;}
+ </style>
+ <style type="text/css" media="print">
+ /*@page { size: 297mm 210mm; @bottom-center { content: "Page " counter(page) " / " counter(pages); } }*/
+ @page { font-family: verdana; font-size: 10px; size: 445mm 315mm; @bottom-right { content: counter(page) " / " counter(pages); } }
+
+ .formulaire {display: none;}
+ .navigate {display: none;}
+ .hidePrint { display: none;}
+ .showPrint { display: block;}
+
+ a {text-decoration: none;color: black;}
+
+ body {font-size: 10px;}
+
+ table#main {width=100%; border-spacing: 0px; background-color: white; border: #000000 solid 2px;border-collapse: collapse; -fs-table-paginate: paginate;}
+ table#mainBorderedNot {border-spacing: 0px; background-color: white; border: #000000 none 2px; border-collapse: collapse; -fs-table-paginate: paginate;}
+
+ tr { page-break-inside: avoid;}
+
+ tr#colorised1 td {background-color: #FFFFFF; }
+ tr#colorised2 td {background-color: #FFFFFF; }
+
+ tr#highlighted td {background-color: #FFFFFF; font-weight: normal;}
+
+ td#padding2 { padding-left: 5px;}
+ td#padding4 { padding-left: 10px;}
+ td#padding6 { padding-left: 15px;}
+ td#padding8 { padding-left: 20px;}
+ td#padding10 { padding-left: 25px;}
+ td#padding12 { padding-left: 30px;}
+ td#padding14 { padding-left: 35px;}
+ td#padding70 { padding-left: 40px;}
+ td#padding77 { padding-left: 50px;}
+
+ td.bold { font-weight:bold; }
+
+ tr.total td { font-weight:bold; font-size: 10px;}
+
+ tr.total td a { font-weight: bold; font-size: 10px;}
+ tr.total td a:hover { color: #FF4000; font-size: 10px;}
+
+ tr#highlighted td a { font-weight: normal; }
+
+ .bordureRight { border: #000000 solid 1px ; }
+ .bordered { border: #000000 solid 1px;}
+ </style>
+ </xsl:template>
+
+</xsl:stylesheet>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE xsl:stylesheet [
+<!ENTITY nbsp " ">
+<!ENTITY egrave "è">
+<!ENTITY euro "€">
+<!ENTITY agrave "à">
+<!ENTITY eacute "é">
+]>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.xemelios.org/namespaces#cge" xmlns:n="http://www.xemelios.org/namespaces#cge" version="2.0">
+ <xsl:template name="Error">
+ <!--xsl:param name="error.message"/-->
+ <script>
+ function hideDialog() {
+ var dialogBox = document.getElementById("dialogBox");
+ dialogBox.style.visibility = "hidden";
+ }
+
+ function showDialog(content) {
+ var dialogBox = document.getElementById("dialogBox");
+ var dialogContent = document.getElementById("dialogContent");
+ dialogContent.innerHTML = content;
+ dialogBox.style.visibility = "visible";
+ }
+ </script>
+ <div id="dialogBox" style="visibility: hidden; position: absolute; left: 10px; top: 10px; width: 800px; height: 100px; border-style: solid; border-width: 1px; border-color: #00006A; background-color: white; z-index: 1000;">
+ <table border="0" width="100%">
+ <tr>
+ <td style="width: 100%; font-weight:bold;" id="dialogContent"></td>
+ <td valign="top" align="right">
+ <a href="javascript:hideDialog();"><img src="img/bt_fermer.gif" border="0"/></a>
+ </td>
+ </tr>
+ </table>
+ </div>
+
+ <!--table width="100%" style="border-style:none;border-width:0px;cell-padding:0px;cell-spacing:0px">
+ <colgroup>
+ <col width="25%"/>
+ <col width="50%"/>
+ <col width="25%"/>
+ </colgroup>
+ <tbody>
+ <tr style="border:none;">
+ <td style="border:none;"> </td>
+ <td id="message">
+ <center width="100%">
+ <xsl:value-of select="$error.message"/>
+ </center>
+ <br/></td>
+ <td style="border:none;"> </td>
+ </tr>
+ </tbody>
+ </table-->
+ </xsl:template>
+</xsl:stylesheet>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE xsl:stylesheet [
+<!ENTITY nbsp " ">
+<!ENTITY egrave "è">
+<!ENTITY euro "€">
+<!ENTITY agrave "à">
+<!ENTITY eacute "é">
+]>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.xemelios.org/namespaces#cge" xmlns:n="http://www.xemelios.org/namespaces#cge" version="2.0">
+ <xsl:template name="header">
+ <xsl:param name="Entete"/>
+ <xsl:param name="Titre"/>
+ <xsl:param name="Titre.Plus"/>
+
+ <table width="100%" style="border-style:none;border-width:0px;cell-padding:0px;cell-spacing:0px;-fs-table-paginate: paginate;" >
+ <colgroup>
+ <col width="40%"/>
+ <col width="40%"/>
+ <col width="20"/>
+ </colgroup>
+ <tbody>
+ <tr style="border:none;" id="lineEntete1">
+ <td style="border:none;" class="titre bold"><h3 style="text-align: left;"><xsl:value-of select="$Entete//n:Collectivite/@Libelle"/></h3></td>
+ <td style="border:none;"><!-- --></td>
+ <td style="border:none;"><!-- --><h3 style="text-align: right;">Exercice <xsl:value-of select="$Entete//n:Collectivite/@Exercice"/></h3></td>
+ </tr>
+ <xsl:if test="$Titre"><tr><td colspan="3" style="border:none;" class="titre center"><h1><xsl:value-of select="$Titre"/></h1></td></tr></xsl:if>
+ <xsl:if test="$Titre.Plus"><tr><td colspan="3" style="border:none;" class="titre center"><xsl:copy-of select="$Titre.Plus/child::node()"/></td></tr></xsl:if>
+ </tbody>
+ </table>
+ </xsl:template>
+
+ <xsl:template name="header.table">
+ <xsl:param name="Entete"/>
+ <xsl:param name="Titre"/>
+ <xsl:param name="Titre.Plus"/>
+ <xsl:param name="colspan">1</xsl:param>
+
+ <tr style="border:none;">
+ <th style="border:none;" class="titre bold"><h3 style="text-align: left;"><xsl:value-of select="$Entete//n:Collectivite/@Libelle"/></h3></th>
+ <xsl:choose>
+ <xsl:when test="number($colspan)=1"><th style="border:none;"><!-- --></th></xsl:when>
+ <xsl:otherwise><th style="border:none;" colspan="{number($colspan)-2}"><!-- --></th></xsl:otherwise>
+ </xsl:choose>
+ <th style="border:none;"><!-- --><h3 style="text-align: right;">Exercice <xsl:value-of select="$Entete//n:Collectivite/@Exercice"/></h3></th>
+ </tr>
+ <xsl:if test="$Titre"><tr><th colspan="{$colspan}" style="border:none;text-align:center;" class="titre"><h1><xsl:value-of select="$Titre"/></h1></th></tr></xsl:if>
+ <xsl:if test="$Titre.Plus"><tr><th colspan="{$colspan}" style="border:none;text-align:center;" class="titre"><xsl:copy-of select="$Titre.Plus/child::node()"/></th></tr></xsl:if>
+ </xsl:template>
+
+ <xsl:template name="iso-date-header">
+ <xsl:param name="datebrute"/>
+ <xsl:choose>
+ <xsl:when test="string-length($datebrute)>0 and not(contains($datebrute,'..'))">
+ <xsl:value-of select="substring($datebrute, 9, 2)"/>
+ <xsl:text>/</xsl:text>
+ <xsl:value-of select="substring($datebrute,6,2)"/>
+ <xsl:text>/</xsl:text>
+ <xsl:value-of select="substring($datebrute, 1, 4)"/>
+ </xsl:when>
+ <xsl:when test="string-length($datebrute)>0 and contains($datebrute,'..')">
+ <xsl:value-of select="$datebrute"/>
+ </xsl:when>
+ <xsl:otherwise>-</xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+</xsl:stylesheet>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE xsl:stylesheet [
+<!ENTITY nbsp " ">
+<!ENTITY egrave "è">
+<!ENTITY euro "€">
+<!ENTITY agrave "à">
+<!ENTITY eacute "é">
+]>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.xemelios.org/namespaces#cge" xmlns:n="http://www.xemelios.org/namespaces#cge" version="2.0">
+ <xsl:template name="navigate">
+ <xsl:param name="docId"/>
+ <xsl:param name="etatId"/>
+ <xsl:param name="elementId"/>
+ <xsl:param name="sous.elementId"/>
+ <xsl:param name="Entete"/>
+ <xsl:param name="NumPage"/>
+ <xsl:param name="LastPage"/>
+ <xsl:param name="isLastPage"/>
+ <xsl:param name="show.formulaire"/>
+ <xsl:param name="show.formulaire.compte" select="1"/>
+ <xsl:param name="show.depense.recette" select="0"/>
+ <xsl:param name="element.path"/>
+ <xsl:param name="path.plus"/>
+ <xsl:param name="ancre"/>
+ <xsl:param name="display.logos.entete">0</xsl:param>
+ <xsl:param name="is.web"/>
+ <xsl:param name="context.path"/>
+
+ <div class="formulaire">
+ <xsl:if test="$display.logos.entete eq '1'">
+ <table width="100%">
+ <colgroup>
+ <col/>
+ <col width="50%"/>
+ <col/>
+ </colgroup>
+ <tbody>
+ <tr>
+ <th style="text-align: left;" valign="middle"><img src="xemelios:/resource?logo_marianne.png" alt="LogoMarianne"/></th>
+ <th> </th>
+ <th style="text-align: right;" valign="middle"><img src="xemelios:/resource?logo_ministere.png" alt="LogoMinistere"/></th>
+ </tr>
+ </tbody>
+ </table>
+ </xsl:if>
+ <table width="100%">
+ <colgroup>
+ <col width="20%"/>
+ <col/>
+ <col width="20%"/>
+ </colgroup>
+ <tbody>
+ <tr>
+ <th style="text-align: left;" valign="middle">
+ <xsl:choose>
+ <xsl:when test="$NumPage > 1"><xsl:element name="a"><xsl:attribute name="class">precsuiv</xsl:attribute><xsl:attribute name="href">xemelios:/query?docId=<xsl:value-of select="$docId"/>&etatId=<xsl:value-of select="$etatId"/>&elementId=<xsl:value-of select="$elementId"/>&sp1=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@Exercice"/>&collectivite=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@Siret"/>&budget=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@CodeBudget"/>&path=[n:Pied/@NumPage=1]<xsl:if test="$path.plus"><xsl:value-of select="$path.plus"/></xsl:if></xsl:attribute><img src="xemelios:/resource?navigate_beginning.png" alt="[1]"/></xsl:element></xsl:when>
+ <xsl:otherwise><img src="xemelios:/resource?navigate_beginning_inactive.png" alt="[{$LastPage}]"/></xsl:otherwise>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="$NumPage eq '1'"><img src="xemelios:/resource?navigate_left_inactive.png" alt="Page Précédente"/></xsl:when>
+ <xsl:otherwise><xsl:element name="a"><xsl:attribute name="class">precsuiv</xsl:attribute><xsl:attribute name="href">xemelios:/query?docId=<xsl:value-of select="$docId"/>&etatId=<xsl:value-of select="$etatId"/>&elementId=<xsl:value-of select="$elementId"/>&sp1=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@Exercice"/>&collectivite=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@Siret"/>&budget=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@CodeBudget"/>&path=[n:Pied/@NumPage=<xsl:value-of select="$NumPage - 1"/>]<xsl:if test="$path.plus"><xsl:value-of select="$path.plus"/></xsl:if></xsl:attribute><img src="xemelios:/resource?navigate_left.png" alt="<< Page Précédente"/></xsl:element></xsl:otherwise>
+ </xsl:choose>
+ </th>
+ <th style="text-align: center;" valign="middle">
+ <xsl:element name="a"><xsl:attribute name="class">sommaire</xsl:attribute><xsl:attribute name="href">xemelios:/query?docId=<xsl:value-of select="$docId"/>&etatId=Accueil&elementId=PageAccueil&sp1=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@Exercice"/>&collectivite=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@Siret"/>&budget=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@CodeBudget"/>&path=[@Modele='03']</xsl:attribute><img src="xemelios:/resource?navigate_summary.png" alt="Sommaire"/></xsl:element><br/>
+
+ <xsl:if test="number($is.web) > 0">
+ <xsl:element name="a">
+ <xsl:attribute name="href"><xsl:value-of select="$context.path"/>/print.do?docId=<xsl:value-of select="$docId"/>&etatId=<xsl:value-of select="$etatId"/>&elementId=<xsl:value-of select="$elementId"/>&sp1=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@Exercice"/>&collectivite=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@Siret"/>&budget=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@CodeBudget"/>&path=[n:Pied/@NumPage=<xsl:value-of select="$NumPage"/>]</xsl:attribute>
+ <xsl:attribute name="style">text-decoration: none;</xsl:attribute><img src="xemelios:/resource?print.png" alt="Imprimer ..."/>
+ </xsl:element>
+ </xsl:if>
+ <br/>
+ <xsl:call-template name="formulaire">
+ <xsl:with-param name="docId" select="$docId"/>
+ <xsl:with-param name="etatId" select="$etatId"/>
+ <xsl:with-param name="elementId" select="$elementId"/>
+ <xsl:with-param name="sous.elementId" select="$sous.elementId"/>
+ <xsl:with-param name="Entete" select="$Entete"/>
+ <xsl:with-param name="NumPage" select="$NumPage"/>
+ <xsl:with-param name="isLastPage" select="$isLastPage"/>
+ <xsl:with-param name="show.formulaire" select="$show.formulaire"/>
+ <xsl:with-param name="show.formulaire.compte" select="$show.formulaire.compte"/>
+ <xsl:with-param name="show.depense.recette" select="$show.depense.recette"/>
+ <xsl:with-param name="element.path" select="$element.path"/>
+ <xsl:with-param name="path.plus" select="$path.plus"/>
+ <xsl:with-param name="ancre" select="$ancre"/>
+ </xsl:call-template>
+ </th>
+ <th style="text-align: right;" valign="middle">
+ <xsl:choose>
+ <xsl:when test="$isLastPage eq '1'"><img src="xemelios:/resource?navigate_right_inactive.png" alt="Page Suivante"/></xsl:when>
+ <xsl:otherwise><xsl:element name="a"><xsl:attribute name="class">precsuiv</xsl:attribute><xsl:attribute name="href">xemelios:/query?docId=<xsl:value-of select="$docId"/>&etatId=<xsl:value-of select="$etatId"/>&elementId=<xsl:value-of select="$elementId"/>&sp1=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@Exercice"/>&collectivite=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@Siret"/>&budget=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@CodeBudget"/>&path=[n:Pied/@NumPage=<xsl:value-of select="$NumPage + 1"/>]<xsl:if test="$path.plus"><xsl:value-of select="$path.plus"/></xsl:if></xsl:attribute><img src="xemelios:/resource?navigate_right.png" alt="Page Suivante >>"/></xsl:element></xsl:otherwise>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="number($NumPage) < number($LastPage)"> <xsl:element name="a"><xsl:attribute name="class">precsuiv</xsl:attribute><xsl:attribute name="href">xemelios:/query?docId=<xsl:value-of select="$docId"/>&etatId=<xsl:value-of select="$etatId"/>&elementId=<xsl:value-of select="$elementId"/>&sp1=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@Exercice"/>&collectivite=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@Siret"/>&budget=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@CodeBudget"/>&path=[n:Pied/@NumPage=<xsl:value-of select="$LastPage"/>]<xsl:if test="$path.plus"><xsl:value-of select="$path.plus"/></xsl:if></xsl:attribute><img src="xemelios:/resource?navigate_end.png" alt="[{$LastPage}]"/></xsl:element></xsl:when>
+ <xsl:otherwise><img src="xemelios:/resource?navigate_end_inactive.png" alt="[{$LastPage}]"/></xsl:otherwise>
+ </xsl:choose>
+ </th>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </xsl:template>
+
+ <xsl:template name="formulaire">
+ <xsl:param name="docId"/>
+ <xsl:param name="etatId"/>
+ <xsl:param name="elementId"/>
+ <xsl:param name="sous.elementId"/>
+ <xsl:param name="Entete"/>
+ <xsl:param name="NumPage"/>
+ <xsl:param name="isLastPage"/>
+ <xsl:param name="show.formulaire"/>
+ <xsl:param name="show.formulaire.compte"/>
+ <xsl:param name="show.depense.recette"/>
+ <xsl:param name="element.path"/>
+ <xsl:param name="path.plus"/>
+ <xsl:param name="ancre"/>
+
+ <xsl:choose>
+ <xsl:when test="$NumPage eq '1' and $isLastPage eq '1'"/>
+ <xsl:otherwise>
+ <span style="color:navy;">
+ <xsl:choose>
+ <xsl:when test="$show.formulaire='' or ($NumPage eq '1' and $isLastPage eq '1')">
+ <!--xsl:element name="a">
+ <xsl:attribute name="href">xemelios:/query?docId=<xsl:value-of select="$docId"/>&etatId=<xsl:value-of select="$etatId"/>&elementId=<xsl:value-of select="$elementId"/>&collectivite=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@Siret"/>&budget=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@CodeBudget"/>&path=[n:Pied/@NumPage=<xsl:value-of select="$NumPage"/>]<xsl:if test="$path.plus"><xsl:value-of select="$path.plus"/></xsl:if>&xsl:param=(show.formulaire,1)<xsl:if test="$ancre"><xsl:value-of select="$ancre"/></xsl:if></xsl:attribute>
+ <xsl:attribute name="style">text-decoration: none;</xsl:attribute><u>Critères de recherche</u>
+ </xsl:element-->
+ <xsl:element name="a">
+ <xsl:attribute name="href">xemelios:/query?docId=<xsl:value-of select="$docId"/>&etatId=<xsl:value-of select="$etatId"/>&elementId=<xsl:value-of select="$elementId"/>&sp1=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@Exercice"/>&collectivite=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@Siret"/>&budget=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@CodeBudget"/>&path=[n:Pied/@NumPage=<xsl:value-of select="$NumPage"/>]<xsl:if test="$path.plus"><xsl:value-of select="$path.plus"/></xsl:if>&xsl:param=(show.formulaire,1)&xsl:param=(show.formulaire.compte,<xsl:value-of select="$show.formulaire.compte"/>)<xsl:if test="$ancre"><xsl:value-of select="$ancre"/></xsl:if></xsl:attribute>
+ <xsl:attribute name="style">text-decoration: none;</xsl:attribute><img src="xemelios:/resource?navigate_open_criteres.png" alt="Montrer"/>
+ </xsl:element>
+ </xsl:when>
+ <xsl:otherwise>
+ <!--xsl:element name="a">
+ <xsl:attribute name="href">xemelios:/query?docId=<xsl:value-of select="$docId"/>&etatId=<xsl:value-of select="$etatId"/>&elementId=<xsl:value-of select="$elementId"/>&collectivite=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@Siret"/>&budget=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@CodeBudget"/>&path=[n:Pied/@NumPage=<xsl:value-of select="$NumPage"/>]<xsl:if test="$path.plus"><xsl:value-of select="$path.plus"/></xsl:if>&xsl:param=(show.formulaire,)<xsl:if test="$ancre"><xsl:value-of select="$ancre"/></xsl:if></xsl:attribute>
+ <xsl:attribute name="style">text-decoration: none;</xsl:attribute><u>Critères de recherche</u>
+ </xsl:element-->
+ <xsl:element name="a">
+ <xsl:attribute name="href">xemelios:/query?docId=<xsl:value-of select="$docId"/>&etatId=<xsl:value-of select="$etatId"/>&elementId=<xsl:value-of select="$elementId"/>&sp1=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@Exercice"/>&collectivite=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@Siret"/>&budget=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@CodeBudget"/>&path=[n:Pied/@NumPage=<xsl:value-of select="$NumPage"/>]<xsl:if test="$path.plus"><xsl:value-of select="$path.plus"/></xsl:if>&xsl:param=(show.formulaire,)&xsl:param=(show.formulaire.compte,<xsl:value-of select="$show.formulaire.compte"/>)<xsl:if test="$ancre"><xsl:value-of select="$ancre"/></xsl:if></xsl:attribute>
+ <xsl:attribute name="style">text-decoration: none;</xsl:attribute><img src="xemelios:/resource?navigate_close_criteres.png" alt="Cacher"/>
+ </xsl:element>
+ </xsl:otherwise>
+ </xsl:choose>
+ </span>
+ </xsl:otherwise>
+ </xsl:choose>
+ <br/>
+ <div>
+ <xsl:choose>
+ <xsl:when test="$show.formulaire='' or ($NumPage eq '1' and $isLastPage eq '1')">
+ <xsl:attribute name="style">display: none;</xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="style">display: block;</xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ <form name="formulaireRecherchePage" method="GET" action="xemelios:/query" width="100%">
+ <table width="100%">
+ <caption>Accéder à une page</caption>
+ <colgroup>
+ <col width="40%"/>
+ <col width="20%"/>
+ <col width="40%"/>
+ </colgroup>
+ <tbody>
+ <tr>
+ <td style="text-align: right;" valign="middle"><label for="gotoPage">Page n°</label></td>
+ <td valign="middle"><input id="gotoPage" type="text" name="page"/></td>
+ <td style="text-align: left;" valign="middle"><input type="image" value="Rechercher ..." name="submit" src="xemelios:/resource?zoom.png"/></td>
+ </tr>
+ </tbody>
+ </table>
+ <input>
+ <xsl:attribute name="type">hidden</xsl:attribute>
+ <xsl:attribute name="name">docId</xsl:attribute>
+ <xsl:attribute name="value" select="$docId"/>
+ </input>
+ <input>
+ <xsl:attribute name="type">hidden</xsl:attribute>
+ <xsl:attribute name="name">etatId</xsl:attribute>
+ <xsl:attribute name="value" select="$etatId"/>
+ </input>
+ <input>
+ <xsl:attribute name="type">hidden</xsl:attribute>
+ <xsl:attribute name="name">elementId</xsl:attribute>
+ <xsl:attribute name="value" select="$elementId"/>
+ </input>
+ <input>
+ <xsl:attribute name="type">hidden</xsl:attribute>
+ <xsl:attribute name="name">collectivite</xsl:attribute>
+ <xsl:attribute name="value" select="$Entete//n:Infos/n:Collectivite/@Siret"/>
+ </input>
+ <input>
+ <xsl:attribute name="type">hidden</xsl:attribute>
+ <xsl:attribute name="name">budget</xsl:attribute>
+ <xsl:attribute name="value" select="$Entete//n:Infos/n:Collectivite/@CodeBudget"/>
+ </input>
+ <input>
+ <xsl:attribute name="type">hidden</xsl:attribute>
+ <xsl:attribute name="name">sp1</xsl:attribute>
+ <xsl:attribute name="value" select="$Entete//n:Infos/n:Collectivite/@Exercice"/>
+ </input>
+ <input type="hidden" name="path" value="[n:Pied/@NumPage=%page%]"/>
+ </form>
+ <xsl:if test="$show.formulaire.compte and $show.formulaire.compte!=0">
+ <!--br/-->
+ <form name="formulaireRechercheCompte" method="GET" action="xemelios:/query" width="100%">
+ <table width="100%">
+ <caption>Accéder à un compte</caption>
+ <colgroup>
+ <col width="40%"/>
+ <col width="20%"/>
+ <col width="40%"/>
+ </colgroup>
+ <tbody>
+ <tr>
+ <td style="text-align: right;">
+ <xsl:choose>
+ <xsl:when test="$etatId eq 'DeveloppementRecette'"><label for="gotoCompte">Compte de recette n°</label></xsl:when>
+ <xsl:otherwise><label for="gotoCompte">Compte n°</label></xsl:otherwise>
+ </xsl:choose>
+ </td>
+ <td><input id="gotoCompte" type="text" name="compte"/></td>
+ <td style="text-align: left;"><input type="image" value="Rechercher ..." name="submit" src="xemelios:/resource?zoom.png"/></td>
+ </tr>
+ <xsl:if test="$show.depense.recette">
+ <tr>
+ <td colspan="3">
+ <table width="100%">
+ <colgroup>
+ <col width="45%"/>
+ <col width="3%"/>
+ <col width="7%"/>
+ <col width="45%"/>
+ </colgroup>
+ <tbody>
+ <tr>
+ <td style="text-align: right;"><label>Dépense</label></td>
+ <td style="text-align: left;"><input name="codrd" type="radio" value="D"/></td>
+ <td style="text-align: right;"><label>Recette</label></td>
+ <td style="text-align: left;"><input name="codrd" type="radio" value="R"/></td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </xsl:if>
+ </tbody>
+ </table>
+ <input>
+ <xsl:attribute name="type">hidden</xsl:attribute>
+ <xsl:attribute name="name">docId</xsl:attribute>
+ <xsl:attribute name="value" select="$docId"/>
+ </input>
+ <input>
+ <xsl:attribute name="type">hidden</xsl:attribute>
+ <xsl:attribute name="name">etatId</xsl:attribute>
+ <xsl:attribute name="value" select="$etatId"/>
+ </input>
+ <input>
+ <xsl:attribute name="type">hidden</xsl:attribute>
+ <xsl:attribute name="name">elementId</xsl:attribute>
+ <xsl:choose>
+ <xsl:when test="$sous.elementId!=''">
+ <xsl:attribute name="value" select="$sous.elementId"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="value" select="$elementId"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </input>
+ <input>
+ <xsl:attribute name="type">hidden</xsl:attribute>
+ <xsl:attribute name="name">collectivite</xsl:attribute>
+ <xsl:attribute name="value" select="$Entete//n:Infos/n:Collectivite/@Siret"/>
+ </input>
+ <input>
+ <xsl:attribute name="type">hidden</xsl:attribute>
+ <xsl:attribute name="name">budget</xsl:attribute>
+ <xsl:attribute name="value" select="$Entete//n:Infos/n:Collectivite/@CodeBudget"/>
+ </input>
+ <input>
+ <xsl:attribute name="type">hidden</xsl:attribute>
+ <xsl:attribute name="name">sp1</xsl:attribute>
+ <xsl:attribute name="value" select="$Entete//n:Infos/n:Collectivite/@Exercice"/>
+ </input>
+ <input>
+ <xsl:attribute name="type">hidden</xsl:attribute>
+ <xsl:attribute name="name">path</xsl:attribute>
+ <xsl:attribute name="value">[<xsl:if test="string-length($element.path)>0"><xsl:value-of select="$element.path"/>/</xsl:if>@NumCompte=%compte%]<xsl:if test="$show.depense.recette">[<xsl:if test="string-length($element.path)>0"><xsl:value-of select="$element.path"/>/</xsl:if>@CodRD=%codrd%]</xsl:if></xsl:attribute>
+ </input>
+ <input>
+ <xsl:attribute name="type">hidden</xsl:attribute>
+ <xsl:attribute name="name">xsl:param</xsl:attribute>
+ <xsl:attribute name="value">(numCompte,%compte%)</xsl:attribute>
+ </input>
+ </form>
+ </xsl:if>
+ </div><!--
+ __________________________________________-->
+ </xsl:template>
+</xsl:stylesheet>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.xemelios.org/namespaces#cge" xmlns:n="http://www.xemelios.org/namespaces#cge" version="2.0">
+ <xsl:template name="number">
+ <xsl:param name="num"/>
+ <xsl:param name="hide.zero">0</xsl:param>
+ <xsl:choose>
+ <xsl:when test="string-length(string($num)) = 0"/>
+ <xsl:when test="number($num) = 0">
+ <xsl:choose>
+ <xsl:when test="$hide.zero eq '1'"/>
+ <xsl:otherwise><xsl:value-of select="format-number(0,'# ##0,00;-# ##0,00','decformat')"/></xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:when test="string(number($num)) = 'NaN'"/>
+ <xsl:when test="contains($num,'-')">
+ <b class="negative"><xsl:value-of select="format-number($num,'# ##0,00;-# ##0,00','decformat')"/></b>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="format-number($num,'# ##0,00;-# ##0,00','decformat')"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+</xsl:stylesheet>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.xemelios.org/namespaces#cge" xmlns:n="http://www.xemelios.org/namespaces#cge" version="2.0">
+ <xsl:template name="style">
+ <style type="text/css" media="all">
+ body {font-family: verdana, sans-serif; font-size: 12px; }
+
+ .numPage {font-family: verdana, sans-serif; font-size: 12px; }
+ /*.numCompte { position:absolute; left: 10em; font-size: 14px; font-weight: bold;}*/
+
+ h1 { font-size: 20px; color: #003535; font-weight: bold; }
+ h2 { font-size: 14px; color: #004545; text-align: center;}
+ h3 { font-size: 12px; color: #005555; text-align: center;}
+
+ span {font-size: 18px; font-weight: bold;}
+
+ span a:link {color: #0000FF; font-size: 18px; font-weight: bold; font-style: underline;}
+ span a:visited {color: #0000FF; font-size: 18px; font-weight: bold; font-style: underline;}
+
+ table#main {border-spacing: 0px; background-color: white; border: #000000 solid 2px;border-collapse: collapse; }
+ table#mainBorderedNot {border-spacing: 0px; background-color: white; border: #000000 none 2px; border-collapse: collapse; }
+
+
+ .bordered { border: #000000 solid 1px;}
+ .borderedBold { border: #000000 solid 2px;}
+
+ .borderedNot { border: #000000 none 1px;}
+
+ .bordureRight { border-right: #000000 solid 1px; }
+ .bordureLeft { border-left: #000000 solid 1px; }
+
+ .bordureTop { border-top: #000000 solid 1px; }
+ .bordureTopBold { border-top: #000000 solid 2px; }
+
+ .bordureBottom { border-bottom: #000000 solid 1px; }
+ .bordureBottomBold { border-bottom: #000000 solid 2px; }
+
+ .borderedNotTop { border-bottom: #000000 solid 1px ; border-left: #000000 solid 1px ; border-right: #000000 solid 1px ;}
+ .borderedNotBottom { border-top: #000000 solid 1px ; border-left: #000000 solid 1px ; border-right: #000000 solid 1px ;}
+ .borderedNotLeft { border-top: #000000 solid 1px ; border-bottom: #000000 solid 1px ; border-right: #000000 solid 1px ;}
+ .borderedNotRight { border-top: #000000 solid 1px ; border-bottom: #000000 solid 1px ; border-left: #000000 solid 1px ;}
+
+
+ b.negative { color: red;}
+
+ tr#colorised1 td {background-color: #FFFFC5; }
+ tr#colorised2 td {background-color: #FFFFE0; } /* jaune pale */
+ tr#colorised3 td {background-color: #D9EEFF; } /* bleu pale */
+
+ tr#highlighted td {background-color: #FFFF68; font-weight:bold; }
+ tr#highlighted td a { font-weight: bold; }
+ tr#highlighted td a:hover { color: #FF4000; }
+
+ tr.paddingLeft td { padding-left: 20px;}
+
+ tr.total td { font-weight:bold; font-size: 12px;}
+ tr.total td a { font-weight: bold; font-size: 12px;}
+ tr.total td a:hover { color: #FF4000; font-size: 12px;}
+
+ tr.Total td { font-weight:bold; font-size: 12px;}
+ tr.Total td a { font-weight: bold; font-size: 12px;}
+ tr.Total td a:hover { color: #FF4000; font-size: 12px;}
+
+ td.totalAnnexeII1 { background-color: #FFFF9A; font-size: 13px;}
+ td.totalAnnexeII { color: navy; background-color: #FFFFBB; font-size: 12px;}
+
+ tr.NotTotal td{ font-size: 12.5px;}
+
+ a:link { color: #0000FF; background: transparent; }
+ a:visited { color: #FF3ABA; background: transparent; }
+
+ td#highlighted {background-color: #FFFF68; font-weight:bold; }
+
+ td#padding2 { padding-left: 20px;}
+ td#padding4 { padding-left: 40px;}
+ td#padding6 { padding-left: 60px;}
+ td#padding8 { padding-left: 80px;}
+ td#padding10 { padding-left: 100px;}
+ td#padding12 { padding-left: 120px;}
+ td#padding14 { padding-left: 140px;}
+ td#padding70 { padding-left: 200px;}
+ td#padding77 { padding-left: 220px;}
+
+ a {font-size: 12.5px;}
+
+ a.precsuiv { color: #0000FF; background: transparent; font-style: normal; text-decoration: none;}
+ a.sommaire:visited { color: #0000FF; background: transparent; font-style: normal;}
+
+ tr.mask td {heigth: 0px; font-size: 0px;}
+ tr[id!=mask] td { height: 20px;}
+
+ td.right { text-align: right; }
+ td.left { text-align: left; }
+ td.center { text-align: center; }
+ td.bold { font-weight:bold; }
+ td.montant { white-space: nowrap;text-align: right;}
+
+ td.titre { font-size: 12px;}
+ td.titre2 { font-size: 11px;}
+ td.titre3 { font-size: 10px;}
+
+ td.libelleLigne { text-align: right; font-size: 12px; }
+ td.libelleLigne2 { text-align: right; font-size: 10px; }
+
+ td.font { background-color: #FFFFFF; }
+
+
+ tr.lineEntete1 td { height: 20px;}
+
+ div p { padding-left: 75px;}
+ div p input { padding-left: 20px;}
+
+ td#message { border: red solid 2px; text-align: center; v-align: middle; color: red; width: 50%;}
+
+ caption { color: navy; font-size: 12px; font-weight: bold;}
+ label { font-size: 11px; font-weight: bold;}
+
+ img {border: none;}
+
+ .formulaire {display: block;}
+ .navigate {display: block;}
+ .showPrint { display: none;}
+ </style>
+ <style type="text/css" media="print">
+ /*@page { size: 297mm 210mm; @bottom-center { content: "Page " counter(page) " / " counter(pages); } }*/
+ /*@page { font-family: verdana; font-size: 10px; size: 445mm 315mm; @bottom-right { content: counter(page) " / " counter(pages); } }*/
+
+ .formulaire {display: none;}
+ .navigate {display: none;}
+ .hidePrint { display: none;}
+ .showPrint { display: block;}
+
+ a {text-decoration: none;color: black;}
+
+ body {font-size: 10px;}
+
+ table#main {width=100%; border-spacing: 0px; background-color: white; border: #000000 solid 2px;border-collapse: collapse; -fs-table-paginate: paginate;}
+ table#mainBorderedNot {border-spacing: 0px; background-color: white; border: #000000 none 2px; border-collapse: collapse; -fs-table-paginate: paginate;}
+
+ tr { page-break-inside: avoid;}
+
+ tr#colorised1 td {background-color: #FFFFFF; }
+ tr#colorised2 td {background-color: #FFFFFF; }
+
+ tr#highlighted td {background-color: #FFFFFF; font-weight: normal;}
+
+ td#padding2 { padding-left: 5px;}
+ td#padding4 { padding-left: 10px;}
+ td#padding6 { padding-left: 15px;}
+ td#padding8 { padding-left: 20px;}
+ td#padding10 { padding-left: 25px;}
+ td#padding12 { padding-left: 30px;}
+ td#padding14 { padding-left: 35px;}
+ td#padding70 { padding-left: 40px;}
+ td#padding77 { padding-left: 50px;}
+
+ td.bold { font-weight:bold; }
+
+ tr.total td { font-weight:bold; font-size: 10px;}
+
+ tr.total td a { font-weight: bold; font-size: 10px;}
+ tr.total td a:hover { color: #FF4000; font-size: 10px;}
+
+ tr#highlighted td a { font-weight: normal; }
+
+ .bordureRight { border: #000000 solid 1px ; }
+ .bordered { border: #000000 solid 1px;}
+ </style>
+ </xsl:template>
+
+</xsl:stylesheet>
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE xsl:stylesheet [
+<!ENTITY nbsp " ">
+<!ENTITY egrave "è">
+<!ENTITY euro "€">
+<!ENTITY agrave "à">
+<!ENTITY eacute "é">
+]>
+<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" xmlns:n="http://www.xemelios.org/namespaces#cge" xmlns:added="http://www.xemelios.org/namespaces#added" version="2.0">
+ <xsl:character-map name="accents">
+ <xsl:output-character character="à" string="&#224;"/>
+ <xsl:output-character character="é" string="&#233;"/>
+ <xsl:output-character character="è" string="&#232;"/>
+ <xsl:output-character character="ê" string="&#234;"/>
+ <xsl:output-character character="ë" string="&#235;"/>
+ <xsl:output-character character="î" string="&#238;"/>
+ <xsl:output-character character="ï" string="&#239;"/>
+ <xsl:output-character character="ô" string="&#244;"/>
+ <xsl:output-character character="ù" string="&#249;"/>
+ </xsl:character-map>
+
+ <xsl:decimal-format name="decformat" decimal-separator="," grouping-separator=" " digit="#" pattern-separator=";" NaN="NaN" minus-sign="-"/>
+
+ <!-- Inclusion des XSL externes -->
+ <xsl:include href="./common-xsl/Style.xsl"/>
+ <xsl:include href="./common-xsl/Error.xsl"/>
+ <xsl:include href="./common-xsl/Navigate.xsl"/>
+ <xsl:include href="./common-xsl/Header.xsl"/>
+ <xsl:include href="./common-xsl/Number.xsl"/>
+
+ <!-- Paramètres d'entrée -->
+ <xsl:param name="show.formulaire"/>
+ <xsl:param name="browser-destination"/>
+
+ <!-- Paramètres Web -->
+ <xsl:param name="is.web">-1</xsl:param>
+ <xsl:param name="context.path"/>
+
+ <!-- Paramètres d'entrée de la liste de résultat -->
+ <xsl:param name="libPoste">0</xsl:param>
+
+ <!-- Paramètres d'erreur -->
+ <xsl:param name="error.message">nomessage</xsl:param>
+
+ <!-- Paramètres d'entrée de la liste de résultat -->
+ <xsl:param name="numCompte">0</xsl:param>
+ <xsl:param name="comptePEC">0</xsl:param>
+ <xsl:param name="ligneRecette">0</xsl:param>
+ <xsl:param name="generatedId">0</xsl:param>
+
+ <xsl:param name="type.treated" select="tokenize(name(/n:CompteGestionEtat//*[contains(name(),'Page')]),'Page')[2]"/>
+
+ <xsl:output method="xhtml" indent="yes" use-character-maps="accents" encoding="ISO-8859-1"/>
+
+ <!-- pour eviter les sorties parasites de tags non matches -->
+ <xsl:template match="*"/>
+ <!-- Variables -->
+ <xsl:variable name="page-format" select="paysage"/>
+
+ <xsl:variable name="Entete">
+ <xsl:copy-of select="/n:CompteGestionEtat/n:Entete"/>
+ </xsl:variable>
+
+ <xsl:template match="/n:CompteGestionEtat">
+ <xsl:variable name="NumPage">
+ <xsl:choose>
+ <xsl:when test="$type.treated eq 'DeveloppementRecette'">
+ <xsl:value-of select="/n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette/n:Pied/@NumPage"/>
+ </xsl:when>
+ <xsl:when test="$type.treated eq 'Recapitulation'">
+ <xsl:value-of select="/n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation/n:Pied/@NumPage"/>
+ </xsl:when>
+ <xsl:when test="$type.treated eq 'Reversement'">
+ <xsl:value-of select="/n:CompteGestionEtat/n:Reversement/n:PageReversement/n:Pied/@NumPage"/>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:variable name="LastPage">
+ <xsl:choose>
+ <xsl:when test="$type.treated eq 'DeveloppementRecette'">
+ <xsl:value-of select="/n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette/@added:LastPage"/>
+ </xsl:when>
+ <xsl:when test="$type.treated eq 'Recapitulation'">
+ <xsl:value-of select="/n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation/@added:LastPage"/>
+ </xsl:when>
+ <xsl:when test="$type.treated eq 'Reversement'">
+ <xsl:value-of select="/n:CompteGestionEtat/n:Reversement/n:PageReversement/@added:LastPage"/>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:variable name="isLastPage">
+ <xsl:choose>
+ <xsl:when test="$type.treated eq 'DeveloppementRecette'">
+ <xsl:value-of select="/n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette/@added:isLastPage"/>
+ </xsl:when>
+ <xsl:when test="$type.treated eq 'Recapitulation'">
+ <xsl:value-of select="/n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation/@added:isLastPage"/>
+ </xsl:when>
+ <xsl:when test="$type.treated eq 'Reversement'">
+ <xsl:value-of select="/n:CompteGestionEtat/n:Reversement/n:PageReversement/@added:isLastPage"/>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:variable>
+
+ <html>
+ <head>
+ <xsl:choose>
+ <xsl:when test="$type.treated eq 'DeveloppementRecette'">
+ <title>Développement des recettes budgétaires et des comptes spéciaux</title>
+ </xsl:when>
+ <xsl:when test="$type.treated eq 'Recapitulation'">
+ <title>Récapitulation des recettes budgétaires et des comptes spéciaux</title>
+ </xsl:when>
+ <xsl:when test="$type.treated eq 'Reversement'">
+ <title>Reversemments de fonds sur ministères à annuler</title>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:call-template name="style"/>
+ </head>
+ <body width="100%">
+ <xsl:if test="$error.message!='nomessage'">
+ <xsl:attribute name="onload">javascript:showDialog('<xsl:value-of select="$error.message"/>');</xsl:attribute>
+ </xsl:if>
+ <xsl:call-template name="Error"><!--xsl:with-param name="error.message" select="$error.message"/--></xsl:call-template>
+ <xsl:call-template name="navigate">
+ <xsl:with-param name="docId">cg-etat</xsl:with-param>
+ <xsl:with-param name="etatId"><xsl:value-of select="$type.treated"/></xsl:with-param>
+ <xsl:with-param name="elementId">Page<xsl:value-of select="$type.treated"/></xsl:with-param>
+ <xsl:with-param name="sous.elementId">Ligne<xsl:value-of select="$type.treated"/></xsl:with-param>
+ <xsl:with-param name="NumPage" select="$NumPage"/>
+ <xsl:with-param name="LastPage" select="$LastPage"/>
+ <xsl:with-param name="isLastPage" select="$isLastPage"/>
+ <xsl:with-param name="Entete" select="$Entete"/>
+ <xsl:with-param name="show.formulaire" select="$show.formulaire"/>
+ <xsl:with-param name="show.formulaire.compte">
+ <xsl:choose>
+ <xsl:when test="$type.treated eq 'DeveloppementRecette'">1</xsl:when>
+ <xsl:otherwise>0</xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="show.depense.recette" select="0"/>
+ <xsl:with-param name="is.web" select="$is.web"/>
+ <xsl:with-param name="context.path" select="$context.path"/>
+ </xsl:call-template>
+ <xsl:call-template name="header" >
+ <xsl:with-param name="Entete" select="$Entete"/>
+ <xsl:with-param name="Titre">
+ <xsl:choose>
+ <xsl:when test="$type.treated eq 'DeveloppementRecette'">Développement des recettes budgétaires et des comptes spéciaux</xsl:when>
+ <xsl:when test="$type.treated eq 'Recapitulation'">Récapitulation des recettes budgétaires et des comptes spéciaux</xsl:when>
+ <xsl:when test="$type.treated eq 'Reversement'">Reversemments de fonds sur dépenses des ministères à annuler</xsl:when>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="Titre.Plus">
+ <xsl:choose>
+ <xsl:when test="$type.treated eq 'DeveloppementRecette' or $type.treated eq 'Reversement'"><h1>Ventilation par ligne</h1></xsl:when>
+ <xsl:when test="$type.treated eq 'Recapitulation'"><h1>Récapitulation par compte budgétaire</h1></xsl:when>
+ </xsl:choose>
+ </xsl:with-param>
+ </xsl:call-template>
+ <xsl:choose>
+ <xsl:when test="$type.treated eq 'DeveloppementRecette'">
+ <xsl:call-template name="mainTable">
+ <xsl:with-param name="el" select="/n:CompteGestionEtat/n:DeveloppementRecette/n:PageDeveloppementRecette"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="$type.treated eq 'Recapitulation'">
+ <xsl:call-template name="mainTable">
+ <xsl:with-param name="el" select="/n:CompteGestionEtat/n:Recapitulation/n:PageRecapitulation"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="$type.treated eq 'Reversement'">
+ <xsl:call-template name="mainTable">
+ <xsl:with-param name="el" select="/n:CompteGestionEtat/n:Reversement/n:PageReversement"/>
+ </xsl:call-template>
+ </xsl:when>
+ </xsl:choose>
+ <p>
+ <center>Page <xsl:choose><xsl:when test="$LastPage and string-length($LastPage) > 0"><xsl:value-of select="$NumPage"/> / <xsl:value-of select="$LastPage"/></xsl:when><xsl:otherwise>- <xsl:value-of select="$NumPage"/></xsl:otherwise></xsl:choose></center>
+ </p>
+ <xsl:call-template name="navigate">
+ <xsl:with-param name="docId">cg-etat</xsl:with-param>
+ <xsl:with-param name="etatId"><xsl:value-of select="$type.treated"/></xsl:with-param>
+ <xsl:with-param name="elementId">Page<xsl:value-of select="$type.treated"/></xsl:with-param>
+ <xsl:with-param name="sous.elementId">Ligne<xsl:value-of select="$type.treated"/></xsl:with-param>
+ <xsl:with-param name="NumPage" select="$NumPage"/>
+ <xsl:with-param name="LastPage" select="$LastPage"/>
+ <xsl:with-param name="isLastPage" select="$isLastPage"/>
+ <xsl:with-param name="Entete" select="$Entete"/>
+ <xsl:with-param name="show.formulaire" select="$show.formulaire"/>
+ <xsl:with-param name="show.formulaire.compte">
+ <xsl:choose>
+ <xsl:when test="$type.treated eq 'DeveloppementRecette'">1</xsl:when>
+ <xsl:otherwise>0</xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="show.depense.recette" select="0"/>
+ <xsl:with-param name="ancre">#footer</xsl:with-param>
+ <xsl:with-param name="display.logos.entete">0</xsl:with-param>
+ <xsl:with-param name="is.web" select="$is.web"/>
+ <xsl:with-param name="context.path" select="$context.path"/>
+ </xsl:call-template>
+ <p id="footer"/>
+ </body>
+ </html>
+ </xsl:template>
+
+ <xsl:template name="mainTable">
+ <xsl:param name="el"/>
+ <table width="100%" class="bordered" id="main">
+ <colgroup>
+ <col width="32%"/>
+ <col width="7%"/>
+ <col width="7%"/>
+ <col width="7%"/>
+ <col width="7%"/>
+ <col width="7%"/>
+ <col width="7%"/>
+ <col width="7%"/>
+ <col width="7%"/>
+ <col width="4%"/>
+ <col width="4%"/>
+ <col width="4%"/>
+ </colgroup>
+ <thead>
+ <tr class="titre">
+ <td class="titre2 center bold borderedBold">Nature des produits</td>
+ <td class="titre2 center bold borderedBold">Restes à Recouvrer<br/>au 1<sup>er</sup> Janvier</td>
+ <td class="titre2 center bold borderedBold">Droits pris<br/>en charge</td>
+ <td class="titre2 center bold borderedBold">Annulations de<br/>prises en charge</td>
+ <td class="titre2 center bold borderedBold">Total des droits<br/>constatés</td>
+ <td class="titre2 center bold borderedBold">Recouvrement sur<br/>prise en charge</td>
+ <td class="titre2 center bold borderedBold">Recettes<br/>au comptant</td>
+ <td class="titre2 center bold borderedBold">Restes à Recouvrer<br/>au 31 Décembre</td>
+ <td class="titre2 center bold borderedBold">Total des recettes<br/>budgétaires</td>
+ <td class="titre2 center bold borderedBold">Ligne<br/>de<br/>recette</td>
+ <td class="titre2 center bold borderedBold">Compte<br/>de<br/>recette</td>
+ <td class="titre2 center bold borderedBold">Compte<br/>de<br/>P.E.C.</td>
+ </tr>
+ </thead>
+ <tbody>
+ <xsl:variable name="lignes">
+ <xsl:choose>
+ <xsl:when test="$type.treated eq 'DeveloppementRecette'"><xsl:copy-of select="$el/n:LigneDeveloppementRecette"/></xsl:when>
+ <xsl:when test="$type.treated eq 'Recapitulation'"><xsl:copy-of select="$el/n:LigneRecapitulation"/></xsl:when>
+ <xsl:when test="$type.treated eq 'Reversement'"><xsl:copy-of select="$el/n:LigneReversement"/></xsl:when>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:for-each select="$lignes/*">
+ <!--xsl:sort select="."/-->
+ <tr>
+ <xsl:choose>
+ <xsl:when test="$generatedId = '0' and $numCompte != '0' and @NumCompte=$numCompte and (number($comptePEC)=0 or @ComptePEC=$comptePEC) and (number($ligneRecette)=0 or @LigneRecette=$ligneRecette)">
+ <xsl:attribute name="id">highlighted</xsl:attribute>
+ </xsl:when>
+ <xsl:when test="$generatedId != '0' and @added:generated-id=$generatedId">
+ <xsl:attribute name="id">highlighted</xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:if test="upper-case(@Type) eq 'TOTAL' and number(@added:Padding) eq 0">
+ <xsl:attribute name="class">total bordureTopBold bordureBottomBold</xsl:attribute>
+ </xsl:if>
+ <xsl:choose>
+ <xsl:when test="(position() mod 2) = 0">
+ <xsl:attribute name="id">colorised1</xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="id">colorised2</xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="upper-case(@Type) eq 'TOTAL' and number(@added:Padding) eq 0">
+ <xsl:attribute name="class">Total</xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise><xsl:attribute name="class">NotTotal</xsl:attribute></xsl:otherwise>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="@RARDeb != 0 or @Droits != 0 or @Annulations != 0 or @TotDroits != 0 or @Recouvrement != 0 or @RecettesComptant != 0 or @RARFin != 0 or @TotRecetteBudg != 0">
+ <xsl:choose>
+ <xsl:when test="upper-case(@Type) eq 'TOTAL' and number(@added:Padding) eq 0">
+ <td class="bordureTopBold bordureBottomBold bordureRight"><xsl:attribute name="id">padding<xsl:value-of select="@added:Padding"/></xsl:attribute><xsl:value-of select="@NatureProduit"/></td>
+ <td class="montant bordureTopBold bordureBottomBold bordureRight"><xsl:call-template name="number"><xsl:with-param name="num" select="@RARDeb"/><xsl:with-param name="hide.zero">1</xsl:with-param></xsl:call-template></td>
+ <td class="montant bordureTopBold bordureBottomBold bordureRight"><xsl:call-template name="number"><xsl:with-param name="num" select="@Droits"/><xsl:with-param name="hide.zero">1</xsl:with-param></xsl:call-template></td>
+ <td class="montant bordureTopBold bordureBottomBold bordureRight"><xsl:call-template name="number"><xsl:with-param name="num" select="@Annulations"/><xsl:with-param name="hide.zero">1</xsl:with-param></xsl:call-template></td>
+ <td class="montant bordureTopBold bordureBottomBold bordureRight"><xsl:call-template name="number"><xsl:with-param name="num" select="@TotDroits"/><xsl:with-param name="hide.zero">1</xsl:with-param></xsl:call-template></td>
+ <td class="montant bordureTopBold bordureBottomBold bordureRight"><xsl:call-template name="number"><xsl:with-param name="num" select="@Recouvrement"/><xsl:with-param name="hide.zero">1</xsl:with-param></xsl:call-template></td>
+ <td class="montant bordureTopBold bordureBottomBold bordureRight"><xsl:call-template name="number"><xsl:with-param name="num" select="@RecettesComptant"/><xsl:with-param name="hide.zero">1</xsl:with-param></xsl:call-template></td>
+ <td class="montant bordureTopBold bordureBottomBold bordureRight"><xsl:call-template name="number"><xsl:with-param name="num" select="@RARFin"/><xsl:with-param name="hide.zero">1</xsl:with-param></xsl:call-template></td>
+ <td class="montant bordureTopBold bordureBottomBold bordureRight"><xsl:call-template name="number"><xsl:with-param name="num" select="@TotRecetteBudg"/><xsl:with-param name="hide.zero">1</xsl:with-param></xsl:call-template></td>
+ <td class="right bordureTopBold bordureBottomBold bordureRight"><xsl:if test="string-length(@LigneRecette) > 0 and @LigneRecette != '0'"><xsl:value-of select="@LigneRecette"/></xsl:if> </td>
+ <td class="right bordureTopBold bordureBottomBold bordureRight"><xsl:value-of select="@NumCompte"/> </td>
+ <td class="right bordureTopBold bordureBottomBold bordureRight"><xsl:value-of select="@ComptePEC"/> </td>
+ </xsl:when>
+ <xsl:otherwise>
+ <td class="bordureRight"><xsl:attribute name="id">padding<xsl:value-of select="@added:Padding"/></xsl:attribute><xsl:value-of select="@NatureProduit"/></td>
+ <td class="montant bordureRight"><xsl:call-template name="number"><xsl:with-param name="num" select="@RARDeb"/><xsl:with-param name="hide.zero">1</xsl:with-param></xsl:call-template></td>
+ <td class="montant bordureRight"><xsl:call-template name="number"><xsl:with-param name="num" select="@Droits"/><xsl:with-param name="hide.zero">1</xsl:with-param></xsl:call-template></td>
+ <td class="montant bordureRight"><xsl:call-template name="number"><xsl:with-param name="num" select="@Annulations"/><xsl:with-param name="hide.zero">1</xsl:with-param></xsl:call-template></td>
+ <td class="montant bordureRight"><xsl:call-template name="number"><xsl:with-param name="num" select="@TotDroits"/><xsl:with-param name="hide.zero">1</xsl:with-param></xsl:call-template></td>
+ <td class="montant bordureRight"><xsl:call-template name="number"><xsl:with-param name="num" select="@Recouvrement"/><xsl:with-param name="hide.zero">1</xsl:with-param></xsl:call-template></td>
+ <td class="montant bordureRight"><xsl:call-template name="number"><xsl:with-param name="num" select="@RecettesComptant"/><xsl:with-param name="hide.zero">1</xsl:with-param></xsl:call-template></td>
+ <td class="montant bordureRight"><xsl:call-template name="number"><xsl:with-param name="num" select="@RARFin"/><xsl:with-param name="hide.zero">1</xsl:with-param></xsl:call-template></td>
+ <td class="montant bordureRight"><xsl:call-template name="number"><xsl:with-param name="num" select="@TotRecetteBudg"/><xsl:with-param name="hide.zero">1</xsl:with-param></xsl:call-template></td>
+ <td class="bordureRight right"><xsl:if test="string-length(@LigneRecette) > 0 and @LigneRecette != '0'"><xsl:value-of select="@LigneRecette"/></xsl:if> </td>
+ <td class="bordureRight right"><xsl:value-of select="@NumCompte"/> </td>
+ <td class="bordureRight right"><xsl:value-of select="@ComptePEC"/> </td>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <td class="bordureRight"><xsl:attribute name="id">padding<xsl:value-of select="@added:Padding"/></xsl:attribute><xsl:value-of select="@NatureProduit"/></td>
+ <td class="bordureRight"> </td>
+ <td class="bordureRight"> </td>
+ <td class="bordureRight"> </td>
+ <td class="bordureRight"> </td>
+ <td class="bordureRight"> </td>
+ <td class="bordureRight"> </td>
+ <td class="bordureRight"> </td>
+ <td class="bordureRight"> </td>
+ <td class="bordureRight"> </td>
+ <td class="bordureRight"> </td>
+ <td class="bordureRight"> </td>
+ </xsl:otherwise>
+ </xsl:choose>
+ </tr>
+ </xsl:for-each>
+ </tbody>
+ </table>
+ </xsl:template>
+
+</xsl:transform>
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE xsl:stylesheet [
+<!ENTITY nbsp " ">
+<!ENTITY egrave "è">
+<!ENTITY euro "€">
+<!ENTITY agrave "à">
+<!ENTITY eacute "é">
+]>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" xmlns:n="http://www.xemelios.org/namespaces#cge" xmlns:added="http://www.xemelios.org/namespaces#added" xmlns:fn="http://projets.admisource.gouv.fr/xemelios/namespaces#functions" version="2.0">
+ <!-- Paramètres de sortie -->
+ <xsl:character-map name="accents">
+ <xsl:output-character character="à" string="&#224;"/>
+ <xsl:output-character character="é" string="&#233;"/>
+ <xsl:output-character character="è" string="&#232;"/>
+ <xsl:output-character character="ê" string="&#234;"/>
+ <xsl:output-character character="ë" string="&#235;"/>
+ <xsl:output-character character="î" string="&#238;"/>
+ <xsl:output-character character="ï" string="&#239;"/>
+ <xsl:output-character character="ô" string="&#244;"/>
+ <xsl:output-character character="ù" string="&#249;"/>
+ </xsl:character-map>
+
+ <xsl:output method="xhtml" indent="yes" use-character-maps="accents" encoding="ISO-8859-1"/>
+ <xsl:decimal-format name="decformat" decimal-separator="," grouping-separator=" " digit="#" pattern-separator=";" NaN="NaN" minus-sign="-"/>
+
+ <!-- Inclusion des XSL externes -->
+ <xsl:include href="./common-xsl/Style.xsl"/>
+ <xsl:include href="./common-xsl/Error.xsl"/>
+ <xsl:include href="./common-xsl/Navigate.xsl"/>
+ <xsl:include href="./common-xsl/Header.xsl"/>
+ <xsl:include href="./common-xsl/Number.xsl"/>
+
+ <!-- Paramètres d'entrée -->
+ <xsl:param name="show.formulaire"/>
+ <xsl:param name="browser-destination"/>
+
+ <!-- Paramètres Web -->
+ <xsl:param name="is.web">-1</xsl:param>
+ <xsl:param name="context.path"/>
+
+ <!-- Paramètres d'entrée de la liste de résultat -->
+ <xsl:param name="numCompte">0</xsl:param>
+ <xsl:param name="generatedId">0</xsl:param>
+
+ <!-- Paramètres d'erreur -->
+ <xsl:param name="error.message">nomessage</xsl:param>
+
+ <!-- Variables -->
+ <xsl:variable name="page-format" select="paysage"/>
+ <xsl:variable name="NumPage" select="/n:CompteGestionEtat/n:BalanceGenerale/n:PageBalanceGenerale/n:Pied/@NumPage"/>
+ <xsl:variable name="LastPage" select="/n:CompteGestionEtat/n:BalanceGenerale/n:PageBalanceGenerale/@added:LastPage"/>
+ <xsl:variable name="isLastPage" select="/n:CompteGestionEtat/n:BalanceGenerale/n:PageBalanceGenerale/@added:isLastPage"/>
+ <xsl:variable name="Entete" select="/n:CompteGestionEtat/n:Entete"/>
+
+ <!--xsl:variable name="liens.comptes" select="document('./LiensBalance.xml')"/-->
+ <xsl:variable name="liens.comptes" select="document('./LiensBalanceSuspended.xml')"/>
+
+
+ <!-- pour eviter les sorties parasites de tags non matches -->
+ <xsl:template match="*"/>
+
+ <xsl:template match="/n:CompteGestionEtat">
+ <html>
+ <head>
+ <title>Balance Générale des Comptes</title>
+ <xsl:call-template name="style"/>
+ <!--script language="text/javascript">
+ function scrollTo() {
+ try {
+ document.getElementById("main").scrollTop = document.getElementById("highlighted").offsetTop - document.getElementById("main").offsetTop;
+ } catch (e) {
+ alert("Pb scrollTo !");
+ }
+ }
+ </script-->
+ </head>
+ <body width="100%">
+ <xsl:if test="$error.message!='nomessage'">
+ <xsl:attribute name="onload">javascript:showDialog('<xsl:value-of select="$error.message"/>');</xsl:attribute>
+ </xsl:if>
+ <!--xsl:if test="$error.message='nomessage' and $numCompte!='0'">
+ <xsl:attribute name="onload">javascript:scrollTo();</xsl:attribute>
+ </xsl:if-->
+
+ <xsl:call-template name="Error"><!--xsl:with-param name="error.message" select="$error.message"/--></xsl:call-template>
+ <xsl:call-template name="navigate">
+ <xsl:with-param name="docId">cg-etat</xsl:with-param>
+ <xsl:with-param name="etatId">BalanceGenerale</xsl:with-param>
+ <xsl:with-param name="elementId">PageBalanceGenerale</xsl:with-param>
+ <xsl:with-param name="sous.elementId">LigneBalanceGenerale</xsl:with-param>
+ <xsl:with-param name="NumPage" select="$NumPage"/>
+ <xsl:with-param name="LastPage" select="$LastPage"/>
+ <xsl:with-param name="isLastPage" select="$isLastPage"/>
+ <xsl:with-param name="Entete" select="$Entete"/>
+ <xsl:with-param name="show.formulaire" select="$show.formulaire"/>
+ <xsl:with-param name="show.depense.recette" select="0"/>
+ <xsl:with-param name="is.web" select="$is.web"/>
+ <xsl:with-param name="context.path" select="$context.path"/>
+ </xsl:call-template>
+ <xsl:call-template name="header">
+ <xsl:with-param name="Entete" select="$Entete"/>
+ <xsl:with-param name="Titre">Balance Générale des Comptes</xsl:with-param>
+ </xsl:call-template>
+ <xsl:call-template name="mainTable">
+ <xsl:with-param name="el" select="/n:CompteGestionEtat/n:BalanceGenerale/n:PageBalanceGenerale"/>
+ </xsl:call-template>
+ <p>
+ <center>Page <xsl:choose><xsl:when test="$LastPage and string-length($LastPage) > 0"><xsl:value-of select="$NumPage"/> / <xsl:value-of select="$LastPage"/></xsl:when><xsl:otherwise>- <xsl:value-of select="$NumPage"/></xsl:otherwise></xsl:choose></center>
+ </p>
+ <xsl:call-template name="navigate">
+ <xsl:with-param name="docId">cg-etat</xsl:with-param>
+ <xsl:with-param name="etatId">BalanceGenerale</xsl:with-param>
+ <xsl:with-param name="elementId">PageBalanceGenerale</xsl:with-param>
+ <xsl:with-param name="sous.elementId">LigneBalanceGenerale</xsl:with-param>
+ <xsl:with-param name="NumPage" select="$NumPage"/>
+ <xsl:with-param name="LastPage" select="$LastPage"/>
+ <xsl:with-param name="isLastPage" select="$isLastPage"/>
+ <xsl:with-param name="Entete" select="$Entete"/>
+ <xsl:with-param name="show.formulaire" select="$show.formulaire"/>
+ <xsl:with-param name="show.formulaire.compte" select="1"/>
+ <xsl:with-param name="show.depense.recette" select="0"/>
+ <xsl:with-param name="ancre">#footer</xsl:with-param>
+ <xsl:with-param name="display.logos.entete">0</xsl:with-param>
+ <xsl:with-param name="is.web" select="$is.web"/>
+ <xsl:with-param name="context.path" select="$context.path"/>
+ </xsl:call-template>
+ <p id="footer"/>
+ </body>
+ </html>
+ </xsl:template>
+
+ <xsl:template name="mainTable">
+ <xsl:param name="el"/>
+ <table width="100%" id="main" class="bordered">
+ <colgroup>
+ <col width="40%"/>
+ <col width="4%"/>
+ <col width="7%"/>
+ <col width="7%"/>
+ <col width="7%"/>
+ <col width="7%"/>
+ <col width="7%"/>
+ <col width="7%"/>
+ <col width="7%"/>
+ <col width="7%"/>
+ </colgroup>
+ <thead>
+ <tr class="titre">
+ <td colspan="2" > </td>
+ <td colspan="2" class="titre bold center borderedBold">Balance d'entrée<br/>au 1<sup>er</sup> Janvier</td>
+ <td colspan="2" class="titre bold center borderedBold">Opérations de l'année</td>
+ <td colspan="2" class="titre bold center borderedBold">Opérations de fin d'année<br/>et d'inventaire</td>
+ <td colspan="2" class="titre bold center borderedBold">Balance de sortie<br/>au 31 Décembre</td>
+ </tr>
+ <tr>
+ <td class="titre2 bold center borderedBold">Désignation des Comptes</td>
+ <td class="titre2 bold center borderedBold">Numéro<br/>des<br/>Comptes</td>
+ <td class="titre2 bold center borderedBold">Débit</td>
+ <td class="titre2 bold center borderedBold">Crédit</td>
+ <td class="titre2 bold center borderedBold">Débit</td>
+ <td class="titre2 bold center borderedBold">Crédit</td>
+ <td class="titre2 bold center borderedBold">Débit</td>
+ <td class="titre2 bold center borderedBold">Crédit</td>
+ <td class="titre2 bold center borderedBold">Débit</td>
+ <td class="titre2 bold center borderedBold">Crédit</td>
+ </tr>
+ </thead>
+ <tbody>
+ <xsl:for-each select="$el/n:LigneBalanceGenerale">
+ <!--xsl:sort select="concat(@NumCompte,string-length(@NumCompte),@added:Padding)" data-type="text" order="ascending"/-->
+ <tr>
+ <xsl:choose>
+ <xsl:when test="$generatedId = '0' and $numCompte != '0' and @NumCompte=$numCompte">
+ <xsl:attribute name="id">highlighted</xsl:attribute>
+ </xsl:when>
+ <xsl:when test="$generatedId != '0' and @added:generated-id=$generatedId">
+ <xsl:attribute name="id">highlighted</xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="(position() mod 2) = 0">
+ <xsl:attribute name="id">colorised1</xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="id">colorised2</xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="(contains(lower-case($el/@LibelleCpte),'total') and (contains(lower-case($el/@LibelleCpte),'compte') or contains(lower-case($el/@LibelleCpte),'classe'))) and not(contains(lower-case(@LibelleCpte),'sous'))">
+ <xsl:attribute name="class">Total</xsl:attribute>
+ </xsl:when>
+ <xsl:when test="contains(lower-case(@LibelleCpte),'total') and contains(lower-case(@LibelleCpte),'sous')">
+ <xsl:attribute name="class">SousTotal</xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise><xsl:attribute name="class">NotTotal</xsl:attribute></xsl:otherwise>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="contains(lower-case(@LibelleCpte),'total') and contains(lower-case(@LibelleCpte),'sous')">
+ <td class="bold bordureRight"><xsl:attribute name="id">padding<xsl:value-of select="@added:Padding"/></xsl:attribute><xsl:value-of select="@LibelleCpte"/></td>
+ <td class="bold bordureRight">
+ <!--xsl:call-template name="link.compte.numero">
+ <xsl:with-param name="num.compte" select="normalize-space(@NumCompte)"/>
+ </xsl:call-template-->
+ <xsl:value-of select="normalize-space(@NumCompte)"/>
+ </td>
+ <td class="montant bold bordureRight">
+ <xsl:call-template name="number">
+ <xsl:with-param name="num" select="@BalanceEntreeDebit"/>
+ <xsl:with-param name="hide.zero">1</xsl:with-param>
+ </xsl:call-template>
+ </td>
+ <td class="montant bold bordureRight">
+ <xsl:call-template name="number">
+ <xsl:with-param name="num" select="@BalanceEntreeCredit"/>
+ <xsl:with-param name="hide.zero">1</xsl:with-param>
+ </xsl:call-template>
+ </td>
+ <td class="montant bold bordureRight">
+ <!--xsl:call-template name="link.compte.operations.budgetaires">
+ <xsl:with-param name="num.compte" select="normalize-space(@NumCompte)"/>
+ <xsl:with-param name="montant" select="@OperationDebit"/>
+ <xsl:with-param name="CodRD">D</xsl:with-param>
+ </xsl:call-template-->
+ <xsl:call-template name="number">
+ <xsl:with-param name="num" select="@OperationDebit"/>
+ <xsl:with-param name="hide.zero">1</xsl:with-param>
+ </xsl:call-template>
+ </td>
+ <td class="montant bold bordureRight">
+ <!--xsl:call-template name="link.compte.operations.budgetaires">
+ <xsl:with-param name="num.compte" select="normalize-space(@NumCompte)"/>
+ <xsl:with-param name="montant" select="@OperationCredit"/>
+ <xsl:with-param name="CodRD">R</xsl:with-param>
+ </xsl:call-template-->
+ <xsl:call-template name="number">
+ <xsl:with-param name="num" select="@OperationCredit"/>
+ <xsl:with-param name="hide.zero">1</xsl:with-param>
+ </xsl:call-template>
+ </td>
+ <td class="montant bold bordureRight">
+ <xsl:call-template name="number">
+ <xsl:with-param name="num" select="@OperationFinDebit"/>
+ <xsl:with-param name="hide.zero">1</xsl:with-param>
+ </xsl:call-template>
+ </td>
+ <td class="montant bold bordureRight">
+ <xsl:call-template name="number">
+ <xsl:with-param name="num" select="@OperationFinCredit"/>
+ <xsl:with-param name="hide.zero">1</xsl:with-param>
+ </xsl:call-template>
+ </td>
+ <td class="montant bold bordureRight">
+ <!--xsl:call-template name="link.montant.solde">
+ <xsl:with-param name="num.compte" select="@NumCompte"/>
+ <xsl:with-param name="CodRD">D</xsl:with-param>
+ <xsl:with-param name="montant" select="@BalanceSortieDebit"/>
+ </xsl:call-template-->
+ <xsl:call-template name="number">
+ <xsl:with-param name="num" select="@BalanceSortieDebit"/>
+ <xsl:with-param name="hide.zero">1</xsl:with-param>
+ </xsl:call-template>
+ </td>
+ <td class="montant bold bordureRight">
+ <!--xsl:call-template name="link.montant.solde">
+ <xsl:with-param name="num.compte" select="@NumCompte"/>
+ <xsl:with-param name="CodRD">R</xsl:with-param>
+ <xsl:with-param name="montant" select="@BalanceSortieCredit"/>
+ </xsl:call-template-->
+ <xsl:call-template name="number">
+ <xsl:with-param name="num" select="@BalanceSortieCredit"/>
+ <xsl:with-param name="hide.zero">1</xsl:with-param>
+ </xsl:call-template>
+ </td>
+ </xsl:when>
+ <xsl:when test="(contains(lower-case(@LibelleCpte),'total') and (contains(lower-case(@LibelleCpte),'compte') or contains(lower-case(@LibelleCpte),'classe'))) and not(contains(lower-case(@LibelleCpte),'sous'))">
+ <td class="bold bordered"><xsl:attribute name="id">padding<xsl:value-of select="@added:Padding"/></xsl:attribute><xsl:value-of select="@LibelleCpte"/></td>
+ <td class="bold bordered">
+ <!--xsl:call-template name="link.compte.numero">
+ <xsl:with-param name="num.compte" select="normalize-space(@NumCompte)"/>
+ </xsl:call-template-->
+ <xsl:if test="not(number(normalize-space(@NumCompte)) eq 0)"><xsl:value-of select="normalize-space(@NumCompte)"/></xsl:if>
+ </td>
+ <td class="montant bold bordered">
+ <xsl:call-template name="number">
+ <xsl:with-param name="num" select="@BalanceEntreeDebit"/>
+ <xsl:with-param name="hide.zero">1</xsl:with-param>
+ </xsl:call-template>
+ </td>
+ <td class="montant bold bordered">
+ <xsl:call-template name="number">
+ <xsl:with-param name="num" select="@BalanceEntreeCredit"/>
+ <xsl:with-param name="hide.zero">1</xsl:with-param>
+ </xsl:call-template>
+ </td>
+ <td class="montant bold bordered">
+ <!--xsl:call-template name="link.compte.operations.budgetaires">
+ <xsl:with-param name="num.compte" select="normalize-space(@NumCompte)"/>
+ <xsl:with-param name="montant" select="@OperationDebit"/>
+ <xsl:with-param name="CodRD">D</xsl:with-param>
+ </xsl:call-template-->
+ <xsl:call-template name="number">
+ <xsl:with-param name="num" select="@OperationDebit"/>
+ <xsl:with-param name="hide.zero">1</xsl:with-param>
+ </xsl:call-template>
+ </td>
+ <td class="montant bold bordered">
+ <!--xsl:call-template name="link.compte.operations.budgetaires">
+ <xsl:with-param name="num.compte" select="normalize-space(@NumCompte)"/>
+ <xsl:with-param name="montant" select="@OperationCredit"/>
+ <xsl:with-param name="CodRD">R</xsl:with-param>
+ </xsl:call-template-->
+ <xsl:call-template name="number">
+ <xsl:with-param name="num" select="@OperationCredit"/>
+ <xsl:with-param name="hide.zero">1</xsl:with-param>
+ </xsl:call-template>
+ </td>
+ <td class="montant bold bordered">
+ <xsl:call-template name="number">
+ <xsl:with-param name="num" select="@OperationFinDebit"/>
+ <xsl:with-param name="hide.zero">1</xsl:with-param>
+ </xsl:call-template>
+ </td>
+ <td class="montant bold bordered">
+ <xsl:call-template name="number">
+ <xsl:with-param name="num" select="@OperationFinCredit"/>
+ <xsl:with-param name="hide.zero">1</xsl:with-param>
+ </xsl:call-template>
+ </td>
+ <td class="montant bold bordered">
+ <!--xsl:call-template name="link.montant.solde">
+ <xsl:with-param name="num.compte" select="@NumCompte"/>
+ <xsl:with-param name="CodRD">R</xsl:with-param>
+ <xsl:with-param name="montant" select="@BalanceSortieDebit"/>
+ </xsl:call-template-->
+ <xsl:call-template name="number">
+ <xsl:with-param name="num" select="@BalanceSortieDebit"/>
+ <xsl:with-param name="hide.zero">1</xsl:with-param>
+ </xsl:call-template>
+ </td>
+ <td class="montant bold bordered">
+ <!--xsl:call-template name="link.montant.solde">
+ <xsl:with-param name="num.compte" select="@NumCompte"/>
+ <xsl:with-param name="CodRD">D</xsl:with-param>
+ <xsl:with-param name="montant" select="@BalanceSortieCredit"/>
+ </xsl:call-template-->
+ <xsl:call-template name="number">
+ <xsl:with-param name="num" select="@BalanceSortieCredit"/>
+ <xsl:with-param name="hide.zero">1</xsl:with-param>
+ </xsl:call-template>
+ </td>
+ </xsl:when>
+ <xsl:otherwise>
+ <td class="bordureRight"><xsl:attribute name="id">padding<xsl:value-of select="@added:Padding"/></xsl:attribute><xsl:value-of select="@LibelleCpte"/></td>
+ <td class="bordureRight">
+ <!--xsl:call-template name="link.compte.numero">
+ <xsl:with-param name="num.compte" select="normalize-space(@NumCompte)"/>
+ </xsl:call-template-->
+ <xsl:value-of select="normalize-space(@NumCompte)"/>
+ </td>
+ <td class="montant bordureRight">
+ <xsl:call-template name="number">
+ <xsl:with-param name="num" select="@BalanceEntreeDebit"/>
+ <xsl:with-param name="hide.zero">1</xsl:with-param>
+ </xsl:call-template>
+ </td>
+ <td class="montant bordureRight">
+ <xsl:call-template name="number">
+ <xsl:with-param name="num" select="@BalanceEntreeCredit"/>
+ <xsl:with-param name="hide.zero">1</xsl:with-param>
+ </xsl:call-template>
+ </td>
+ <td class="montant bordureRight">
+ <xsl:call-template name="link.compte.operations.budgetaires">
+ <xsl:with-param name="num.compte" select="normalize-space(@NumCompte)"/>
+ <xsl:with-param name="montant" select="@OperationDebit"/>
+ <xsl:with-param name="CodRD">D</xsl:with-param>
+ </xsl:call-template>
+ </td>
+ <td class="montant bordureRight">
+ <xsl:call-template name="link.compte.operations.budgetaires">
+ <xsl:with-param name="num.compte" select="normalize-space(@NumCompte)"/>
+ <xsl:with-param name="montant" select="@OperationCredit"/>
+ <xsl:with-param name="CodRD">R</xsl:with-param>
+ </xsl:call-template>
+ </td>
+ <td class="montant bordureRight">
+ <xsl:call-template name="number">
+ <xsl:with-param name="num" select="@OperationFinDebit"/>
+ <xsl:with-param name="hide.zero">1</xsl:with-param>
+ </xsl:call-template>
+ </td>
+ <td class="montant bordureRight">
+ <xsl:call-template name="number">
+ <xsl:with-param name="num" select="@OperationFinCredit"/>
+ <xsl:with-param name="hide.zero">1</xsl:with-param>
+ </xsl:call-template>
+ </td>
+ <td class="montant bordureRight">
+ <xsl:call-template name="link.montant.solde">
+ <xsl:with-param name="num.compte" select="@NumCompte"/>
+ <xsl:with-param name="CodRD">D</xsl:with-param>
+ <xsl:with-param name="montant" select="@BalanceSortieDebit"/>
+ </xsl:call-template>
+ </td>
+ <td class="montant bordureRight">
+ <xsl:call-template name="link.montant.solde">
+ <xsl:with-param name="num.compte" select="@NumCompte"/>
+ <xsl:with-param name="CodRD">R</xsl:with-param>
+ <xsl:with-param name="montant" select="@BalanceSortieCredit"/>
+ </xsl:call-template>
+ </td>
+ </xsl:otherwise>
+ </xsl:choose>
+ </tr>
+ </xsl:for-each>
+ </tbody>
+ </table>
+ </xsl:template>
+
+ <xsl:template name="link.compte.operations.budgetaires">
+ <xsl:param name="num.compte"/>
+ <xsl:param name="montant"/>
+ <xsl:param name="CodRD"/>
+
+ <!-- Commenter en attendant d'aoir les liens vers les etat du CGE -->
+ <!--xsl:if test="string-length($num.compte) > 2">
+ <xsl:choose>
+ <xsl:when test="starts-with($num.compte,'1') or starts-with($num.compte,'2') or starts-with($num.compte,'6') or starts-with($num.compte,'7') or starts-with($num.compte,'48') or starts-with($num.compte,'49')">
+ <xsl:element name="a">
+ <xsl:attribute name="href">
+ <xsl:text disable-output-escaping="yes">xemelios:/customLink?srcDocId=cg-etat&srcEtatId=BalanceGenerale&srcElementId=PageBalanceGenerale&srcCollectivite=</xsl:text><xsl:value-of select="$Entete//n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes">&srcBudget=</xsl:text><xsl:value-of select="$Entete//n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes">&sp1=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Exercice"/>
+ <xsl:text disable-output-escaping="yes">&numCompte=</xsl:text><xsl:value-of select="$num.compte"/>
+ <xsl:text disable-output-escaping="yes">&montant=</xsl:text><xsl:value-of select="$montant"/>
+ <xsl:if test="string-length($CodRD) > 0"><xsl:text disable-output-escaping="yes">&CodRD=</xsl:text><xsl:value-of select="$CodRD"/></xsl:if>
+ </xsl:attribute>
+ <xsl:call-template name="number">
+ <xsl:with-param name="num" select="$montant"/>
+ <xsl:with-param name="hide.zero">1</xsl:with-param>
+ </xsl:call-template>
+ </xsl:element>
+ </xsl:when>
+ <xsl:otherwise-->
+ <xsl:call-template name="number">
+ <xsl:with-param name="num" select="$montant"/>
+ <xsl:with-param name="hide.zero">1</xsl:with-param>
+ </xsl:call-template>
+ <!--/xsl:otherwise>
+ </xsl:choose>
+ </xsl:if-->
+ </xsl:template>
+
+ <!--xsl:template name="link.compte.numero">
+ <xsl:param name="num.compte"/>
+ <xsl:param name="montant"/>
+
+ <xsl:if test="string-length($num.compte) > 2">
+ <xsl:choose-->
+ <!-- Comptes de Classe 4 ou 5 -->
+ <!--xsl:when test="(not(starts-with($num.compte,'4')) and not(starts-with($num.compte,'5'))) and (not(starts-with($num.compte,'48')) and not(starts-with($num.compte,'49')))"-->
+ <!--xsl:when test="not(starts-with($num.compte,'4')) and not(starts-with($num.compte,'5'))">
+ <xsl:element name="a">
+ <xsl:attribute name="href">
+ <xsl:text disable-output-escaping="yes">xemelios:/customLink?srcDocId=cg-etat&srcEtatId=BalanceGenerale&srcElementId=PageBalanceGenerale&srcCollectivite=</xsl:text><xsl:value-of select="$Entete//n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes">&srcBudget=</xsl:text><xsl:value-of select="$Entete//n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes">&sp1=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Exercice"/>
+ <xsl:text disable-output-escaping="yes">&numCompte=</xsl:text><xsl:value-of select="$num.compte"/>
+ </xsl:attribute>
+ <xsl:value-of select="$num.compte"/>
+ </xsl:element>
+ </xsl:when>
+ <xsl:otherwise><xsl:value-of select="$num.compte"/></xsl:otherwise>
+ </xsl:choose>
+ </xsl:if>
+ </xsl:template-->
+
+ <xsl:template name="link.montant.solde">
+ <xsl:param name="num.compte"/>
+ <xsl:param name="montant"/>
+ <xsl:param name="CodRD"/>
+
+ <!--xsl:if test="string-length($num.compte) > 2">
+ <xsl:choose>
+ <xsl:when test="not(starts-with($num.compte,'1')) and not(starts-with($num.compte,'2')) and not(starts-with($num.compte,'6')) and not(starts-with($num.compte,'7')) and fn:is.link.solde($num.compte)">
+ <xsl:element name="a">
+ <xsl:attribute name="href">
+ <xsl:text disable-output-escaping="yes">xemelios:/customLink?srcDocId=cg-etat&srcEtatId=BalanceGenerale&srcElementId=PageBalanceGenerale&srcCollectivite=</xsl:text><xsl:value-of select="$Entete//n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes">&srcBudget=</xsl:text><xsl:value-of select="$Entete//n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes">&sp1=</xsl:text><xsl:value-of select="$Entete//n:Collectivite/@Exercice"/>
+ <xsl:text disable-output-escaping="yes">&numCompte=</xsl:text><xsl:value-of select="$num.compte"/>
+ <xsl:text disable-output-escaping="yes">&montant=</xsl:text><xsl:value-of select="$montant"/>
+ <xsl:text disable-output-escaping="yes">&type=solde</xsl:text>
+ <xsl:text disable-output-escaping="yes">&cg=</xsl:text><xsl:value-of select="$Entete//n:CompteGestionEtat/@V"/>
+ <xsl:if test="string-length($CodRD) > 0"><xsl:text disable-output-escaping="yes">&CodRD=</xsl:text><xsl:value-of select="$CodRD"/></xsl:if>
+ </xsl:attribute>
+ <xsl:call-template name="number">
+ <xsl:with-param name="num" select="$montant"/>
+ <xsl:with-param name="hide.zero">1</xsl:with-param>
+ </xsl:call-template>
+ </xsl:element>
+ </xsl:when>
+ <xsl:otherwise-->
+ <xsl:call-template name="number">
+ <xsl:with-param name="num" select="$montant"/>
+ <xsl:with-param name="hide.zero">1</xsl:with-param>
+ </xsl:call-template>
+ <!--/xsl:otherwise>
+ </xsl:choose>
+ </xsl:if-->
+ </xsl:template>
+
+ <xsl:template name="link.montant.totaux">
+ <xsl:param name="num.compte"/>
+ <xsl:param name="montant"/>
+ <xsl:param name="CodRD"/>
+
+ <!--xsl:if test="string-length($num.compte) > 2">
+ <xsl:choose>
+ <xsl:when test="not(starts-with($num.compte,'1')) and not(starts-with($num.compte,'2')) and not(starts-with($num.compte,'6')) and not(starts-with($num.compte,'7')) and fn:is.link.solde($num.compte)">
+ <xsl:element name="a">
+ <xsl:attribute name="href">
+ <xsl:text disable-output-escaping="yes">xemelios:/customLink?srcDocId=cg-etat&srcEtatId=BalanceGenerale&srcElementId=PageBalanceGenerale&srcCollectivite=</xsl:text><xsl:value-of select="$Entete//n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes">&srcBudget=</xsl:text><xsl:value-of select="$Entete//n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes">&sp1=</xsl:text><xsl:value-of select="$Entete//n:Collectivite/@Exercice"/>
+ <xsl:text disable-output-escaping="yes">&numCompte=</xsl:text><xsl:value-of select="$num.compte"/>
+ <xsl:text disable-output-escaping="yes">&montant=</xsl:text><xsl:value-of select="$montant"/>
+ <xsl:text disable-output-escaping="yes">&type=totaux</xsl:text>
+ <xsl:text disable-output-escaping="yes">&cg=</xsl:text><xsl:value-of select="$Entete//n:CompteGestionEtat/@V"/>
+ <xsl:if test="string-length($CodRD) > 0"><xsl:text disable-output-escaping="yes">&CodRD=</xsl:text><xsl:value-of select="$CodRD"/></xsl:if>
+ </xsl:attribute>
+ <xsl:call-template name="number">
+ <xsl:with-param name="num" select="$montant"/>
+ <xsl:with-param name="hide.zero">1</xsl:with-param>
+ </xsl:call-template>
+ </xsl:element>
+ </xsl:when>
+ <xsl:otherwise-->
+ <xsl:call-template name="number">
+ <xsl:with-param name="num" select="$montant"/>
+ <xsl:with-param name="hide.zero">1</xsl:with-param>
+ </xsl:call-template>
+ <!--/xsl:otherwise>
+ </xsl:choose>
+ </xsl:if-->
+ </xsl:template>
+
+ <!-- Fonctions -->
+ <xsl:function name="fn:is.link.totaux">
+ <xsl:param name="num.compte"/>
+ <xsl:param name="cod.rd"/>
+ <xsl:choose>
+ <xsl:when test="$cod.rd='D' and count($liens.comptes/Editions/Comptes[@Edition=$Entete//n:CompteGestionEtat/@V]//Compte[@Numero=$num.compte and string-length(@Debit) > 0]) > 0">1</xsl:when>
+ <xsl:when test="$cod.rd='R' and count($liens.comptes/Editions/Comptes[@Edition=$Entete//n:CompteGestionEtat/@V]//Compte[@Numero=$num.compte and string-length(@Credit) > 0]) > 0">1</xsl:when>
+ <xsl:otherwise>0</xsl:otherwise>
+ </xsl:choose>
+ </xsl:function>
+
+ <xsl:function name="fn:is.link.solde">
+ <xsl:param name="num.compte"/>
+ <xsl:choose>
+ <xsl:when test="count($liens.comptes/Editions/Comptes[@Edition=$Entete//n:CompteGestionEtat/@V]//Compte[@Numero=$num.compte and string-length(@Solde) > 0]) > 0">1</xsl:when>
+ <xsl:otherwise>0</xsl:otherwise>
+ </xsl:choose>
+ </xsl:function>
+</xsl:stylesheet>
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE xsl:stylesheet [
+<!ENTITY nbsp " ">
+<!ENTITY egrave "è">
+<!ENTITY euro "€">
+<!ENTITY agrave "à">
+<!ENTITY eacute "é">
+]>
+<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" xmlns:n="http://www.xemelios.org/namespaces#cge" xmlns:added="http://www.xemelios.org/namespaces#added" version="2.0">
+ <xsl:character-map name="accents">
+ <xsl:output-character character="à" string="&#224;"/>
+ <xsl:output-character character="é" string="&#233;"/>
+ <xsl:output-character character="è" string="&#232;"/>
+ <xsl:output-character character="ê" string="&#234;"/>
+ <xsl:output-character character="ë" string="&#235;"/>
+ <xsl:output-character character="î" string="&#238;"/>
+ <xsl:output-character character="ï" string="&#239;"/>
+ <xsl:output-character character="ô" string="&#244;"/>
+ <xsl:output-character character="ù" string="&#249;"/>
+ </xsl:character-map>
+
+ <xsl:decimal-format name="decformat" decimal-separator="," grouping-separator=" " digit="#" pattern-separator=";" NaN="NaN" minus-sign="-"/>
+
+ <!-- Inclusion des XSL externes -->
+ <xsl:include href="./common-xsl/Style.xsl"/>
+ <xsl:include href="./common-xsl/Error.xsl"/>
+ <xsl:include href="./common-xsl/Navigate.xsl"/>
+ <xsl:include href="./common-xsl/Header.xsl"/>
+ <xsl:include href="./common-xsl/Number.xsl"/>
+
+ <!-- Paramètres d'entrée -->
+ <xsl:param name="show.formulaire"/>
+ <xsl:param name="browser-destination"/>
+
+ <!-- Paramètres Web -->
+ <xsl:param name="is.web">-1</xsl:param>
+ <xsl:param name="context.path"/>
+
+ <!-- Paramètres d'entrée de la liste de résultat -->
+ <xsl:param name="libPoste">0</xsl:param>
+
+ <!-- Paramètres d'erreur -->
+ <xsl:param name="error.message">nomessage</xsl:param>
+
+ <!-- Paramètres d'entrée de la liste de résultat -->
+ <xsl:param name="numCompte">0</xsl:param>
+ <xsl:param name="ministere">0</xsl:param>
+ <xsl:param name="programme">0</xsl:param>
+ <xsl:param name="article">0</xsl:param>
+ <xsl:param name="generatedId">0</xsl:param>
+
+ <!-- Variables -->
+ <xsl:variable name="page-format" select="paysage"/>
+ <xsl:variable name="NumPage" select="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/n:Pied/@NumPage"/>
+ <xsl:variable name="LastPage" select="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/@added:LastPage"/>
+ <xsl:variable name="isLastPage" select="/n:CompteGestionEtat/n:DeveloppementDepense/n:PageDeveloppementDepense/@added:isLastPage"/>
+ <xsl:variable name="Entete">
+ <xsl:copy-of select="/n:CompteGestionEtat/n:Entete"/>
+ </xsl:variable>
+
+ <xsl:output method="xhtml" indent="yes" use-character-maps="accents" encoding="ISO-8859-1"/>
+
+ <!-- pour eviter les sorties parasites de tags non matches -->
+ <xsl:template match="*"/>
+
+ <xsl:template match="/n:CompteGestionEtat">
+ <html>
+ <head>
+ <title>Développement des dépenses budgétaires par ministère et programme</title>
+ <xsl:call-template name="style"/>
+ </head>
+ <body>
+ <xsl:if test="$error.message!='nomessage'">
+ <xsl:attribute name="onload">javascript:showDialog('<xsl:value-of select="$error.message"/>');</xsl:attribute>
+ </xsl:if>
+ <xsl:call-template name="Error"><!--xsl:with-param name="error.message" select="$error.message"/--></xsl:call-template>
+ <xsl:call-template name="navigate">
+ <xsl:with-param name="docId">cg-etat</xsl:with-param>
+ <xsl:with-param name="etatId">DeveloppementDepense</xsl:with-param>
+ <xsl:with-param name="elementId">PageDeveloppementDepense</xsl:with-param>
+ <xsl:with-param name="sous.elementId">LigneDeveloppementDepense</xsl:with-param>
+ <xsl:with-param name="NumPage" select="$NumPage"/>
+ <xsl:with-param name="LastPage" select="$LastPage"/>
+ <xsl:with-param name="isLastPage" select="$isLastPage"/>
+ <xsl:with-param name="Entete" select="$Entete"/>
+ <xsl:with-param name="show.formulaire" select="$show.formulaire"/>
+ <xsl:with-param name="show.formulaire.compte" select="1"/>
+ <xsl:with-param name="show.depense.recette" select="0"/>
+ <xsl:with-param name="is.web" select="$is.web"/>
+ <xsl:with-param name="context.path" select="$context.path"/>
+ </xsl:call-template>
+ <!--xsl:call-template name="header" >
+ <xsl:with-param name="Entete" select="$Entete"/>
+ <xsl:with-param name="Titre">Développement des dépenses budgétaires par ministère et programme</xsl:with-param>
+ </xsl:call-template-->
+ <xsl:call-template name="mainTable">
+ <xsl:with-param name="el" select="n:DeveloppementDepense/n:PageDeveloppementDepense"/>
+ </xsl:call-template>
+ <!--p class="showPrint">
+ <center>Page <xsl:choose><xsl:when test="$LastPage and string-length($LastPage) > 0"><xsl:value-of select="$NumPage"/> / <xsl:value-of select="$LastPage"/></xsl:when><xsl:otherwise>- <xsl:value-of select="$NumPage"/></xsl:otherwise></xsl:choose></center>
+ </p-->
+ <xsl:call-template name="navigate">
+ <xsl:with-param name="docId">cg-etat</xsl:with-param>
+ <xsl:with-param name="etatId">DeveloppementDepense</xsl:with-param>
+ <xsl:with-param name="elementId">PageDeveloppementDepense</xsl:with-param>
+ <xsl:with-param name="sous.elementId">LigneDeveloppementDepense</xsl:with-param>
+ <xsl:with-param name="NumPage" select="$NumPage"/>
+ <xsl:with-param name="LastPage" select="$LastPage"/>
+ <xsl:with-param name="isLastPage" select="$isLastPage"/>
+ <xsl:with-param name="Entete" select="$Entete"/>
+ <xsl:with-param name="show.formulaire" select="$show.formulaire"/>
+ <xsl:with-param name="show.formulaire.compte" select="1"/>
+ <xsl:with-param name="show.depense.recette" select="0"/>
+ <xsl:with-param name="ancre">#footer</xsl:with-param>
+ <xsl:with-param name="display.logos.entete">0</xsl:with-param>
+ <xsl:with-param name="is.web" select="$is.web"/>
+ <xsl:with-param name="context.path" select="$context.path"/>
+ </xsl:call-template>
+ <div id="footer"/>
+ </body>
+ </html>
+ </xsl:template>
+
+ <xsl:template name="mainTable">
+ <xsl:param name="el"/>
+ <table width="100%" id="main">
+ <colgroup>
+ <col width="20%"/>
+ <col width="25%"/>
+ <col width="10%"/>
+ <col width="20%"/>
+ <col width="10%"/>
+ <col width="15%"/>
+ </colgroup>
+ <thead>
+ <xsl:call-template name="header.table" >
+ <xsl:with-param name="Entete" select="$Entete"/>
+ <xsl:with-param name="Titre">Développement des dépenses budgétaires par ministère et programme</xsl:with-param>
+ <xsl:with-param name="colspan">6</xsl:with-param>
+ </xsl:call-template>
+ <tr class="titre">
+ <td class="titre2 center bold bordered">Comptes</td>
+ <td class="titre2 center bold bordered">Montant OAD</td>
+ <td class="titre2 center bold bordered">Ministère</td>
+ <td class="titre2 center bold bordered">Programmes</td>
+ <td class="titre2 center bold bordered">Article<br/>exécution</td>
+ <td class="titre2 center bold bordered">Dépenses admises</td>
+ </tr>
+ </thead>
+ <tbody>
+ <xsl:variable name="nums.comptes" select="distinct-values($el/n:LigneDeveloppementDepense/@NumCompte)"/>
+ <xsl:for-each select="$nums.comptes">
+ <xsl:sort select="."/>
+ <xsl:variable name="this.compte" select="."/>
+
+
+ <xsl:variable name="lignes.this.compte" select="$el/n:LigneDeveloppementDepense[@NumCompte=$this.compte]"/>
+ <xsl:variable name="nb.lignes.this.compte" select="count($lignes.this.compte)"/>
+
+ <xsl:variable name="ministeres.lignes.this.compte" select="distinct-values($lignes.this.compte/@Ministere)"/>
+
+ <xsl:variable name="min.ministere" select="min($lignes.this.compte/@Ministere)"/>
+ <xsl:variable name="min.ministere.lignes" select="$lignes.this.compte[number(@Ministere)=$min.ministere]"/>
+
+ <xsl:variable name="min.article.ministere.lignes" select="min($min.ministere.lignes/@ArticleExec)"/>
+
+ <xsl:variable name="first" select="$min.ministere.lignes[1]/@added:generated-id"/>
+
+
+ <xsl:variable name="position.compte" select="position()"/>
+
+ <tr class="mask">
+ <td class="titre center bold borderedNot">
+ <xsl:attribute name="rowspan" select="$nb.lignes.this.compte"/>
+ <h3 style="color: black;"><xsl:value-of select="."/></h3>
+ </td>
+ <td colspan="5"> </td>
+ </tr>
+ <xsl:for-each select="$ministeres.lignes.this.compte">
+ <xsl:sort select="." data-type="text"/>
+ <xsl:variable name="this.ministere" select="."/>
+ <xsl:variable name="lignes.this.ministere" select="$lignes.this.compte[@Ministere=$this.ministere]"/>
+
+ <xsl:variable name="position.ministere" select="position()"/>
+
+ <xsl:variable name="programme.this.ministeres.lignes.this.compte" select="distinct-values($lignes.this.ministere/@Programme)"/>
+
+ <xsl:for-each select="$programme.this.ministeres.lignes.this.compte">
+ <xsl:sort select="."/>
+ <xsl:variable name="this.programme" select="."/>
+ <xsl:variable name="lignes.this.programme" select="$lignes.this.ministere[@Programme=$this.programme]"/>
+
+ <xsl:for-each select="$lignes.this.programme[string-length(@ArticleExec) > 0]">
+ <xsl:sort select="@ArticleExec" data-type="text"/>
+ <xsl:variable name="articleExec" select="@ArticleExec"/>
+ <xsl:variable name="position.programme" select="position()"/>
+ <tr>
+ <!--xsl:choose>
+ <xsl:when test="$generatedId = '0' and $numCompte != '0' and @NumCompte=$numCompte and $this.ministere=$ministere and $this.programme=$programme and $articleExec=$article">
+ <xsl:attribute name="id">highlighted</xsl:attribute>
+ </xsl:when>
+ <xsl:when test="$generatedId != '0' and @added:generated-id=$generatedId">
+ <xsl:attribute name="id">highlighted</xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise-->
+ <xsl:choose>
+ <xsl:when test="(position() mod 2) = 0">
+ <xsl:attribute name="id">colorised3</xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="id">colorised2</xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ <!--/xsl:otherwise>
+ </xsl:choose-->
+ <xsl:choose>
+ <xsl:when test="@MtDebit"><xsl:attribute name="class">NotTotal</xsl:attribute></xsl:when>
+ </xsl:choose>
+
+ <td class="montant bordered">
+ <xsl:choose>
+ <xsl:when test="$generatedId = '0' and $numCompte != '0' and @NumCompte=$numCompte and $this.ministere=$ministere and $this.programme=$programme and $articleExec=$article">
+ <xsl:attribute name="id">highlighted</xsl:attribute>
+ </xsl:when>
+ <xsl:when test="$generatedId != '0' and @added:generated-id=$generatedId">
+ <xsl:attribute name="id">highlighted</xsl:attribute>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:call-template name="number"><xsl:with-param name="num" select="@MtDebit"/></xsl:call-template> €</td>
+ <td class="bordered center"><xsl:value-of select="$this.ministere"/></td>
+ <xsl:if test="$position.programme eq 1">
+ <td class="bordered center">
+ <xsl:choose>
+ <xsl:when test="$generatedId = '0' and $numCompte != '0' and @NumCompte=$numCompte and $this.ministere=$ministere and $this.programme=$programme and $articleExec=$article">
+ <xsl:attribute name="id">highlighted</xsl:attribute>
+ </xsl:when>
+ <xsl:when test="$generatedId != '0' and @added:generated-id=$generatedId">
+ <xsl:attribute name="id">highlighted</xsl:attribute>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:attribute name="rowspan" select="count($lignes.this.programme) - 1"/>
+ <xsl:value-of select="$this.programme"/>
+ </td>
+ </xsl:if>
+ <td class="bordered center">
+ <xsl:choose>
+ <xsl:when test="$generatedId = '0' and $numCompte != '0' and @NumCompte=$numCompte and $this.ministere=$ministere and $this.programme=$programme and $articleExec=$article">
+ <xsl:attribute name="id">highlighted</xsl:attribute>
+ </xsl:when>
+ <xsl:when test="$generatedId != '0' and @added:generated-id=$generatedId">
+ <xsl:attribute name="id">highlighted</xsl:attribute>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:value-of select="@ArticleExec"/></td>
+ <td class="montant bordered">
+ <xsl:choose>
+ <xsl:when test="$generatedId = '0' and $numCompte != '0' and @NumCompte=$numCompte and $this.ministere=$ministere and $this.programme=$programme and $articleExec=$article">
+ <xsl:attribute name="id">highlighted</xsl:attribute>
+ </xsl:when>
+ <xsl:when test="$generatedId != '0' and @added:generated-id=$generatedId">
+ <xsl:attribute name="id">highlighted</xsl:attribute>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:call-template name="number"><xsl:with-param name="num" select="@MtDebit"/></xsl:call-template> €<!--
+ <xsl:element name="a">
+ <xsl:attribute name="href">
+ <xsl:text disable-output-escaping="yes">xemelios:/customLink?srcDocId=cg-etat&srcEtatId=DeveloppementDepense&srcElementId=PageDeveloppementDepense&srcCollectivite=</xsl:text><xsl:value-of select="$Entete//n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes">&srcBudget=</xsl:text><xsl:value-of select="$Entete//n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes">&sp1=</xsl:text><xsl:value-of select="$Entete//n:Collectivite/@Exercice"/>
+ <xsl:text disable-output-escaping="yes">&comptable=</xsl:text><xsl:value-of select="$Entete//n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes">&ministere=</xsl:text><xsl:value-of select="$this.ministere"/>
+ <xsl:text disable-output-escaping="yes">&programme=</xsl:text><xsl:value-of select="$this.programme"/>
+ <xsl:text disable-output-escaping="yes">&articleExec=</xsl:text><xsl:value-of select="@ArticleExec"/>
+ </xsl:attribute>
+ <xsl:call-template name="number"><xsl:with-param name="num" select="@MtDebit"/></xsl:call-template> €</xsl:element>
+ --></td>
+ </tr>
+ </xsl:for-each>
+ <xsl:variable name="ligne.total.this.programme" select="$lignes.this.programme[string-length(@ArticleExec) eq 0]"/>
+ <tr>
+ <!--td class="libelleLigne bold bordered"> <xsl:value-of select="$this.compte"/></td-->
+ <td class="bold bordered center totalAnnexeII" colspan="4">
+ <xsl:choose>
+ <xsl:when test="$generatedId != '0' and $ligne.total.this.programme/@added:generated-id=$generatedId">
+ <xsl:attribute name="id">highlighted</xsl:attribute>
+ </xsl:when>
+ </xsl:choose>
+ Total Programme <xsl:value-of select="$this.programme"/></td>
+ <td class="montant bold bordered totalAnnexeII">
+ <xsl:choose>
+ <xsl:when test="$generatedId != '0' and $ligne.total.this.programme/@added:generated-id=$generatedId">
+ <xsl:attribute name="id">highlighted</xsl:attribute>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:call-template name="number"><xsl:with-param name="num" select="$ligne.total.this.programme/@MtDebit"/></xsl:call-template> €</td>
+ </tr>
+ </xsl:for-each>
+ </xsl:for-each>
+ <xsl:variable name="ligne.total.this.compte" select="$lignes.this.compte[string-length(@Ministere) eq 0]"/>
+ <tr>
+ <td class="bold totalAnnexeII1 bordered right">Total du compte <xsl:value-of select="$this.compte"/></td>
+ <td class="montant bold bordered totalAnnexeII1"><xsl:call-template name="number"><xsl:with-param name="num" select="$ligne.total.this.compte/@MtDebit"/></xsl:call-template> €</td>
+ <td class="montant bold bordered totalAnnexeII1" colspan="4"><xsl:call-template name="number"><xsl:with-param name="num" select="$ligne.total.this.compte/@MtDebit"/></xsl:call-template> €</td>
+ </tr>
+ </xsl:for-each>
+ </tbody>
+ <tfoot>
+ <tr>
+ <!--td class="borderedNot"> </td>
+ <td class="borderedNot"> </td-->
+ <td class="borderedNot center numPage" colspan="6">Page <xsl:choose><xsl:when test="$LastPage and string-length($LastPage) > 0"><xsl:value-of select="$NumPage"/> / <xsl:value-of select="$LastPage"/></xsl:when><xsl:otherwise>- <xsl:value-of select="$NumPage"/></xsl:otherwise></xsl:choose></td>
+ </tr>
+ </tfoot>
+ </table>
+ </xsl:template>
+
+</xsl:transform>
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE xsl:stylesheet [
+<!ENTITY nbsp " ">
+<!ENTITY egrave "è">
+<!ENTITY eacute "é">
+<!ENTITY agrave "à">
+]>
+<xsl:stylesheet xmlns="http://www.w3.org/1999/xhtml" xmlns:n="http://www.xemelios.org/namespaces#cge" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
+
+ <xsl:param name="browser-destination"/>
+ <!-- Paramètres de sortie -->
+ <xsl:character-map name="accents">
+ <xsl:output-character character="à" string="&#224;"/>
+ <xsl:output-character character="é" string="&#233;"/>
+ <xsl:output-character character="è" string="&#232;"/>
+ <xsl:output-character character="ê" string="&#234;"/>
+ <xsl:output-character character="ë" string="&#235;"/>
+ <xsl:output-character character="î" string="&#238;"/>
+ <xsl:output-character character="ï" string="&#239;"/>
+ <xsl:output-character character="ô" string="&#244;"/>
+ <xsl:output-character character="ù" string="&#249;"/>
+ </xsl:character-map>
+
+ <xsl:output method="xhtml" encoding="ISO-8859-1" indent="yes" use-character-maps="accents"/>
+
+ <!--xsl:include href="./common-xsl/Error.xsl"/-->
+
+ <!-- Paramètres d'erreur -->
+ <xsl:param name="error.message">nomessage</xsl:param>
+
+ <!-- Paramètres Web -->
+ <xsl:param name="is.web">-1</xsl:param>
+ <xsl:param name="context.path"/>
+
+ <xsl:variable name="page-format" select="paysage"/>
+
+ <xsl:template match="/n:CompteGestionEtat">
+ <html>
+ <head>
+ <title><xsl:text>Compte de Gestion Etat : Comptable </xsl:text><xsl:value-of select="/n:CompteGestionEtat/n:Entete/n:Infos/n:Collectivite/@Libelle"/> (<xsl:value-of select="/n:CompteGestionEtat/n:Entete/n:Infos/n:Collectivite/@Siret"/>)</title>
+ <style type="text/css" media="all">
+ body { font-family: verdana; font-size: 10px; width: 99%; }
+
+ h1 { font-family: verdana, sans-serif; font-size: 24px; color: black; text-align: center; }
+ h2 { font-family: verdana, sans-serif; font-size: 21px; text-align: center; }
+ h3 { font-family: verdana, sans-serif; font-size: 16px; text-align: center; }
+ h4 { font-family: verdana, sans-serif; font-size: 14px; padding-left: 100px; }
+
+ a { font-size: 14px; } /* margin-left: 225px; */
+ a.nopadding { padding-left: 0px; margin-left: 0px; }
+ a#lienspe { padding-left: 225px;}
+ pre#nolink { padding-left: 225px;}
+ .c1 { width: 125px; }
+ .c2 { word-wrap: break-word; }
+ table { margin: 0px; }
+ tr { page-break-inside: avoid; }
+ img {border: none;}
+ </style>
+ <style type="text/css" media="print">
+ @page { font-family: verdana; font-size: 10px; size: 375mm 270mm; @bottom-right { content: counter(page) " / " counter(pages); } }
+ a {text-decoration: none;color: black;}
+ </style>
+
+
+
+ <!--xsl:call-template name="Error"/-->
+ <script>
+ function hideDialog() {
+ var dialogBox = document.getElementById("dialogBox");
+ dialogBox.style.visibility = "hidden";
+ }
+
+ function showDialog(content) {
+ var dialogBox = document.getElementById("dialogBox");
+ var dialogContent = document.getElementById("dialogContent");
+ dialogContent.innerHTML = content;
+ dialogBox.style.visibility = "visible";
+ }
+ </script>
+ <div id="dialogBox" style="visibility: hidden; position: absolute; left: 10px; top: 10px; width: 800px; height: 100px; border-style: solid; border-width: 1px; border-color: #00006A; background-color: white; z-index: 1000;">
+ <table border="0" width="100%">
+ <tr>
+ <td style="width: 100%; font-weight:bold;" id="dialogContent"></td>
+ <td valign="top" align="right">
+ <a href="javascript:hideDialog();"><img src="img/bt_fermer.gif" border="0"/></a>
+ </td>
+ </tr>
+ </table>
+ </div>
+ </head>
+ <body>
+ <xsl:if test="$error.message!='nomessage'">
+ <xsl:attribute name="onload">javascript:showDialog('<xsl:value-of select="$error.message"/>');</xsl:attribute>
+ </xsl:if>
+ <!--h1>Table des matières</h1-->
+ <xsl:apply-templates/>
+ </body>
+ </html>
+ </xsl:template>
+
+ <xsl:template match="/n:CompteGestionEtat/n:Entete">
+ <xsl:call-template name="header">
+ <xsl:with-param name="Entete" select="."/>
+ <xsl:with-param name="Titre">SOMMAIRE</xsl:with-param>
+ </xsl:call-template>
+ <br/>
+ <br/>
+ </xsl:template>
+
+ <xsl:template match="n:Accueil"><p><xsl:apply-templates/></p></xsl:template>
+
+ <xsl:template match="n:PageAccueil">
+ <xsl:call-template name="etat">
+ <xsl:with-param name="lignesAccueil" select="n:LigneAccueil"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template name="etat">
+ <xsl:param name="lignesAccueil"/>
+
+ <pre>
+ <h2><u>Le Compte de Gestion Etat</u></h2>
+ <br/>
+ <table width="100%">
+ <xsl:for-each select="$lignesAccueil">
+ <xsl:variable name="Etat" select="@Etat"/>
+ <xsl:choose>
+ <xsl:when test="string-length(@Etat) > 0">
+ <tr><td colspan="2">
+ <xsl:choose>
+ <xsl:when test="@Etat='BalanceGenerale'"><h4><u>1<sup>ère</sup> PARTIE :</u> CGL / TCC</h4></xsl:when>
+ <xsl:when test="@Etat='DeveloppementRecette'"><h4><u>2<sup>ème</sup> PARTIE :</u> ANNEXE I</h4></xsl:when>
+ <xsl:when test="@Etat='DeveloppementDepense'"><h4><u>3<sup>ème</sup> PARTIE :</u> ANNEXE II</h4></xsl:when>
+ <xsl:when test="@Etat='ERTN'"><h4><u>4<sup>ème</sup> PARTIE :</u> CHORUS</h4></xsl:when>
+ </xsl:choose>
+ </td></tr>
+ <xsl:choose>
+ <xsl:when test="@Etat='BalanceGenerale'">
+ <tr>
+ <td class="c1">
+ <a class="nopadding"><xsl:variable name="collectivite" select="/n:CompteGestionEtat/n:Entete/n:Infos/n:Collectivite/@Siret"/>
+ <xsl:variable name="budget" select="/n:CompteGestionEtat/n:Entete/n:Infos/n:Collectivite/@CodeBudget"/>
+ <xsl:variable name="exercice" select="/n:CompteGestionEtat/n:Entete/n:Infos/n:Collectivite/@Exercice"/>
+ <xsl:attribute name="href">xemelios:/attachment?pjId=<xsl:value-of select="concat('CompteGestionEtat-BalanceGenerale-',$collectivite,'-',$budget,'-',$exercice,'.pdf')"/>&collectivite=<xsl:value-of select="$collectivite"/></xsl:attribute>
+ <img src="xemelios:/resource?pdf-compteGestionEtat-BalanceGenerale.png"/></a></td>
+ <td class="c2">
+ <xsl:text disable-output-escaping="yes"><![CDATA[<a href="xemelios:/query?docId=]]></xsl:text><xsl:choose>
+ <xsl:when test="name(/child::node()[1])='CompteGestionEtat'">cg-etat</xsl:when>
+ <xsl:otherwise><xsl:value-of select="name(/child::node()[1])"/></xsl:otherwise>
+ </xsl:choose>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&etatId=]]></xsl:text><xsl:value-of select="@Etat"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&elementId=Page]]></xsl:text><xsl:value-of select="@Etat"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&collectivite=]]></xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&budget=]]></xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&sp1=]]></xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Exercice"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&path=[n:Pied/@NumPage='1']]]></xsl:text>
+ <xsl:text disable-output-escaping="yes"><![CDATA[" >]]></xsl:text><xsl:value-of select="normalize-space(@Titre)"/><xsl:if test="count(//n:LigneSommaire[@Code=$Etat]) > 0"> (1 - <xsl:value-of select="//n:LigneSommaire[@Code=$Etat]/@LastPage"/>)</xsl:if><xsl:text disable-output-escaping="yes"><![CDATA[</a>]]></xsl:text>
+ </td>
+ </tr>
+ </xsl:when>
+ <xsl:otherwise>
+ <tr>
+ <td class="c1"> </td>
+ <td class="c2">
+ <xsl:text disable-output-escaping="yes"><![CDATA[<a href="xemelios:/query?docId=]]></xsl:text><xsl:choose>
+ <xsl:when test="name(/child::node()[1])='CompteGestionEtat'">cg-etat</xsl:when>
+ <xsl:otherwise><xsl:value-of select="name(/child::node()[1])"/></xsl:otherwise>
+ </xsl:choose>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&etatId=]]></xsl:text><xsl:value-of select="@Etat"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&elementId=Page]]></xsl:text><xsl:value-of select="@Etat"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&collectivite=]]></xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&budget=]]></xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&sp1=]]></xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Exercice"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&path=[n:Pied/@NumPage='1']]]></xsl:text>
+ <xsl:text disable-output-escaping="yes"><![CDATA[" >]]></xsl:text><xsl:value-of select="normalize-space(@Titre)"/><xsl:if test="count(//n:LigneSommaire[@Code=$Etat]) > 0"> (1 - <xsl:value-of select="//n:LigneSommaire[@Code=$Etat]/@LastPage"/>)</xsl:if><xsl:text disable-output-escaping="yes"><![CDATA[</a>]]></xsl:text>
+ </td>
+ </tr>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:when test="string-length(@Etat) = 0"><h4><xsl:value-of select="normalize-space(@Titre)"/></h4></xsl:when>
+ <xsl:otherwise><pre id="nolink"><xsl:value-of select="normalize-space(@Titre)"/></pre></xsl:otherwise>
+ </xsl:choose>
+ <br/>
+ </xsl:for-each>
+ </table>
+ <br/>
+ <!--h2><u>Les Etats Comptables</u></h2>
+ <h4><xsl:value-of select="count($liste.partie/n:titres/n:titre)+1"/>EME PARTIE : </h4>
+ <xsl:element name="a">
+ <xsl:attribute name="id">lienspe</xsl:attribute>
+ <xsl:attribute name="href">
+ <xsl:text disable-output-escaping="yes">xemelios:/query?docId=compteGestion&etatId=Solde&elementId=PageSolde</xsl:text>
+ <xsl:text disable-output-escaping="yes">&collectivite=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes">&budget=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes">&sp1=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Exercice"/>
+ <xsl:text disable-output-escaping="yes">&path=[n:EnteteSolde/@Type=RAR][n:Pied/@NumPage=1]</xsl:text>
+ </xsl:attribute>
+ <xsl:text disable-output-escaping="yes">Etat de solde : Reste A Recouvrer</xsl:text>
+ </xsl:element>
+ <h4><xsl:value-of select="count($liste.partie/n:titres/n:titre)+2"/>EME PARTIE : </h4>
+ <xsl:element name="a">
+ <xsl:attribute name="id">lienspe</xsl:attribute>
+ <xsl:attribute name="href">
+ <xsl:text disable-output-escaping="yes">xemelios:/query?docId=compteGestion&etatId=Solde&elementId=PageSolde</xsl:text>
+ <xsl:text disable-output-escaping="yes">&collectivite=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes">&budget=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes">&sp1=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Exercice"/>
+ <xsl:text disable-output-escaping="yes">&path=[n:EnteteSolde/@Type=RAP][n:Pied/@NumPage=1]</xsl:text>
+ </xsl:attribute>
+ <xsl:text disable-output-escaping="yes">Etat de solde : Reste A Payer</xsl:text>
+ </xsl:element>
+ <h4><xsl:value-of select="count($liste.partie/n:titres/n:titre)+3"/>EME PARTIE : </h4>
+ <xsl:element name="a">
+ <xsl:attribute name="id">lienspe</xsl:attribute>
+ <xsl:attribute name="href">
+ <xsl:text disable-output-escaping="yes">xemelios:/query?docId=compteGestion&etatId=DeveloppementSoldes&elementId=PageDeveloppementSoldes</xsl:text>
+ <xsl:text disable-output-escaping="yes">&collectivite=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes">&budget=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes">&sp1=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Exercice"/>
+ <xsl:text disable-output-escaping="yes">&path=[n:Pied/@NumPage=1]</xsl:text>
+ </xsl:attribute>
+ <xsl:text disable-output-escaping="yes">Etats de Développement Des Soldes (EDDS)</xsl:text>
+ </xsl:element>
+ <h4><xsl:value-of select="count($liste.partie/n:titres/n:titre)+4"/>EME PARTIE : </h4>
+ <xsl:element name="a">
+ <xsl:attribute name="id">lienspe</xsl:attribute>
+ <xsl:attribute name="href">
+ <xsl:text disable-output-escaping="yes">xemelios:/query?docId=compteGestion&etatId=FichesBudgetaires&elementId=PageFichesBudgetaires</xsl:text>
+ <xsl:text disable-output-escaping="yes">&collectivite=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes">&budget=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes">&sp1=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Exercice"/>
+ <xsl:text disable-output-escaping="yes">&path=[n:Pied/@NumPage=1]</xsl:text>
+ </xsl:attribute>
+ <xsl:text disable-output-escaping="yes">Fiches Budgétaires</xsl:text>
+ </xsl:element>
+ <h4><xsl:value-of select="count($liste.partie/n:titres/n:titre)+5"/>EME PARTIE : </h4>
+ <xsl:element name="a">
+ <xsl:attribute name="id">lienspe</xsl:attribute>
+ <xsl:attribute name="href">
+ <xsl:text disable-output-escaping="yes">xemelios:/query?docId=compteGestion&etatId=LivreAuxiliaire&elementId=PageLivreAuxiliaire</xsl:text>
+ <xsl:text disable-output-escaping="yes">&collectivite=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes">&budget=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes">&sp1=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Exercice"/>
+ <xsl:text disable-output-escaping="yes">&path=[n:Pied/@NumPage=1]</xsl:text>
+ </xsl:attribute>
+ <xsl:text disable-output-escaping="yes">Livre Auxiliaire des Comptes de Tiers et des comptes Financiers</xsl:text>
+ </xsl:element-->
+ </pre>
+ </xsl:template>
+
+
+ <xsl:template name="M14">
+ <xsl:param name="lignesAccueil"/>
+ <xsl:variable name="liste.partie">
+ <n:titres>
+ <xsl:for-each select="$lignesAccueil[contains(@Titre, 'PARTIE')]">
+ <n:titre><xsl:value-of select="@Titre"/></n:titre>
+ </xsl:for-each></n:titres>
+ </xsl:variable>
+
+ <pre>
+ <h2><u>Le Compte de Gestion sur Chiffres</u></h2>
+ <br/>
+ <xsl:for-each select="$lignesAccueil">
+ <xsl:choose>
+ <xsl:when test="string-length(@Etat) > 0">
+ <!--xsl:when test="string-length(@Etat) > 0 and not(contains(@Etat,'ValeursInactives'))"-->
+ <xsl:variable name="Etat">
+ <xsl:choose>
+ <xsl:when test="@Etat='BalanceComptes'">BalanceGenerale</xsl:when>
+ <xsl:when test="@Etat='ValeursInactives'">BalanceValeursInactives</xsl:when>
+ <xsl:otherwise><xsl:value-of select="@Etat"/></xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="$browser-destination = 'internal' and not(contains(lower-case(@Titre),'annexe')) and not(contains(@Etat,'PresentationCroisee')) and not(contains(lower-case(@Etat),'actif'))">
+ <!--xsl:variable name="num.first.page"><xsl:value-of select="substring(@Titre,string-length(@Titre)-1,string-length(@Titre))"/></xsl:variable-->
+ <xsl:text disable-output-escaping="yes"><![CDATA[<a href="xemelios:/query?docId=]]></xsl:text><xsl:choose>
+ <xsl:when test="name(/child::node()[1])='CompteGestion'">cg-etat</xsl:when>
+ <xsl:otherwise><xsl:value-of select="name(/child::node()[1])"/></xsl:otherwise>
+ </xsl:choose>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&etatId=]]></xsl:text><xsl:value-of select="$Etat"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&elementId=Page]]></xsl:text><xsl:value-of select="$Etat"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&collectivite=]]></xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&budget=]]></xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&sp1=]]></xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Exercice"/>
+ <!--xsl:text disable-output-escaping="yes"><![CDATA[&path=[n:Pied/@NumPage=]]></xsl:text><xsl:value-of select="$num.first.page"/><xsl:text><![CDATA[]]]></xsl:text-->
+ <!--xsl:text disable-output-escaping="yes"><![CDATA[&path=[n:Pied/@NumPage=]]></xsl:text><xsl:value-of select="@FirstPage"/><xsl:text><![CDATA[]]]></xsl:text-->
+ <xsl:text disable-output-escaping="yes"><![CDATA[&path=[n:start/@pageEtat='1']]]></xsl:text>
+ <xsl:text disable-output-escaping="yes"><![CDATA[" >]]></xsl:text><xsl:value-of select="normalize-space(@Titre)"/><xsl:text disable-output-escaping="yes"><![CDATA[</a>]]></xsl:text>
+ </xsl:when>
+ <xsl:when test="contains(lower-case(@Etat), 'actif') and not(contains(@Etat,'PresentationCroisee'))">
+ <pre id="nolink"><xsl:value-of select="normalize-space(@Titre)"/></pre>
+
+ <xsl:text disable-output-escaping="yes"> <![CDATA[<a href="xemelios:/query?docId=]]></xsl:text>
+ <xsl:choose>
+ <xsl:when test="name(/child::node()[1])='CompteGestion'">cg-etat</xsl:when>
+ <xsl:otherwise><xsl:value-of select="name(/child::node()[1])"/></xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:text disable-output-escaping="yes"><![CDATA[&etatId=SP_BilanActif]]></xsl:text>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&elementId=PageSP_BilanActif]]></xsl:text>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&collectivite=]]></xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&budget=]]></xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&sp1=]]></xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Exercice"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[" >]]></xsl:text>2.1 Bilan Actif<xsl:text disable-output-escaping="yes"><![CDATA[</a>]]></xsl:text>
+ <br/>
+ <xsl:text disable-output-escaping="yes"> <![CDATA[<a href="xemelios:/query?docId=]]></xsl:text>
+ <xsl:choose>
+ <xsl:when test="name(/child::node()[1])='CompteGestion'">cg-etat</xsl:when>
+ <xsl:otherwise><xsl:value-of select="name(/child::node()[1])"/></xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:text disable-output-escaping="yes"><![CDATA[&etatId=SP_BilanPassif]]></xsl:text>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&elementId=PageSP_BilanPassif]]></xsl:text>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&collectivite=]]></xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&budget=]]></xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&sp1=]]></xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Exercice"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&path=[n:start/@pageEtat='1']]]></xsl:text>
+ <xsl:text disable-output-escaping="yes"><![CDATA[" >]]></xsl:text>2.2 Bilan Passif<xsl:text disable-output-escaping="yes"><![CDATA[</a>]]></xsl:text>
+ <br/>
+ </xsl:when>
+ <xsl:when test="contains(lower-case(@Titre),'présentation') and contains(@Etat,'PresentationCroisee')">
+ <xsl:variable name="Titre" select="tokenize(normalize-space(@Titre),' : ')"/>
+ <h4><xsl:value-of select="$Titre[1]"/> :</h4>
+ <xsl:text disable-output-escaping="yes"><![CDATA[<a href="xemelios:/query?docId=]]></xsl:text><xsl:choose>
+ <xsl:when test="name(/child::node()[1])='CompteGestion'">cg-etat</xsl:when>
+ <xsl:otherwise><xsl:value-of select="name(/child::node()[1])"/></xsl:otherwise>
+ </xsl:choose>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&etatId=]]></xsl:text><xsl:value-of select="$Etat"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&elementId=Page]]></xsl:text><xsl:value-of select="$Etat"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&collectivite=]]></xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&budget=]]></xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&sp1=]]></xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Exercice"/>
+ <!--xsl:text disable-output-escaping="yes"><![CDATA[&path=[n:Pied/@NumPage=]]></xsl:text><xsl:value-of select="@FirstPage+1"/><xsl:text><![CDATA[]]]></xsl:text-->
+ <xsl:text disable-output-escaping="yes"><![CDATA[&path=[n:start/@pageEtat='1']]]></xsl:text>
+ <xsl:text disable-output-escaping="yes"><![CDATA[" >]]></xsl:text><xsl:value-of select="$Titre[2]"/><xsl:text disable-output-escaping="yes"><![CDATA[</a>]]></xsl:text>
+ </xsl:when>
+ <xsl:when test="contains(lower-case(@Titre),'signature')"><h4><xsl:value-of select="normalize-space(@Titre)"/></h4></xsl:when>
+ <xsl:otherwise><pre id="nolink"><xsl:value-of select="normalize-space(@Titre)"/></pre></xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:when test="string-length(@Etat) = 0"><h4><xsl:value-of select="normalize-space(@Titre)"/></h4></xsl:when>
+ <xsl:otherwise><pre id="nolink"><xsl:value-of select="normalize-space(@Titre)"/></pre></xsl:otherwise>
+ </xsl:choose>
+ <br/>
+ </xsl:for-each>
+ <br/>
+ <h2><u>Les Etats Comptables</u></h2>
+ <h4><xsl:value-of select="count($liste.partie/n:titres/n:titre)+1"/>EME PARTIE : </h4>
+ <xsl:element name="a">
+ <xsl:attribute name="id">lienspe</xsl:attribute>
+ <xsl:attribute name="href">
+ <xsl:text disable-output-escaping="yes">xemelios:/query?docId=cg-etat&etatId=Solde&elementId=PageSolde</xsl:text>
+ <xsl:text disable-output-escaping="yes">&collectivite=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes">&budget=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes">&sp1=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Exercice"/>
+ <xsl:text disable-output-escaping="yes">&path=[n:EnteteSolde/@Type=RAR][n:Pied/@NumPage=1]</xsl:text>
+ </xsl:attribute>
+ <xsl:text disable-output-escaping="yes">Etat de solde : Reste A Recouvrer</xsl:text>
+ </xsl:element>
+ <h4><xsl:value-of select="count($liste.partie/n:titres/n:titre)+2"/>EME PARTIE : </h4>
+ <xsl:element name="a">
+ <xsl:attribute name="id">lienspe</xsl:attribute>
+ <xsl:attribute name="href">
+ <xsl:text disable-output-escaping="yes">xemelios:/query?docId=cg-etat&etatId=Solde&elementId=PageSolde</xsl:text>
+ <xsl:text disable-output-escaping="yes">&collectivite=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes">&budget=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes">&sp1=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Exercice"/>
+ <xsl:text disable-output-escaping="yes">&path=[n:EnteteSolde/@Type=RAP][n:Pied/@NumPage=1]</xsl:text>
+ </xsl:attribute>
+ <xsl:text disable-output-escaping="yes">Etat de solde : Reste A Payer</xsl:text>
+ </xsl:element>
+ <h4><xsl:value-of select="count($liste.partie/n:titres/n:titre)+3"/>EME PARTIE : </h4>
+ <xsl:element name="a">
+ <xsl:attribute name="id">lienspe</xsl:attribute>
+ <xsl:attribute name="href">
+ <xsl:text disable-output-escaping="yes">xemelios:/query?docId=cg-etat&etatId=DeveloppementSoldes&elementId=PageDeveloppementSoldes</xsl:text>
+ <xsl:text disable-output-escaping="yes">&collectivite=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes">&budget=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes">&sp1=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Exercice"/>
+ <xsl:text disable-output-escaping="yes">&path=[n:Pied/@NumPage=1]</xsl:text>
+ </xsl:attribute>
+ <xsl:text disable-output-escaping="yes">Etats de Développement Des Soldes (EDDS)</xsl:text>
+ </xsl:element>
+ <h4><xsl:value-of select="count($liste.partie/n:titres/n:titre)+4"/>EME PARTIE : </h4>
+ <xsl:element name="a">
+ <xsl:attribute name="id">lienspe</xsl:attribute>
+ <xsl:attribute name="href">
+ <xsl:text disable-output-escaping="yes">xemelios:/query?docId=cg-etat&etatId=FichesBudgetaires&elementId=PageFichesBudgetaires</xsl:text>
+ <xsl:text disable-output-escaping="yes">&collectivite=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes">&budget=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes">&sp1=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Exercice"/>
+ <xsl:text disable-output-escaping="yes">&path=[n:Pied/@NumPage=1]</xsl:text>
+ </xsl:attribute>
+ <xsl:text disable-output-escaping="yes">Fiches Budgétaires</xsl:text>
+ </xsl:element>
+ <h4><xsl:value-of select="count($liste.partie/n:titres/n:titre)+5"/>EME PARTIE : </h4>
+ <xsl:element name="a">
+ <xsl:attribute name="id">lienspe</xsl:attribute>
+ <xsl:attribute name="href">
+ <xsl:text disable-output-escaping="yes">xemelios:/query?docId=cg-etat&etatId=LivreAuxiliaire&elementId=PageLivreAuxiliaire</xsl:text>
+ <xsl:text disable-output-escaping="yes">&collectivite=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes">&budget=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes">&sp1=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Exercice"/>
+ <xsl:text disable-output-escaping="yes">&path=[n:Pied/@NumPage=1]</xsl:text>
+ </xsl:attribute>
+ <xsl:text disable-output-escaping="yes">Livre Auxiliaire des Comptes de Tiers et des comptes Financiers</xsl:text>
+ </xsl:element>
+ </pre>
+ </xsl:template>
+
+ <xsl:template name="M22">
+ <xsl:param name="lignesAccueil"/>
+ <pre>
+ <h2><u>Le Compte de Gestion sur Chiffres</u></h2>
+ <br/>
+ <h4>1ERE PARTIE : </h4>
+ <xsl:for-each select="$lignesAccueil">
+ <xsl:choose>
+ <!--xsl:when test="string-length(@Etat) > 0 and not(contains(@Etat,'ValeursInactives'))"-->
+ <xsl:when test="string-length(@Etat) > 0">
+ <xsl:choose>
+ <!--xsl:when test="$browser-destination = 'internal' and not(contains(lower-case(@Titre),'annexe'))"-->
+ <xsl:when test="$browser-destination = 'internal' and not(contains(lower-case(@Titre),'signature')) and not(contains(lower-case(@Etat),'actif'))">
+ <xsl:variable name="Etat">
+ <xsl:choose>
+ <xsl:when test="@Etat='BalanceComptes'">BalanceGenerale</xsl:when>
+ <xsl:when test="@Etat='ValeursInactives'">BalanceValeursInactives</xsl:when>
+ <xsl:otherwise><xsl:value-of select="@Etat"/></xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <!--xsl:variable name="num.first.page"><xsl:value-of select="substring(@Titre,string-length(@Titre)-1,string-length(@Titre))"/></xsl:variable-->
+ <xsl:text disable-output-escaping="yes"><![CDATA[<a href="xemelios:/query?docId=]]></xsl:text><xsl:choose>
+ <xsl:when test="name(/child::node()[1])='CompteGestion'">cg-etat</xsl:when>
+ <xsl:otherwise><xsl:value-of select="name(/child::node()[1])"/></xsl:otherwise>
+ </xsl:choose>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&etatId=]]></xsl:text><xsl:value-of select="$Etat"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&elementId=Page]]></xsl:text><xsl:value-of select="$Etat"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&collectivite=]]></xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&budget=]]></xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&sp1=]]></xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Exercice"/>
+ <!--xsl:text disable-output-escaping="yes"><![CDATA[&path=[n:Pied/@NumPage=]]></xsl:text><xsl:value-of select="$num.first.page"/><xsl:text><![CDATA[]]]></xsl:text-->
+ <!--xsl:choose>
+ <xsl:when test="contains(@Etat,'PresentationCroisee') or contains(lower-case(@Titre),'investissement') or contains(lower-case(@Titre),'dépense')">
+ <xsl:text disable-output-escaping="yes"><![CDATA[&path=[n:Pied/@NumPage=]]></xsl:text><xsl:value-of select="@FirstPage+1"/><xsl:text><![CDATA[]]]></xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&path=[n:Pied/@NumPage=]]></xsl:text><xsl:value-of select="@FirstPage"/><xsl:text><![CDATA[]]]></xsl:text>
+ </xsl:otherwise>
+ </xsl:choose-->
+ <!--xsl:choose>
+ <xsl:when test="contains(@Etat,'Consommation') and contains(lower-case(@Titre),'dépense')">
+ <xsl:text disable-output-escaping="yes"><![CDATA[&path=[n:Pied/@NumPage=]]></xsl:text><xsl:value-of select="@FirstPage+1"/><xsl:text><![CDATA[]]]></xsl:text>
+ </xsl:when>
+ <xsl:when test="contains(@Etat,'Consommation') and not(contains(lower-case(@Titre),'dépense')) or contains(@Etat,'Renseignement')">
+ <xsl:text disable-output-escaping="yes"><![CDATA[&path=[n:Pied/@NumPage=]]></xsl:text><xsl:value-of select="@FirstPage"/><xsl:text><![CDATA[]]]></xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&path=[n:start/@pageEtat='1']]]></xsl:text>
+ </xsl:otherwise>
+ </xsl:choose-->
+ <xsl:text disable-output-escaping="yes"><![CDATA[&path=[n:start/@pageEtat='1']]]></xsl:text>
+
+ <xsl:text disable-output-escaping="yes"><![CDATA[" >]]></xsl:text><xsl:value-of select="normalize-space(@Titre)"/><xsl:text disable-output-escaping="yes"><![CDATA[</a>]]></xsl:text>
+ </xsl:when>
+ <xsl:when test="contains(lower-case(@Etat), 'actif') and not(contains(lower-case(@Titre),'signature'))">
+ <pre id="nolink"><xsl:value-of select="normalize-space(@Titre)"/></pre>
+
+ <xsl:text disable-output-escaping="yes"> <![CDATA[<a href="xemelios:/query?docId=]]></xsl:text>
+ <xsl:choose>
+ <xsl:when test="name(/child::node()[1])='CompteGestion'">compteGestion</xsl:when>
+ <xsl:otherwise><xsl:value-of select="name(/child::node()[1])"/></xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:text disable-output-escaping="yes"><![CDATA[&etatId=SP_BilanActif]]></xsl:text>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&elementId=PageSP_BilanActif]]></xsl:text>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&collectivite=]]></xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&budget=]]></xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&sp1=]]></xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Exercice"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&path=[n:start/@pageEtat='1']]]></xsl:text>
+ <xsl:text disable-output-escaping="yes"><![CDATA[" >]]></xsl:text>1. Bilan Actif<xsl:text disable-output-escaping="yes"><![CDATA[</a>]]></xsl:text>
+ <br/>
+ <xsl:text disable-output-escaping="yes"> <![CDATA[<a href="xemelios:/query?docId=]]></xsl:text>
+ <xsl:choose>
+ <xsl:when test="name(/child::node()[1])='CompteGestion'">cg-etat</xsl:when>
+ <xsl:otherwise><xsl:value-of select="name(/child::node()[1])"/></xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:text disable-output-escaping="yes"><![CDATA[&etatId=SP_BilanPassif]]></xsl:text>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&elementId=PageSP_BilanPassif]]></xsl:text>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&collectivite=]]></xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&budget=]]></xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&sp1=]]></xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Exercice"/>
+ <xsl:text disable-output-escaping="yes"><![CDATA[&path=[n:start/@pageEtat='1']]]></xsl:text>
+ <xsl:text disable-output-escaping="yes"><![CDATA[" >]]></xsl:text>2. Bilan Passif<xsl:text disable-output-escaping="yes"><![CDATA[</a>]]></xsl:text>
+ <br/>
+ </xsl:when>
+ <xsl:otherwise><pre id="nolink"><xsl:value-of select="normalize-space(@Titre)"/></pre></xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:when test="string-length(@Etat) = 0"><h4><xsl:value-of select="normalize-space(@Titre)"/></h4></xsl:when>
+ <!--xsl:otherwise><h4><xsl:value-of select="normalize-space(@Titre)"/></h4></xsl:otherwise-->
+ </xsl:choose>
+ <br/>
+ </xsl:for-each>
+ <h2><u>Les Etats Comptables</u></h2>
+ <h4>2EME PARTIE : </h4>
+ <xsl:element name="a">
+ <xsl:attribute name="id">lienspe</xsl:attribute>
+ <xsl:attribute name="href">
+ <xsl:text disable-output-escaping="yes">xemelios:/query?docId=cg-etat&etatId=Solde&elementId=PageSolde</xsl:text>
+ <xsl:text disable-output-escaping="yes">&collectivite=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes">&budget=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes">&sp1=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Exercice"/>
+ <xsl:text disable-output-escaping="yes">&path=[n:EnteteSolde/@Type=RAR][n:Pied/@NumPage=1]</xsl:text>
+ </xsl:attribute>
+ <xsl:text disable-output-escaping="yes">Etat de solde : Reste A Recouvrer</xsl:text>
+ </xsl:element>
+ <h4>3EME PARTIE : </h4>
+ <xsl:element name="a">
+ <xsl:attribute name="id">lienspe</xsl:attribute>
+ <xsl:attribute name="href">
+ <xsl:text disable-output-escaping="yes">xemelios:/query?docId=cg-etat&etatId=Solde&elementId=PageSolde</xsl:text>
+ <xsl:text disable-output-escaping="yes">&collectivite=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes">&budget=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes">&sp1=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Exercice"/>
+ <xsl:text disable-output-escaping="yes">&path=[n:EnteteSolde/@Type=RAP][n:Pied/@NumPage=1]</xsl:text>
+ </xsl:attribute>
+ <xsl:text disable-output-escaping="yes">Etat de solde : Reste A Payer</xsl:text>
+ </xsl:element>
+ <h4>4EME PARTIE : </h4>
+ <xsl:element name="a">
+ <xsl:attribute name="id">lienspe</xsl:attribute>
+ <xsl:attribute name="href">
+ <xsl:text disable-output-escaping="yes">xemelios:/query?docId=cg-etat&etatId=DeveloppementSoldes&elementId=PageDeveloppementSoldes</xsl:text>
+ <xsl:text disable-output-escaping="yes">&collectivite=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes">&budget=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes">&sp1=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Exercice"/>
+ <xsl:text disable-output-escaping="yes">&path=[n:Pied/@NumPage=1]</xsl:text>
+ </xsl:attribute>
+ <xsl:text disable-output-escaping="yes">Etats de Développement Des Soldes (EDDS)</xsl:text>
+ </xsl:element>
+ <h4>5EME PARTIE : </h4>
+ <xsl:element name="a">
+ <xsl:attribute name="id">lienspe</xsl:attribute>
+ <xsl:attribute name="href">
+ <xsl:text disable-output-escaping="yes">xemelios:/query?docId=cg-etat&etatId=FichesBudgetaires&elementId=PageFichesBudgetaires</xsl:text>
+ <xsl:text disable-output-escaping="yes">&collectivite=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes">&budget=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes">&sp1=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Exercice"/>
+ <xsl:text disable-output-escaping="yes">&path=[n:Pied/@NumPage=1]</xsl:text>
+ </xsl:attribute>
+ <xsl:text disable-output-escaping="yes">Fiches Budgétaires</xsl:text>
+ </xsl:element>
+ <h4>6EME PARTIE : </h4>
+ <xsl:element name="a">
+ <xsl:attribute name="id">lienspe</xsl:attribute>
+ <xsl:attribute name="href">
+ <xsl:text disable-output-escaping="yes">xemelios:/query?docId=cg-etat&etatId=LivreAuxiliaire&elementId=PageLivreAuxiliaire</xsl:text>
+ <xsl:text disable-output-escaping="yes">&collectivite=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Siret"/>
+ <xsl:text disable-output-escaping="yes">&budget=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@CodeBudget"/>
+ <xsl:text disable-output-escaping="yes">&sp1=</xsl:text><xsl:value-of select="//n:Entete/n:Infos/n:Collectivite/@Exercice"/>
+ <xsl:text disable-output-escaping="yes">&path=[n:Pied/@NumPage=1]</xsl:text>
+ </xsl:attribute>
+ <xsl:text disable-output-escaping="yes">Livre Auxiliaire des Comptes de Tiers et des comptes Financiers</xsl:text>
+ </xsl:element>
+ </pre>
+ </xsl:template>
+
+ <xsl:template name="header">
+ <xsl:param name="Entete"/>
+ <xsl:param name="Titre"/>
+ <xsl:param name="Titre.Plus"/>
+
+ <table width="100%" style="border-style:none;border-width:0px;cell-padding:0px;cell-spacing:0px">
+ <colgroup>
+ <col width="30%"/>
+ <col/>
+ <col width="30%"/>
+ </colgroup>
+ <tbody>
+ <xsl:if test="$Titre">
+ <tr>
+ <td colspan="3" style="border:none;" class="titre center">
+ <h1><xsl:value-of select="$Titre"/></h1>
+ </td>
+ </tr>
+ </xsl:if>
+ <xsl:if test="number($is.web) > 0">
+ <tr>
+ <td colspan="3" style="border:none;">
+ <center>
+ <xsl:element name="a">
+ <xsl:attribute name="href"><xsl:value-of select="$context.path"/>/print.do?docId=cg-etat&etatId=Accueil&elementId=PageAccueil&collectivite=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@Siret"/>&budget=<xsl:value-of select="$Entete//n:Infos/n:Collectivite/@CodeBudget"/>&path=[@Modele='03']</xsl:attribute>
+ <xsl:attribute name="style">text-decoration: none;</xsl:attribute><center><img src="xemelios:/resource?print.png" alt="Imprimer ..."/></center></xsl:element>
+ </center>
+ </td>
+ </tr>
+ </xsl:if>
+ <xsl:if test="$Titre.Plus">
+ <tr>
+ <td colspan="3" style="border:none;" class="titre center">
+ <xsl:copy-of select="$Titre.Plus/child::node()"/>
+ </td>
+ </tr>
+ </xsl:if>
+ <tr style="border:none;">
+ <td style="border:none;" colspan="2" class="titre2 bold"><h3 style="text-align: left;"><xsl:value-of select="normalize-space($Entete//n:Collectivite/@Siret)"/> - <xsl:value-of select="normalize-space($Entete//n:Collectivite/@Libelle)"/></h3></td>
+ <td style="border:none;" class="titre2 right bold"><h3 style="text-align: right;">Exercice <xsl:value-of select="$Entete//n:Collectivite/@Exercice"/></h3></td>
+ </tr>
+ </tbody>
+ </table>
+ </xsl:template>
+
+ <xsl:template name="iso-date">
+ <xsl:param name="datebrute"/>
+ <xsl:choose>
+ <xsl:when test="string-length($datebrute)>0 and not(contains($datebrute,'..'))">
+ <xsl:value-of select="substring($datebrute, 9, 2)"/>
+ <xsl:text>/</xsl:text>
+ <xsl:value-of select="substring($datebrute,6,2)"/>
+ <xsl:text>/</xsl:text>
+ <xsl:value-of select="substring($datebrute, 1, 4)"/>
+ </xsl:when>
+ <xsl:when test="string-length($datebrute)>0 and contains($datebrute,'..')">
+ <xsl:value-of select="$datebrute"/>
+ </xsl:when>
+ <xsl:otherwise>-</xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+</xsl:stylesheet>
--- /dev/null
+/*
+ * Copyright
+ * 2009 axYus - www.axyus.com
+ * 2009 C.Marchand - christophe.marchand@axyus.com
+ * 2009 JP.Tessier - jean-philippe.tessier@axyus.com
+ *
+ * This file is part of XEMELIOS.
+ *
+ * XEMELIOS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * XEMELIOS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with XEMELIOS; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+package fr.gouv.finances.dgfip.xemelios.cge.linkResolver;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.util.ArrayList;
+import java.util.Properties;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.transform.Result;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathFactory;
+
+import org.apache.log4j.Logger;
+import org.w3c.dom.Document;
+
+import fr.gouv.finances.dgfip.utils.NavigationContext;
+import fr.gouv.finances.dgfip.utils.Pair;
+import fr.gouv.finances.dgfip.utils.xml.FactoryProvider;
+import fr.gouv.finances.dgfip.utils.xml.transform.CustomURIResolver;
+import fr.gouv.finances.dgfip.xemelios.auth.XemeliosUser;
+import fr.gouv.finances.dgfip.xemelios.common.config.DocumentModel;
+import fr.gouv.finances.dgfip.xemelios.common.config.ElementModel;
+import fr.gouv.finances.dgfip.xemelios.common.config.EtatModel;
+import fr.gouv.finances.dgfip.xemelios.common.config.Loader;
+import fr.gouv.finances.dgfip.xemelios.common.config.customLinks.CustomLinkParameters;
+import fr.gouv.finances.dgfip.xemelios.common.config.customLinks.CustomLinkResolver;
+import fr.gouv.finances.dgfip.xemelios.common.config.customLinks.UnresolvedException;
+import fr.gouv.finances.dgfip.xemelios.data.DataConfigurationException;
+import fr.gouv.finances.dgfip.xemelios.data.DataImpl;
+import fr.gouv.finances.dgfip.xemelios.data.DataLayerManager;
+
+/**
+ *
+ * @author chm
+ */
+public class CGECustomLinkResolver extends CustomLinkResolver {
+ private static final Logger logger = Logger.getLogger(CGECustomLinkResolver.class);
+ private Properties xslParameters = new Properties();
+
+ public CGECustomLinkResolver() {
+ super();
+ logger.debug("instanciating");
+ }
+
+ @Override
+ public NavigationContext resolve(CustomLinkParameters parameters,Result result, NavigationContext ctx, XemeliosUser user) throws DataConfigurationException, UnresolvedException {
+ logger.debug("in resolve(CustomLinkParameters,Result,NavigationContext,XemeliosUser)");
+ //Hashtable<String,String> hParams = new Hashtable<String,String>();
+ if(parameters.getSrcDocId().equals("compteGestionEtat") && parameters.getSrcEtatId().equals("BalanceGenerale")){
+ treatBalanceGenerale(parameters,ctx);
+ commonTreatment(parameters,ctx,result,user);
+ } else if(parameters.getSrcDocId().equals("compteGestionEtat") && parameters.getSrcEtatId().equals("FichesBudgetaires")){
+ treatFichesBudgetaires(parameters,ctx);
+ commonTreatment(parameters,ctx,result,user);
+ } else if(parameters.getSrcDocId().equals("compteGestionEtat") && parameters.getSrcEtatId().equals("DeveloppementDepense")){
+ treatAnnexeIIEdmn(parameters, ctx, user);
+ commonTreatment(parameters,ctx,result,user);
+ }
+ return ctx;
+ }
+
+ private void commonTreatment(CustomLinkParameters parameters, NavigationContext ctx, Result result, XemeliosUser user) throws UnresolvedException,DataConfigurationException {
+ logger.debug("in commontTreatment(CustomLinkParameters,NavigationContext,Result,XemeliosUser)");
+ try{
+ DataImpl impl = DataLayerManager.getImplementation();
+ DocumentModel dm = Loader.getDocumentsInfos(null).getDocumentById(ctx.getDocId());
+ EtatModel em = dm.getEtatById(ctx.getEtatId());
+ ElementModel element = em.getElementById(ctx.getElementId());
+ File xslFile = null;
+ xslFile = new File(new File(new File(System.getProperty("user.home")),"xemelios/documents-def-ovrrd"),element.getXslt());
+ if(!xslFile.exists()) xslFile = new File(em.getParent().getBaseDirectory(),element.getXslt());
+
+ FileInputStream fis = new FileInputStream(xslFile);
+ String docId = null;
+ if(ctx.getPath()==null) {
+ ArrayList<String> documents = impl.getDocumentListFromSpecialKeys(element,ctx.getCollectivite(),ctx.getBudget(),ctx.getSp1(),ctx.getSp2(),ctx.getSp3(),user);
+ if(documents.size()==0) {
+ throw new UnresolvedException("Le document est introuvable.");
+ } else if(documents.size()>1 && !em.isMultiPage()) {
+ throw new UnresolvedException("Plusieurs documents répondant à ces critères ont été trouvés.");
+ } else {
+ docId = documents.get(0);
+ }
+ } else {
+ if(ctx.getElementId()==null) {
+ ctx.setElementId(element.getId());
+ }
+ if(ctx.getPath()!=null && ctx.getPath().startsWith("[")) {
+ ctx.setPath(element.getPath().getFormattedPath()+ctx.getPath());
+ }
+ ArrayList<String> documents = impl.getDocumentListFromXPath(element,ctx.getCollectivite(),ctx.getBudget(),ctx.getSp1(),ctx.getSp2(),ctx.getSp3(),ctx.getPath(), user);
+ if(documents.size()==0) {
+ throw new UnresolvedException("Ce compte n'est associé a aucun(e) "+ctx.getEtatId()+".");
+ } else if(documents.size()>1){
+ docId=documents.get(0);
+ } else {
+ docId=documents.get(0);
+ }
+ }
+
+ Document doc = impl.getDocumentAsDom(em,new Pair(ctx.getCollectivite(),null),new Pair(ctx.getBudget(),null),docId , user);
+ TransformerFactory tFactory = FactoryProvider.getTransformerFactory();
+ tFactory.setURIResolver(new CustomURIResolver(tFactory.getURIResolver(), xslFile.getParentFile().toURI().toURL().toExternalForm()));
+ Transformer t = tFactory.newTransformer(new StreamSource(xslFile));
+ for(String key:parameters.getParameters().keySet()) {
+ if(key.startsWith("xsl:param")) {
+ String paramValue = parameters.getParameter(key);
+ int virg = paramValue.indexOf(',');
+ String pName = paramValue.substring(1,virg);
+ String pValue = paramValue.substring(virg+1,paramValue.length()-1);
+ t.setParameter(pName, pValue);
+ }
+ }
+ t.transform(new DOMSource(doc),result);
+ } catch(UnresolvedException unEx) {
+ throw unEx;
+ } catch (Exception e) {
+ logger.error("commontTreatment(CustomLinkParameters,NavigationContext,Result,XemeliosUser)",e);
+ throw new DataConfigurationException(e);
+ }
+ }
+
+
+ /** La liaison entre chacune des lignes est
+ * - EDMN : Année budgétaire, Comptable, Ministère, Programme, Sous-action
+ * - CdG-Etat Annexe II : Exercice, Comptable, Ministère, Programme, Article d'exécution
+ */
+
+ private void treatAnnexeIIEdmn(CustomLinkParameters parameters,NavigationContext ctx, XemeliosUser user) throws UnresolvedException {
+ try{
+ DataImpl impl = DataLayerManager.getImplementation();
+
+ String exercice = parameters.getParameter("exercice");
+ String comptable = parameters.getParameter("comptable");
+ String ministere = parameters.getParameter("ministere");
+ String programme = parameters.getParameter("programme");
+ String articleExec = parameters.getParameter("articleExec");
+
+ ctx.setDocId("edmn");
+ ctx.setEtatId("etatEdmn");
+ ctx.setElementId("ligneEdmn");
+ ctx.setSp1(exercice);
+
+ if(parameters.getSrcCollectivite() != null){
+ ctx.setCollectivite("000000000000");
+ }
+ if(parameters.getSrcBudget() != null){
+ ctx.setBudget("0000");
+ }
+
+ /* EDMN Etat Importé ? */
+ DocumentModel dm = Loader.getDocumentsInfos(null).getDocumentById(ctx.getDocId());
+ EtatModel em = dm.getEtatById(ctx.getEtatId());
+ ElementModel element = em.getElementById(ctx.getElementId());
+ ArrayList<String> documents = impl.getDocumentListFromXPath(element,ctx.getCollectivite(),ctx.getBudget(),ctx.getSp1(),ctx.getSp2(),ctx.getSp3(),ctx.getPath(), user);
+ if(documents.size()==0) {
+ ctx.setCollectivite(comptable);
+ ctx.setBudget("00");
+ }
+
+ StringBuffer path = new StringBuffer("[");
+ path.append("n:Comptable/@V=").append(comptable)
+ .append(" and n:Ministere/@V=").append(ministere)
+ .append(" and n:ChapBudg/@V=").append(programme)
+ .append(" and n:ArtBudgExec/@V=").append(articleExec)
+ .append("]");
+ ctx.setPath(path.toString());
+ } catch (Exception e) {
+ logger.debug("Erreur", e);
+ throw new UnresolvedException("treatFichesBudgetaires(CustomLinkParameters parameters,NavigationContext ctx)");
+ }
+ }
+
+
+ private void treatBalanceGenerale(CustomLinkParameters parameters,NavigationContext ctx){
+ try{
+ logger.debug("in treatBalanceGenerale(CustomLinkParameters parameters,NavigationContext ctx)");
+ DocumentModel dm = Loader.getDocumentsInfos(null).getDocumentById(ctx.getDocId());
+ String baseDir = dm.getBaseDirectory();
+ File f = new File(baseDir,dm.getParameters().getParameter("liens.balance").getValue());
+ DocumentBuilder db = FactoryProvider.getDocumentBuilderFactory().newDocumentBuilder();
+ Document LiensBalance = db.parse(f);
+
+ String CodRD= (parameters.getParameter("CodRD")!=null)?parameters.getParameter("CodRD"):"";
+ String numCompte = parameters.getParameter("numCompte");
+
+ ctx.setDocId("compteGestionEtat");
+ if(parameters.getSrcCollectivite() != null){
+ ctx.setCollectivite(parameters.getSrcCollectivite());
+ }
+ if(parameters.getSrcBudget() != null){
+ ctx.setBudget(parameters.getSrcBudget());
+ }
+ if(parameters.getParameter("sp1") != null){
+ ctx.setSp1(parameters.getParameter("sp1"));
+ }
+ if(parameters.getParameter("sp2") != null){
+ ctx.setSp2(parameters.getParameter("sp2"));
+ }
+ if(parameters.getParameter("sp3") != null){
+ ctx.setSp3(parameters.getParameter("sp3"));
+ }
+
+ if(numCompte != null) {
+ if(numCompte.startsWith("1")){ // Compte de classe 1
+ ctx.setEtatId("FichesBudgetaires");
+ ctx.setElementId("PageFichesBudgetaires");
+ ctx.setPath("[n:EnteteFichesBudgetaires/@NumCompte="+numCompte+"][n:EnteteFichesBudgetaires/@CodRD="+CodRD+"]");
+
+ } else if(numCompte.startsWith("2")){ // Compte de classe 2
+ ctx.setEtatId("FichesBudgetaires");
+ ctx.setElementId("PageFichesBudgetaires");
+ ctx.setPath("[n:EnteteFichesBudgetaires/@NumCompte="+numCompte+"][n:EnteteFichesBudgetaires/@CodRD="+CodRD+"]");
+
+ } else if((numCompte.startsWith("4") || numCompte.startsWith("5")) && (!numCompte.startsWith("48") && !numCompte.startsWith("49"))){ // Compte de classe 4 ou 5
+ XPath xp = XPathFactory.newInstance().newXPath();
+ String compteGestionEtat = parameters.getParameter("cg");
+ String typeLien = parameters.getParameter("type");
+
+ String etatSolde = xp.evaluate("/Editions/Comptes[@Edition='"+compteGestionEtat+"']/Compte[@Numero='"+numCompte+"']/@Solde",LiensBalance.getDocumentElement());
+ String etatDebit = xp.evaluate("/Editions/Comptes[@Edition='"+compteGestionEtat+"']/Compte[@Numero='"+numCompte+"']/@Debit",LiensBalance.getDocumentElement());
+ String etatCredit = xp.evaluate("/Editions/Comptes[@Edition='"+compteGestionEtat+"']/Compte[@Numero='"+numCompte+"']/@Credit",LiensBalance.getDocumentElement());
+
+ if(etatSolde!=null && !etatSolde.equals("") && typeLien.equals("solde")){
+ String path = "";
+ if(etatSolde.equals("ERAR") || etatSolde.equals("ERAP")){
+ if(etatSolde.equals("ERAR")){
+ path += "[n:EnteteSolde/@Type='RAR']";
+ }else{
+ path += "[n:EnteteSolde/@Type='RAP']";
+ }
+ etatSolde="Solde";
+ }
+ ctx.setEtatId(etatSolde);
+ ctx.setElementId("Page"+etatSolde);
+
+ path += "[n:Entete"+etatSolde+"/@NumCompte="+numCompte+"]";
+ if(CodRD!=null && !CodRD.equals("") && !etatSolde.equals("DeveloppementSoldes") && !etatSolde.equals("Solde") && !etatSolde.equals("LivreAuxiliaire")){
+ path += "[n:Entete"+etatSolde+"/@CodRD="+CodRD+"]";
+ }
+ ctx.setPath(path);
+ }else if(etatCredit!=null && !etatCredit.equals("") && typeLien.equals("totaux") && CodRD!=null && CodRD.equals("R")){
+ String path = "";
+ if(etatCredit.equals("ERAR") || etatCredit.equals("ERAP")){
+ if(etatCredit.equals("ERAR")){
+ path += "[n:EnteteSolde/@Type='RAR']";
+ }else{
+ path += "[n:EnteteSolde/@Type='RAP']";
+ }
+ etatCredit="Solde";
+ }
+ ctx.setEtatId(etatCredit);
+ ctx.setElementId("Page"+etatCredit);
+
+ path += "[n:Entete"+etatCredit+"/@NumCompte="+numCompte+"]";
+ if(CodRD!=null && !CodRD.equals("") && !etatCredit.equals("DeveloppementSoldes") && !etatCredit.equals("Solde") && !etatCredit.equals("LivreAuxiliaire")){
+ path += "[n:Entete"+etatCredit+"/@CodRD="+CodRD+"]";
+ }
+ ctx.setPath(path);
+ }else if(etatDebit!=null && !etatDebit.equals("") && typeLien.equals("totaux") && CodRD!=null && CodRD.equals("D")){
+ String path = "";
+ if(etatDebit.equals("ERAR") || etatDebit.equals("ERAP")){
+ if(etatDebit.equals("ERAR")){
+ path += "[n:EnteteSolde/@Type='RAR']";
+ }else{
+ path += "[n:EnteteSolde/@Type='RAP']";
+ }
+ etatDebit="Solde";
+ }
+ ctx.setEtatId(etatDebit);
+ ctx.setElementId("Page"+etatDebit);
+
+ path += "[n:Entete"+etatDebit+"/@NumCompte="+numCompte+"]";
+ if(CodRD!=null && !CodRD.equals("") && !etatDebit.equals("DeveloppementSoldes") && !etatDebit.equals("Solde") && !etatDebit.equals("LivreAuxiliaire")){
+ path += "[n:Entete"+etatDebit+"/@CodRD="+CodRD+"]";
+ }
+ ctx.setPath(path);
+ } else {
+ ctx.setEtatId("LivreAuxiliaire");
+ ctx.setElementId("PageLivreAuxiliaire");
+ ctx.setPath("[n:EnteteLivreAuxiliaire/@NumCompte="+numCompte+"]");
+ }
+ } else if(numCompte.startsWith("48")){ // Compte de classe 48
+ ctx.setEtatId("FichesBudgetaires");
+ ctx.setElementId("PageFichesBudgetaires");
+ if(numCompte.contains("9")){
+ CodRD="R";
+ }else{
+ CodRD="D";
+ }
+ ctx.setPath("[n:EnteteFichesBudgetaires/@NumCompte="+numCompte+"][n:EnteteFichesBudgetaires/@CodRD="+CodRD+"]");
+ } else if(numCompte.startsWith("49")){ // Compte de classe 49
+ ctx.setEtatId("FichesBudgetaires");
+ ctx.setElementId("PageFichesBudgetaires");
+ if(numCompte.contains("9")){
+ CodRD="R";
+ }else{
+ CodRD="D";
+ }
+ ctx.setPath("[n:EnteteFichesBudgetaires/@NumCompte="+numCompte+"][n:EnteteFichesBudgetaires/@CodRD="+CodRD+"]");
+ } else if(numCompte.startsWith("6")){ // Compte de classe 6
+ ctx.setEtatId("FichesBudgetaires");
+ ctx.setElementId("PageFichesBudgetaires");
+ if(numCompte.contains("9")){
+ CodRD="R";
+ }else{
+ CodRD="D";
+ }
+ ctx.setPath("[n:EnteteFichesBudgetaires/@NumCompte="+numCompte+"][n:EnteteFichesBudgetaires/@CodRD="+CodRD+"]");
+ } else if(numCompte.startsWith("7")){ // Compte de classe 7
+ ctx.setEtatId("FichesBudgetaires");
+ ctx.setElementId("PageFichesBudgetaires");
+ if(numCompte.contains("9")){
+ CodRD="D";
+ }else{
+ CodRD="R";
+ }
+ ctx.setPath("[n:EnteteFichesBudgetaires/@NumCompte="+numCompte+"][n:EnteteFichesBudgetaires/@CodRD="+CodRD+"]");
+ }
+ }
+ } catch (Exception e){
+ e.printStackTrace();
+ }
+ }
+
+ private void treatFichesBudgetaires(CustomLinkParameters parameters,NavigationContext ctx) throws UnresolvedException {
+ try{
+ //String numeroTypePiece = parameters.getParameter("numeroTypePiece");
+ String codRD = parameters.getParameter("codRD");
+ String exercice = parameters.getParameter("exercice");
+ String mtEmis = parameters.getParameter("mtEmis");
+ String mtAnn = parameters.getParameter("mtAnn");
+ String mandatId = parameters.getParameter("mandatId");
+
+
+ ctx.setDocId("PES_Aller");
+ if(codRD.equals("D")){
+ ctx.setEtatId("PES_DepenseAller");
+ ctx.setElementId("Piece");
+ }else{
+ ctx.setEtatId("PES_RecetteAller");
+ ctx.setElementId("PieceRecette");
+ }
+
+ if(parameters.getSrcCollectivite() != null){
+ ctx.setCollectivite(parameters.getSrcCollectivite());
+ }
+ if(parameters.getSrcBudget() != null){
+ ctx.setBudget(parameters.getSrcBudget());
+ }
+ if(ctx.getSp1() != null){
+ //ctx.resetSp1();
+ ctx.setSp1(null);
+ }
+ String typeBordereau ="";
+ if(mtEmis!=null && mtEmis.length()>0){
+ typeBordereau="01";
+ } else if(mtAnn!=null && mtAnn.length()>0){
+ typeBordereau="02";
+ }
+// ctx.setPath("[n:BlocBordereau/n:Exer/@V="+exercice+"][n:BlocBordereau/n:TypBord/@V="+typeBordereau+"]");
+ StringBuffer path = new StringBuffer();
+ path.append("[../n:BlocBordereau/n:Exer/@V=").append(exercice).append("][../n:BlocBordereau/n:TypBord/@V=").append(typeBordereau).append("]");
+ if("D".equals(codRD)) {
+ path.append("[n:BlocPiece/n:InfoPce/n:IdPce/@V=").append(mandatId).append("]");
+ } else {
+ path.append("[n:BlocPiece/n:IdPce/@V=").append(mandatId).append("]");
+ }
+ ctx.setPath(path.toString());
+ } catch (Exception e) {
+ logger.debug("Erreur", e);
+ throw new UnresolvedException("treatFichesBudgetaires(CustomLinkParameters parameters,NavigationContext ctx)");
+ }
+ }
+
+ private void debug(Document doc){
+ try {
+ Transformer t = FactoryProvider.getTransformerFactory().newTransformer();
+ t.transform(new DOMSource(doc), new StreamResult(System.out));
+ } catch (TransformerException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @param additionalsParameters the additionalsParameters to set
+ */
+ @Override
+ public void setXslParameters(Properties additionalsParameters) {
+ this.xslParameters = additionalsParameters;
+ }
+
+}
--- /dev/null
+/*
+ * Copyright
+ * 2009 axYus - www.axyus.com
+ * 2009 C.Marchand - christophe.marchand@axyus.com
+ * 2009 JP.Tessier - jean-philippe.tessier@axyus.com
+ *
+ * This file is part of XEMELIOS.
+ *
+ * XEMELIOS is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * XEMELIOS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with XEMELIOS; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+package fr.gouv.finances.dgfip.xemelios.cge.linkResolver;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.util.ArrayList;
+import java.util.Properties;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.transform.Result;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathFactory;
+
+import org.apache.log4j.Logger;
+import org.w3c.dom.Document;
+
+import fr.gouv.finances.dgfip.utils.NavigationContext;
+import fr.gouv.finances.dgfip.utils.Pair;
+import fr.gouv.finances.dgfip.utils.xml.FactoryProvider;
+import fr.gouv.finances.dgfip.utils.xml.transform.CustomURIResolver;
+import fr.gouv.finances.dgfip.xemelios.auth.XemeliosUser;
+import fr.gouv.finances.dgfip.xemelios.common.config.DocumentModel;
+import fr.gouv.finances.dgfip.xemelios.common.config.ElementModel;
+import fr.gouv.finances.dgfip.xemelios.common.config.EtatModel;
+import fr.gouv.finances.dgfip.xemelios.common.config.Loader;
+import fr.gouv.finances.dgfip.xemelios.common.config.customLinks.CustomLinkParameters;
+import fr.gouv.finances.dgfip.xemelios.common.config.customLinks.CustomLinkResolver;
+import fr.gouv.finances.dgfip.xemelios.common.config.customLinks.UnresolvedException;
+import fr.gouv.finances.dgfip.xemelios.data.DataConfigurationException;
+import fr.gouv.finances.dgfip.xemelios.data.DataImpl;
+import fr.gouv.finances.dgfip.xemelios.data.DataLayerManager;
+
+/**
+ *
+ * @author chm
+ */
+public class CGECustomLinkResolver extends CustomLinkResolver {
+ private static final Logger logger = Logger.getLogger(CGECustomLinkResolver.class);
+ private Properties xslParameters = new Properties();
+
+ public CGECustomLinkResolver() {
+ super();
+ logger.debug("instanciating");
+ }
+
+ @Override
+ public NavigationContext resolve(CustomLinkParameters parameters,Result result, NavigationContext ctx, XemeliosUser user) throws DataConfigurationException, UnresolvedException {
+ logger.debug("in resolve(CustomLinkParameters,Result,NavigationContext,XemeliosUser)");
+ //Hashtable<String,String> hParams = new Hashtable<String,String>();
+ if(parameters.getSrcDocId().equals("compteGestionEtat") && parameters.getSrcEtatId().equals("BalanceGenerale")){
+ treatBalanceGenerale(parameters,ctx);
+ commonTreatment(parameters,ctx,result,user);
+ } else if(parameters.getSrcDocId().equals("compteGestionEtat") && parameters.getSrcEtatId().equals("FichesBudgetaires")){
+ treatFichesBudgetaires(parameters,ctx);
+ commonTreatment(parameters,ctx,result,user);
+ } else if(parameters.getSrcDocId().equals("compteGestionEtat") && parameters.getSrcEtatId().equals("DeveloppementDepense")){
+ treatAnnexeIIEdmn(parameters, ctx, user);
+ commonTreatment(parameters,ctx,result,user);
+ }
+ return ctx;
+ }
+
+ private void commonTreatment(CustomLinkParameters parameters, NavigationContext ctx, Result result, XemeliosUser user) throws UnresolvedException,DataConfigurationException {
+ logger.debug("in commontTreatment(CustomLinkParameters,NavigationContext,Result,XemeliosUser)");
+ try{
+ DataImpl impl = DataLayerManager.getImplementation();
+ DocumentModel dm = Loader.getDocumentsInfos(null).getDocumentById(ctx.getDocId());
+ EtatModel em = dm.getEtatById(ctx.getEtatId());
+ ElementModel element = em.getElementById(ctx.getElementId());
+ File xslFile = null;
+ xslFile = new File(new File(new File(System.getProperty("user.home")),"xemelios/documents-def-ovrrd"),element.getXslt());
+ if(!xslFile.exists()) xslFile = new File(em.getParent().getBaseDirectory(),element.getXslt());
+
+ FileInputStream fis = new FileInputStream(xslFile);
+ String docId = null;
+ if(ctx.getPath()==null) {
+ ArrayList<String> documents = impl.getDocumentListFromSpecialKeys(element,ctx.getCollectivite(),ctx.getBudget(),ctx.getSp1(),ctx.getSp2(),ctx.getSp3(),user);
+ if(documents.size()==0) {
+ throw new UnresolvedException("Le document est introuvable.");
+ } else if(documents.size()>1 && !em.isMultiPage()) {
+ throw new UnresolvedException("Plusieurs documents répondant à ces critères ont été trouvés.");
+ } else {
+ docId = documents.get(0);
+ }
+ } else {
+ if(ctx.getElementId()==null) {
+ ctx.setElementId(element.getId());
+ }
+ if(ctx.getPath()!=null && ctx.getPath().startsWith("[")) {
+ ctx.setPath(element.getPath().getFormattedPath()+ctx.getPath());
+ }
+ ArrayList<String> documents = impl.getDocumentListFromXPath(element,ctx.getCollectivite(),ctx.getBudget(),ctx.getSp1(),ctx.getSp2(),ctx.getSp3(),ctx.getPath(), user);
+ if(documents.size()==0) {
+ throw new UnresolvedException("Ce compte n'est associé a aucun(e) "+ctx.getEtatId()+".");
+ } else if(documents.size()>1){
+ docId=documents.get(0);
+ } else {
+ docId=documents.get(0);
+ }
+ }
+
+ Document doc = impl.getDocumentAsDom(em,new Pair(ctx.getCollectivite(),null),new Pair(ctx.getBudget(),null),docId , user);
+ TransformerFactory tFactory = FactoryProvider.getTransformerFactory();
+ tFactory.setURIResolver(new CustomURIResolver(tFactory.getURIResolver(), xslFile.getParentFile().toURI().toURL().toExternalForm()));
+ Transformer t = tFactory.newTransformer(new StreamSource(xslFile));
+ for(String key:parameters.getParameters().keySet()) {
+ if(key.startsWith("xsl:param")) {
+ String paramValue = parameters.getParameter(key);
+ int virg = paramValue.indexOf(',');
+ String pName = paramValue.substring(1,virg);
+ String pValue = paramValue.substring(virg+1,paramValue.length()-1);
+ t.setParameter(pName, pValue);
+ }
+ }
+ for(Object o:getXslParameters().keySet()) {
+ String key = (String) o;
+ String paramValue = getXslParameters().getProperty(key);
+ //int virg = paramValue.indexOf(',');
+ //String pName = paramValue.substring(1,virg);
+ //String pValue = paramValue.substring(virg+1,paramValue.length()-1);
+ if(t.getParameter(key)==null){
+ t.setParameter(key, paramValue);
+logger.debug("putting other param("+key+","+paramValue+")");
+ }
+ }
+ t.transform(new DOMSource(doc),result);
+ } catch(UnresolvedException unEx) {
+ throw unEx;
+ } catch (Exception e) {
+ logger.error("commontTreatment(CustomLinkParameters,NavigationContext,Result,XemeliosUser)",e);
+ throw new DataConfigurationException(e);
+ }
+ }
+
+
+ /** La liaison entre chacune des lignes est
+ * - EDMN : Année budgétaire, Comptable, Ministère, Programme, Sous-action
+ * - CdG-Etat Annexe II : Exercice, Comptable, Ministère, Programme, Article d'exécution
+ */
+
+ private void treatAnnexeIIEdmn(CustomLinkParameters parameters,NavigationContext ctx, XemeliosUser user) throws UnresolvedException {
+ try{
+ DataImpl impl = DataLayerManager.getImplementation();
+
+ String exercice = parameters.getParameter("exercice");
+ String comptable = parameters.getParameter("comptable");
+ String ministere = parameters.getParameter("ministere");
+ String programme = parameters.getParameter("programme");
+ String articleExec = parameters.getParameter("articleExec");
+
+ ctx.setDocId("edmn");
+ ctx.setEtatId("etatEdmn");
+ ctx.setElementId("ligneEdmn");
+ ctx.setSp1(exercice);
+
+ if(parameters.getSrcCollectivite() != null){
+ ctx.setCollectivite("000000000000");
+ }
+ if(parameters.getSrcBudget() != null){
+ ctx.setBudget("0000");
+ }
+
+ /* EDMN Etat Importé ? */
+ DocumentModel dm = Loader.getDocumentsInfos(null).getDocumentById(ctx.getDocId());
+ EtatModel em = dm.getEtatById(ctx.getEtatId());
+ ElementModel element = em.getElementById(ctx.getElementId());
+ ArrayList<String> documents = impl.getDocumentListFromXPath(element,ctx.getCollectivite(),ctx.getBudget(),ctx.getSp1(),ctx.getSp2(),ctx.getSp3(),ctx.getPath(), user);
+ if(documents.size()==0) {
+ ctx.setCollectivite(comptable);
+ ctx.setBudget("00");
+ }
+
+ StringBuffer path = new StringBuffer("[");
+ path.append("n:Comptable/@V=").append(comptable)
+ .append(" and n:Ministere/@V=").append(ministere)
+ .append(" and n:ChapBudg/@V=").append(programme)
+ .append(" and n:ArtBudgExec/@V=").append(articleExec)
+ .append("]");
+ ctx.setPath(path.toString());
+ } catch (Exception e) {
+ logger.debug("Erreur", e);
+ throw new UnresolvedException("treatFichesBudgetaires(CustomLinkParameters parameters,NavigationContext ctx)");
+ }
+ }
+
+
+ private void treatBalanceGenerale(CustomLinkParameters parameters,NavigationContext ctx){
+ try{
+ logger.debug("in treatBalanceGenerale(CustomLinkParameters parameters,NavigationContext ctx)");
+ DocumentModel dm = Loader.getDocumentsInfos(null).getDocumentById(ctx.getDocId());
+ String baseDir = dm.getBaseDirectory();
+ File f = new File(baseDir,dm.getParameters().getParameter("liens.balance").getValue());
+ DocumentBuilder db = FactoryProvider.getDocumentBuilderFactory().newDocumentBuilder();
+ Document LiensBalance = db.parse(f);
+
+ String CodRD= (parameters.getParameter("CodRD")!=null)?parameters.getParameter("CodRD"):"";
+ String numCompte = parameters.getParameter("numCompte");
+
+ ctx.setDocId("compteGestionEtat");
+ if(parameters.getSrcCollectivite() != null){
+ ctx.setCollectivite(parameters.getSrcCollectivite());
+ }
+ if(parameters.getSrcBudget() != null){
+ ctx.setBudget(parameters.getSrcBudget());
+ }
+ if(parameters.getParameter("sp1") != null){
+ ctx.setSp1(parameters.getParameter("sp1"));
+ }
+ if(parameters.getParameter("sp2") != null){
+ ctx.setSp2(parameters.getParameter("sp2"));
+ }
+ if(parameters.getParameter("sp3") != null){
+ ctx.setSp3(parameters.getParameter("sp3"));
+ }
+
+ if(numCompte != null) {
+ if(numCompte.startsWith("1")){ // Compte de classe 1
+ ctx.setEtatId("FichesBudgetaires");
+ ctx.setElementId("PageFichesBudgetaires");
+ ctx.setPath("[n:EnteteFichesBudgetaires/@NumCompte="+numCompte+"][n:EnteteFichesBudgetaires/@CodRD="+CodRD+"]");
+
+ } else if(numCompte.startsWith("2")){ // Compte de classe 2
+ ctx.setEtatId("FichesBudgetaires");
+ ctx.setElementId("PageFichesBudgetaires");
+ ctx.setPath("[n:EnteteFichesBudgetaires/@NumCompte="+numCompte+"][n:EnteteFichesBudgetaires/@CodRD="+CodRD+"]");
+
+ } else if((numCompte.startsWith("4") || numCompte.startsWith("5")) && (!numCompte.startsWith("48") && !numCompte.startsWith("49"))){ // Compte de classe 4 ou 5
+ XPath xp = XPathFactory.newInstance().newXPath();
+ String compteGestionEtat = parameters.getParameter("cg");
+ String typeLien = parameters.getParameter("type");
+
+ String etatSolde = xp.evaluate("/Editions/Comptes[@Edition='"+compteGestionEtat+"']/Compte[@Numero='"+numCompte+"']/@Solde",LiensBalance.getDocumentElement());
+ String etatDebit = xp.evaluate("/Editions/Comptes[@Edition='"+compteGestionEtat+"']/Compte[@Numero='"+numCompte+"']/@Debit",LiensBalance.getDocumentElement());
+ String etatCredit = xp.evaluate("/Editions/Comptes[@Edition='"+compteGestionEtat+"']/Compte[@Numero='"+numCompte+"']/@Credit",LiensBalance.getDocumentElement());
+
+ if(etatSolde!=null && !etatSolde.equals("") && typeLien.equals("solde")){
+ String path = "";
+ if(etatSolde.equals("ERAR") || etatSolde.equals("ERAP")){
+ if(etatSolde.equals("ERAR")){
+ path += "[n:EnteteSolde/@Type='RAR']";
+ }else{
+ path += "[n:EnteteSolde/@Type='RAP']";
+ }
+ etatSolde="Solde";
+ }
+ ctx.setEtatId(etatSolde);
+ ctx.setElementId("Page"+etatSolde);
+
+ path += "[n:Entete"+etatSolde+"/@NumCompte="+numCompte+"]";
+ if(CodRD!=null && !CodRD.equals("") && !etatSolde.equals("DeveloppementSoldes") && !etatSolde.equals("Solde") && !etatSolde.equals("LivreAuxiliaire")){
+ path += "[n:Entete"+etatSolde+"/@CodRD="+CodRD+"]";
+ }
+ ctx.setPath(path);
+ }else if(etatCredit!=null && !etatCredit.equals("") && typeLien.equals("totaux") && CodRD!=null && CodRD.equals("R")){
+ String path = "";
+ if(etatCredit.equals("ERAR") || etatCredit.equals("ERAP")){
+ if(etatCredit.equals("ERAR")){
+ path += "[n:EnteteSolde/@Type='RAR']";
+ }else{
+ path += "[n:EnteteSolde/@Type='RAP']";
+ }
+ etatCredit="Solde";
+ }
+ ctx.setEtatId(etatCredit);
+ ctx.setElementId("Page"+etatCredit);
+
+ path += "[n:Entete"+etatCredit+"/@NumCompte="+numCompte+"]";
+ if(CodRD!=null && !CodRD.equals("") && !etatCredit.equals("DeveloppementSoldes") && !etatCredit.equals("Solde") && !etatCredit.equals("LivreAuxiliaire")){
+ path += "[n:Entete"+etatCredit+"/@CodRD="+CodRD+"]";
+ }
+ ctx.setPath(path);
+ }else if(etatDebit!=null && !etatDebit.equals("") && typeLien.equals("totaux") && CodRD!=null && CodRD.equals("D")){
+ String path = "";
+ if(etatDebit.equals("ERAR") || etatDebit.equals("ERAP")){
+ if(etatDebit.equals("ERAR")){
+ path += "[n:EnteteSolde/@Type='RAR']";
+ }else{
+ path += "[n:EnteteSolde/@Type='RAP']";
+ }
+ etatDebit="Solde";
+ }
+ ctx.setEtatId(etatDebit);
+ ctx.setElementId("Page"+etatDebit);
+
+ path += "[n:Entete"+etatDebit+"/@NumCompte="+numCompte+"]";
+ if(CodRD!=null && !CodRD.equals("") && !etatDebit.equals("DeveloppementSoldes") && !etatDebit.equals("Solde") && !etatDebit.equals("LivreAuxiliaire")){
+ path += "[n:Entete"+etatDebit+"/@CodRD="+CodRD+"]";
+ }
+ ctx.setPath(path);
+ } else {
+ ctx.setEtatId("LivreAuxiliaire");
+ ctx.setElementId("PageLivreAuxiliaire");
+ ctx.setPath("[n:EnteteLivreAuxiliaire/@NumCompte="+numCompte+"]");
+ }
+ } else if(numCompte.startsWith("48")){ // Compte de classe 48
+ ctx.setEtatId("FichesBudgetaires");
+ ctx.setElementId("PageFichesBudgetaires");
+ if(numCompte.contains("9")){
+ CodRD="R";
+ }else{
+ CodRD="D";
+ }
+ ctx.setPath("[n:EnteteFichesBudgetaires/@NumCompte="+numCompte+"][n:EnteteFichesBudgetaires/@CodRD="+CodRD+"]");
+ } else if(numCompte.startsWith("49")){ // Compte de classe 49
+ ctx.setEtatId("FichesBudgetaires");
+ ctx.setElementId("PageFichesBudgetaires");
+ if(numCompte.contains("9")){
+ CodRD="R";
+ }else{
+ CodRD="D";
+ }
+ ctx.setPath("[n:EnteteFichesBudgetaires/@NumCompte="+numCompte+"][n:EnteteFichesBudgetaires/@CodRD="+CodRD+"]");
+ } else if(numCompte.startsWith("6")){ // Compte de classe 6
+ ctx.setEtatId("FichesBudgetaires");
+ ctx.setElementId("PageFichesBudgetaires");
+ if(numCompte.contains("9")){
+ CodRD="R";
+ }else{
+ CodRD="D";
+ }
+ ctx.setPath("[n:EnteteFichesBudgetaires/@NumCompte="+numCompte+"][n:EnteteFichesBudgetaires/@CodRD="+CodRD+"]");
+ } else if(numCompte.startsWith("7")){ // Compte de classe 7
+ ctx.setEtatId("FichesBudgetaires");
+ ctx.setElementId("PageFichesBudgetaires");
+ if(numCompte.contains("9")){
+ CodRD="D";
+ }else{
+ CodRD="R";
+ }
+ ctx.setPath("[n:EnteteFichesBudgetaires/@NumCompte="+numCompte+"][n:EnteteFichesBudgetaires/@CodRD="+CodRD+"]");
+ }
+ }
+ } catch (Exception e){
+ e.printStackTrace();
+ }
+ }
+
+ private void treatFichesBudgetaires(CustomLinkParameters parameters,NavigationContext ctx) throws UnresolvedException {
+ try{
+ //String numeroTypePiece = parameters.getParameter("numeroTypePiece");
+ String codRD = parameters.getParameter("codRD");
+ String exercice = parameters.getParameter("exercice");
+ String mtEmis = parameters.getParameter("mtEmis");
+ String mtAnn = parameters.getParameter("mtAnn");
+ String mandatId = parameters.getParameter("mandatId");
+
+
+ ctx.setDocId("PES_Aller");
+ if(codRD.equals("D")){
+ ctx.setEtatId("PES_DepenseAller");
+ ctx.setElementId("Piece");
+ }else{
+ ctx.setEtatId("PES_RecetteAller");
+ ctx.setElementId("PieceRecette");
+ }
+
+ if(parameters.getSrcCollectivite() != null){
+ ctx.setCollectivite(parameters.getSrcCollectivite());
+ }
+ if(parameters.getSrcBudget() != null){
+ ctx.setBudget(parameters.getSrcBudget());
+ }
+ if(ctx.getSp1() != null){
+ //ctx.resetSp1();
+ ctx.setSp1(null);
+ }
+ String typeBordereau ="";
+ if(mtEmis!=null && mtEmis.length()>0){
+ typeBordereau="01";
+ } else if(mtAnn!=null && mtAnn.length()>0){
+ typeBordereau="02";
+ }
+// ctx.setPath("[n:BlocBordereau/n:Exer/@V="+exercice+"][n:BlocBordereau/n:TypBord/@V="+typeBordereau+"]");
+ StringBuffer path = new StringBuffer();
+ path.append("[../n:BlocBordereau/n:Exer/@V=").append(exercice).append("][../n:BlocBordereau/n:TypBord/@V=").append(typeBordereau).append("]");
+ if("D".equals(codRD)) {
+ path.append("[n:BlocPiece/n:InfoPce/n:IdPce/@V=").append(mandatId).append("]");
+ } else {
+ path.append("[n:BlocPiece/n:IdPce/@V=").append(mandatId).append("]");
+ }
+ ctx.setPath(path.toString());
+ } catch (Exception e) {
+ logger.debug("Erreur", e);
+ throw new UnresolvedException("treatFichesBudgetaires(CustomLinkParameters parameters,NavigationContext ctx)");
+ }
+ }
+
+ private void debug(Document doc){
+ try {
+ Transformer t = FactoryProvider.getTransformerFactory().newTransformer();
+ t.transform(new DOMSource(doc), new StreamResult(System.out));
+ } catch (TransformerException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * @return the additionalsParameters
+ */
+ public Properties getXslParameters() {
+ return xslParameters;
+ }
+
+ /**
+ * @param additionalsParameters the additionalsParameters to set
+ */
+ public void setXslParameters(Properties additionalsParameters) {
+ this.xslParameters = additionalsParameters;
+ }
+
+}
--- /dev/null
+Manifest-version: 1.0
+Jar-Version: @version@
+Jar-Content: @name@
+