Hi,
I have written a very simple duplicate validation script that is triggered from a record create event, but it doesn’t work from the automation and it works fine in the extension.
This is the action script code:
// Input variables setup
let inputConfig = input.config();
let clientID = inputConfig.clientID;
let clientName = inputConfig.clientName;
let clientRename = clientName;
// Query Resultset
let table = base.getTable('Clientes');
let view = table.getView('Clientes Duplicados');
let queryResult = await view.selectRecordsAsync({fields: []});
// Duplicate Validation
let regex = /\[+\d+\]/g;
let duplicatesCounter = 0;
for (let record of queryResult.records) {
if (record.name.toLowerCase().replace(regex,'').trim() == clientName.toLowerCase().trim()) {
duplicatesCounter++;
};
}
if (duplicatesCounter > 1) {
clientRename = clientName + " [" + duplicatesCounter + "]";
await table.updateRecordAsync (clientID, {
"Nombre" : clientRename
});
};
output.set('clientRename', clientRename);
This is the extension code:
//Values to match
let clientID = 'rec3CvbN38zLEEGgR';
let clientName = 'Canais';
let clientRename = clientName;
// Query Resultset
let table = base.getTable('Clientes');
let view = table.getView('Clientes Duplicados');
let queryResult = await view.selectRecordsAsync({fields: []});
// Duplicates validation
let regex = /\[+\d+\]/g;
let duplicatesCounter = 0;
for (let record of queryResult.records) {
if (record.name.toLowerCase().replace(regex,'').trim() == clientName.toLowerCase().trim()) {
duplicatesCounter++;
};
console.log (`
${record.name.toLowerCase().replace(regex,'').trim()}
${clientName.toLowerCase().trim()}
${duplicatesCounter}`);
}
if (duplicatesCounter > 1) {
clientRename = clientName + " [" + duplicatesCounter + "]";
await table.updateRecordAsync (clientID, {
"Nombre" : clientRename
});
};
These are the results:
- Extension Script
Before run extension script
Nombre | RecordID | Tipo |
---|---|---|
Alfa | recFcZFOXZ3HLceqf | Cliente |
Beta | recwRqpeWKLhlisHH | Cliente |
Canais | rec1sz2GEKuJbdXQh | Mandante |
Canais | rec3CvbN38zLEEGgR | Final |
Canais [1] | recM6JRtAtTsP91bz | Matriz |
Canais [2] | recOzEQzIp92lVUwT | Cliente |
Gamma | recZPc4mAYD81M7Dj | Matriz |
Delta | recUeLOADTASjL4t5 | Cliente |
Epsilon | recHdvqDrwPITsGx0 | Cliente |
Zeta | recetQgGdTdJlaP5i | Cliente |
Eta | recOByLdOtacr10bk | Cliente |
Theta | recf6eFw2JIDfBVJx | Mandante |
After run extension script
Nombre | RecordID | Tipo |
---|---|---|
Alfa | recFcZFOXZ3HLceqf | Cliente |
Beta | recwRqpeWKLhlisHH | Cliente |
Canais | rec1sz2GEKuJbdXQh | Mandante |
Canais [1] | recM6JRtAtTsP91bz | Matriz |
Canais [2] | recOzEQzIp92lVUwT | Cliente |
Canais [4] | rec3CvbN38zLEEGgR | Final |
Gamma | recZPc4mAYD81M7Dj | Matriz |
Delta | recUeLOADTASjL4t5 | Cliente |
Epsilon | recHdvqDrwPITsGx0 | Cliente |
Zeta | recetQgGdTdJlaP5i | Cliente |
Eta | recOByLdOtacr10bk | Cliente |
Theta | recf6eFw2JIDfBVJx | Mandante |
Console Log
CONSOLE LOG
“alfa
canais
0”
“beta
canais
0”
“canais
canais
1”
“canais
canais
2”
“canais
canais
3”
“canais
canais
4”
“gamma
canais
0”
“delta
canais
0”
“epsilon
canais
0”
“epsilon
canais
0”
“zeta
canais
0”
“eta
canais
0”
“theta
canais
0”
- Action Script (from Create Trigger)
Before run Create Trigger
Nombre | RecordID | Tipo |
---|---|---|
Alfa | recFcZFOXZ3HLceqf | Cliente |
Beta | recwRqpeWKLhlisHH | Cliente |
Canais | rec1sz2GEKuJbdXQh | Mandante |
Canais [1] | recM6JRtAtTsP91bz | Matriz |
Canais [2] | recOzEQzIp92lVUwT | Cliente |
Canais [4] | rec3CvbN38zLEEGgR | Final |
Gamma | recZPc4mAYD81M7Dj | Matriz |
Delta | recUeLOADTASjL4t5 | Cliente |
Epsilon | recHdvqDrwPITsGx0 | Cliente |
Zeta | recetQgGdTdJlaP5i | Cliente |
Eta | recOByLdOtacr10bk | Cliente |
Theta | recf6eFw2JIDfBVJx | Mandante |
After run Create Trigger
Nombre | RecordID | Tipo |
---|---|---|
Alfa | recFcZFOXZ3HLceqf | Cliente |
Beta | recwRqpeWKLhlisHH | Cliente |
Canais | rec1sz2GEKuJbdXQh | Mandante |
Canais | recJUkM5aolLFadhH | Mandante |
Canais [1] | recM6JRtAtTsP91bz | Matriz |
Canais [2] | recOzEQzIp92lVUwT | Cliente |
Canais [4] | rec3CvbN38zLEEGgR | Final |
Gamma | recZPc4mAYD81M7Dj | Matriz |
Delta | recUeLOADTASjL4t5 | Cliente |
Epsilon | recHdvqDrwPITsGx0 | Cliente |
Zeta | recetQgGdTdJlaP5i | Cliente |
Eta | recOByLdOtacr10bk | Cliente |
Theta | recf6eFw2JIDfBVJx | Mandante |
Could someone tell me where the error is? Even though I’ve reviewed it, I can’t find any differences in the code…
Thanks in advance