Archives de la liste a​i​d​e​@p​a​h​e​k​o​.c​l​o​u​d​

Plugin Vues analytiques

adresse riseup

03/02/2021 03:02:56

Holà,

J'ai écrit un petit plugin aujourd'hui, que j'ai originalement appelé «
Vues analytiques » qui rajoute 2 vues qui me permettent d'y voir plus
clair :

- Une où l'on peut sélectionner une recherche enregistrée, puis une
plage temporelle, et on obtient le résultat de cette recherche découpée
par mois (pratique pour présenter un compte de résultat plus détaillé)

- Une qui synthétise la vue des projets, en gardant seulement la ligne
total et en se débarrassant des lignes de chaque exercice, et en
rajoutant les sommes des comptes de résultats


Dans l'idée, je rajouterais bien une autre vue spécialement pour
détailler les comptes de résultats, pour que ça soit plus présentable,
et pour avoir les soldes cumulés par mois séparément des produits et des
charges, et tout ça.

Ça se trouve ici :

https://gitlab.com/ramoloss/garradin-plugin-vues-analytiques

Plugin Vues analytiques

Jacques Lacroute

03/02/2021 08:42:41

Voici ce que j’ai lorsque j’essaye le plug in:

Une piste ?, car j’avoue ne pas voir…

J’aurais aimé « greffer » sur le plug in mon état qui fonctionnait avec 0.9.8
dont j’ai donné des vues par le passé (il utilisait datables pour la mise en forme)



Jacques

> Le 3 févr. 2021 à 03:02, adresse riseup <adresse@riseup.net> a écrit :
> 
> Holà,
> 
> J'ai écrit un petit plugin aujourd'hui, que j'ai originalement
appelé «
> Vues analytiques » qui rajoute 2 vues qui me permettent d'y voir plus
> clair :
> 
> - Une où l'on peut sélectionner une recherche enregistrée, puis une
> plage temporelle, et on obtient le résultat de cette recherche découpée
> par mois (pratique pour présenter un compte de résultat plus détaillé)
> 
> - Une qui synthétise la vue des projets, en gardant seulement la ligne
> total et en se débarrassant des lignes de chaque exercice, et en
> rajoutant les sommes des comptes de résultats
> 
> 
> Dans l'idée, je rajouterais bien une autre vue spécialement pour
> détailler les comptes de résultats, pour que ça soit plus présentable,
> et pour avoir les soldes cumulés par mois séparément des produits et des
> charges, et tout ça.
> 
> Ça se trouve ici :
> 
> https://gitlab.com/ramoloss/garradin-plugin-vues-analytiques
> 
> -- 
> . ____   
> / ___|  Liste d'entraide des utilisateurs de Garradin
> | |  _   http://garradin.eu/
> | |_| |
> \____|  Désinscription : http://garradin.eu/aide/

Plugin Vues analytiques

adresse riseup

03/02/2021 14:17:59

Jacques Lacroute:
> 
> Voici ce que j’ai lorsque j’essaye le plug in:
> 
> Une piste ?, car j’avoue ne pas voir…
> 
> J’aurais aimé « greffer » sur le plug in mon état qui fonctionnait avec
0.9.8
> dont j’ai donné des vues par le passé (il utilisait datables pour la mise en
forme)

Effectivement, cette variable existait pas, et est de toutes façons pas
inutilisée ! Reste à savoir pourquoi mon php ne m'affichait pas cette erreur

Du coup je l'ai supprimée, et sortie une version corrigée :
https://gitlab.com/ramoloss/garradin-plugin-vues-analytiques/-/releases/0.1.1

Hésites pas à partager si tu rajoute des vues ou autre chose !

Plugin Vues analytiques

Jacques Lacroute

03/02/2021 19:35:52

Merci,

J’ai installé le nouveau plug-in, je gagne une étape, mais...

- quand je veux lancer la recherche "nb records" j’obtiens ceci

quandd je clique sur l’onglet vue projets synthétiques j’obtiens le code d’erreur
suivant:



