source: spip-zone/_plugins_/Association/Associaspip/action/editer_asso_comptes.php @ 60418

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

début de la refonte de la compta

File size: 3.6 KB
Line 
1<?php
2/***************************************************************************\
3 *  Associaspip, extension de SPIP pour gestion d'associations             *
4 *                                                                         *
5 *  Copyright (c) 2007 Bernard Blazin & Fran�ois de Montlivault (V1)       *
6 *  Copyright (c) 2010-2011 Emmanuel Saint-James & Jeannot Lapin (V2)       *
7 *                                                                         *
8 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
9 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
10\***************************************************************************/
11
12
13if (!defined('_ECRIRE_INC_VERSION'))
14        return;
15
16function action_editer_asso_comptes()
17{
18        $securiser_action = charger_fonction('securiser_action', 'inc');
19        $id_compte = $securiser_action();
20        $erreur = '';
21        include_spip('inc/association_comptabilite');
22        $date = association_recupere_date(_request('date'));
23        $imputation = _request('imputation');
24        $recette = association_recupere_montant(_request('recette'));
25        $depense = association_recupere_montant(_request('depense'));
26        $justification = _request('justification');
27        $journal = _request('journal');
28        $type_operation = _request('type_operation');
29        /* dans le cas ou c'est un virement on va generer 2 ecritures
30         * Supposons un virement de 400€ du compte 5171 (Caisse d'epargne) vers le compte 531 (caisse)
31         * depense = 400   imputation = 531  journal = 5171
32         *
33         * 1ere ecriture : depense 400€ de 5171 vers 581 (virement interne)
34         * depense = 400   imputation = 581  journal = 5171
35         *
36         * 2eme ecriture : recette 400€ de 581 vers 531
37         * recette = 400   imputation = 581  journal = 531
38         *
39         * Dans Bilan et Compte de résultat, le compte 581 doit avoir un solde = 0 !!!!
40         */
41        if ($type_operation==$GLOBALS['association_metas']['classe_banques']) {
42                if(!$justification)
43                        $justification = _T('asso:virement_interne');
44                /* si le compte 58xx n'existe pas on le cree dans le plan comptable */
45                $compte_virement = association_creer_compte_virement_interne();
46                /* c'est forcément un ajout car pour l'instant l'edition d'un virement est "desactive" */
47                /* la modification d'un virement interne n'est pas encore implementee et donc pour modifier */
48                /* un virement on le supprime et on le recree .... C'est pas beau mais ça fonctionne !!!*/
49                /* TODO : decommenter les lignes si edition/modification d'un virement possible ! */
50                //if (!$id_compte) { /* pas d'id_compte, c'est un ajout */
51                        // 1ere ecriture :
52                        $old_imputation = $imputation;
53                        $id_compte = association_ajouter_operation_comptable($date, $recette, $depense, $justification, $compte_virement, $journal, 0);
54                        if (!$id_compte)
55                                $erreur = _T('asso:erreur_sgbdr');
56                        // 2eme ecriture
57                        $id_compte = association_ajouter_operation_comptable($date, $depense, $recette, $justification, $compte_virement, $old_imputation, 0);
58                        if (!$id_compte)
59                                $erreur = _T('asso:erreur_sgbdr');
60                //} else {
61                        /* c'est une modif, ........ */
62                //      association_modifier_compte_virement_interne($id_compte);
63                //}
64        } else {
65                if (!$id_compte) { /* pas d'id_compte, c'est un ajout */
66                        $id_compte = association_ajouter_operation_comptable($date, $recette, $depense, $justification, $imputation, $journal, 0);
67                        if (!$id_compte)
68                                $erreur = _T('asso:erreur_sgbdr');
69                } else { /* c'est une modif, la parametre id_journal de la fonction modifier operation comptable est mis a '' afin de ne pas le modifier dans la base */
70                        association_modifier_operation_comptable($date, $recette, $depense, $justification, $imputation, $journal, '', $id_compte);
71                }
72        }
73        return array($id_compte, $erreur);
74}
75
76?>
Note: See TracBrowser for help on using the repository browser.