Ignore:
Timestamp:
Nov 2, 2011, 7:48:52 PM (9 years ago)
Author:
marcel@…
Message:

barre de saisie rapide : Dépense, Recette, Virement et Contibution Solidaire avec positionnement des comptes correspondants.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/Association/Associaspip/action/editer_asso_comptes.php

    r46893 r53976  
    33 *  Associaspip, extension de SPIP pour gestion d'associations             *
    44 *                                                                         *
    5  *  Copyright (c) 2007 Bernard Blazin & François de Montlivault (V1)       *
     5 *  Copyright (c) 2007 Bernard Blazin & Franois de Montlivault (V1)       *
    66 *  Copyright (c) 2010-2011 Emmanuel Saint-James & Jeannot Lapin (V2)       *
    77 *                                                                         *
     
    2929        $journal= _request('journal');
    3030
     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         */
    3144
    32         if (!$id_compte) { /* pas d'id_compte, c'est un ajout */
    33                 $id_compte = association_ajouter_operation_comptable($date, $recette, $depense, $justification, $imputation, $journal, 0);
     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);
    3472        }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 */
    35                 association_modifier_operation_comptable($date, $recette, $depense, $justification, $imputation, $journal, '', $id_compte);
     73                        association_modifier_operation_comptable($date, $recette, $depense, $justification, $imputation, $journal, '', $id_compte);
     74                }
     75
    3676        }
    37 
    3877        return array($id_compte, '');
    3978}
Note: See TracChangeset for help on using the changeset viewer.