Overview
Comment:Utilisation du compte 890 (au lieu de NULL) comme compte de contre-balance pour les reports à nouveau
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | dev
Files: files | file ages | folders
SHA1: e366cee518a666814b7c3b5d0dd9a74f79749680
User & Date: bohwaz on 2019-01-17 09:57:06
Other Links: branch diff | manifest | tags
Context
2019-01-17
10:01
Merge avec branche trunk check-in: 511aee5412 user: bohwaz tags: dev
09:57
Utilisation du compte 890 (au lieu de NULL) comme compte de contre-balance pour les reports à nouveau check-in: e366cee518 user: bohwaz tags: dev
2019-01-09
21:14
Undo log des requêtes SQL check-in: 4f901f656b user: bohwaz tags: dev
Changes

Modified src/VERSION from [37225f3c32] to [1c75e70a1f].

1
0.9.0
|
1
0.9.1

Modified src/include/data/0.9.1.sql from [9c2462be3c] to [8d911832a5].

1
2
3
4
5
6
7
8
9
10




-- Il manquait une clause ON DELETE SET NULL sur la foreign key
-- de cotisations quand on faisait une mise à jour depuis une
-- ancienne version
ALTER TABLE cotisations RENAME TO cotisations_old;

.read schema.sql

INSERT INTO cotisations SELECT * FROM cotisations_old;

DROP TABLE cotisations_old;














>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
-- Il manquait une clause ON DELETE SET NULL sur la foreign key
-- de cotisations quand on faisait une mise à jour depuis une
-- ancienne version
ALTER TABLE cotisations RENAME TO cotisations_old;

.read schema.sql

INSERT INTO cotisations SELECT * FROM cotisations_old;

DROP TABLE cotisations_old;

-- Changer le compte des reports automatiques
UPDATE compta_journal SET compte_debit = '890' WHERE compte_debit IS NULL;
UPDATE compta_journal SET compte_credit = '890' WHERE compte_credit IS NULL;

Modified src/include/data/plan_comptable.json from [ad26da8c12] to [4d7e33a414].

1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
        "code": 797,
        "nom": "Transferts de charges exceptionnels",
        "parent": 79,
        "position": 4
    },
    "8": {
        "code": 8,
        "nom": "Classe 8 \u00ad\u2014 Contributions b\u00e9n\u00e9voles en nature",
        "parent": 0,
        "position": 12
    },
    "86": {
        "code": 86,
        "nom": "R\u00c9PARTITION PAR NATURE DE CHARGES",
        "parent": 8,







|







1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
        "code": 797,
        "nom": "Transferts de charges exceptionnels",
        "parent": 79,
        "position": 4
    },
    "8": {
        "code": 8,
        "nom": "Classe 8 \u00ad\u2014 Comptes sp\u00e9ciaux",
        "parent": 0,
        "position": 12
    },
    "86": {
        "code": 86,
        "nom": "R\u00c9PARTITION PAR NATURE DE CHARGES",
        "parent": 8,
1729
1730
1731
1732
1733
1734
1735


















1736
1737
1738
1739
1740
1741
1742
    },
    "875": {
        "code": 875,
        "nom": "Dons en nature",
        "parent": 87,
        "position": 4
    },


















    "9": {
        "code": 9,
        "nom": "Classe 9 \u2014 Comptes analytiques",
        "parent": 0,
        "position": 12
    }
}







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
    },
    "875": {
        "code": 875,
        "nom": "Dons en nature",
        "parent": 87,
        "position": 4
    },
    "89": {
        "code": 89,
        "nom": "BILAN",
        "parent": 8,
        "position": 3
    },
    "890": {
        "code": 890,
        "nom": "Bilan d'ouverture",
        "parent": 89,
        "position": 3
    },
    "890": {
        "code": 891,
        "nom": "Bilan de clôture",
        "parent": 89,
        "position": 3
    },
    "9": {
        "code": 9,
        "nom": "Classe 9 \u2014 Comptes analytiques",
        "parent": 0,
        "position": 12
    }
}

Modified src/include/lib/Garradin/Compta/Exercices.php from [40f25a7060] to [acd2f0031c].