Je suis sur Mac, avec MAMP…Je ne pense pas que ceci soit l’explication.

Merci de tes lumières…

Jacques Lacroute


> Le 3 févr. 2021 à 14:17, adresse riseup <adresse@riseup.net> a écrit :
> 
> Jacques Lacroute:
>> 
>> Voici ce que j’ai lorsque j’essaye le plug in:
>> 
>> Une piste ?, car j’avoue ne pas voir…
>> 
>> J’aurais aimé « greffer » sur le plug in mon état qui fonctionnait avec
0.9.8
>> dont j’ai donné des vues par le passé (il utilisait datables pour la mise
en forme)
> 
> Effectivement, cette variable existait pas, et est de toutes façons pas
> inutilisée ! Reste à savoir pourquoi mon php ne m'affichait pas cette
erreur
> 
> Du coup je l'ai supprimée, et sortie une version corrigée :
> https://gitlab.com/ramoloss/garradin-plugin-vues-analytiques/-/releases/0.1.1
> 
> Hésites pas à partager si tu rajoute des vues ou autre chose !
> 
> -- 
> . ____   
> / ___|  Liste d'entraide des utilisateurs de Garradin
> | |  _   http://garradin.eu/
> | |_| |
> \____|  Désinscription : http://garradin.eu/aide/

Plugin Vues analytiques - Diagrammes de Sankey

adresse riseup

08/02/2021 05:02:54

J'ai rajouté une petite vue au plugin qui permet de générer un diagramme
de Sankey à partir des données comptables.

Pour celleux que ça intéresse : ça parcourt l'ensemble des projets dans
le plan comptable actuel, récupère les produits/charges de leur compte
de résultat, s'il y a des comptes des charges/produits réfléchis
(configurable en renseignant leur id) dedans qui vont d'un projet à
l'autre, ben ça les prend aussi en compte.

La génération du diagramme est fait en intégrant directement SankeyMATIC
que j'ai traduit dans la page.

Il y a quelques options en plus, c'est un peu brut mais fait le taf. Je
joins un exemple de ce que ça peut donner.

Le problème principal, c'est qu'il y a des limitations dûes à
SankeyMatic/D3 par rapport à la génération du diagramme, et la
disposition des noeuds qui peut changer radicalement selon l'ordre des
paramètres et tout ça, qui fait que c'est compliqué de faire en sorte
que les comptes soient rangés automatiquement de telle ou telle manière :/

Voilà, si jamais ça en intéresse, hésitez pas à faire des retours.
Ou s'il y a des expert·es en diagrammes de Sankey et qui connaissent
d'autres solutions simples pour en générer de manière plus consistante,
je prends :)


adresse riseup:
> Holà,
> 
> J'ai écrit un petit plugin aujourd'hui, que j'ai originalement
> appelé « Vues analytiques » qui rajoute 2 vues qui me permettent d'y
> voir plus clair :
> 
> - Une où l'on peut sélectionner une recherche enregistrée, puis une 
> plage temporelle, et on obtient le résultat de cette recherche 
> découpée par mois (pratique pour présenter un compte de résultat
> plus détaillé)
> 
> - Une qui synthétise la vue des projets, en gardant seulement la 
> ligne total et en se débarrassant des lignes de chaque exercice, et 
> en rajoutant les sommes des comptes de résultats
> 
> 
> Dans l'idée, je rajouterais bien une autre vue spécialement pour 
> détailler les comptes de résultats, pour que ça soit plus 
> présentable, et pour avoir les soldes cumulés par mois séparément
> des produits et des charges, et tout ça.
> 
> Ça se trouve ici :
> 
> https://gitlab.com/ramoloss/garradin-plugin-vues-analytiques

Plugin Vues analytiques - Diagrammes de Sankey

Fred C.

11/02/2021 04:03:41

Hello,

Je viens de tester ce plugin et j'arrive sur cette page lorsque j’accède 
à la vue projet synthétique.

