info:
name: Elenco partecipanti per tabella HTML
type: http
seq: 3
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: "19758"
body:
type: json
data: "{\r
\ \"userDocument\": \"{{elixBase64EftlDocument}}\", // see the pre-request script\r
\ \"userContext\": {\r
\ \"lang\": \"IT\",\r
\ \"crlf\": \"\\r\\n\"\r
\ }\r
}"
auth: inherit
runtime:
scripts:
- type: before-request
code: "// Copy-pasta your EFTL document below inside the template literals (`)\r
var eftlDocumentToBeProcessed = String.raw`\r
[EFTL]\r
[HEADER name=\"trimDocument\" value=\"true\" type=\"boolean\" /]\r
[VAR name=\"ripartizioniNominativiWithSep\" type=\"string\"][TAG]SCHEMAID,538,COL0005,ID_OBJECT,,#[/TAG][/VAR]\r
[VAR name=\"ripartizioniImportiWithSep\" type=\"string\"][TAG]SCHEMAID,538,COL0002,ID_OBJECT,,#[/TAG][/VAR]\r
[VAR name=\"tabellaRipartizioni\" type=\"string\"][% tabellaRipartizioni = \"
| Partecipante | Importo (EUR) |
\"; %][/VAR]\r
\r
[IF][CONDITION][IS_NOT_EMPTY varname=\"ripartizioniNominativiWithSep\" /][/CONDITION][THEN]\r
\ [VAR name=\"ripartizioniNominativiIterable\" type=\"iterable\"][SPLIT regex=\"#\"][VALUE_OF varname=\"ripartizioniNominativiWithSep\" /][/SPLIT][/VAR]\r
\ [VAR name=\"ripartizioniImportiIterable\" type=\"iterable\"][SPLIT regex=\"#\"][VALUE_OF varname=\"ripartizioniImportiWithSep\" /][/SPLIT][/VAR]\r
\ [VAR name=\"ripartizioniCount\" type=\"number\"][SIZE_OF varname=\"ripartizioniNominativiIterable\" /][/VAR]\r
\ [VAR name=\"ripartizioneIdx\" type=\"string\"][% ripartizioneIdx = 0; %][/VAR]\r
\ [VAR name=\"firstItem\" type=\"number\"][% firstItem = 0; %][/VAR]\r
\ [VAR name=\"secondItem\" type=\"number\"][% secondItem = 1; %][/VAR]\r
\r
\ [WHILE threshold=\"99\"]\r
\ [CONDITION][% ripartizioneIdx != ripartizioniCount %][/CONDITION]\r
\ [DO]\r
\ [VAR name=\"ripartizioneNominativoFull\" type=\"string\"][VALUE_OF varname=\"ripartizioniNominativiIterable\" index=\"ripartizioneIdx\" /][/VAR]\r
\ [VAR name=\"ripartizioneImporto\" type=\"string\"][VALUE_OF varname=\"ripartizioniImportiIterable\" index=\"ripartizioneIdx\" /][/VAR]\r
\r
\ [VAR name=\"ripartizioneNominativoIterable\" type=\"iterable\"][SPLIT regex=\"] \"][TRIM][VALUE_OF varname=\"ripartizioneNominativoFull\" /][/TRIM][/SPLIT][/VAR]\r
\r
\ [!-- Recupera il nominativo --]\r
\ [VAR name=\"ripartizioneNominativo\" type=\"string\"][VALUE_OF varname=\"ripartizioneNominativoIterable\" index=\"secondItem\" /][/VAR]\r
\r
\ [% ripartizioneIdx = ripartizioneIdx + 1; %]\r
\r
\ [!-- HACK ignobile per recuperare il numero che altrimenti verrebbe emesso come \"1.0\", etc... --]\r
\ [VAR name=\"ripartizioneKeyIterable\" type=\"iterable\"][SPLIT regex=\"\\.\"][% ripartizioneIdx + \"\" %][/SPLIT][/VAR]\r
\ [VAR name=\"ripartizioneKey\" type=\"string\"][VALUE_OF varname=\"ripartizioneKeyIterable\" index=\"firstItem\" /][/VAR]\r
\r
\ [% tabellaRipartizioni = tabellaRipartizioni + \"| \" + ripartizioneNominativo + \" | \" + ripartizioneImporto + \" |
\"; %]\r
\ [/DO]\r
\ [/WHILE]\r
[/THEN][/IF]\r
[% tabellaRipartizioni = tabellaRipartizioni + \"
\"; %]\r
[%= tabellaRipartizioni %]\r
[/EFTL]\r
`;\r
\r
var base64EncodedDocument = btoa(eftlDocumentToBeProcessed);\r
\r
bru.setVar(\"elixBase64EftlDocument\", base64EncodedDocument);"
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5