move liquidazione requests to specific folders

This commit is contained in:
2026-05-29 16:08:22 +02:00
parent 3b11fa9d39
commit 8338fb762d
32 changed files with 56 additions and 31 deletions
@@ -0,0 +1,81 @@
info:
name: Calcolo importo per singolo partecipante
type: http
seq: 1
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: "22737"
disabled: true
- name: x-ef-request-id
value: "22224"
disabled: true
- name: x-ef-request-id
value: "22744"
disabled: true
- name: x-ef-request-id
value: "23258"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"qualificheDocenti": ";Docente;Ricercatore;"
}
}
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="arrayCFdocenti" type="string"][TAG]GETVALUEBYTAG,PARTECIPANTI_QUALIFICA_DOCENTE,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="arrayCFaltro" type="string"][TAG]GETVALUEBYTAG,PARTECIPANTI_QUALIFICA_ALTRO,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="importoDocente" type="number"][% importoDocente = 0; %][/VAR]
[VAR name="importoAltro" type="number"][% importoAltro = 0; %][/VAR]
[VAR name="lastUpdatedNominativo" type="string"][TAG]GETVALUEBYTAG,PARTECIPANTE,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[VAR name="lastUpdatedImporto" type="string"][TAG]GETVALUEBYTAG,IMPORTO_RIPARTIZIONE,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[VAR name="firstItem" type="number"][% firstItem = 0; %][/VAR]
[VAR name="secondItem" type="number"][% secondItem = 1; %][/VAR]
[VAR name="lastUpdatedNominativoIterable" type="iterable"][SPLIT regex=" \(CF: "][VALUE_OF varname="lastUpdatedNominativo" /][/SPLIT][/VAR]
[VAR name="lastUpdatedNominativoRightIterable" type="iterable"][SPLIT regex=", Qualifica: "][VALUE_OF varname="lastUpdatedNominativoIterable" index="secondItem" /][/SPLIT][/VAR]
[VAR name="lastUpdatedNominativoCF" type="string"][VALUE_OF varname="lastUpdatedNominativoRightIterable" index="firstItem" /][/VAR]
[IF]
[CONDITION][CONTAINS varname="arrayCFdocenti" value="lastUpdatedNominativoCF" /][/CONDITION]
[THEN][% importoDocente = lastUpdatedImporto; %][/THEN]
[ELSE][% importoAltro = lastUpdatedImporto; %][/ELSE]
[/IF]
[TAG]GETVALUEBYTAG,IMPORTO_RIPARTIZIONE,REQUEST,IUQOID,,,"#,###.00"[/TAG]
[%= crlf %]
[TAG]SCHEMAID,717,COL0010,IUQOID, , ,,"#,###.00"[/TAG]
[%= crlf %]
[%= importoDocente %]
[%= crlf %]
[%= importoAltro %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,72 @@
info:
name: Calcolo ore equivalenti
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: "22737"
disabled: true
- name: x-ef-request-id
value: "22224"
disabled: true
- name: x-ef-request-id
value: "24829"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"useTestCF": false
}
}
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="codiceFiscaleRichiedente" type="string"][TAG]GETVALUEBYTAG,RICHIEDENTE_CODFIS,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="ripartizioniIterable" type="iterable"][SPLIT regex="#"][TAG]GETVALUEBYTAG,COPPIE_RIPARTIZIONI,REQUEST,IUQOID,CONCAT,#[/TAG][/SPLIT][/VAR]
[VAR name="firstItem" type="number"][% firstItem = 0; %][/VAR]
[VAR name="secondItem" type="number"][% secondItem = 1; %][/VAR]
[VAR name="importoRichiedente" type="number"][% importoRichiedente = 0; %][/VAR]
[FOR varname="coppia" iterable="ripartizioniIterable"]
[VAR name="coppiaiIterable" type="iterable"][SPLIT regex=":"][VALUE_OF varname="coppia" /][/SPLIT][/VAR]
[VAR name="codiceFiscale" type="string"][VALUE_OF varname="coppiaiIterable" index="firstItem" /][/VAR]
[VAR name="importo" type="number"][VALUE_OF varname="coppiaiIterable" index="secondItem" /][/VAR]
[IF]
[CONDITION][% codiceFiscale == codiceFiscaleRichiedente %][/CONDITION]
[THEN][% importoRichiedente = importo; %][/THEN]
[/IF]
[/FOR]
[VAR name="fattore" type="number"][TAG]SCHEMAID,709,COL0120,IUQOID, , ,,0.00000[/TAG][/VAR]
[FORMAT type="number" pattern="integer"][% importoRichiedente * fattore %][/FORMAT]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,102 @@
info:
name: Calcolo ripartizione per tipologia persona
type: http
seq: 4
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: "22737"
disabled: true
- name: x-ef-request-id
value: "22224"
disabled: true
- name: x-ef-request-id
value: "22744"
disabled: true
- name: x-ef-request-id
value: "23258"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"qualificheDocenti": ";Docente;Ricercatore;"
}
}
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="arrayCFdocenti" type="string"][TAG]GETVALUEBYTAG,PARTECIPANTI_QUALIFICA_DOCENTE,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="arrayCFaltro" type="string"][TAG]GETVALUEBYTAG,PARTECIPANTI_QUALIFICA_ALTRO,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="totalePersonaleDocente" type="number"][% totalePersonaleDocente = 0; %][/VAR]
[VAR name="totalePersonaleAltro" type="number"][% totalePersonaleAltro = 0; %][/VAR]
[VAR name="ripartizioniNominativiIterable" type="iterable"][SPLIT regex="#"][TAG]GETVALUEBYTAG,PARTECIPANTE,REQUEST,IUQOID,CONCAT,#[/TAG][/SPLIT][/VAR]
[VAR name="ripartizioniImportiIterable" type="iterable"][SPLIT regex="#"][TAG]GETVALUEBYTAG,IMPORTO_RIPARTIZIONE,REQUEST,IUQOID,CONCAT,#[/TAG][/SPLIT][/VAR]
[VAR name="ripartizioniCount" type="string"][SIZE_OF varname="ripartizioniNominativiIterable" /][/VAR]
[IF][CONDITION][% ripartizioniCount > 0 %][/CONDITION][THEN]
[VAR name="ripartizioneIdx" type="string"][% ripartizioneIdx = 0; %][/VAR]
[VAR name="firstItem" type="number"][% firstItem = 0; %][/VAR]
[VAR name="secondItem" type="number"][% secondItem = 1; %][/VAR]
[WHILE threshold="99"]
[CONDITION][% ripartizioneIdx < ripartizioniCount %][/CONDITION]
[DO]
[VAR name="personaImporto" type="number"][VALUE_OF varname="ripartizioniImportiIterable" index="ripartizioneIdx" /][/VAR]
[VAR name="personaNominativoIterable" type="iterable"][SPLIT regex=" \(CF: "][VALUE_OF varname="ripartizioniNominativiIterable" index="ripartizioneIdx" /][/SPLIT][/VAR]
[VAR name="personaNominativoRightIterable" type="iterable"][SPLIT regex=", Qualifica: "][VALUE_OF varname="personaNominativoIterable" index="secondItem" /][/SPLIT][/VAR]
[VAR name="personaCF" type="string"][VALUE_OF varname="personaNominativoRightIterable" index="firstItem" /][/VAR]
[IF]
[CONDITION][CONTAINS varname="arrayCFdocenti" value="personaCF" /][/CONDITION]
[THEN][% totalePersonaleDocente = totalePersonaleDocente + personaImporto; %][/THEN]
[ELSE][% totalePersonaleAltro = totalePersonaleAltro + personaImporto; %][/ELSE]
[/IF]
[% ripartizioneIdx = ripartizioneIdx + 1; %]
[/DO]
[/WHILE]
[/THEN][/IF]
[!--
NOM: [VALUE_OF varname="ripartizioniNominativiIterable" /]
[%= crlf %]
IMP: [VALUE_OF varname="ripartizioniImportiIterable" /]
[%= crlf %]
--]
DOC: [FORMAT type="number" pattern="0.00"][% totalePersonaleDocente %][/FORMAT]
[%= crlf %]
PTA: [FORMAT type="number" pattern="0.00"][% totalePersonaleAltro %][/FORMAT]
[!--
PART_CONCAT: [TAG]GETVALUEBYTAG,PARTECIPANTE,REQUEST,IUQOID,CONCAT,#[/TAG]
IMPR_CONCAT: [TAG]GETVALUEBYTAG,IMPORTO_RIPARTIZIONE,REQUEST,IUQOID,CONCAT,#[/TAG]
[%= crlf %]
[TAG]GETVALUEBYTAG,PARTECIPANTE,REQUEST,IUQOID,UPDATED_LAST[/TAG]: [TAG]GETVALUEBYTAG,IMPORTO_RIPARTIZIONE,REQUEST,IUQOID,UPDATED_LAST[/TAG]
--]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,78 @@
info:
name: Check richiedente in partecipanti by CodFis
type: http
seq: 6
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: "21306"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"codiciFiscaliAmmessi": ";XMMPPL74T17E463A;;"
}
}
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="checkUtentePartecipante" type="string"][% utentePartecipante = "Utente non ammesso alla compilazione perché non partecipante al contratto!"; %][/VAR]
[VAR name="richiedenteCF" type="string"][TAG]GETVALUEBYTAG,RICHIEDENTE_CODFIS,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="rsProponenteCF" type="string"][TAG]GETVALUEBYTAG,RSP_CODFIS,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="responsabili" type="string"][TAG]GETVALUEBYTAG,CONTRATTO_RESPONSABILI,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="partecipanti" type="string"][TAG]GETVALUEBYTAG,CONTRATTO_PARTECIPANTI,REQUEST,IUQOID[/TAG][/VAR]
[!-- Hack for the CONTAIN below... --]
[VAR name="richiedenteCFcontain" type="string"][% richiedenteCFcontain = ", CF: " + richiedenteCF + ", Qualifica: "; %][/VAR]
[!-- Il richiedente non deve essere il RS proponente --]
[!-- Il richiedente deve comparire fra i responsabili --]
[!-- Il richiedente deve comparire fra i partecipanti --]
[!-- Il richiedente deve comparire fra i nominativi ammessi (DEBUG) --]
[IF]
[CONDITION][% richiedenteCF == rsProponenteCF %][/CONDITION]
[THEN][% checkUtentePartecipante = "Il Responsabile Scientifico proponente non deve compilare la DSAN"; %][/THEN]
[ELSE IF]
[CONDITION][CONTAINS varname="responsabili"][VALUE_OF varname="richiedenteCFcontain" /][/CONTAINS][/CONDITION]
[THEN][% checkUtentePartecipante = "1"; %][/THEN]
[/ELSE IF]
[ELSE IF]
[CONDITION][CONTAINS varname="partecipanti"][VALUE_OF varname="richiedenteCFcontain" /][/CONTAINS][/CONDITION]
[THEN][% checkUtentePartecipante = "2"; %][/THEN]
[/ELSE IF]
[ELSE IF]
[CONDITION][CONTAINS varname="codiciFiscaliAmmessi"][VALUE_OF varname="richiedenteCF" /][/CONTAINS][/CONDITION]
[THEN][% checkUtentePartecipante = ""; %][/THEN]
[/ELSE IF]
[/IF]
[%= checkUtentePartecipante %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,80 @@
info:
name: Check richiedente in partecipanti
type: http
seq: 5
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: "21223"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"nominativiAmmessi": ";MAMMI Pier Paolo;;"
}
}
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="checkUtentePartecipante" type="string"][% utentePartecipante = "Utente non ammesso alla compilazione perché non partecipante al contratto!"; %][/VAR]
[VAR name="rsProponenteCognome" type="string"][TAG]GETVALUEBYTAG,RSP_COGNOME,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="rsProponenteNome" type="string"][TAG]GETVALUEBYTAG,RSP_COGNOME,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="responsabili" type="string"][TAG]GETVALUEBYTAG,CONTRATTO_RESPONSABILI,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="partecipanti" type="string"][TAG]GETVALUEBYTAG,CONTRATTO_PARTECIPANTI,REQUEST,IUQOID[/TAG][/VAR]
[!-- [VAR name="nominativoUtentePlain" type="string"][TAG]GETVALUEBYTAG,RICHIEDENTE_NOMINATIVO,REQUEST,IUQOID[/TAG][/VAR] --]
[VAR name="nominativoUtentePlain" type="string"][% nominativoUtentePlain = "mammi Pier Paolo"; %][/VAR]
[!-- Hack for the CONTAIN below... --]
[VAR name="nominativoUtente" type="string"][% nominativoUtente = " " + nominativoUtentePlain + ", CF: "; %][/VAR]
[!-- Il richiedente non deve essere il RS proponente --]
[!-- Il richiedente deve comparire fra i responsabili --]
[!-- Il richiedente deve comparire fra i partecipanti --]
[!-- Il richiedente deve comparire fra i nominativi ammessi (DEBUG) --]
[IF]
[CONDITION][% nominativoUtentePlain == rsProponenteCognome + " " + rsProponenteNome %][/CONDITION]
[THEN][% checkUtentePartecipante = "Il Responsabile Scientifico proponente non deve compilare la DSAN"; %][/THEN]
[ELSE IF]
[CONDITION][CONTAINS varname="responsabili"][VALUE_OF varname="nominativoUtente" /][/CONTAINS][/CONDITION]
[THEN][% checkUtentePartecipante = ""; %][/THEN]
[/ELSE IF]
[ELSE IF]
[CONDITION][CONTAINS varname="partecipanti"][VALUE_OF varname="nominativoUtente" /][/CONTAINS][/CONDITION]
[THEN][% checkUtentePartecipante = ""; %][/THEN]
[/ELSE IF]
[ELSE IF]
[CONDITION][CONTAINS varname="nominativiAmmessi"][VALUE_OF varname="nominativoUtentePlain" /][/CONTAINS][/CONDITION]
[THEN][% checkUtentePartecipante = ""; %][/THEN]
[/ELSE IF]
[/IF]
[%= checkUtentePartecipante %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,66 @@
info:
name: Codice fiscale ammesso
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: "24218"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"codiciFiscaliAmmessi": ";MMMPPL74T17E463A;;"
}
}
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="isRichiedenteInRS" type="string"][% isRichiedenteInRS = "Utente non ammesso alla compilazione perché non risulta fra i Responsabili Scientifici del contratto!"; %][/VAR]
[VAR name="responsabiliScientifici" type="string"][TAG]GETVALUEBYTAG,CONTRATTO_RESPONSABILI,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="codiceFiscaleUtente" type="string"][TAG]GETVALUEBYTAG,RICHIEDENTE_CODFIS,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="codiceFiscaleUtenteDebug" type="string"][TAG]GETVALUEBYTAG,RICHIEDENTE_CODFIS,REQUEST,IUQOID[/TAG][/VAR]
[% codiceFiscaleUtente = ", CF: " + codiceFiscaleUtente + ","; %]
[IF]
[CONDITION][CONTAINS varname="responsabiliScientifici"][VALUE_OF varname="codiceFiscaleUtente" /][/CONTAINS][/CONDITION]
[THEN][% isRichiedenteInRS = ""; %][/THEN]
[ELSE IF]
[CONDITION][CONTAINS varname="codiciFiscaliAmmessi"][VALUE_OF varname="codiceFiscaleUtenteDebug" /][/CONTAINS][/CONDITION]
[THEN][% isRichiedenteInRS = ""; %][/THEN]
[/ELSE IF]
[/IF]
[%= responsabiliScientifici %]
[%= crlf %]
[%= codiceFiscaleUtente %]
[%= crlf %]
[%= isRichiedenteInRS %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,76 @@
info:
name: Codici fiscali ripartizioni Simple-minded
type: http
seq: 9
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: "21223"
disabled: true
- name: x-ef-request-id
value: "21334"
disabled: true
- name: x-ef-request-id
value: "21344"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"codiciFiscaliAmmessi": ";MMMPPL74T17E463A;;"
}
}
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="checkUtentePartecipante" type="string"][% utentePartecipante = "Il richiedente non è ammesso alla compilazione perché non rientra tra le ripartizioni proposte"; %][/VAR]
[VAR name="ripartizioniDaProposta" type="string"][TAG]GETVALUEBYTAG,RIPARTIZIONI,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="rsProponenteCF" type="string"][TAG]GETVALUEBYTAG,RSP_CODFIS,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="richiedenteCF" type="string"][TAG]GETVALUEBYTAG,RICHIEDENTE_CODFIS,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="richiedenteCFregex" type="string"][% richiedenteCFregex = " (CF: " + richiedenteCF + ")"; %][/VAR]
[!-- Il richiedente non deve essere il RS proponente --]
[!-- Il richiedente deve comparire fra i responsabili --]
[!-- Il richiedente deve comparire fra i partecipanti --]
[!-- Il richiedente deve comparire fra i nominativi ammessi (DEBUG) --]
[IF]
[CONDITION][% richiedenteCF == rsProponenteCF %][/CONDITION]
[THEN][% checkUtentePartecipante = "Il Responsabile Scientifico proponente non deve compilare la DSAN"; %][/THEN]
[ELSE IF]
[CONDITION][CONTAINS varname="ripartizioniDaProposta"][VALUE_OF varname="richiedenteCFregex" /][/CONTAINS][/CONDITION]
[THEN][% checkUtentePartecipante = ""; %][/THEN]
[/ELSE IF]
[ELSE IF]
[CONDITION][CONTAINS varname="codiciFiscaliAmmessi"][VALUE_OF varname="richiedenteCF" /][/CONTAINS][/CONDITION]
[THEN][% checkUtentePartecipante = ""; %][/THEN]
[/ELSE IF]
[/IF]
[%= checkUtentePartecipante %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,83 @@
info:
name: Codici fiscali ripartizioni
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: "21223"
disabled: true
- name: x-ef-request-id
value: "21334"
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="ripartizioniIterableWithSep" type="iterable"][SPLIT regex="#"][TAG]GETVALUEBYTAG,PARTECIPANTE,REQUEST,IUQOID,CONCAT,#[/TAG][/SPLIT][/VAR]
[VAR name="ripartizioniCount" type="string"][SIZE_OF varname="ripartizioniIterableWithSep" /][/VAR]
[VAR name="ripartizioniJoin" type="string"][% ripartizioniJoin = ""; %][/VAR]
[IF][CONDITION][% ripartizioniCount > 0 %][/CONDITION][THEN]
[VAR name="ripartizioneIdx" type="string"][% ripartizioneIdx = 0; %][/VAR]
[VAR name="firstItem" type="number"][% firstItem = 0; %][/VAR]
[VAR name="secondItem" type="number"][% secondItem = 1; %][/VAR]
[WHILE threshold="99"]
[CONDITION][% ripartizioneIdx < ripartizioniCount %][/CONDITION]
[DO]
[VAR name="ripartizioneFull" type="string"][VALUE_OF varname="ripartizioniIterableWithSep" index="ripartizioneIdx" /][/VAR]
[VAR name="ripartizioneFullIterable" type="iterable"][SPLIT regex=" \(CF: "][TRIM][VALUE_OF varname="ripartizioneFull" /][/TRIM][/SPLIT][/VAR]
[VAR name="ripartizioneCFIterable" type="iterable"][SPLIT regex="\)"][VALUE_OF varname="ripartizioneFullIterable" index="secondItem" /][/SPLIT][/VAR]
[VAR name="ripartizioneCF" type="string"][VALUE_OF varname="ripartizioneCFIterable" index="firstItem" /][/VAR]
[% ripartizioniJoin = ripartizioniJoin + ripartizioneCF; %]
[% ripartizioneIdx = ripartizioneIdx + 1; %]
[IF][CONDITION][% ripartizioneIdx < ripartizioniCount %][/CONDITION][THEN]
[% ripartizioniJoin = ripartizioniJoin + "#"; %]
[/THEN][/IF]
[/DO]
[/WHILE]
[/THEN][/IF]
[!--
[%= ripartizioniCount %]
[%= crlf %]
[%= ripartizioneIdx %]
[%= crlf %]
[%= "JOIN: " ripartizioniJoin %]
--]
[%= ripartizioniJoin %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,133 @@
info:
name: Elenco contraenti formattati
type: http
seq: 10
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: "8760"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"docs": [
{
"name": "doc1",
"quantity": 3,
"price": 123.3
},
{
"name": "doc2",
"quantity": 5,
"price": 213.3
},
{
"name": "doc3",
"quantity": 10,
"price": 321.3
}
],
"docsAsEntities": [
{
"eftlEntityType": "com.anthesi.elixforms.api.eftl.model.mock.EftlDoc",
"eftlEntity": {
"name": "doc1",
"quantity": 3,
"price": 123.3
}
},
{
"eftlEntityType": "com.anthesi.elixforms.api.eftl.model.mock.EftlDoc",
"eftlEntity": {
"name": "doc2",
"quantity": 5,
"price": 213.3
}
},
{
"eftlEntityType": "com.anthesi.elixforms.api.eftl.model.mock.EftlDoc",
"eftlEntity": {
"name": "doc3",
"quantity": 10,
"price": 321.3
}
}
],
"singleEntity": {
"eftlEntityType": "com.anthesi.elixforms.api.eftl.model.mock.EftlDoc",
"eftlEntity": {
"name": "doc1",
"quantity": 3,
"price": 123.3
}
},
"simpleList": [
"s1",
"s2",
"s3"
],
"docsSize": 3
}
}
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="idxNome" type="number"][% idxNome = 0; %][/VAR]
[VAR name="idxCfPIva" type="number"][% idxCfPIva = 1; %][/VAR]
[VAR name="idxSede" type="number"][% idxSede = 2; %][/VAR]
[VAR name="elencoContraentiCompleto" type="string"][% elencoContraentiCompleto = ""; %][/VAR]
[VAR name="contraenti" type="iterable"][SPLIT regex="\n"][TAG]SCHEMAID,341,COL0004,IUQOID, , [/TAG][/SPLIT][/VAR]
[VAR name="countContraenti" type="number"][SIZE_OF varname="contraenti" /][/VAR]
[VAR name="idxContraente" type="number"][% idxContraente = 0; %][/VAR]
[!-- Estraggo i dati del primo contraente (ce ne sarà sempre almeno uno) --]
[VAR name="currContraente" type="string"][VALUE_OF varname="contraenti" index="idxContraente" /][/VAR]
[VAR name="currContraenteSplit" type="iterable"][SPLIT regex=", (.*?):"][TRIM][VALUE_OF varname="currContraente" /][/TRIM][/SPLIT][/VAR]
[VAR name="currContraenteNome" type="string"][TRIM][VALUE_OF varname="currContraenteSplit" index="idxNome" /][/TRIM][/VAR]
[VAR name="currContraenteCfPIva" type="string"][TRIM][VALUE_OF varname="currContraenteSplit" index="idxCfPIva" /][/TRIM][/VAR]
[VAR name="currContraenteSede" type="string"][TRIM][VALUE_OF varname="currContraenteSplit" index="idxSede" /][/TRIM][/VAR]
[% elencoContraentiCompleto = currContraenteNome + " (CF/PIVA: " + currContraenteCfPIva + ") con sede legale in " + currContraenteSede; %]
[!-- Se c'è più di un contraente, ciclo su tutti i rimanenti (tutto questo per non avere una ", " in fondo alla stringa finale...) --]
[WHILE]
[CONDITION][% idxContraente < countContraenti - 1 %][/CONDITION]
[DO]
[% idxContraente = idxContraente + 1; %]
[VAR name="currContraente" type="string"][VALUE_OF varname="contraenti" index="idxContraente" /][/VAR]
[VAR name="currContraenteSplit" type="iterable"][SPLIT regex=", (.*?):"][TRIM][VALUE_OF varname="currContraente" /][/TRIM][/SPLIT][/VAR]
[VAR name="currContraenteNome" type="string"][VALUE_OF varname="currContraenteSplit" index="idxNome" /][/VAR]
[VAR name="currContraenteCfPIva" type="string"][VALUE_OF varname="currContraenteSplit" index="idxCfPIva" /][/VAR]
[VAR name="currContraenteSede" type="string"][VALUE_OF varname="currContraenteSplit" index="idxSede" /][/VAR]
[% elencoContraentiCompleto = elencoContraentiCompleto + ", " + currContraenteNome + " (CF/PIVA: " + currContraenteCfPIva + ") con sede legale in " + currContraenteSede; %]
[/DO]
[/WHILE]
[%= elencoContraentiCompleto %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,137 @@
info:
name: Elenco partecipanti per dropdown con chiave
type: http
seq: 11
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: "21223"
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="newLine" type="string"][VALUE_OF varname="crlf" /][/VAR]
[VAR name="responsabili" type="string"][TRIM][TAG]GETVALUEBYTAG,CONTRATTO_RESPONSABILI,REQUEST,IUQOID[/TAG][/TRIM][/VAR]
[VAR name="partecipanti" type="string"][TRIM][TAG]GETVALUEBYTAG,CONTRATTO_PARTECIPANTI,REQUEST,IUQOID[/TAG][/TRIM][/VAR]
[!-- Aggiungi primo elemento "nullo" --]
[VAR name="ripartizioniElenco" type="string"][% ripartizioniElenco = "[0] ---" + newLine; %][/VAR]
[VAR name="responsabiliIterable" type="iterable"][SPLIT regex="\n"][VALUE_OF varname="responsabili" /][/SPLIT][/VAR]
[VAR name="partecipantiIterable" type="iterable"][SPLIT regex="\n"][VALUE_OF varname="partecipanti" /][/SPLIT][/VAR]
[VAR name="responsabiliCount" type="number"][SIZE_OF varname="responsabiliIterable" /][/VAR]
[VAR name="partecipantiCount" type="number"][SIZE_OF varname="partecipantiIterable" /][/VAR]
[VAR name="personaIdx" type="string"][% personaIdx = 0; %][/VAR]
[VAR name="dropdownIdx" type="string"][% dropdownIdx = 0; %][/VAR]
[VAR name="firstItem" type="number"][% firstItem = 0; %][/VAR]
[VAR name="secondItem" type="number"][% secondItem = 1; %][/VAR]
[WHILE threshold="99"]
[CONDITION][% personaIdx < responsabiliCount %][/CONDITION]
[DO]
[VAR name="responsabileFull" type="string"][VALUE_OF varname="responsabiliIterable" index="personaIdx" /][/VAR]
[VAR name="responsabileIterable" type="iterable"][SPLIT regex=", CF: "][TRIM][VALUE_OF varname="responsabileFull" /][/TRIM][/SPLIT][/VAR]
[!-- Recupera il nominativo --]
[VAR name="responsabileNominativo" type="string"][VALUE_OF varname="responsabileIterable" index="firstItem" /][/VAR]
[!-- Recupera il codice fiscale --]
[VAR name="responsabileResto" type="string"][VALUE_OF varname="responsabileIterable" index="secondItem" /][/VAR]
[VAR name="responsabileRestoIterable" type="iterable"][SPLIT regex=", Qualifica: "][VALUE_OF varname="responsabileResto" /][/SPLIT][/VAR]
[VAR name="responsabileCodiceFiscale" type="string"][VALUE_OF varname="responsabileRestoIterable" index="firstItem" /][/VAR]
[% personaIdx = personaIdx + 1; %]
[% dropdownIdx = dropdownIdx + 1; %]
[!-- HACK ignobile per recuperare il numero che altrimenti verrebbe emesso come "1.0", etc... --]
[VAR name="responsabileKeyIterable" type="iterable"][SPLIT regex="\."][% dropdownIdx + "" %][/SPLIT][/VAR]
[VAR name="responsabileKey" type="string"][VALUE_OF varname="responsabileKeyIterable" index="firstItem" /][/VAR]
[% ripartizioniElenco = ripartizioniElenco + "[" + responsabileKey + "] " + responsabileNominativo + " (CF: " + responsabileCodiceFiscale + ")"; %]
[IF]
[CONDITION][% personaIdx < responsabiliCount %][/CONDITION]
[THEN]
[% ripartizioniElenco = ripartizioniElenco + newLine; %]
[/THEN]
[ELSE IF]
[CONDITION][IS_NOT_EMPTY varname="partecipanti" /][/CONDITION]
[THEN]
[% ripartizioniElenco = ripartizioniElenco + newLine; %]
[/THEN]
[/ELSE IF]
[/IF]
[/DO]
[/WHILE]
[IF][CONDITION][IS_NOT_EMPTY varname="partecipanti" /][/CONDITION][THEN]
[% personaIdx = 0; %]
[WHILE threshold="99"]
[CONDITION][% personaIdx < partecipantiCount %][/CONDITION]
[DO]
[VAR name="partecipanteFull" type="string"][VALUE_OF varname="partecipantiIterable" index="personaIdx" /][/VAR]
[VAR name="partecipanteIterable" type="iterable"][SPLIT regex=", CF: "][TRIM][VALUE_OF varname="partecipanteFull" /][/TRIM][/SPLIT][/VAR]
[!-- Recupera il nominativo --]
[VAR name="partecipanteNominativo" type="string"][VALUE_OF varname="partecipanteIterable" index="firstItem" /][/VAR]
[!-- Recupera il codice fiscale --]
[VAR name="partecipanteResto" type="string"][VALUE_OF varname="partecipanteIterable" index="secondItem" /][/VAR]
[VAR name="partecipanteRestoIterable" type="iterable"][SPLIT regex=", Qualifica: "][VALUE_OF varname="partecipanteResto" /][/SPLIT][/VAR]
[VAR name="partecipanteCodiceFiscale" type="string"][VALUE_OF varname="partecipanteRestoIterable" index="firstItem" /][/VAR]
[% personaIdx = personaIdx + 1; %]
[% dropdownIdx = dropdownIdx + 1; %]
[!-- HACK ignobile per recuperare il numero che altrimenti verrebbe emesso come "1.0", etc... --]
[VAR name="partecipanteKeyIterable" type="iterable"][SPLIT regex="\."][% dropdownIdx + "" %][/SPLIT][/VAR]
[VAR name="partecipanteKey" type="string"][VALUE_OF varname="partecipanteKeyIterable" index="firstItem" /][/VAR]
[% ripartizioniElenco = ripartizioniElenco + "[" + partecipanteKey + "] " + partecipanteNominativo + " (CF: " + partecipanteCodiceFiscale + ")"; %]
[IF]
[CONDITION][% personaIdx < partecipantiCount %][/CONDITION]
[THEN]
[% ripartizioniElenco = ripartizioniElenco + newLine; %]
[/THEN]
[/IF]
[/DO]
[/WHILE]
[/THEN][/IF]
[%= ripartizioniElenco %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,66 @@
info:
name: Elenco partecipanti per tendina
type: http
seq: 12
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: "19375"
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="elencoPartecipantiDebug" type="string"][% elencoPartecipantiDebug = ""; %][/VAR]
[VAR name="elencoPartecipantiCompleto" type="string"][% elencoContraentiCompleto = ""; %][/VAR]
[VAR name="partecipanti" type="string"][TRIM][TAG]SCHEMAID,542,COL0018,IUQOID, , [/TAG][/TRIM][/VAR]
[%= "" %]
[IF][CONDITION][IS_NOT_EMPTY varname="partecipanti" /][/CONDITION][THEN]
[VAR name="partecipantiSplit" type="iterable"][SPLIT regex="\n"][VALUE_OF varname="partecipanti" /][/SPLIT][/VAR]
[VAR name="partecipantiCount" type="number"][SIZE_OF varname="partecipantiSplit" /][/VAR]
[VAR name="partecipanteIdx" type="number"][% partecipanteIdx = 0; %][/VAR]
[VAR name="partecipanteNominativoIdx" type="number"][% partecipanteNominativoIdx = 0; %][/VAR]
[VAR name="partecipanteRestoIdx" type="number"][% partecipanteRestoIdx = 1; %][/VAR]
[WHILE threshold="99"][CONDITION][% partecipanteIdx < partecipantiCount %][/CONDITION][DO]
[VAR name="partecipanteFull" type="string"][VALUE_OF varname="partecipantiSplit" index="partecipanteIdx" /][/VAR]
[VAR name="partecipanteSplit" type="iterable"][SPLIT regex=", CF: "][TRIM][VALUE_OF varname="partecipanteFull" /][/TRIM][/SPLIT][/VAR]
[!-- Recupera il nominativo --]
[VAR name="partecipanteNominativo" type="string"][VALUE_OF varname="partecipanteSplit" index="partecipanteNominativoIdx" /][/VAR]
[!-- Recupera il codice fiscale --]
[VAR name="partecipanteResto" type="string"][VALUE_OF varname="partecipanteSplit" index="partecipanteRestoIdx" /][/VAR]
[VAR name="partecipanteRestoSplit" type="iterable"][SPLIT regex=", Qualifica: "][VALUE_OF varname="partecipanteResto" /][/SPLIT][/VAR]
[VAR name="partecipanteCodiceFiscale" type="string"][VALUE_OF varname="partecipanteRestoSplit" index="partecipanteNominativoIdx" /][/VAR]
[%= "[" %][FORMAT type="number" pattern="integer"][% partecipanteIdx + 1 %][/FORMAT][%= "] " + partecipanteNominativo + " (CF: " + partecipanteCodiceFiscale + ")" %]
[% partecipanteIdx = partecipanteIdx + 1; %]
[/DO][/WHILE]
[/THEN][/IF]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,64 @@
info:
name: Numero partecipanti meno RS (se c'è)
type: http
seq: 13
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: "22737"
disabled: true
- name: x-ef-request-id
value: "22224"
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="newline"][% newline = ""; %][/VAR]
[VAR name="codiceFiscaleProponente"][TAG]GETVALUEBYTAG,RICHIEDENTE_CODFIS,REQUEST,IUQOID[/TAG][/VAR]
[% codiceFiscaleProponente = "SPGNDR67C24A944V"; %]
[VAR name="ripartizioniConcat" type="string"][TRIM][TAG]GETVALUEBYTAG,PARTECIPANTE,REQUEST,IUQOID,CONCAT,#[/TAG][/TRIM][/VAR]
[VAR name="ripartizioniIterable" type="iterable"][SPLIT regex="#"][VALUE_OF varname="ripartizioniConcat" /][/SPLIT][/VAR]
[VAR name="ripartizioniCount" type="string"][SIZE_OF varname="ripartizioniIterable" /][/VAR]
[IF]
[CONDITION][CONTAINS varname="ripartizioniConcat" value="codiceFiscaleProponente" /][/CONDITION]
[THEN][% ripartizioniCount = ripartizioniCount - 1; %][/THEN]
[/IF]
[%= ripartizioniConcat %]
[%= newline %]
[%= codiceFiscaleProponente %]
[%= newline %]
[%= ripartizioniCount %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,52 @@
info:
name: Numero ripartizioni da form partecipanti
type: http
seq: 14
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"
disabled: true
- name: x-ef-request-id
value: "23761"
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="ripartizioniIterable" type="iterable"][SPLIT regex="#" emptyIfBlank="true"][TAG]GETVALUEBYTAG,PARTECIPANTE,REQUEST,IUQOID,CONCAT,#[/TAG][/SPLIT][/VAR]
[VAR name="ripartizioniCount" type="string"][SIZE_OF varname="ripartizioniIterable" /][/VAR]
[%= ripartizioniCount %]
[%= crlf %]
[%= ripartizioniIterable %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,85 @@
info:
name: Partecipanti per Qualifica
type: http
seq: 15
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: "22085"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"qualificheDocenti": ";Docente;Ricercatore;"
}
}
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" /]
[!-- Must be defined in EftlSolver attribute! --]
[VAR name="newLine" type="string"][VALUE_OF varname="crlf" /][/VAR]
[VAR name="qualificheDocentiIterable" type="iterable"][SPLIT regex=";"][VALUE_OF varname="qualificheDocenti" /][/SPLIT][/VAR]
[VAR name="responsabiliScientifici" type="string"][TAG]GETVALUEBYTAG,CONTRATTO_RESPONSABILI,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="partecipanti" type="string"][TAG]GETVALUEBYTAG,CONTRATTO_PARTECIPANTI,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="soggettiIterable" type="iterable"][SPLIT regex="\n"][% responsabiliScientifici + newLine + partecipanti %][/SPLIT][/VAR]
[VAR name="elencoCodFisPersonaleDocente" type="string"][% elencoCodFisPersonaleDocente = ";"; %]][/VAR]
[VAR name="elencoCodFisPersonaleAltro" type="string"][% elencoCodFisPersonaleAltro = ";"; %]][/VAR]
[VAR name="firstItem" type="number"][% firstItem = 0; %][/VAR]
[VAR name="secondItem" type="number"][% secondItem = 1; %][/VAR]
[FOR varname="persona" iterable="soggettiIterable"]
[!-- Estraggo il Codice Fiscale --]
[VAR name="personaIterable" type="iterable"][SPLIT regex=", CF: "][TRIM][VALUE_OF varname="persona" /][/TRIM][/SPLIT][/VAR]
[VAR name="personaRight" type="string"][VALUE_OF varname="personaIterable" index="secondItem" /][/VAR]
[VAR name="personaIterable" type="iterable"][SPLIT regex=", Qualifica: "][TRIM][VALUE_OF varname="personaRight" /][/TRIM][/SPLIT][/VAR]
[VAR name="codiceFiscale" type="string"][VALUE_OF varname="personaIterable" index="firstItem" /][/VAR]
[!-- Estraggo la Qualifica --]
[VAR name="personaRight" type="string"][VALUE_OF varname="personaIterable" index="secondItem" /][/VAR]
[VAR name="personaIterable" type="iterable"][SPLIT regex=", Struttura di afferenza: "][TRIM][VALUE_OF varname="personaRight" /][/TRIM][/SPLIT][/VAR]
[VAR name="qualifica" type="string"][VALUE_OF varname="personaIterable" index="firstItem" /][/VAR]
[IF]
[CONDITION][CONTAINS varname="qualificheDocentiIterable" value="qualifica" /][/CONDITION]
[THEN][% elencoCodFisPersonaleDocente = elencoCodFisPersonaleDocente + codiceFiscale + ";"; %][/THEN]
[ELSE][% elencoCodFisPersonaleAltro = elencoCodFisPersonaleAltro + codiceFiscale + ";"; %][/ELSE]
[/IF]
[/FOR]
[%= "Docenti: " elencoCodFisPersonaleDocente %]
[%= newLine %]
[%= "Altro: " elencoCodFisPersonaleAltro %]
[%= newLine %]
[%= newLine %]
[%= responsabiliScientifici + newLine + partecipanti %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,47 @@
info:
name: RS proponente completo (multipli)
type: http
seq: 17
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: |-
{
"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="rspTitolo" type="string"][TAG]GETVALUEBYTAG,RSP_TITOLO,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="rspCognome" type="string"][TAG]GETVALUEBYTAG,RSP_COGNOME,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="rspNome" type="string"][TAG]GETVALUEBYTAG,RSP_NOME,REQUEST,IUQOID[/TAG][/VAR]
[%= rspTitolo + " " + rspCognome + " " rspNome %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,81 @@
info:
name: Recupero importo richiedente da proposta
type: http
seq: 16
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: "22737"
disabled: true
- name: x-ef-request-id
value: "22224"
disabled: true
- name: x-ef-request-id
value: "23663"
disabled: true
- name: x-ef-request-id
value: "23698"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"useTestCF": false
}
}
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="codiceFiscaleRichiedente" type="string"][TAG]GETVALUEBYTAG,RICHIEDENTE_CODFIS,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="ripartizioniIterable" type="iterable"][SPLIT regex="#"][TAG]GETVALUEBYTAG,COPPIE_RIPARTIZIONI,REQUEST,IUQOID,CONCAT,#[/TAG][/SPLIT][/VAR]
[VAR name="firstItem" type="number"][% firstItem = 0; %][/VAR]
[VAR name="secondItem" type="number"][% secondItem = 1; %][/VAR]
[VAR name="importoRichiedente" type="number"][% importoRichiedente = 0; %][/VAR]
[FOR varname="coppia" iterable="ripartizioniIterable"]
[VAR name="coppiaiIterable" type="iterable"][SPLIT regex=":"][VALUE_OF varname="coppia" /][/SPLIT][/VAR]
[VAR name="codiceFiscale" type="string"][VALUE_OF varname="coppiaiIterable" index="firstItem" /][/VAR]
[VAR name="importo" type="number"][VALUE_OF varname="coppiaiIterable" index="secondItem" /][/VAR]
[IF]
[CONDITION][% codiceFiscale == codiceFiscaleRichiedente %][/CONDITION]
[THEN][% importoRichiedente = importo; %][/THEN]
[/IF]
[/FOR]
[!--
[%= importoRichiedente %]
--]
[FORMAT type="number" pattern="0.00"][% importoRichiedente %][/FORMAT]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
docs: |-
SchemaId 709
Campo COL0118
@@ -0,0 +1,61 @@
info:
name: TEST ordine GetValueByTag
type: http
seq: 18
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: "22737"
disabled: true
- name: x-ef-request-id
value: "22224"
disabled: true
- name: x-ef-request-id
value: "23258"
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="lastUpdatedNominativo" type="string"][TAG]GETVALUEBYTAG,PARTECIPANTE,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[VAR name="lastUpdatedImporto" type="string"][TAG]GETVALUEBYTAG,IMPORTO_RIPARTIZIONE,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[VAR name="firstItem" type="number"][% firstItem = 0; %][/VAR]
[VAR name="secondItem" type="number"][% secondItem = 1; %][/VAR]
[VAR name="lastUpdatedNominativoIterable" type="iterable"][SPLIT regex=" \(CF: "][VALUE_OF varname="lastUpdatedNominativo" /][/SPLIT][/VAR]
[VAR name="lastUpdatedNominativoRightIterable" type="iterable"][SPLIT regex=", Qualifica: "][VALUE_OF varname="lastUpdatedNominativoIterable" index="secondItem" /][/SPLIT][/VAR]
[VAR name="lastUpdatedNominativoCF" type="string"][VALUE_OF varname="lastUpdatedNominativoRightIterable" index="firstItem" /][/VAR]
[%= lastUpdatedNominativoCF + ":" + lastUpdatedImporto %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,88 @@
info:
name: Tabella HTML ripartizioni WHILE
type: http
seq: 19
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"
disabled: true
- name: x-ef-request-id
value: "23629"
disabled: true
- name: x-ef-request-id
value: "23761"
disabled: true
- name: x-ef-request-id
value: "31499"
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="ripartizioniNominativiWithSep" type="string"][TAG]SCHEMAID,538,COL0005,ID_OBJECT,,#[/TAG][/VAR]
[VAR name="ripartizioniImportiWithSep" type="string"][TAG]SCHEMAID,538,COL0002,ID_OBJECT,,#[/TAG][/VAR]
[%= "<table><tr><th>Partecipante</th><th>Importo (EUR)</th></tr>" %]
[IF][CONDITION][IS_NOT_EMPTY varname="ripartizioniNominativiWithSep" /][/CONDITION][THEN]
[VAR name="ripartizioniNominativiIterable" type="iterable"][SPLIT regex="#" emptyIfBlank="true"][VALUE_OF varname="ripartizioniNominativiWithSep" /][/SPLIT][/VAR]
[VAR name="ripartizioniImportiIterable" type="iterable" emptyIfBlank="true"][SPLIT regex="#"][VALUE_OF varname="ripartizioniImportiWithSep" /][/SPLIT][/VAR]
[VAR name="ripartizioniCount" type="number"][SIZE_OF varname="ripartizioniNominativiIterable" /][/VAR]
[VAR name="ripartizioneIdx" type="string"][% ripartizioneIdx = 0; %][/VAR]
[VAR name="firstItem" type="number"][% firstItem = 0; %][/VAR]
[VAR name="secondItem" type="number"][% secondItem = 1; %][/VAR]
[WHILE threshold="99"]
[CONDITION][% ripartizioneIdx < ripartizioniCount %][/CONDITION]
[DO]
[VAR name="ripartizioneNominativoFull" type="string"][VALUE_OF varname="ripartizioniNominativiIterable" index="ripartizioneIdx" /][/VAR]
[VAR name="ripartizioneImporto" type="number"][VALUE_OF varname="ripartizioniImportiIterable" index="ripartizioneIdx" /][/VAR]
[VAR name="ripartizioneNominativoIterable" type="iterable"][SPLIT regex="] "][TRIM][VALUE_OF varname="ripartizioneNominativoFull" /][/TRIM][/SPLIT][/VAR]
[!-- Recupera il nominativo --]
[VAR name="ripartizioneNominativo" type="string"][VALUE_OF varname="ripartizioneNominativoIterable" index="secondItem" /][/VAR]
[% ripartizioneIdx = ripartizioneIdx + 1; %]
[!-- HACK ignobile per recuperare il numero che altrimenti verrebbe emesso come "1.0", etc... --]
[VAR name="ripartizioneKeyIterable" type="iterable"][SPLIT regex="\."][% ripartizioneIdx + "" %][/SPLIT][/VAR]
[VAR name="ripartizioneKey" type="string"][VALUE_OF varname="ripartizioneKeyIterable" index="firstItem" /][/VAR]
[%= "<tr><td>" + ripartizioneNominativo + "</td><td>" %][FORMAT type="number" pattern="#,##0.00"][% ripartizioneImporto %][/FORMAT][%= "</td></tr>" %]
[/DO]
[/WHILE]
[/THEN][/IF]
[%= "</table>" %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,7 @@
info:
name: Proposta
type: folder
seq: 1
request:
auth: inherit