diff --git a/collections/elixForms API v2/EFTL processing/CCT - Liquidazione Compensi/DSAN/Elenco Contraenti in formato CSV DSAN.yml b/collections/elixForms API v2/EFTL processing/CCT - Liquidazione Compensi/DSAN/Elenco Contraenti in formato CSV DSAN.yml new file mode 100644 index 0000000..73eb969 --- /dev/null +++ b/collections/elixForms API v2/EFTL processing/CCT - Liquidazione Compensi/DSAN/Elenco Contraenti in formato CSV DSAN.yml @@ -0,0 +1,71 @@ +info: + name: Elenco Contraenti in formato CSV DSAN + type: http + seq: 30 + +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: "34398" + body: + type: json + data: |- + { + "userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script + "userContext": { + "lang": "IT", + "crlf": "\r\n" + } + } + 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,CONTRATTO_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 diff --git a/collections/elixForms API v2/EFTL processing/CCT - Liquidazione Compensi/DSAN/Elenco RS in formato CSV DSAN.yml b/collections/elixForms API v2/EFTL processing/CCT - Liquidazione Compensi/DSAN/Elenco RS in formato CSV DSAN.yml new file mode 100644 index 0000000..42b1ae8 --- /dev/null +++ b/collections/elixForms API v2/EFTL processing/CCT - Liquidazione Compensi/DSAN/Elenco RS in formato CSV DSAN.yml @@ -0,0 +1,71 @@ +info: + name: Elenco RS in formato CSV DSAN + type: http + seq: 30 + +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: "34398" + body: + type: json + data: |- + { + "userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script + "userContext": { + "lang": "IT", + "crlf": "\r\n" + } + } + 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,CONTRATTO_RESPONSABILI,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