4D Write Pro – Un assistant pour créer des tableaux avec des données

Au cours des dernières versions de 4D Write Pro, de nombreuses fonctionnalités liées aux tables ont été ajoutées. Vous pouvez facilement créer des tableaux basées sur les données de la base de données en utilisant des contextes, des sources de données et des formules.

C’est tellement facile que beaucoup d’entre vous souhaitent laisser vos utilisateurs finaux utiliser cette fonctionnalité telle quelle. Mais nous comprenons que cela peut parfois représenter un défi pour les utilisateurs qui n’ont pas été formés au formatage des sources de données ou des formules pour les différents éléments des tableaux. Pour y remédier, nous avons développé une solution livrée avec 4D v20 R2 : le tout nouvel assistant de tableau.

L’assistant est à la disposition des utilisateurs finaux ; ils peuvent bénéficier de modèles adaptés à leur utilisation et à leur métier fournis par le développeur. La configuration des modèles permet de :

  • définir la dataclass et les attributs de la dataclass,
  • traduire la dataclass, les attributs de la dataclass et les noms de formules,
  • préparer des formules adaptées à l’entreprise,
  • concevoir des styles graphiques.

 

Poursuivez votre lecture pour en savoir plus, et n’oubliez pas de consulter l’HDI et de regarder la vidéo bonus qui vous guide à travers les différentes possibilités.

HDI : Assistant de tableau

Interface de l’assistant de tableau WP

L’utilisateur peut accéder à l’assistant via le menu « Insérer un tableau » dans la barre d’outils ou la barre latérale.

Create a new table menu

L’interface est assez simple et étonnante. L’utilisateur sélectionne un modèle ou une table et un thème. Ensuite, il selectionne les champs à afficher en tant que colonnes. Il peut également trier les colonnes. Ensuite, il peut définir le nombre de lignes d’en-tête, de lignes de résumé placées au-dessus ou au-dessous des données, et de lignes supplémentaires. Puis, il choisit les formules à afficher dans les lignes de résumé ou les lignes supplémentaires. Enfin, il clique sur le bouton « Insérer » pour ajouter le tableau au document WP.

blank

Une fois le tableau intégré au document, l’utilisateur peut modifier ou personnaliser son style. Les outils de formatage de la barre d’outils et de la barre latérale sont toujours disponibles.

Voici une vidéo pour démontrer les possibilités :

Vous pouvez télécharger l’HDI et reproduire l’exemple de la vidéo.

Comment configurer

L’assistant se compose de 3 types de fichiers de configuration.

Fichiers modèles

Le fichier modèle permet de définir les éléments suivants :

  • la formule qui renvoie une sélection d’entités utilisée comme source de données de la table,
  • les attributs de la dataclass qui peuvent être utilisés comme colonnes de la table,
  • la formule pour les lignes de résumé,
  • les formules pouvant être utilisées dans le menu contextuel d’une ligne de résumé,
  • les formules pouvant être utilisées dans le menu contextuel d’une ligne de report,
  • et les formules pouvant être utilisées dans un menu contextuel de ligne supplémentaire.

 

Les fichiers modèles doivent être stockés dans le dossier « Resources/4DWP_Wizard/Templates » de votre projet.

Voici un bref exemple de ce à quoi votre fichier pourrait ressembler :

{
   "tableDataSource" : "ds.People.all().orderBy(\"toCompany.name asc, continent asc, country asc, city asc")",
    "columns" : [{
            "check" : true,
            "header" : "Firstname",
            "source" : "This.item.firstname"
        }, {
            "check" : true,
            "header" : "Lastname",
            "source" : "This.item.lastname"
        }, {
            "check" : true,
            "header" : "Salary",
            "source" : "String(This.item.salary;\N-"###,###.00\")"
        }
    ],
   "breaks" : [{
            "label" : "Company",
            "source" : "This.item.toCompany.name"
        }
    ],
   "breakFormulas" : [{
            "label" : "Company",
            "source" : "This.item.toCompany.name"
	}, {
            "label" : "Sum of salary",
            "source" : "String(This.breakItems.sum(\N "salaire") ; \N "###,###.00")"
        }
    ],
   "bcorFormulas" : [{
            "label" : "Sum of salary",
            "source" : "String(This.tableData.sum(\N "salaire") ; \N "###,###.00")"
        }
    ],
   "extraFormulas" : [{
            "label" : "Sum of salary",
            "source" : "String(This.tableData.sum(\N "salaire") ; \N "###,###.00")"
        }
    ]
}

