17.8.3 Rapports

Les rapports (famille REPORT) héritent de la famille recherche détaillée (famille DSEARCH).

17.8.3.1 Création d'un rapport

17.8.3.1.1 Critères de recherche

L'enregistrement de la requête est identique à celle de la recherche détaillée.

use \Dcp\AttributeIdentifiers as Attribute;
 
/**
 * @var \Dcp\Family\Report $report
 */
$report = createDoc("", \Dcp\Family\Report::familyName);
 
$report->setAttributeValue(Attribute\Report::ba_title, "Report With toview Tag");
$report->setAttributeValue(Attribute\Report::se_famid, \Dcp\Family\Iuser::familyName);
$report->setAttributeValue(Attribute\Report::ba_title, "Report on Active Users with email");
$criteria = array(
    array(Attribute\Report::se_attrids => Attribute\Iuser::us_status,
          Attribute\Report::se_funcs => "=",
          Attribute\Report::se_keys => "A"),
    array(Attribute\Report::se_attrids => Attribute\Iuser::us_extmail,
          Attribute\Report::se_funcs => "is not null",
          Attribute\Report::se_keys => "")
);
$report->setAttributeValue(Attribute\Report::se_t_detail, $criteria);

17.8.3.2 Présentation du rapport

Les colonnes à afficher sont indiquées par l'attribut rep_idcols. Cet attribut doit contenir un identifiant d'attribut ou de propriété.

$columns = array(
    array(Attribute\Report::rep_lcols => "Utilisateurs",
          Attribute\Report::rep_idcols => "title",
          Attribute\Report::rep_foots => "CARD"),
    array(Attribute\Report::rep_lcols => "Utilisateurs",
          Attribute\Report::rep_idcols => Attribute\Iuser::us_whatid),
    array(Attribute\Report::rep_lcols => "Courriel",
          Attribute\Report::rep_idcols => Attribute\Iuser::us_mail),
    array(Attribute\Report::rep_lcols => "Groupes",
          Attribute\Report::rep_idcols => Attribute\Iuser::us_idgroup),
    array(Attribute\Report::rep_lcols => "Identifiant groupes",
          Attribute\Report::rep_displayoption => "docid",
          Attribute\Report::rep_idcols => Attribute\Iuser::us_idgroup)
);
 
$report->setAttributeValue(Attribute\Report::rep_tcols, $columns);
$report->setAttributeValue(Attribute\Report::rep_style, "standard1");
$report->store();

L'attribut rep_lcols (libellé) n'est pas utilisé lors de la génération. Le libellé affiché correspond au libellé de l'attribut ou de la propriété.

Pour le cas particulier des attribut de type docid et de type account, si l'attribut rep_displayoption vaut docid, alors ce sont les identifiants des documents qui sont affichés au lieu des titres des documents.

Pour la propriété title, des précautions doivent être prise en cas de surcharge du titre.

×