...
Bloc de code |
---|
{ "Type": "infinityGraphSource", "Mapping": { "AbscissLabelField": "abscissLabel", "AbscissValueField": "abscissValue" }, "Module": "gttmdashboard001.dhop", "Function": "art_graph_TopFournisseurs" } |
WIDGET graphique
Nommage : codeModule + '_' + famille + typeWidget + codeWidget + “.widget.json”
par exemple gt_art_graph_TopFournisseurs.widget.json
indique le type de rendu/layout, et les informations d’affichage comme le titre, les libellés, la taille des colonhnes. Sert au binding entre le retour de la fonction diva et le rendu visuel
La balise ‘Label’ contient le nom qui sera affiché à l’utilisateur
Autres balises : ouvrir un widget qui a le même rendu visuel et en copier la structure
Exemple de contenu gt_art_graph_TopFournisseurs.widget.json
Bloc de code | ||
---|---|---|
| ||
{ "Children": { "graphTest": { "Type": "graph", "Title": "Nombre affaires / opportunités en cours utilisant mon article réparti par type d'arborescence d'affaire", "DataSource": "gt_art_graph_AffairesBesoin_Arbo", "Series": [ { "Label": "EvtCrm", "ValueField": "PieValue", "GraphType": "donut" } ] } }, "Label": "Nombre affaires / opportunités en cours utilisant mon article réparti par type d'arborescence d'affaire", "Icon": "chart-line", "Description": "Nombre affaires / opportunités en cours utilisant mon article réparti par type d'arborescence d'affaire", "ColSpan": 6, "RowSpan": 2 } |
Fichier JSON catalogue
Un catalogue de widgets est un fichier JSON qui liste les widgets disponibles dans ce catalogue.
Nommage : codeModule + '_' + famille + codeCatalogue + “.catalog.json”
par exemple gt_art_vente.catalog.json
liste les widgets entités, pour chaque entité
La balise ‘Label’ contient le nom qui sera affiché à l’utilisateur
La balise ‘WidgetNames' liste les fichiers JSON widget (sans extension)
Exemple de contenu gt_art_vente.catalog.json
...
language | json |
---|
...
WIDGET au format DataReader
Bloc de code |
---|
{ "Children": { "widgetDatareader": { "Type": "datareader", "DataSource": "rc_d2_list_GestionBanq", "Children": { "WidgetNamesjournal": [{ "gt_art_list_PceVentesType": "textbox", "gt_art_list_tarif_vente", "gt_art_graph_TopClientsLabel": "Journal de banque" ] } |
Autre exemple gt_art_prod.catalog.json
Bloc de code | ||
---|---|---|
| ||
{ "Label": "Production", "WidgetNames": [ "gt_art_metric_OF", ] } |
Info |
---|
Les fichiers nommés HOME_xxx.catalog.json sont les catalogues pour l’IA, ajoutés pour l’interface d’accueil one uniquement ; ils ont la même structure |
Les catalogues pour IA utilisent le même principe, mais sont nommés par ‘home_’ + CodeGroupe + “.catalog.json”
Exemple home_crm.catalog.json
Bloc de code | ||
---|---|---|
| ||
{ "Label": "CRM", "WidgetNames": [ "WIPROJET", "WIGRAPHEVTQFAM", "WIAPPOINTMENT", }, "transmission": { "Type": "textbox", "Label": "Transmission bancaire" }, "dailly": { "Type": "textbox", "Label": "Plafond cession Dailly" }, "frais": { "Type": "textbox", "Label": "Frais d'impayé" }, "limite": { "Type": "textbox", "Label": "Limite de décaissement" } } "WITASK" ] } |
Fichier JSON dashboard pour entité
Un dashboard de widgets est un fichier JSON qui indique quels sont les catalogues de widgets disponibles pour une entité, et quels sont ceux du dashboard par défaut (visible dans le tableau de bord d’un zoom one d’une entité)
Exemple : gtez000_sql.dashboard.json
Bloc de code | ||
---|---|---|
| ||
{
"CatalogNames": [
"gt_art_prod",
"gt_art_Ddb",
"gt_art_AffInd",
"gt_art_stock",
"gt_art_achat",
"gt_art_vente"
],
"Views": {
"Default": {
"Label": "Article",
"Tiles": {
"gt_art_list_infos": {},
"gt_art_list_caracteristiques": {},
"gt_art_list_infostat": {},
"gt_art_list_infostatstock": {},
"gt_art_list_tarif_achat": {},
"gt_art_list_tarif_vente": {},
"gt_art_list_fournisseur_principal": {},
"gt_art_list_PceAchats": {},
"gt_art_list_PceVentes": {},
"gt_art_graph_TopClients": {},
"gt_art_graph_TopFournisseurs": {},
"gt_art_graph_EntreesSorties_line": {},
"gt_art_graph_EntreesSorties_bar": {},
"gt_art_metric_OF": {},
"gt_art_metric_DA": {},
"gt_art_metric_AO": {},
"gt_art_graph_StockParDepot_bar": {},
"gt_art_graph_DispoStock_line": {},
"gt_art_grid_FouRef": {},
"gt_art_grid_PrixVente": {}
}
}
}
} |
Fichier JSON dashboard pour IA
Un dashboard de widgets est un fichier JSON qui indique quels sont les catalogues de widgets disponibles. Le principe est identique aux entités, mais il y a une fichier unique qui indique tous les catalogues disponibles danbs l’interface d’accueil.
Le fichier unique est : home.component.json
Bloc de code | ||
---|---|---|
| ||
{ "Type": "page", "Title": { "Label": "Bienvenue" }, "Children": { "dashboard": { "Type": "dashboard", "CatalogNames": [ "__INFINITY__", "home_cc", "home_rc", "home_services", "home_crm", "home_admin", "home_stocks", "home_achat", "home_vente", "home_qualite", "home_production", "home_ddb", "home_affind" ], "Views": { "Default": { "Label": "Default", "Tiles": { } } } } } } } }, "Label": "Gestion bancaire", "Icon": "list", "Description": "Gestion bancaire", "ColSpan": 5, "RowSpan": 1 } |
Harmony : code correspondant
Bloc de code |
---|
Function Char d2_List_GestionBanq(DataSourceName, ZoomId, ZoomPage, ZoomEntityId)
1 DataSourceName S
1 ZoomId L
1 ZoomPage S
1 ZoomEntityId L
Record ddsys.dhsd ListWidget Widget
RecordSQL rcrsebctab.dhoq COMPTEBQE RS_CompteBqe
1 Cond S
1 idReader L
BeginF
Load_C3_ID(ZoomEntityId, allcolumns = true)
C3 = Get_C3_Record()
widget = InitListWidget()
ReaderOpen_CompteBqe(Rs_CompteBqe, IdReader)
CC_ClearAllCondition(Rs_CompteBqe)
Cond = ' '
Rs_CompteBqe.Where.Equal_Cpt(C3.CPT) | Rs_CompteBqe.Where.Equal_Cpt.AddAndCondition(Cond)
Rs_CompteBqe.Where.AddCondition('Iban', Cond)
ReaderSelect_CompteBqe(Rs_CompteBqe, IdReader)
ReaderNext_CompteBqe(Rs_CompteBqe, IdReader)
ListWidgetNewRow(widget)
ListWidgetAddToCurrentRow(widget, "journal", NoSpaces(Rs_CompteBqe.JNL))
ListWidgetAddToCurrentRow(widget, "transmission", NoSpaces(Rs_CompteBqe.EmeNo))
ListWidgetAddToCurrentRow(widget, "dailly", Rs_CompteBqe.DaillyMt)
ListWidgetAddToCurrentRow(widget, "frais", Rs_CompteBqe.MtImp)
ListWidgetAddToCurrentRow(widget, "Limite", Rs_CompteBqe.DecaissMt)
ReaderClose_CompteBqe(Rs_CompteBqe, IdReader)
FReturn CreateListWidget(widget)
EndF |
si, dans certain cas, le Widget peut ne rien afficher (exemple : un Widget lié aux comptes de banques)
Bloc de code |
---|
if NoSpaces(Rs_CompteBqe.JNL) <> ''
if Rs_CompteBqe.Dev <> ' '
Dev = Rs_CompteBqe.Dev
else
Dev = 'EUR'
endif
ListWidgetNewRow(widget)
ListWidgetAddToCurrentRow(widget, "journal", NoSpaces(Rs_CompteBqe.JNL))
ListWidgetAddToCurrentRow(widget, "transmission", ConvertAmountToString(Rs_CompteBqe.DaillyMt) & ' ' & Dev)
ListWidgetAddToCurrentRow(widget, "dailly", ConvertAmountToString(Rs_CompteBqe.DaillyMt) & ' ' & Dev)
ListWidgetAddToCurrentRow(widget, "frais", ConvertAmountToString(Rs_CompteBqe.MtImp) & ' ' & Dev)
ListWidgetAddToCurrentRow(widget, "Limite", ConvertAmountToString(Rs_CompteBqe.DecaissMt) & ' ' & Dev)
endif |
Fichier JSON catalogue
Un catalogue de widgets est un fichier JSON qui liste les widgets disponibles dans ce catalogue.
Nommage : codeModule + '_' + famille + codeCatalogue + “.catalog.json”
par exemple gt_art_vente.catalog.json
liste les widgets entités, pour chaque entité
La balise ‘Label’ contient le nom qui sera affiché à l’utilisateur
La balise ‘WidgetNames' liste les fichiers JSON widget (sans extension)
Exemple de contenu gt_art_vente.catalog.json
Bloc de code | ||
---|---|---|
| ||
{
"Label": "Vente",
"WidgetNames": [
"gt_art_list_PceVentes",
"gt_art_list_tarif_vente",
"gt_art_graph_TopClients"
]
} |
Autre exemple gt_art_prod.catalog.json
Bloc de code | ||
---|---|---|
| ||
{
"Label": "Production",
"WidgetNames": [
"gt_art_metric_OF",
]
} |
Info |
---|
Les fichiers nommés HOME_xxx.catalog.json sont les catalogues pour l’IA, ajoutés pour l’interface d’accueil one uniquement ; ils ont la même structure |
Les catalogues pour IA utilisent le même principe, mais sont nommés par ‘home_’ + CodeGroupe + “.catalog.json”
Exemple home_crm.catalog.json
Bloc de code | ||
---|---|---|
| ||
{
"Label": "CRM",
"WidgetNames": [
"WIPROJET",
"WIGRAPHEVTQFAM",
"WIAPPOINTMENT",
"WITASK"
]
} |
Fichier JSON dashboard pour entité
Un dashboard de widgets est un fichier JSON qui indique quels sont les catalogues de widgets disponibles pour une entité, et quels sont ceux du dashboard par défaut (visible dans le tableau de bord d’un zoom one d’une entité)
Exemple : gtez000_sql.dashboard.json
Bloc de code | ||
---|---|---|
| ||
{
"CatalogNames": [
"gt_art_prod",
"gt_art_Ddb",
"gt_art_AffInd",
"gt_art_stock",
"gt_art_achat",
"gt_art_vente"
],
"Views": {
"Default": {
"Label": "Article",
"Tiles": {
"gt_art_list_infos": {},
"gt_art_list_caracteristiques": {},
"gt_art_list_infostat": {},
"gt_art_list_infostatstock": {},
"gt_art_list_tarif_achat": {},
"gt_art_list_tarif_vente": {},
"gt_art_list_fournisseur_principal": {},
"gt_art_list_PceAchats": {},
"gt_art_list_PceVentes": {},
"gt_art_graph_TopClients": {},
"gt_art_graph_TopFournisseurs": {},
"gt_art_graph_EntreesSorties_line": {},
"gt_art_graph_EntreesSorties_bar": {},
"gt_art_metric_OF": {},
"gt_art_metric_DA": {},
"gt_art_metric_AO": {},
"gt_art_graph_StockParDepot_bar": {},
"gt_art_graph_DispoStock_line": {},
"gt_art_grid_FouRef": {},
"gt_art_grid_PrixVente": {}
}
}
}
} |
Fichier JSON dashboard pour IA
Un dashboard de widgets est un fichier JSON qui indique quels sont les catalogues de widgets disponibles. Le principe est identique aux entités, mais il y a une fichier unique qui indique tous les catalogues disponibles danbs l’interface d’accueil.
Le fichier unique est : home.component.json
Bloc de code | ||
---|---|---|
| ||
{
"Type": "page",
"Title": {
"Label": "Bienvenue"
},
"Children": {
"dashboard": {
"Type": "dashboard",
"CatalogNames": [
"__INFINITY__",
"home_cc",
"home_rc",
"home_services",
"home_crm",
"home_admin",
"home_stocks",
"home_achat",
"home_vente",
"home_qualite",
"home_production",
"home_ddb",
"home_affind"
],
"Views": {
"Default": {
"Label": "Default",
"Tiles": {
}
}
}
}
}
} |
Information techniques sur le contenu de fichier JSON
La structure et balises JSON sont détaillées dans la documentation en ligne suivante, accessible une fois connecté à un projet : https://weavy.divalto.com/doc/script/index.html
On y trouve par exemple la doc du graph : https://weavy.divalto.com/doc/script/interfaces/GraphModel.html
Ajout de widget en surcharge
...