Consultez cette page de documentation détaillée pour en savoir plus sur le format JSON et les noms d’attributs.

Fichiers de traduction

Les fichiers de traduction sont utilisés pour traduire les noms des modèles, des thèmes, des tables, des champs et des formules, si nécessaire. Vous devez les ajouter au dossier « Resources/4DWP_Wizard/Translations » de votre projet.

Si l’utilisateur sélectionne une classe de données dans l’interface. Le fichier de traduction a une deuxième fonction. Il peut filtrer la dataclass et les attributs de la dataclass proposés à l’utilisateur. Par exemple, pour cacher les ID des dataclass.

Note : Ce comportement est similaire aux commandes SET TABLE TITLES et SET FIELD TITLES pour ceux qui connaissent le langage classique.

Voici un exemple de fichier de traduction :

{
    "tables" : [{
            "original" : "People",
            "translation" : "Personne"
        }
    ],
   "fields" : [{
            "original" : "lastname",
            "translation" : "Nom"
        }, {
            "original" : "firstname",
            "translation" : "Prénom"
        }, {
            "original" : "salary",
            "translation" : "Salaire"
        }, {
            "original" : "company",
            "translation" : "Société"
        }
    ],
   "formulas" : [{
            "original" : "Sum of salary",
            "translation" : "Somme des salaires"
        }
    ]
}

Dans la documentation, tous les attributs possibles sont listés et expliqués.

Fichiers de thèmes

Une liste de thèmes est fournie par défaut dans le composant 4D Write Pro Interface. Cependant, vous pouvez créer votre propre thème en les plaçant dans le dossier « Resources/4DWP_Wizard/Themes » de votre projet.

Les fichiers de thème vous permettent de définir les attributs WP suivants pour l’en-tête, les données, le report, le résumé et les lignes supplémentaires :

  • textAlign 
  • backgroundColor 
  • borderColor 
  • borderStyle 
  • borderWidth 
  • font 
  • color 
  • fontFamily 
  • fontSize 
  • padding

 

Voici également un exemple de fichier de thème:

{
   "default" : {
           "backgroundColor" : "#F0F0F0",
           "borderColor" : "#101010",
           "borderStyle" : 1,
           "borderWidth" : "0.5pt",
           "font" : "Times New Roman",
           "color" : "#101010",
           "fontFamily" : "Times New Roman",
           "fontSize" : "7pt",
           "padding" : "2pt"
    },
   "table" : {
           "backgroundColor" : "#E1EAF3"
    },
   "header1" : {
           "textAlign" : 2,
           "borderColor" : "#41548F",
           "borderWidth" : "1.5pt",
           "backgroundColor" : "#979BA9",
           "color" : "#F4F4FF",
           "font" : "Times New Roman Bold"
    },
   "data" : {
           "fontSize" : "13pt",
           "textAlign" : 0
    },
   "break1" : {
           "textAlign" : 2,
           "fontSize" : "15pt"
    }
}

Comme pour les autres fichiers, la grammaire JSON est disponible dans la documentation.

Suite…

L’assistant WP table fait partie du composant 4D Write Pro Interface. Les sources sont disponibles sur Github si vous souhaitez faire des adaptations.
N’hésitez pas à partager vos impressions ou vos retours sur le forum.

Vanessa Talbot
- Product Owner -Vanessa Talbot a rejoint l'équipe du programme 4D en juin 2014. En tant que Product Owner, elle est chargée de rédiger les user stories puis de les traduire en spécifications fonctionnelles. Son rôle est également de s'assurer que l'implémentation des fonctionnalités livrées répond aux besoins des clients.Depuis son arrivée, elle a travaillé à la définition des fonctionnalités clés de 4D. Elle a travaillé sur la plupart des nouvelles fonctionnalités de multithreading préemptif et aussi sur un sujet très complexe : la nouvelle architecture pour les applications enginées. Vanessa est diplômée de Telecom Saint-Etienne. Elle a commencé sa carrière à l'Institut de Recherche Criminelle en tant que développeur pour le département audiovisuel. Elle a également travaillé dans les domaines des médias et du médical en tant qu'experte en support technique, en production ainsi qu'en documentation de nouvelles fonctionnalités.