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 | |
---|
13 | if (!defined("_ECRIRE_INC_VERSION")) return; |
---|
14 | |
---|
15 | |
---|
16 | function action_editer_asso_comptes() { |
---|
17 | |
---|
18 | $securiser_action = charger_fonction('securiser_action', 'inc'); |
---|
19 | $id_compte = $securiser_action(); |
---|
20 | |
---|
21 | include_spip('inc/association_comptabilite'); |
---|
22 | |
---|
23 | $date= _request('date'); |
---|
24 | $imputation= _request('imputation'); |
---|
25 | |
---|
26 | $recette = association_recupere_montant(_request('recette')); |
---|
27 | $depense = association_recupere_montant(_request('depense')); |
---|
28 | $justification= _request('justification'); |
---|
29 | $journal= _request('journal'); |
---|
30 | |
---|
31 | $type_operation = _request('type_operation'); |
---|
32 | /* dans le cas ou c'est un virement on va generer 2 ecritures |
---|
33 | * Supposons un virement de 400€ du compte 5171 (Caisse d'epargne) vers le compte 531 (caisse) |
---|
34 | * depense = 400 imputation = 531 journal = 5171 |
---|
35 | * |
---|
36 | * 1ere ecriture : depense 400€ de 5171 vers 581 (virement interne) |
---|
37 | * depense = 400 imputation = 581 journal = 5171 |
---|
38 | * |
---|
39 | * 2eme ecriture : recette 400€ de 581 vers 531 |
---|
40 | * recette = 400 imputation = 581 journal = 531 |
---|
41 | * |
---|
42 | * Dans Bilan et Compte de résultat, le compte 581 doit avoir un solde = 0 !!!! |
---|
43 | */ |
---|
44 | |
---|
45 | if ($type_operation == $GLOBALS['association_metas']['classe_banques']) { |
---|
46 | if(!$justification) $justification=_T('asso:virement_interne'); |
---|
47 | /* si le compte 58xx n'existe pas on le cree dans le plan comptable */ |
---|
48 | $compte_virement = association_creer_compte_virement_interne(); |
---|
49 | /* c'est forcément un ajout car pour l'instant l'edition d'un virement est "desactive" */ |
---|
50 | /* la modification d'un virement interne n'est pas encore implementee et donc pour modifier */ |
---|
51 | /* un virement on le supprime et on le recree .... C'est pas beau mais ça fonctionne !!!*/ |
---|
52 | /* TODO : decommenter les lignes si edition/modification d'un virement possible ! */ |
---|
53 | //if (!$id_compte) { /* pas d'id_compte, c'est un ajout */ |
---|
54 | // 1ere ecriture |
---|
55 | $old_imputation = $imputation; |
---|
56 | $imputation = $compte_virement; |
---|
57 | $id_compte = association_ajouter_operation_comptable($date, $recette, $depense, $justification, $imputation, $journal, 0); |
---|
58 | // 2eme ecriture |
---|
59 | $recette = $depense; |
---|
60 | $depense = 0; |
---|
61 | $journal = $old_imputation; |
---|
62 | $id_compte = association_ajouter_operation_comptable($date, $recette, $depense, $justification, $imputation, $journal, 0); |
---|
63 | //} |
---|
64 | //else { |
---|
65 | /* c'est une modif, ........ */ |
---|
66 | // association_modifier_compte_virement_interne($id_compte); |
---|
67 | //} |
---|
68 | } |
---|
69 | else { |
---|
70 | if (!$id_compte) { /* pas d'id_compte, c'est un ajout */ |
---|
71 | $id_compte = association_ajouter_operation_comptable($date, $recette, $depense, $justification, $imputation, $journal, 0); |
---|
72 | }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 */ |
---|
73 | association_modifier_operation_comptable($date, $recette, $depense, $justification, $imputation, $journal, '', $id_compte); |
---|
74 | } |
---|
75 | |
---|
76 | } |
---|
77 | return array($id_compte, ''); |
---|
78 | } |
---|
79 | ?> |
---|