...
Bloc de code | ||
---|---|---|
| ||
WebhookDefinitionOverload_xxx
// WebhookDefinitionOverload_xxx
// @Description => Overload webhook definition
languageCode = VARGET_SHELL( "languageCode", "WebhookDefinition" )
specificOverload = TRANSLATE( "
{
'extendedFieldsListToExclude': '',
'simpleFieldsList': '',
'relatedTablesCount': '',
'relatedTables': [],
'authorizedTables': [],
'cascadeDeleteTables': [],
'fieldsList': {
},
strictFilters: [
],
'strictOrderBy': [
],
'outOfMainTableFields': [
]
}
" )
RETURN( "<varscript>specificOverload</varscript>" ) |
...
Bloc de code | ||
---|---|---|
| ||
'relatedTablesCount': xx, 'relatedTables': [ 'fieldFK1', 'fieldFK2', '...' ] |
Exemple
Le standard liste les champs generictype_ID_customerFamily, baseuser_ID et generictype_ID_country.
...
Bloc de code | ||
---|---|---|
| ||
'relatedTablesCount': 4, 'relatedTables': [ 'generictype_ID_customerFamily', 'baseuser_ID', 'generictype_ID_country', 'final_pricecategory_ID_tarCod' ] |
La liste proposée par le standard ne me convient pas et je ne veux afficher que les valeurs liées pour generictype_ID_customerFamily complété par le champ final_pricecategory_ID_tarCod.
Bloc de code | ||
---|---|---|
| ||
'relatedTablesCount': 2, 'relatedTables': [ 'generictype_ID_customerFamily', 'final_pricecategory_ID_tarCod' ] |
Liste des tables autorisées pour mise à jour additionnelle
...
Bloc de code | ||
---|---|---|
| ||
'authorizedTables': [{'tableName':'mainTableName'}, {'tableName':'additionalTableName1'}, {'tableName':'additionalTableName2'}, {'tableName':'....'}] |
Exemple
Pour le webhook des interventions, le standard autorise les table suivantes : intervention, interventionequipment et interventionpart.
...
Bloc de code | ||
---|---|---|
| ||
'authorizedTables': [{'tableName':'intervention'}, {'tableName':'interventionequipment'}, {'tableName':'interventionpart'}, {'tableName':'interventionoperationrange'}] |
Liste des tables pour suppression en cascade
...
Bloc de code |
---|
'strictOrderBy': [ { 'name': '...', 'fields': [ { 'table': '...' 'field': '...', 'order': '...' }, { 'table': '...' 'field': '...', 'order': '...' }, { ... }] }, { 'name': '...', 'fields': [ { 'fieldtable': '...', 'orderfield': '...', }, {'order': '...' }, { ... }] }] |
Description syntaxe
...
Ordre | Description |
---|---|
asc | tri ascendant |
desc | tri descendant |
Les tris ne sont possibles que sur les champs de la table principale du webhooktable (optionnel) : nom de la table liée sur laquelle on veut faire le tri. Ne pas utiliser si le tri est effectué sur un champ de la table principale. Ne peut être utilisé que si un champ est déjà lu dans la table liée (selon type “simple” ou “extended”). Pour le type “simple”, les tris sur des tables liées ne seront donc pas forcément tous disponibles.
Exemples
Je veux trier mes clients sur les champs standards « Code postal » (postalCode) et « Ville » (city) de manière ascendante :
Bloc de code |
---|
'strictOrderBy': [
{
'name': 'postalCodeAscCityAsc',
'fields': [
{
'field': 'postalCode',
'order': 'asc'
},
{
'field': 'city',
'order': 'asc'
}]
}] |
-> Appel webhook avec le tri :
...
Bloc de code |
---|
'strictOrderBy': [
{
'name': 'vacationEndDescNameASc',
'fields': [
{
'field': 'vacationEnd',
'order': 'desc'
},
{
'field': 'name',
'order': 'asc'
}]
}] |
-> Appel webhook avec le tri :
...
Bloc de code |
---|
'strictOrderBy': [
{
'name': 'CapitalDesc',
'fields': [
{
'field': 'v_A101',
'order': 'desc'
}]
}] |
-> Appel webhook avec le filtre :
Bloc de code | ||
---|---|---|
| ||
"orderBy": "CapitalDesc" |
Je veux trier mes clients sur un champ d’une autre table « Catégorie client » (codepricecategory) ascendant et sur le « Nom » (name) ascendant :
Info |
---|
Attention ici ce tri ne peut être utilisé que si l’interrogation est effectué pour un type “extended” Pour une utilisation pour un type “simple”, il faudrait ajouter le champ “pricecategory_ID” dans la propriété simpleFieldsList |
Bloc de code |
---|
'strictOrderBy': [
{
'name': 'codePriceCategoryAscNameAsc',
'fields': [
{
'table': 'pricecategory',
'field': 'codepricecategory',
'order': 'asc'
},
{
'field': 'name',
'order': 'asc'
}]
} |
-> Appel webhook avec le filtre :
Bloc de code | ||
---|---|---|
| ||
"orderBy": "codePriceCategoryAscNameAsc" |
Je veux trier mes clients sur champ d’une autre table « Type générique - Pays » (originalCode) ascendant et sur le « Nom » (name) ascendant :
Bloc de code |
---|
'strictOrderBy': [
{
'name': 'codeCountryAscNameAsc',
'fields': [
{
'table': 'generictype_country',
'field': 'originalCode',
'order': 'asc'
},
{
'field': 'name',
'order': 'asc'
}]
} |
-> Appel webhook avec le filtre :
Bloc de code | ||
---|---|---|
| ||
"orderBy": "codeCountryAscNameAsc" |
Surcharge des règles métier
...