You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2019-11-01 18:06:18

dude87
Member
Registered: 2019-10-02
Posts: 2

Reports - Rapport financier

Bonjour,

J'ai installé GLPI avec une entité racine et plusieurs sous-entités qui représentent les compagnies que l'on gère.

Je souhaites créer un rapport personnalisé avec le plugin Reports afin de pouvoir extraire, pour chaque entité, les informations suivantes pour les type d'équipement Computers, Monitors, Network devices, Peripherals, Printers, Phone:
- Budget (info financière)
- Startup date (info financière)
- Value (info financière)
- Comment (info financière)
- Info relatives à l'équipement (type, serial, inventory number)

J'ai affiché la liste déroulante concernant les entités dans mon rapport mais dès que je choisis un entité autre que l'entité racine je n'ai plus aucun résultat (alors que j'ai des éléments dans les sous-entités). Je ne m'en sors pas vraiment avec ces rapports et j'aurais besoin d'aide.

Mon but final étant de pouvoir obtenir un rapport financier par entité pour tout type d'équipements confondus.

Merci d'avance de votre aide.

Offline

#2 2019-11-12 10:40:14

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,273

Re: Reports - Rapport financier

Comment avez-vous écrit votre rapport ? Pour quelle version de GLPI et du plugin Report ?


CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6  - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

#3 2019-11-12 10:50:42

dude87
Member
Registered: 2019-10-02
Posts: 2

Re: Reports - Rapport financier

J'ai essayé d'adapter un rapport existant. J'utilise la version 9.4.3 de GLPI et 1.13.1 de Reports.

Voici mon code mais il n'est pas abouti. Ce que je ne comprends pas c'est pourquoi dès que je choisis un sous-entité de mon entité racine, je n'ai plus aucun résultat.

<?php

$USEDBREPLICATE         = 1;
$DBCONNECTION_REQUIRED  = 0;

include ("../../../../inc/includes.php");

$dbu = new DbUtils();

//TRANS: The name of the report = Search in the financial information (plural)
$report = new PluginReportsAutoReport(__('Stock report', 'reports'));

//Report's search criterias
new PluginReportsDateIntervalCriteria($report, 'use_date', __('Startup date'));
new PluginReportsDropdownCriteria($report, 'entities_id', 'glpi_entities', __('Company'));
new PluginReportsDropdownCriteria($report, 'budgets_id', 'glpi_budgets', __('Budget'));

//Display criterias form is needed
$report->displayCriteriasForm();

//If criterias have been validated
if ($report->criteriasValidated()) {

   // Report title
   $report->setSubNameAuto();

   // Report Columns
   $cols = [new PluginReportsColumn('company', __('Company')),
			new PluginReportsColumn('budget', __('Budget')),
			new PluginReportsColumnDate('use_date', __('Startup date')),
			new PluginReportsColumn('value', __('Value')),
            new PluginReportsColumn('itemtype', __('Item type')),
            new PluginReportsColumn('comment', __('Comment'))];
   $report->setColumns($cols);

   // Build SQL request
   $sql = "SELECT
				`glpi_entities`.`name` AS company,
				`glpi_budgets`.`name` AS budget,
				`glpi_infocoms`.`use_date`,
				`glpi_infocoms`.`value`,
				`glpi_infocoms`.`itemtype`,
				`glpi_infocoms`.`comment`
			FROM `glpi_infocoms`
			LEFT JOIN `glpi_computers` ON `glpi_infocoms`.`items_id` = `glpi_computers`.`id` AND `glpi_infocoms`.`itemtype` = 'Computer'
			LEFT JOIN `glpi_peripherals` ON `glpi_infocoms`.`items_id` = `glpi_peripherals`.`id` AND `glpi_infocoms`.`itemtype` = 'Peripheral'
			LEFT JOIN `glpi_monitors` ON `glpi_infocoms`.`items_id` = `glpi_monitors`.`id` AND `glpi_infocoms`.`itemtype` = 'Monitor'
			LEFT JOIN `glpi_networkequipments` ON `glpi_infocoms`.`items_id` = `glpi_networkequipments`.`id` AND `glpi_infocoms`.`itemtype` = 'NetworkEquipment'
			LEFT JOIN `glpi_printers` ON `glpi_infocoms`.`items_id` = `glpi_printers`.`id` AND `glpi_infocoms`.`itemtype` = 'Printer'
			LEFT JOIN `glpi_phones` ON `glpi_infocoms`.`items_id` = `glpi_phones`.`id` AND `glpi_infocoms`.`itemtype` = 'Phone'
			LEFT JOIN `glpi_budgets` ON `glpi_infocoms`.`budgets_id` = `glpi_budgets`.`id`
			LEFT JOIN `glpi_entities` ON `glpi_infocoms`.`entities_id` = `glpi_entities`.`id`
			WHERE `glpi_infocoms`.`budgets_id` <> '0'
			 ".$report->addSqlCriteriasRestriction()."
			ORDER BY `glpi_entities`.`name`,`glpi_budgets`.`name`";
   	
   $report->setSqlRequest($sql);
   $report->execute();

} else {
   Html::footer();
}

Offline

#4 2019-11-12 13:51:20

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,273

Re: Reports - Rapport financier

Le problème vient du $report->addSqlCriteriasRestriction()
En effet, il va uniquement mettre dans le where "entities_id = xxx" mais vu que dans votre requete vous avez plusieurs tables avec ce champ, pour SQL entities_id est ambigû.

Donc il faut modifier la définition de votre dropdown des entités
new PluginReportsDropdownCriteria($report, 'glpi_infocoms.entities_id', 'glpi_entities', __('Company'));


CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6  - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

Board footer

Powered by FluxBB