source: spip-zone/_plugins_/Association/Associaspip/exec/compte_bilan.php @ 66942

Last change on this file since 66942 was 66942, checked in by gildas.cotomale@…, 7 years ago

suite de la revue de la compta et corrections sur les commits du mois

File size: 4.4 KB
Line 
1<?php
2/***************************************************************************\
3 *  Associaspip, extension de SPIP pour gestion d'associations
4 *
5 * @copyright Copyright (c) 2007 Bernard Blazin & Francois de Montlivault
6 * @copyright Copyright (c) 2010--2011 Emmanuel Saint-James
7 * @copyright Copyright (c) 201108 Marcel Bolla
8 *
9 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
10\***************************************************************************/
11if (!defined('_ECRIRE_INC_VERSION'))
12        return;
13
14// Version HTML de la synthese des Comptes de Bilan
15function exec_compte_bilan() {
16        if (!autoriser('voir_compta', 'association')) {
17                include_spip('inc/minipres');
18                echo minipres();
19        } else {
20                include_spip('inc/navigation_modules');
21                include_spip('inc/association_comptabilite');
22                $ids = association_passeparam_compta();
23                onglets_association('titre_onglet_comptes', 'comptes');
24                // INTRO : rappel de l'exercicee affichee
25                $infos['exercice_entete_debut'] = association_formater_date($ids['debut_periode'], 'dtstart');
26                $infos['exercice_entete_fin'] = association_formater_date($ids['fin_periode'], 'dtend');
27                echo association_totauxinfos_intro($ids['titre_periode'], 'exercice', $ids['id_periode'], $infos);
28                // pas de sommes de synthes puisque tous les totaux sont dans la zone centrale ;-
29                // datation et raccourcis
30                raccourcis_association(array('comptes', "$ids[type_periode]=$ids[id_periode]"), array(
31                        'encaisse_titre_general' => array('finances-24.png', array('encaisse', "$ids[type_periode]=$ids[id_periode]".($ids['destination']?"&destination=$ids[destination]":'')) ),
32                        'cpte_resultat_titre_general' => array('finances-24.png', array('compte_resultat', "$ids[type_periode]=$ids[id_periode]".($ids['destination']?"&destination=$ids[destination]":'')) ),
33#                       'annexe_titre_general' => array('finances-24.png', array('annexe', "$ids[type_periode]=$ids[id_periode]".($ids['destination']?"&destination=$ids[destination]":'')) ),
34                ));
35                if(autoriser('associer', 'export_comptes')) { // on peut exporter : pdf, csv, xml, ...
36                        echo debut_cadre_enfonce('', TRUE);
37                        echo '<h3>'. _T('asso:cpte_bilan_mode_exportation') .'</h3>';
38                        if (test_plugin_actif('FPDF')) {  // impression en PDF : _T('asso:bouton_impression')
39                                echo icone1_association('PDF', generer_url_ecrire('pdf_comptesbilan', "$ids[type_periode]=$ids[id_periode]".($ids['destination']?"&destination=$ids[destination]":'')), 'print-24.png');
40                        }
41                        foreach(array('csv','ctx','dbk','json','tex','tsv','xml','yaml') as $type) { // autres exports (donnees brutes) possibles
42                                echo icone1_association(strtoupper($type), generer_url_ecrire("export_soldescomptes_$type", 'type=bilan&'."$ids[type_periode]=$ids[id_periode]".($ids['destination']?"&destination=$ids[destination]":'')), 'export-24.png'); //!\ generer_url_ecrire($exec, $param) equivaut a generer_url_ecrire($exec).'&'.urlencode($param) or il faut utiliser rawurlencode($param) ici...
43                        }
44                        echo fin_cadre_enfonce(TRUE);
45                }
46                debut_cadre_association('finances-24.png', 'cpte_bilan_titre_general', $ids['titre_periode']);
47                // Filtres
48                filtres_association(array(
49                        'periode' => array($ids['id_periode'], 'asso_comptes', 'operation'),
50                        'destination' => $ids['destination'],
51                ), 'compte_bilan');
52                // les autres classes a prendre en compte ici
53                $classes_bilan = array();
54                $query = sql_select(
55                        'classe', // select
56                        'spip_asso_plan', // from
57                        sql_in('classe', array($GLOBALS['association_metas']['classe_charges'],$GLOBALS['association_metas']['classe_produits'],$GLOBALS['association_metas']['classe_contributions_volontaires']), 'NOT'), // where http://programmer.spip.org/sql_in,642
58                        'classe', // group by
59                        'classe' // order by
60                );
61                while ($data = sql_fetch($query)) {
62                        $classes_bilan[] = $data['classe'];
63                }
64                // liste des passifs (le patrimoine/avoir) cumulees par comptes
65                $passifs = association_liste_totaux_comptes_classes($classes_bilan, 'cpte_bilan', '+1', $ids['id_periode'], $ids['destination']);
66                // liste des actifs (les dettes) cumulees par comptes
67                $actifs = association_liste_totaux_comptes_classes($classes_bilan, 'cpte_bilan', '-1', $ids['id_periode'], $ids['destination']);
68                // resultat comptable courant : en comptabilite francaise, la somme les actifs et les passifs doivent s'egaler, ce qui se fait en incorporant le resultat comptable (perte en actif et benefice en passif)
69                association_liste_resultat_net($passifs, $actifs);
70                // liste des bilans (actifs et passifs) par comptes
71                fin_page_association();
72        }
73}
74
75?>
Note: See TracBrowser for help on using the repository browser.