Une erreur s'est produite
PHP error
Notice: Undefined offset: 330
in 
.../cache/compiled/4319c54ebf37f5b638f98aa2dfa6cf2472073fea.tpl.php.tmp:185
181  0 => 'sum_revenue',
182))); //#107?></td>
183                    <?php else: //#108?>
184
185                    <td class="money"><?php echo 
$this->modifiers['html_money']($resultats[$code][$year]['expense_sum']);

//#109?></td>
186                    <td class="money"><?php echo 
$this->modifiers['html_money']($resultats[$code][$year]['revenue_sum']);

//#110?></td>
187                    <?php endif; //#111?>
188
189                    <td class="money"><?php echo 
$this->modifiers['html_money']($resultats[$code][$year]['result']);

//#112?></td>
in .../include/lib/KD2/Smartyer.php:586
→ include (1 arg.)
0
string(71) 
".../cache/compiled/4319c54ebf37f5b638f98aa2dfa6cf2472073fea.tpl.php.tmp"
582            extract($this->variables, EXTR_REFS);
583
584            ob_start();
585
586            include $this->compiled_template_path . '.tmp';
587
588            $out = ob_get_clean();
589        }
590        catch (\Exception $e)
in .../include/lib/KD2/Smartyer.php:335
→ KD2\Smartyer->compile (0 arg.)
331        $time = @filemtime($this->compiled_template_path);
332
333        if (!$time || (!is_null($this->template_path) && 
filemtime($this->template_path) > $time))
334        {
335            return $this->compile();
336        }
337
338        extract($this->variables, EXTR_REFS);
339
in .../include/lib/KD2/Smartyer.php:290
→ KD2\Smartyer->fetch (0 arg.)
286    {
287        // Compatibility with legacy Smarty calls
288        if (!is_null($template))
289        {
290            return (new Smartyer($template, $this))->fetch();
291        }
292
293        if (is_null($this->compiled_dir))
294        {
in .../include/lib/KD2/Smartyer.php:274
→ KD2\Smartyer->fetch (1 arg.)
$template
string(99) 
"phar:///homepages/21/d595234059/htdocs/compta/plugins/vues_analytiques.tar.gz/templates/projets.tpl"
270     * @return Smartyer
271     */
272    public function display($template = null)
273    {
274        echo $this->fetch($template);
275        return $this;
276    }
277
278    /**
in 
phar:///homepages/21/d595234059/htdocs/compta/plugins/vues_analytiques.tar.gz/www/admin/projets.php:59
→ KD2\Smartyer->display (1 arg.)
$template
string(99) 
"phar:///homepages/21/d595234059/htdocs/compta/plugins/vues_analytiques.tar.gz/templates/projets.tpl"
55$tpl->assign('analytical_type', Account::TYPE_ANALYTICAL);
56$tpl->assign('analytical_accounts_count', CURRENT_YEAR_ID ? 
$current_year->accounts()->countByType(Account::TYPE_ANALYTICAL) : null);
57$tpl->assign(compact('resultats', 'liability_sum',
'asset_sum', 
'by_year', 'by_projects', 'synth'));
58
59$tpl->display(PLUGIN_ROOT . '/templates/projets.tpl');
in .../include/lib/Garradin/Plugin.php:224
→ include (1 arg.)
0
string(99) 
"phar:///homepages/21/d595234059/htdocs/compta/plugins/vues_analytiques.tar.gz/www/admin/projets.php"
220            // Créer l'environnement d'exécution du plugin
221            $plugin = $this;
222            global $tpl, $config, $session, $form;
223
224            include $this->path() . '/www/' . $file;
225        }
226        else
227        {
228            // Récupération du type MIME à partir de l'extension
in .../www/admin/plugin.php:18
→ Garradin\Plugin->call (1 arg.)
$file
string(17) "admin/projets.php"
14
15$tpl->assign('plugin', $plugin->getInfos());
16$tpl->assign('plugin_root', PLUGIN_ROOT);
17
18$plugin->call('admin/' . $page);
19
in .../www/_route.php:42
→ require (1 arg.)
0
string(24) ".../www/admin/plugin.php"
38elseif (preg_match('!/admin/plugin/(.+?)/(.*)!', $uri, $match))
39{
40    $_GET['_p'] = $match[1];
41    $_GET['_u'] = $match[2];
42    require __DIR__ . '/admin/plugin.php';
43}
44elseif (preg_match('!/f/([\d\w]+)/(.+)!', $uri, $match))
45{
46    $_GET['id'] = $match[1];
KD2\Smartyer_Exception
Notice: Undefined offset: 330
in 
phar:///homepages/21/d595234059/htdocs/compta/plugins/vues_analytiques.tar.gz/templates/projets.tpl:109
105                    {if !$synth}
106                    <td 
class="money">{$item.sum_expense|raw|html_money}</td>
107                    <td 
class="money">{$item.sum_revenue|raw|html_money}</td>
108                    {else}
109                    <td 
class="money">{$resultats[$code][$year]['expense_sum']|raw|html_money}</td>
110                    <td 
class="money">{$resultats[$code][$year]['revenue_sum']|raw|html_money}</td>
111                    {/if}
112                    <td 
class="money">{$resultats[$code][$year]['result']|raw|html_money}</td>
113                    <td 
class="money">{$asset_sum[$code][$year]|raw|html_money}</td>
in .../include/lib/KD2/Smartyer.php:606
→ KD2\Smartyer->parseError (3 arg.)
$line
string(3) "109"
$message
string(29) "Notice: Undefined offset: 330"
$previous
object(ErrorException) (8) {
}
602            $compiled = implode("\n", $compiled);
603
604            if (preg_match('!//#(\d+)\?>!', $compiled, $match))
605            {
606                $this->parseError($match[1], $e->getMessage(), $e);
607            }
608            else
609            {
610                throw $e;
in .../include/lib/KD2/Smartyer.php:335
→ KD2\Smartyer->compile (0 arg.)
331        $time = @filemtime($this->compiled_template_path);
332
333        if (!$time || (!is_null($this->template_path) && 
filemtime($this->template_path) > $time))
334        {
335            return $this->compile();
336        }
337
338        extract($this->variables, EXTR_REFS);
339
in .../include/lib/KD2/Smartyer.php:290
→ KD2\Smartyer->fetch (0 arg.)
286    {
287        // Compatibility with legacy Smarty calls
288        if (!is_null($template))
289        {
290            return (new Smartyer($template, $this))->fetch();
291        }
292
293        if (is_null($this->compiled_dir))
294        {
in .../include/lib/KD2/Smartyer.php:274
→ KD2\Smartyer->fetch (1 arg.)
$template
string(99) 
"phar:///homepages/21/d595234059/htdocs/compta/plugins/vues_analytiques.tar.gz/templates/projets.tpl"
270     * @return Smartyer
271     */
272    public function display($template = null)
273    {
274        echo $this->fetch($template);
275        return $this;
276    }
277
278    /**
in 
phar:///homepages/21/d595234059/htdocs/compta/plugins/vues_analytiques.tar.gz/www/admin/projets.php:59
→ KD2\Smartyer->display (1 arg.)
$template
string(99) 
"phar:///homepages/21/d595234059/htdocs/compta/plugins/vues_analytiques.tar.gz/templates/projets.tpl"
55$tpl->assign('analytical_type', Account::TYPE_ANALYTICAL);
56$tpl->assign('analytical_accounts_count', CURRENT_YEAR_ID ? 
$current_year->accounts()->countByType(Account::TYPE_ANALYTICAL) : null);
57$tpl->assign(compact('resultats', 'liability_sum',
'asset_sum', 
'by_year', 'by_projects', 'synth'));
58
59$tpl->display(PLUGIN_ROOT . '/templates/projets.tpl');
in .../include/lib/Garradin/Plugin.php:224
→ include (1 arg.)
0
string(99) 
"phar:///homepages/21/d595234059/htdocs/compta/plugins/vues_analytiques.tar.gz/www/admin/projets.php"
220            // Créer l'environnement d'exécution du plugin
221            $plugin = $this;
222            global $tpl, $config, $session, $form;
223
224            include $this->path() . '/www/' . $file;
225        }
226        else
227        {
228            // Récupération du type MIME à partir de l'extension
in .../www/admin/plugin.php:18
→ Garradin\Plugin->call (1 arg.)
$file
string(17) "admin/projets.php"
14
15$tpl->assign('plugin', $plugin->getInfos());
16$tpl->assign('plugin_root', PLUGIN_ROOT);
17
18$plugin->call('admin/' . $page);
19
in .../www/_route.php:42
→ require (1 arg.)
0
string(24) ".../www/admin/plugin.php"
38elseif (preg_match('!/admin/plugin/(.+?)/(.*)!', $uri, $match))
39{
40    $_GET['_p'] = $match[1];
41    $_GET['_u'] = $match[2];
42    require __DIR__ . '/admin/plugin.php';
43}
44elseif (preg_match('!/f/([\d\w]+)/(.+)!', $uri, $match))
45{
46    $_GET['id'] = $match[1];
Context
id    56piwkkw
date    2021-02-11T03:59:21+01:00
os    Linux
language    PHP 7.4.15
environment    development
php_sapi    cgi-fcgi
remote_ip    89.94.107.45
http_method    GET
files_sent    array(0) { }
rootDirectory    /homepages/21/d595234059/htdocs/compta
garradin_data_root    /homepages/21/d595234059/htdocs/compta
garradin_version    1.0.5
url https://compta.ccag42.org/admin/plugin/vues_analytiques/projets.php







Le 08/02/2021 à 05:01, adresse riseup a écrit :
> J'ai rajouté une petite vue au plugin qui permet de générer un
diagramme
> de Sankey à partir des données comptables.
>
> Pour celleux que ça intéresse : ça parcourt l'ensemble des projets
dans
> le plan comptable actuel, récupère les produits/charges de leur compte
> de résultat, s'il y a des comptes des charges/produits réfléchis
> (configurable en renseignant leur id) dedans qui vont d'un projet à
> l'autre, ben ça les prend aussi en compte.
>
> La génération du diagramme est fait en intégrant directement SankeyMATIC
> que j'ai traduit dans la page.
>
> Il y a quelques options en plus, c'est un peu brut mais fait le taf. Je
> joins un exemple de ce que ça peut donner.
>
> Le problème principal, c'est qu'il y a des limitations dûes à
> SankeyMatic/D3 par rapport à la génération du diagramme, et la
> disposition des noeuds qui peut changer radicalement selon l'ordre des
> paramètres et tout ça, qui fait que c'est compliqué de faire en sorte
> que les comptes soient rangés automatiquement de telle ou telle manière :/
>
> Voilà, si jamais ça en intéresse, hésitez pas à faire des retours.
> Ou s'il y a des expert·es en diagrammes de Sankey et qui connaissent
> d'autres solutions simples pour en générer de manière plus
consistante,
> je prends :)
>
>
> adresse riseup:
>> Holà,
>>
>> J'ai écrit un petit plugin aujourd'hui, que j'ai
originalement
>> appelé « Vues analytiques » qui rajoute 2 vues qui me permettent
d'y
>> voir plus clair :
>>
>> - Une où l'on peut sélectionner une recherche enregistrée, puis
une
>> plage temporelle, et on obtient le résultat de cette recherche
>> découpée par mois (pratique pour présenter un compte de résultat
>> plus détaillé)
>>
>> - Une qui synthétise la vue des projets, en gardant seulement la
>> ligne total et en se débarrassant des lignes de chaque exercice, et
>> en rajoutant les sommes des comptes de résultats
>>
>>
>> Dans l'idée, je rajouterais bien une autre vue spécialement pour
>> détailler les comptes de résultats, pour que ça soit plus
>> présentable, et pour avoir les soldes cumulés par mois séparément
>> des produits et des charges, et tout ça.
>>
>> Ça se trouve ici :
>>
>> https://gitlab.com/ramoloss/garradin-plugin-vues-analytiques
>>

Plugin Vues analytiques - Diagrammes de Sankey

adresse riseup

11/02/2021 21:58:19

Fred C.:> Hello,
> 
> Je viens de tester ce plugin et j'arrive sur cette page lorsque j’accède

> à la vue projet synthétique.
> 
> Une erreur s'est produite
> PHP error
> Notice: Undefined offset: 330
> 

Hm, j'avoue que j'arrive pas trop à voir pourquoi ça pourrait se produire.
Est-ce que tu peux vérifier que le compte avec l'id 330 (id, pas code) a
des écritures, et qu'il est bien positionné en compte favori analytique ?

Ce qui a l'air de se passer, c'est que la méthode
Reports::getAnalyticalSums() a l'air de renvoyer un id de compte de
projets que Accounts::listAnalytical() ne renvoie pas, ce que je capte
pas tout à fait

Plugin Vues analytiques - Diagrammes de Sankey

adresse riseup

11/02/2021 22:00:01

adresse riseup:
> Hm, j'avoue que j'arrive pas trop à voir pourquoi ça pourrait se
produire.
> Est-ce que tu peux vérifier que le compte avec l'id 330 (id, pas code) a
> des écritures, et qu'il est bien positionné en compte favori analytique
?
> 
> Ce qui a l'air de se passer, c'est que la méthode
> Reports::getAnalyticalSums() a l'air de renvoyer un id de compte de
> projets que Accounts::listAnalytical() ne renvoie pas, ce que je capte
> pas tout à fait

Ah si, j'ai une piste :)
Est-ce que ça serait pas un compte de projet d'un autre plan comptable ?

Je pense que ça doit être ça, je vais essayer de bidouiller à un moment
pour que ça fonctionne

Plugin Vues analytiques - Diagrammes de Sankey

adresse riseup

11/02/2021 22:16:03

adresse riseup:
> 
> Ah si, j'ai une piste :)
> Est-ce que ça serait pas un compte de projet d'un autre plan comptable ?
> 
> Je pense que ça doit être ça, je vais essayer de bidouiller à un moment
> pour que ça fonctionne

Ça devrait être bon, tu peux télécharger la nouvelle version :)

https://gitlab.com/ramoloss/garradin-plugin-vues-analytiques/-/releases/0.3.1

Plugin Vues analytiques - Diagrammes de Sankey

Fred C.

12/02/2021 08:05:00

Merci riseup,

C'est bien ça, j'ai un ancien plan comptable pour mes anciens exercices.
Je testerai ce soir

A+

Le 11/02/2021 à 22:15, adresse riseup a écrit :
> adresse riseup:
>> Ah si, j'ai une piste :)
>> Est-ce que ça serait pas un compte de projet d'un autre plan comptable
?
>>
>> Je pense que ça doit être ça, je vais essayer de bidouiller à un
moment
>> pour que ça fonctionne
> Ça devrait être bon, tu peux télécharger la nouvelle version :)
>
> https://gitlab.com/ramoloss/garradin-plugin-vues-analytiques/-/releases/0.3.1
>

Plugin Vues analytiques - Diagrammes de Sankey

Fred C.

12/02/2021 20:10:52

C'est parfait!
Tout fonctionne

Le 11/02/2021 à 22:15, adresse riseup a écrit :
> adresse riseup:
>> Ah si, j'ai une piste :)
>> Est-ce que ça serait pas un compte de projet d'un autre plan comptable
?
>>
>> Je pense que ça doit être ça, je vais essayer de bidouiller à un
moment
>> pour que ça fonctionne
> Ça devrait être bon, tu peux télécharger la nouvelle version :)
>
> https://gitlab.com/ramoloss/garradin-plugin-vues-analytiques/-/releases/0.3.1
>