Overview
Comment:Filtrer les comptes au solde nul du compte de résultat, aussi.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | stable
Files: files | file ages | folders
SHA1: 5c87e83d009b6eef0eedcc0ad3972bf6618874d8
User & Date: bohwaz on 2018-04-28 20:38:10
Other Links: manifest | tags
Context
2018-04-28
20:49
La structure est légèrement différente pour les sous-comptes check-in: d9b481884b user: bohwaz tags: trunk, stable
20:38
Filtrer les comptes au solde nul du compte de résultat, aussi. check-in: 5c87e83d00 user: bohwaz tags: trunk, stable
20:29
Ajout bouton "rapprocher et aller au mois suivant" check-in: 068e00279a user: bohwaz tags: trunk, stable
Changes

Modified src/include/lib/Garradin/Compta/Rapports.php from [5f70fbc26c] to [af42fbceee].

172
173
174
175
176
177
178




179
180
181
182
183
184
185

                $produits['comptes'][$parent]['comptes'][$compte] = $solde;
                $produits['total'] += $solde;
                $produits['comptes'][$parent]['solde'] += $solde;
            }
        }





        $res->finalize();

        $resultat = $produits['total'] - $charges['total'];

        return ['charges' => $charges, 'produits' => $produits, 'resultat' => $resultat];
    }








>
>
>
>







172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189

                $produits['comptes'][$parent]['comptes'][$compte] = $solde;
                $produits['total'] += $solde;
                $produits['comptes'][$parent]['solde'] += $solde;
            }
        }

        // Suppression des soldes nuls
        $this->removeEmptyAccounts($produits);
        $this->removeEmptyAccounts($charges);

        $res->finalize();

        $resultat = $produits['total'] - $charges['total'];

        return ['charges' => $charges, 'produits' => $produits, 'resultat' => $resultat];
    }

307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329

330

331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
                ${$position}['comptes'][$parent]['comptes'][$compte] += $solde;
                ${$position}['total'] += $solde;
                ${$position}['comptes'][$parent]['solde'] += $solde;
            }
        }

        // Suppression des soldes nuls
        foreach ($passif['comptes'] as $parent=>$p)
        {
            if ($p['solde'] == 0)
            {
                unset($passif['comptes'][$parent]);
                continue;
            }

            foreach ($p['comptes'] as $id=>$solde)
            {
                if ($solde == 0)
                {
                    unset($passif['comptes'][$parent]['comptes'][$id]);
                }
            }
        }



        foreach ($actif['comptes'] as $parent=>$p)
        {
            if (empty($p['solde']))
            {
                unset($actif['comptes'][$parent]);
                continue;
            }

            foreach ($p['comptes'] as $id=>$solde)
            {
                if (empty($solde))
                {
                    unset($actif['comptes'][$parent]['comptes'][$id]);
                }
            }
        }

        return ['actif' => $actif, 'passif' => $passif];
    }
}







<
<
<
<
|
<
<
|
<
|
<
<
|
|
|
<
>
|
>
|

|

|



<
<
|
<
<
|
|
<
|
<


311
312
313
314
315
316
317




318


319

320


321
322
323

324
325
326
327
328
329
330
331
332
333
334


335


336
337

338

339
340
                ${$position}['comptes'][$parent]['comptes'][$compte] += $solde;
                ${$position}['total'] += $solde;
                ${$position}['comptes'][$parent]['solde'] += $solde;
            }
        }

        // Suppression des soldes nuls




        $this->removeEmptyAccounts($passif);


        $this->removeEmptyAccounts($actif);




        return ['actif' => $actif, 'passif' => $passif];
    }


    protected function removeEmptyAccounts(&$source)
    {
        // Suppression des soldes nuls
        foreach ($source['comptes'] as $parent=>$p)
        {
            if ($p['solde'] == 0)
            {
                unset($source[$parent]);
                continue;
            }



            $this->removeEmptyAccounts($p);


        }


        return true;

    }
}