add eftl on Proposta CCT for titulus dynamic naming

This commit is contained in:
2026-03-24 16:33:48 +01:00
parent 910174145c
commit 5a1f68146b
4 changed files with 240 additions and 2 deletions
@@ -0,0 +1,75 @@
info:
name: Elenco Contraenti CSV (nominativo)
type: http
seq: 7
http:
method: POST
url: "{{elixFormsApiUrl}}/eftl/process/v1"
headers:
- name: x-requested-with
value: XMLHttpRequest
- name: x-api-key
value: "{{elixFormsWsAuthenticationToken}}"
- name: x-ef-request-id
value: "17144"
disabled: true
- name: x-ef-request-id
value: "15956"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"DEBUG": "S"
}
}
auth: inherit
runtime:
scripts:
- type: before-request
code: |-
const { prepareEftlDocument } = require("./elixFormsJs.js")
// Copy-pasta your EFTL document below inside the template literals (`)
prepareEftlDocument(String.raw`
[EFTL][HEADER name="trimDocument" value="true" type="boolean" /]
[VAR name="firstItem" type="number"][% firstItem = 0; %][/VAR]
[VAR name="secondItem" type="number"][% secondItem = 1; %][/VAR]
[VAR name="elencoContraentiCsv" type="string"][% elencoContraentiCsv = ""; %][/VAR]
[VAR name="elencoContraenti" type="string"][TRIM][TAG]GETVALUEBYTAG,PROPOSTA_CCT_CONTRAENTI,REQUEST,ID_OBJECT[/TAG][/TRIM][/VAR]
[VAR name="elencoContraentiIterable" type="iterable"][SPLIT regex="\n" emptyIfBlank="true"][VALUE_OF varname="elencoContraenti" /][/SPLIT][/VAR]
[VAR name="elencoContraentiCount" type="number"][SIZE_OF varname="elencoContraentiIterable" /][/VAR]
[VAR name="contraenteIdx" type="number"][% contraenteIdx = 0; %][/VAR]
[WHILE threshold="99"]
[CONDITION][% contraenteIdx < elencoContraentiCount %][/CONDITION]
[DO]
[VAR name="contraenteIterable" type="iterable"][SPLIT regex=", CF/PIVA: " emptyIfBlank="true"][TRIM][VALUE_OF varname="elencoContraentiIterable" index="contraenteIdx" /][/TRIM][/SPLIT][/VAR]
[VAR name="contraenteDenominazione" type="string"][VALUE_OF varname="contraenteIterable" index="firstItem" /][/VAR]
[% elencoContraentiCsv = elencoContraentiCsv + contraenteDenominazione; %]
[% contraenteIdx = contraenteIdx + 1; %]
[IF]
[CONDITION][% contraenteIdx < elencoContraentiCount %][/CONDITION]
[THEN]
[% elencoContraentiCsv = elencoContraentiCsv + ", "; %]
[/THEN]
[/IF]
[/DO][/WHILE]
[%= elencoContraentiCsv %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,72 @@
info:
name: Elenco RS CSV (cognome nome)
type: http
seq: 28
http:
method: POST
url: "{{elixFormsApiUrl}}/eftl/process/v1"
headers:
- name: x-requested-with
value: XMLHttpRequest
- name: x-api-key
value: "{{elixFormsWsAuthenticationToken}}"
- name: x-ef-request-id
value: "17144"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"DEBUG": "S"
}
}
auth: inherit
runtime:
scripts:
- type: before-request
code: |-
const { prepareEftlDocument } = require("./elixFormsJs.js")
// Copy-pasta your EFTL document below inside the template literals (`)
prepareEftlDocument(String.raw`
[EFTL][HEADER name="trimDocument" value="true" type="boolean" /]
[VAR name="firstItem" type="number"][% firstItem = 0; %][/VAR]
[VAR name="secondItem" type="number"][% secondItem = 1; %][/VAR]
[VAR name="elencoResponsabiliCsv" type="string"][% elencoResponsabiliCsv = ""; %][/VAR]
[VAR name="elencoResponsabili" type="string"][TRIM][TAG]GETVALUEBYTAG,PROPOSTA_CCT_ALTRI_RS,REQUEST,ID_OBJECT[/TAG][/TRIM][/VAR]
[VAR name="elencoResponsabiliIterable" type="iterable"][SPLIT regex="\n" emptyIfBlank="true"][VALUE_OF varname="elencoResponsabili" /][/SPLIT][/VAR]
[VAR name="elencoResponsabiliCount" type="number"][SIZE_OF varname="elencoResponsabiliIterable" /][/VAR]
[VAR name="responsabileIdx" type="number"][% responsabileIdx = 0; %][/VAR]
[WHILE threshold="99"]
[CONDITION][% responsabileIdx < elencoResponsabiliCount %][/CONDITION]
[DO]
[VAR name="responsabileIterable" type="iterable"][SPLIT regex=", CF: " emptyIfBlank="true"][TRIM][VALUE_OF varname="elencoResponsabiliIterable" index="responsabileIdx" /][/TRIM][/SPLIT][/VAR]
[VAR name="responsabileNominativo" type="string"][VALUE_OF varname="responsabileIterable" index="firstItem" /][/VAR]
[% elencoResponsabiliCsv = elencoResponsabiliCsv + responsabileNominativo; %]
[% responsabileIdx = responsabileIdx + 1; %]
[IF]
[CONDITION][% responsabileIdx < elencoResponsabiliCount %][/CONDITION]
[THEN]
[% elencoResponsabiliCsv = elencoResponsabiliCsv + ", "; %]
[/THEN]
[/IF]
[/DO][/WHILE]
[%= elencoResponsabiliCsv %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,50 @@
info:
name: Fascicolo e documento su Titulus
type: http
seq: 8
http:
method: POST
url: "{{elixFormsApiUrl}}/eftl/process/v1"
headers:
- name: x-requested-with
value: XMLHttpRequest
- name: x-api-key
value: "{{elixFormsWsAuthenticationToken}}"
- name: x-ef-request-id
value: "17144"
disabled: true
- name: x-ef-request-id
value: "25889"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"DEBUG": "S"
}
}
auth: inherit
runtime:
scripts:
- type: before-request
code: |-
const { prepareEftlDocument } = require("./elixFormsJs.js")
// Copy-pasta your EFTL document below inside the template literals (`)
prepareEftlDocument(String.raw`
[EFTL][HEADER name="trimDocument" value="true" type="boolean" /]
[TAG]GETVALUEBYTAG,ID_IRIS,REQUEST,ID_OBJECT[/TAG] - [TAG]GETVALUEBYTAG,ELENCO_CONTRAENTI_CSV,REQUEST,ID_OBJECT[/TAG] - [TAG]GETVALUEBYTAG,ELENCO_RS_CSV,REQUEST,ID_OBJECT[/TAG] - [TAG]GETVALUEBYTAG,PROPOSTA_CCT_CONTRATTO_DESCR,REQUEST,ID_OBJECT[/TAG]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5