179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194

            // Solde du compte à zéro : aucun report à faire
            if (empty($solde))
            {
                continue;
            }

            $compte_debit = $solde < 0 ? NULL : $row['compte'];
            $compte_credit = $solde > 0 ? NULL : $row['compte'];

            $diff += $solde;
            $solde = round(abs($solde), 2);

            // Chaque solde de compte est reporté dans le nouvel exercice
            $journal->add([
                'libelle'       =>  'Report à nouveau',







|
|







179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194

            // Solde du compte à zéro : aucun report à faire
            if (empty($solde))
            {
                continue;
            }

            $compte_debit = $solde < 0 ? 890 : $row['compte'];
            $compte_credit = $solde > 0 ? 890 : $row['compte'];

            $diff += $solde;
            $solde = round(abs($solde), 2);

            // Chaque solde de compte est reporté dans le nouvel exercice
            $journal->add([
                'libelle'       =>  'Report à nouveau',
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
        if ($resultat != 0)
        {
            $journal = new Journal;
            $journal->add([
                'libelle'   =>  'Résultat de l\'exercice précédent',
                'date'      =>  $date,
                'montant'   =>  abs($resultat),
                'compte_debit'  =>  $resultat < 0 ? $resultat_debiteur : NULL,
                'compte_credit' =>  $resultat > 0 ? $resultat_excedent : NULL,
            ]);
        }

        return true;
    }
    
    public function delete($id)
    {
        $db = DB::getInstance();

        // Ne pas supprimer un compte qui est utilisé !
        if ($db->test('compta_journal', $db->where('id_exercice', $id)))
        {







|
|





|







239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
        if ($resultat != 0)
        {
            $journal = new Journal;
            $journal->add([
                'libelle'   =>  'Résultat de l\'exercice précédent',
                'date'      =>  $date,
                'montant'   =>  abs($resultat),
                'compte_debit'  =>  $resultat < 0 ? $resultat_debiteur : 890,
                'compte_credit' =>  $resultat > 0 ? $resultat_excedent : 890,
            ]);
        }

        return true;
    }

    public function delete($id)
    {
        $db = DB::getInstance();

        // Ne pas supprimer un compte qui est utilisé !
        if ($db->test('compta_journal', $db->where('id_exercice', $id)))
        {

Modified src/templates/admin/compta/operations/voir.tpl from [eaf9901138] to [48d792da66].

1
2
3
4
5
6
7
8
9
10
{include file="admin/_head.tpl" title="Opération n°%d"|args:$operation.id current="compta/gestion"}

{if $session->canAccess('compta', Membres::DROIT_ADMIN) && $operation.compte_credit !== null && $operation.compte_debit !== null}
<ul class="actions">
    <li class="edit"><a href="{$admin_url}compta/operations/modifier.php?id={$operation.id}">Modifier cette opération</a></li>
    <li class="delete"><a href="{$admin_url}compta/operations/supprimer.php?id={$operation.id}">Supprimer cette opération</a></li>
</ul>
{/if}

<dl class="describe">


|







1
2
3
4
5
6
7
8
9
10
{include file="admin/_head.tpl" title="Opération n°%d"|args:$operation.id current="compta/gestion"}

{if $session->canAccess('compta', Membres::DROIT_ADMIN)}
<ul class="actions">
    <li class="edit"><a href="{$admin_url}compta/operations/modifier.php?id={$operation.id}">Modifier cette opération</a></li>
    <li class="delete"><a href="{$admin_url}compta/operations/supprimer.php?id={$operation.id}">Supprimer cette opération</a></li>
</ul>
{/if}

<dl class="describe">

Modified src/www/admin/compta/operations/modifier.php from [dcffa78b60] to [6e0e877ba5].

12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
$operation = $journal->get(qg('id'));

if (!$operation)
{
    throw new UserException("L'opération demandée n'existe pas.");
}

if ($operation->compte_credit === null)
{
    throw new UserException('Impossible de modifier une écriture de report.');
}

if ($operation->id_categorie)
{
    $categorie = $cats->get($operation->id_categorie);
}
else
{
    $categorie = false;







<
<
<
<
<







12
13
14
15
16
17
18





19
20
21
22
23
24
25
$operation = $journal->get(qg('id'));

if (!$operation)
{
    throw new UserException("L'opération demandée n'existe pas.");
}






if ($operation->id_categorie)
{
    $categorie = $cats->get($operation->id_categorie);
}
else
{
    $categorie = false;