move bruno collections in own folder

This commit is contained in:
2026-07-22 12:04:55 +02:00
parent ca9ba75c21
commit 044c54ab7b
313 changed files with 0 additions and 0 deletions
@@ -0,0 +1,50 @@
info:
name: Anno corrente
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: "22737"
disabled: true
- name: x-ef-request-id
value: "22224"
disabled: true
- name: x-ef-request-id
value: "23663"
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" /]
[TAG]SCHEMAID,709,COL0117,IUQOID, , ,,YYYY[/TAG]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -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
@@ -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
@@ -0,0 +1,50 @@
info:
name: Inserimento Ore Dentro - Calcolo importo equivalente
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: "30661"
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="importoAssegnato" type="number"][TAG]SCHEMAID,709,COL0118,IUQOID, ,,,0.00[/TAG][/VAR]
[VAR name="oreTotali" type="number"][TAG]SCHEMAID,709,COL0119,IUQOID, ,,,0[/TAG][/VAR]
[VAR name="oreAttivita" type="number"][TAG]GETVALUEBYTAG,ATTIVITA_ORE;ORE_DENTRO_ORARIO,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[VAR name="importoProporzionato" type="number"][% importoProporzionato = (importoAssegnato * oreAttivita) / oreTotali; %][/VAR]
[FORMAT type="number" pattern="0.00"][% importoProporzionato %][/FORMAT]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,52 @@
info:
name: Inserimento Ore Dentro - Dati attività CSV
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: "31470"
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="importoAssegnato" type="number"][TAG]SCHEMAID,709,COL0118,IUQOID, ,,,0.00[/TAG][/VAR]
[VAR name="oreTotali" type="number"][TAG]SCHEMAID,709,COL0119,IUQOID, ,,,0[/TAG][/VAR]
[VAR name="anno" type="string"][TAG]GETVALUEBYTAG,ATTIVITA_ANNO,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[VAR name="ore" type="string"][TAG]GETVALUEBYTAG,ATTIVITA_ORE;ORE_DENTRO_ORARIO,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[VAR name="importoProporzionato" type="number"][% importoProporzionato = (importoAssegnato * ore) / oreTotali; %][/VAR]
[%= anno %];[%= ore %];[FORMAT type="number" pattern="0.00"][% importoProporzionato %][/FORMAT]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,50 @@
info:
name: Inserimento Ore Fuori - Calcolo importo equivalente
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: "30661"
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="importoAssegnato" type="number"][TAG]SCHEMAID,709,COL0118,IUQOID, ,,,0.00[/TAG][/VAR]
[VAR name="oreTotali" type="number"][TAG]SCHEMAID,709,COL0119,IUQOID, ,,,0[/TAG][/VAR]
[VAR name="oreAttivita" type="number"][TAG]GETVALUEBYTAG,ATTIVITA_ORE;ORE_FUORI_ORARIO,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[VAR name="importoProporzionato" type="number"][% importoProporzionato = (importoAssegnato * oreAttivita) / oreTotali; %][/VAR]
[FORMAT type="number" pattern="0.00"][% importoProporzionato %][/FORMAT]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,52 @@
info:
name: Inserimento Ore Fuori - Dati attività CSV copy
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: "31470"
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="importoAssegnato" type="number"][TAG]SCHEMAID,709,COL0118,IUQOID, ,,,0.00[/TAG][/VAR]
[VAR name="oreTotali" type="number"][TAG]SCHEMAID,709,COL0119,IUQOID, ,,,0[/TAG][/VAR]
[VAR name="anno" type="string"][TAG]GETVALUEBYTAG,ATTIVITA_ANNO,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[VAR name="ore" type="string"][TAG]GETVALUEBYTAG,ATTIVITA_ORE;ORE_FUORI_ORARIO,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[VAR name="importoProporzionato" type="number"][% importoProporzionato = (importoAssegnato * ore) / oreTotali; %][/VAR]
[%= anno %];[%= ore %];[FORMAT type="number" pattern="0.00"][% importoProporzionato %][/FORMAT]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,55 @@
info:
name: Limiti - Calcolo MIN ore dentro orario
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: "31418"
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="percentualePartTime" type="number"][TAG]GETVALUEBYTAG,DIPENDENTE_PERC_PARTTIME,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="oreEquivalenti" type="number"][TAG]GETVALUEBYTAG,ORE_RIPARTIZIONE_ASSEGNATA,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="maxOre" type="number"][TAG]GETVALUEBYTAG,MAX_ORE_DENTRO_ORARIO,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="limiteOre" type="number"][% limiteOre = (percentualePartTime * maxOre); %][/VAR]
[IF]
[CONDITION][% limiteOre > oreEquivalenti %][/CONDITION]
[THEN][% limiteOre = oreEquivalenti; %][/THEN]
[/IF]
[FORMAT type="number" pattern="integer"][% limiteOre %][/FORMAT]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,55 @@
info:
name: Limiti - Calcolo MIN ore fuori orario
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: "31418"
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="percentualePartTime" type="number"][TAG]GETVALUEBYTAG,DIPENDENTE_PERC_PARTTIME,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="oreEquivalenti" type="number"][TAG]GETVALUEBYTAG,ORE_RIPARTIZIONE_ASSEGNATA,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="maxOre" type="number"][TAG]GETVALUEBYTAG,MAX_ORE_FUORI_ORARIO,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="limiteOre" type="number"][% limiteOre = (percentualePartTime * maxOre); %][/VAR]
[IF]
[CONDITION][% limiteOre > oreEquivalenti %][/CONDITION]
[THEN][% limiteOre = oreEquivalenti; %][/THEN]
[/IF]
[FORMAT type="number" pattern="integer"][% limiteOre %][/FORMAT]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,55 @@
info:
name: Limiti - Indicazione MAX annuale ore dentro orario
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: "30661"
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="percentualePartTime" type="number"][TAG]GETVALUEBYTAG,DIPENDENTE_PERC_PARTTIME,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="oreEquivalenti" type="number"][TAG]GETVALUEBYTAG,ORE_RIPARTIZIONE_ASSEGNATA,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="maxOre" type="number"][TAG]GETVALUEBYTAG,MAX_ORE_DENTRO_ORARIO,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="limiteOre" type="number"][% limiteOre = (percentualePartTime * maxOre); %][/VAR]
[IF]
[CONDITION][% limiteOre > oreEquivalenti %][/CONDITION]
[THEN][% limiteOre = oreEquivalenti; %][/THEN]
[/IF]
In base al proprio inquadramento, il limite annuale di ore di attività svolte dentro l'orario di lavoro è pari a [FORMAT type="number" pattern="integer"][% limiteOre %][/FORMAT]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,55 @@
info:
name: Limiti - Indicazione MAX annuale ore fuori orario
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: "30661"
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="percentualePartTime" type="number"][TAG]GETVALUEBYTAG,DIPENDENTE_PERC_PARTTIME,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="oreEquivalenti" type="number"][TAG]GETVALUEBYTAG,ORE_RIPARTIZIONE_ASSEGNATA,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="maxOre" type="number"][TAG]GETVALUEBYTAG,MAX_ORE_FUORI_ORARIO,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="limiteOre" type="number"][% limiteOre = (percentualePartTime * maxOre); %][/VAR]
[IF]
[CONDITION][% limiteOre > oreEquivalenti %][/CONDITION]
[THEN][% limiteOre = oreEquivalenti; %][/THEN]
[/IF]
In base al proprio inquadramento, il limite annuale di ore di attività svolte fuori dall'orario di lavoro è pari a [FORMAT type="number" pattern="integer"][% limiteOre %][/FORMAT]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,100 @@
info:
name: Richiedente - Calcolo ore equivalenti
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: "31555"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"IS_OP": "OP0;OP1;OP2;OP3;OP4;OP5;OP6;OP7;OP8",
"IS_CO": "CO0;CO1;CO2;CO3;CO4;CO5;CO6;CO7;CO8",
"IS_FU": "FU0;FU1;FU2;FU3;FU4;FU5;FU6;FU7;FU8",
"IS_EP": "EL0;EP0;EP1;EP2;EP3;EP4;EP5;EP6;EP7;EP8",
"OP": 0.0431,
"CO": 0.0405,
"FU": 0.0350,
"EP": 0.0307
}
}
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="inquadramentoRichiedente" type="string"][TAG]GETVALUEBYTAG,INQUADRAMENTO_DIPENDENTE,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="codiceFiscaleRichiedente" type="string"][TAG]GETVALUEBYTAG,RICHIEDENTE_CODFIS,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="datiRipartizioniIterable" type="iterable"][SPLIT regex="##"][TAG]GETVALUEBYTAG,RIPARTIZIONE_DATI_COMPLETI,REQUEST,IUQOID,CONCAT,##[/TAG][/SPLIT][/VAR]
[% item2 = 1; %]
[% item5 = 4; %]
[% importoRichiedente = 0; %]
[% fattoreConversione = 0; %]
[FOR varname="riga" iterable="datiRipartizioniIterable"]
[VAR name="rigaIterable" type="iterable"][SPLIT regex=";;"][VALUE_OF varname="riga" /][/SPLIT][/VAR]
[VAR name="codiceFiscale" type="string"][VALUE_OF varname="rigaIterable" index="item2" /][/VAR]
[VAR name="importo" type="number"][VALUE_OF varname="rigaIterable" index="item5" /][/VAR]
[IF]
[CONDITION][% codiceFiscale == codiceFiscaleRichiedente %][/CONDITION]
[THEN][% importoRichiedente = importo; %][/THEN]
[/IF]
[/FOR]
[IF]
[CONDITION][CONTAINS varname="IS_OP"][% inquadramentoRichiedente %][/CONTAINS][/CONDITION]
[THEN][% fattoreConversione = OP; %][/THEN]
[ELSE IF]
[CONDITION][CONTAINS varname="IS_CO"][% inquadramentoRichiedente %][/CONTAINS][/CONDITION]
[THEN][% fattoreConversione = CO; %][/THEN]
[/ELSE IF]
[ELSE IF]
[CONDITION][CONTAINS varname="IS_FU"][% inquadramentoRichiedente %][/CONTAINS][/CONDITION]
[THEN][% fattoreConversione = FU; %][/THEN]
[/ELSE IF]
[ELSE IF]
[CONDITION][CONTAINS varname="IS_EP"][% inquadramentoRichiedente %][/CONTAINS][/CONDITION]
[THEN][% fattoreConversione = EP; %][/THEN]
[/ELSE IF]
[/IF]
[!--
inquadramentoRichiedente: [%= inquadramentoRichiedente %]
codiceFiscaleRichiedente: [%= codiceFiscaleRichiedente %]
importoRichiedente: [%= importoRichiedente %]
fattoreConversione: [%= fattoreConversione %]
Output
--]
[FORMAT type="number" pattern="0"][% importoRichiedente * fattoreConversione %][/FORMAT]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
docs: |-
SchemaId 709
Campo COL0118
@@ -0,0 +1,71 @@
info:
name: Richiedente - Check ammesso compilazione
type: http
seq: 2
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: "24281"
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: |-
// Copy-pasta your EFTL document below inside the template literals (`)
var eftlDocumentToBeProcessed = bru.setVar("elixBase64EftlDocument", btoa(String.raw`
[EFTL][HEADER name="trimDocument" value="true" type="boolean" /]
[VAR name="checkUtentePartecipante" type="string"][% checkUtentePartecipante = "Il richiedente non è ammesso alla compilazione perché non partecipa alle ripartizioni"; %][/VAR]
[VAR name="richiedenteCF" type="string"][TAG]GETVALUEBYTAG,RICHIEDENTE_CODFIS,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="richiedentePropostaCF" type="string"][TAG]GETVALUEBYTAG,PROPOSTA_RICHIEDENTE_CODFIS,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="ripartizioniDatiCompleti" type="string"][TAG]GETVALUEBYTAG,RIPARTIZIONE_DATI_COMPLETI,REQUEST,IUQOID[/TAG][/VAR]
[!-- ATTENZIONE: gli ELSEIF non rispettano la logica di esclusione dei blocchi! Lasciare le condizioni in questo ordine! --]
[!-- 1. Il richiedente non deve essere vuoto --]
[!-- 2. Il richiedente deve comparire fra le ripartizioni --]
[!-- 3. Il richiedente può eventualmente comparire fra i nominativi ammessi (DEBUG) --]
[!-- 4. Il richiedente non deve essere il RS che ha presentato la Proposta --]
[IF]
[CONDITION][IS_EMPTY varname="richiedenteCF" /][/CONDITION]
[THEN][% checkUtentePartecipante = "Nessun richiedente trovato"; %][/THEN]
[ELSE IF]
[CONDITION][CONTAINS varname="ripartizioniDatiCompleti"];;[VALUE_OF varname="richiedenteCF" /];;[/CONTAINS][/CONDITION]
[THEN][% checkUtentePartecipante = ""; %][/THEN]
[/ELSE IF]
[ELSE IF]
[CONDITION][CONTAINS varname="codiciFiscaliAmmessi"][VALUE_OF varname="richiedenteCF" /][/CONTAINS][/CONDITION]
[THEN][% checkUtentePartecipante = ""; %][/THEN]
[/ELSE IF]
[ELSE IF]
[CONDITION][% richiedenteCF == richiedentePropostaCF %][/CONDITION]
[THEN][% checkUtentePartecipante = "Il Responsabile Scientifico proponente della Proposta non deve compilare la DSAN"; %][/THEN]
[/ELSE IF]
[/IF]
[%= checkUtentePartecipante %]
[/EFTL]
`));
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,53 @@
info:
name: Richiedente - Check ruolo per compilazione
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: "24281"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"codiciRuoloPersonaleDocente": ";PA;PO;PD;RU;PF;"
}
}
auth: inherit
runtime:
scripts:
- type: before-request
code: |-
// Copy-pasta your EFTL document below inside the template literals (`)
var eftlDocumentToBeProcessed = bru.setVar("elixBase64EftlDocument", btoa(String.raw`
[EFTL][HEADER name="trimDocument" value="true" type="boolean" /]
[VAR name="checkPersonaleDocente" type="string"][% checkPersonaleDocente = ""; %][/VAR]
[VAR name="richiedenteRuolo" type="string"][TAG]GETVALUEBYTAG,RUOLO_DIPENDENTE,REQUEST,IUQOID[/TAG][/VAR]
[IF]
[CONDITION][CONTAINS varname="codiciRuoloPersonaleDocente"][VALUE_OF varname="richiedenteRuolo" /][/CONTAINS][/CONDITION]
[THEN][% checkPersonaleDocente = "Il personale docente non deve inserire le ore di attività"; %][/THEN]
[/IF]
[%= checkPersonaleDocente %]
[/EFTL]
`));
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,66 @@
info:
name: Richiedente - Importo ripartizione da Proposta
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: "31555"
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="codiceFiscaleRichiedente" type="string"][TAG]GETVALUEBYTAG,RICHIEDENTE_CODFIS,REQUEST,IUQOID[/TAG][/VAR]
[VAR name="datiRipartizioniIterable" type="iterable"][SPLIT regex="##"][TAG]GETVALUEBYTAG,RIPARTIZIONE_DATI_COMPLETI,REQUEST,IUQOID,CONCAT,##[/TAG][/SPLIT][/VAR]
[VAR name="item2" type="number"][% item2 = 1; %][/VAR]
[VAR name="item5" type="number"][% item5 = 4; %][/VAR]
[VAR name="importoRichiedente" type="number"][% importoRichiedente = 0; %][/VAR]
[FOR varname="riga" iterable="datiRipartizioniIterable"]
[VAR name="rigaiIterable" type="iterable"][SPLIT regex=";;"][VALUE_OF varname="riga" /][/SPLIT][/VAR]
[VAR name="codiceFiscale" type="string"][VALUE_OF varname="rigaiIterable" index="item2" /][/VAR]
[VAR name="importo" type="number"][VALUE_OF varname="rigaiIterable" index="item5" /][/VAR]
[IF]
[CONDITION][% codiceFiscale == codiceFiscaleRichiedente %][/CONDITION]
[THEN][% importoRichiedente = importo; %][/THEN]
[/IF]
[/FOR]
[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,7 @@
info:
name: DSAN
type: folder
seq: 2
request:
auth: inherit
@@ -0,0 +1,55 @@
info:
name: Campi conferma - Codice struttura assegnazione
type: http
seq: 2
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: "32873"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"struttureCensite": "106014;;106227;;106208;;106027;;106178;;106177;;106006;;106017;;106016;;106012;;300221;;106013;;106015;;106007;;106011;;106156;;106151;;106154;;106155;;106152;;106157;;106153;;106150;;106148;;106277;;106272",
"codiceStrutturaDefault": "CENTRO_DEFAULT"
}
}
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" /]
[% codiceStruttura = codiceStrutturaDefault; %]
[VAR name="codiceStrutturaContratto" type="string"][TAG]GETVALUEBYTAG,STRUTTURA_PRINCIPALE_CODICE_INIZIALE,REQUEST,ID_OBJECT[/TAG][/VAR]
[IF]
[CONDITION][CONTAINS varname="struttureCensite" value="codiceStrutturaContratto" /][/CONDITION]
[THEN][% codiceStruttura = codiceStrutturaContratto; %][/THEN]
[/IF]
[%= codiceStruttura %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,55 @@
info:
name: Campi conferma - Codice struttura protocollo
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: "32873"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"struttureCensite": "106014;;106227;;106208;;106027;;106178;;106177;;106006;;106017;;106016;;106012;;300221;;106013;;106015;;106007;;106011;;106156;;106151;;106154;;106155;;106152;;106157;;106153;;106150;;106148;;106277;;106272",
"codiceStrutturaDefault": "CENTRO_DEFAULT"
}
}
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" /]
[% codiceStruttura = codiceStrutturaDefault; %]
[VAR name="codiceStrutturaContratto" type="string"][TAG]GETVALUEBYTAG,STRUTTURA_PRINCIPALE_CODICE_INIZIALE,REQUEST,ID_OBJECT[/TAG][/VAR]
[IF]
[CONDITION][CONTAINS varname="struttureCensite" value="codiceStrutturaContratto" /][/CONDITION]
[THEN][% codiceStruttura = codiceStrutturaContratto; %][/THEN]
[/IF]
[%= codiceStruttura %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,66 @@
info:
name: Check Richiedente IN Responsabili Scientifici
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: "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,83 @@
info:
name: Codici fiscali ripartizioni
type: http
seq: 26
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,71 @@
info:
name: Elenco Contraenti in formato CSV
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: "22085"
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
@@ -0,0 +1,78 @@
info:
name: Elenco Partecipanti - Array CF altri
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: "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]
[%= elencoCodFisPersonaleAltro %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,78 @@
info:
name: Elenco Partecipanti - Array CF docenti
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: "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]
[%= elencoCodFisPersonaleDocente %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,137 @@
info:
name: Elenco Partecipanti - Dropdown con chiave
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: "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=", Data di inizio: "][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=", Data di inizio: "][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,71 @@
info:
name: Elenco RS in formato CSV
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: "22085"
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
@@ -0,0 +1,47 @@
info:
name: Nominativo completo RS proponente
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: "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,100 @@
info:
name: Notifiche email partecipanti - Body
type: http
seq: 20
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: "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" /]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style>
.intestazione { padding: 0 0 10px 0; margin: 0; font-family: Arial, Sans-serif; font-size: 16px; font-weight: bold; color: #222; }
.warning { padding: 15px; border: 1px solid transparent; border-radius: 4px; background-position: 15px 15px; color: #8A6D3B; background-color: #FCF8E3; border-color: #FAEBCC; }
.riepilogo { width: 100%; font-family: Arial, Sans-serif; border: 1px solid #ccc; border-width: 1px; background-color: #fff; }
.etichetta { padding: 0 1em 10px 0; font-family: Arial, Sans-serif; font-size: 13px; font-style: normal; color: #888; white-space: nowrap; vertical-align: top; }
.valore { padding-bottom: 10px; font-family: Arial, Sans-serif; font-size: 13px; color: #222; vertical-align: top; }
.footer { background-color: #f6f6f6; color: #888; border-top: 1px solid #ccc; font-family: Arial, Sans-serif; font-size: 11px; }
</style>
</head>
<body>
<table cellspacing="0" cellpadding="8" border="0" summary="" class="riepilogo"><tbody><tr><td><div style="padding: 2px;">
<h3 class="intestazione">Notifica domanda inoltrata di Proposta Ripartizione Utili / Compensi</h3>
<table cellpadding="0" cellspacing="0" border="0"><tbody>
<tr><td colspan="2" class="valore">
<div class="warning">&Egrave; necessario compilare la DSAN collegata all'istanza del modulo "Ripartizione Utili / Compensi - Presentazione Proposta" i cui dati sono riportati nel seguito!</div>
</td></tr>
<tr><td colspan="2" class="valore">Riepilogo dei dati della Proposta</td></tr>
<tr><td colspan="2" class="valore"></td></tr>
<tr>
<td class="etichetta"><div>Domanda n.</div></td>
<td class="valore">[%= requestId %]</td>
</tr>
<tr>
<td class="etichetta"><div>Numero ricevuta</div></td>
<td class="valore">[TAG]SCHEMAID,17,COL0027,IUQOID, , [/TAG]</td>
</tr>
<tr>
<td class="etichetta"><div>Responsabile Scientifico proponente</div></td>
<td class="valore">[TAG]GETVALUEBYTAG,RSP_TITOLO,REQUEST,ID_OBJECT[/TAG]&nbsp;[TAG]GETVALUEBYTAG,RSP_COGNOME,REQUEST,ID_OBJECT[/TAG]&nbsp;[TAG]GETVALUEBYTAG,RSP_NOME,REQUEST,ID_OBJECT[/TAG]</td>
</tr>
<tr>
<td class="etichetta"><div>Codice contratto</div></td>
<td class="valore">[TAG]GETVALUEBYTAG,ID_CONTRATTO,REQUEST,ID_OBJECT[/TAG]</td>
</tr>
<tr>
<td class="etichetta"><div>Data di inoltro</div></td>
<td class="valore">[TAG]SCHEMAID,17,COL0013,IUQOID, , [/TAG]</td>
</tr>
<tr>
<td class="etichetta"><div>Modulo</div></td>
<td class="valore">Ripartizione Utili / Compensi - Presentazione Proposta</td>
</tr>
<tr><td colspan="2" class="valore"><br/>Collegati al modulo <a href="https://procedure.unipr.it/rwe2/module_preview.jsp?MODULE_TAG=RIPARTIZIONE_CCT_DSAN">Ripartizione Utili / Compensi - DSAN</a> per compilare e inoltrare la domanda.</td></tr>
</tbody></table>
</div></td></tr></tbody></table>
<table cellspacing="0" cellpadding="8" border="0" summary="" class="riepilogo"><tbody><tr><td class="footer">
Questo messaggio &egrave; stato inoltrato automaticamente dal sistema elixForms. Si prega di <span style="text-decoration: underline">non rispondere via email</span>.
<br>
Per eventuali richieste di supporto, collegarsi all'area utente e utilizzare il servizio di &quot; contatta il supporto&quot;.
</td></tr></tbody></table>
</body>
</html>
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,44 @@
info:
name: Notifiche email partecipanti - Subject
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: "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" /]
*** https://procedure.unipr.it - Richiesta compilazione DSAN per Ripartizione Utili / Compensi - Contratto [TAG]GETVALUEBYTAG,ID_CONTRATTO,REQUEST,ID_OBJECT[/TAG] ***
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,70 @@
info:
name: Partecipanti - Body NO fancy HTML
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: "34396"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"href": "https://procedure.unipr.it/rwe2/module_preview.jsp?MODULE_TAG=RIPARTIZIONE_CCT_DSAN"
}
}
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="rsp_titolo" type="string"][TAG]GETVALUEBYTAG,RSP_TITOLO,REQUEST,ID_OBJECT[/TAG][/VAR]
[VAR name="rsp_cognome" type="string"][TAG]GETVALUEBYTAG,RSP_COGNOME,REQUEST,ID_OBJECT[/TAG][/VAR]
[VAR name="rsp_nome" type="string"][TAG]GETVALUEBYTAG,RSP_NOME,REQUEST,ID_OBJECT[/TAG][/VAR]
[% responsabileScientificoProponente = rsp_titolo + " " + rsp_cognome + " " + rsp_nome; %]
[% secondItem = 1; %]
[VAR name="partecipanteIterable" type="iterable"][SPLIT regex="\] "][TAG]GETVALUEBYTAG,PARTECIPANTE,REQUEST,ID_OBJECT[/TAG][/SPLIT][/VAR]
[VAR name="partecipante" type="string"][VALUE_OF varname="partecipanteIterable" index="secondItem" /][/VAR]
[VAR name="importo" type="string"][TAG]GETVALUEBYTAG,IMPORTO_RIPARTIZIONE,REQUEST,ID_OBJECT[/TAG][/VAR]
<h2>&Egrave; necessario compilare la DSAN collegata all'istanza del modulo "Ripartizione Utili / Compensi - Presentazione Proposta" i cui dati sono riportati nel seguito!</h2>
<h3>Riepilogo dei dati della Proposta</h3>
<p>Responsabile Scientifico proponente:&nbsp;&nbsp;<b>[%= responsabileScientificoProponente %]</b></p>
<p>Codice contratto:&nbsp;&nbsp;<b>[TAG]GETVALUEBYTAG,ID_CONTRATTO,REQUEST,ID_OBJECT[/TAG]</b></p>
<p>Titolo contratto:&nbsp;&nbsp;<b>[TAG]GETVALUEBYTAG,TITOLO_CONTRATTO,REQUEST,ID_OBJECT[/TAG]</b></p>
<p>Contraente/i:&nbsp;&nbsp;<b>[TAG]GETVALUEBYTAG,CONTRATTO_CONTRAENTI,REQUEST,ID_OBJECT[/TAG]</b></p>
<h3>Ripartizione</h3>
<p>Partecipante:&nbsp;&nbsp;<b>[%= partecipante %]</b></p>
<p>Importo (&euro;):&nbsp;&nbsp;<b>[FORMAT type="number" pattern="#,##0.00"][VALUE_OF varname="importo" /][/FORMAT]</b></p>
<h3>Modulo DSAN</h3>
<p>Link al modulo:&nbsp;&nbsp;<b>[%= href %]</b></p>
<p><i>(se il link non fosse cliccabile, copiarlo e incollarlo in una nuova finestra del browser)</i></p>
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,67 @@
info:
name: Partecipanti - Body
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: "32873"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"startTable": "\u003ctable cellpadding='0' cellspacing='0' border='0'\u003e\u003ctbody\u003e",
"endTable": "\u003c/tbody\u003e\u003c/table\u003e\r\n",
"startRowColspan": "\r\n\u003ctr\u003e\u003ctd style='padding-bottom: 10px; font-family: Arial, Sans-serif; font-size: 13px; color: #222; vertical-align: top;' colspan='2'\u003e",
"startLabelRow": "\r\n\u003ctr\u003e\u003ctd style='padding: 0 1em 10px 0; font-family: Arial, Sans-serif; font-size: 13px; color:#888; white-space: nowrap; vertical-align: top;'\u003e\u003cdiv\u003e",
"startValueRow": "\r\n\u003c/div\u003e\u003c/td\u003e\u003ctd style='padding-bottom: 10px; font-family: Arial,Sans-serif; font-size: 13px; color: #222; vertical-align: top;'\u003e",
"endRow": "\u003c/td\u003e\u003c/tr\u003e",
"href": "\u003ca href='https://procedure.unipr.it/rwe2/module_preview.jsp?MODULE_TAG=RIPARTIZIONE_CCT_DSAN' target='_blank'\u003eRipartizione Utili / Compensi - DSAN\u003c/a\u003e"
}
}
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="rsp_titolo" type="string"][TAG]GETVALUEBYTAG,RSP_TITOLO,REQUEST,ID_OBJECT[/TAG][/VAR]
[VAR name="rsp_cognome" type="string"][TAG]GETVALUEBYTAG,RSP_COGNOME,REQUEST,ID_OBJECT[/TAG][/VAR]
[VAR name="rsp_nome" type="string"][TAG]GETVALUEBYTAG,RSP_NOME,REQUEST,ID_OBJECT[/TAG][/VAR]
[% responsabileScientificoProponente = rsp_titolo + " " + rsp_cognome + " " + rsp_nome; %]
[%= startTable %]
[%= startRowColspan %]<b>È necessario compilare la DSAN collegata all'istanza del modulo "Ripartizione Utili / Compensi - Presentazione Proposta" i cui dati sono riportati nel seguito!</b>[%= endRow %]
[%= startRowColspan %][%= endRow %]
[%= startRowColspan %]<b>Riepilogo dei dati della Proposta</b>[%= endRow %]
[%= startRowColspan %][%= endRow %]
[%= startLabelRow %]Responsabile Scientifico proponente[%= startValueRow %][%= responsabileScientificoProponente %][%= endRow %]
[%= startLabelRow %]Codice contratto[%= startValueRow %][TAG]GETVALUEBYTAG,ID_CONTRATTO,REQUEST,ID_OBJECT[/TAG][%= endRow %]
[%= startLabelRow %]Titolo contratto[%= startValueRow %][TAG]GETVALUEBYTAG,TITOLO_CONTRATTO,REQUEST,ID_OBJECT[/TAG][%= endRow %]
[%= startLabelRow %]Contraente/i[%= startValueRow %][TAG]GETVALUEBYTAG,CONTRATTO_CONTRAENTI,REQUEST,ID_OBJECT[/TAG][%= endRow %]
[%= startRowColspan %][%= endRow %]
[%= startRowColspan %]<b>Il link al modulo di presentazione della DSAN è: [%= href %]</b>[%= endRow %]
[%= endTable %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,66 @@
info:
name: Partecipanti - CF per verifica DSAN
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: "32873"
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="richiedenteCF" type="string"][TAG]GETVALUEBYTAG,RICHIEDENTE_CODFIS,REQUEST,IUQOID,UPDATED_LAST[/TAG][/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]
[% partecipanteCF = lastUpdatedNominativoCF; %]
[!-- La DSAN deve essere presentata da tutti i partecipanti inseriti! --]
[!--
[IF]
[CONDITION][% lastUpdatedNominativoCF != "" && lastUpdatedNominativoCF == richiedenteCF %][/CONDITION]
[THEN][% partecipanteCF = ""; %][/THEN]
[/IF]
--]
[%= partecipanteCF %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,69 @@
info:
name: Partecipanti - Email
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: "32873"
body:
type: json
data: |-
{
"userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script
"userContext": {
"lang": "IT",
"crlf": "\r\n",
"DEBUG": "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" /]
[% item1 = 0; item2 = 1; emailPartecipante = ""; %]
[VAR name="arrayCfEmailIterable" type="iterable"][SPLIT regex=";"][TAG]GETVALUEBYTAG,SOGGETTI_EMAIL,REQUEST,IUQOID[/TAG][/SPLIT][/VAR]
[!-- Recupera il CF dell'ultimo inserimento --]
[VAR name="lastUpdatedNominativoIterable" type="iterable"][SPLIT regex=" \(CF: "][TAG]GETVALUEBYTAG,PARTECIPANTE,REQUEST,IUQOID,UPDATED_LAST[/TAG][/SPLIT][/VAR]
[VAR name="lastUpdatedNominativoRightIterable" type="iterable"][SPLIT regex=", Qualifica: "][VALUE_OF varname="lastUpdatedNominativoIterable" index="item2" /][/SPLIT][/VAR]
[VAR name="lastUpdatedNominativoCF" type="string"][VALUE_OF varname="lastUpdatedNominativoRightIterable" index="item1" /][/VAR]
[FOR varname="coppia" iterable="arrayCfEmailIterable"]
[VAR name="coppiaIterable" type="iterable"][SPLIT regex=":"][VALUE_OF varname="coppia" /][/SPLIT][/VAR]
[VAR name="codiceFiscale" type="string"][VALUE_OF varname="coppiaIterable" index="item1" /][/VAR]
[VAR name="email" type="string"][VALUE_OF varname="coppiaIterable" index="item2" /][/VAR]
[IF]
[CONDITION][% lastUpdatedNominativoCF == codiceFiscale %][/CONDITION]
[THEN][% emailPartecipante = email; %][/THEN]
[/IF]
[/FOR]
[IF]
[CONDITION][% DEBUG == "S" %][/CONDITION]
[THEN][% emailPartecipante = "pierpaolo.mammi@unipr.it"; %][/THEN]
[/IF]
[%= emailPartecipante %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,59 @@
info:
name: Partecipanti - Importo PTA
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: "32873"
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="arrayCF" type="string"][TAG]GETVALUEBYTAG,PARTECIPANTI_QUALIFICA_ALTRO,REQUEST,IUQOID[/TAG][/VAR]
[% item1 = 0; item2 = 1; importoDocente = 0; %]
[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="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="item2" /][/SPLIT][/VAR]
[VAR name="lastUpdatedNominativoCF" type="string"][VALUE_OF varname="lastUpdatedNominativoRightIterable" index="item1" /][/VAR]
[IF]
[CONDITION][CONTAINS varname="arrayCF" value="lastUpdatedNominativoCF" /][/CONDITION]
[THEN][% importoDocente = lastUpdatedImporto; %][/THEN]
[/IF]
[%= importoDocente %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,59 @@
info:
name: Partecipanti - Importo docente
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: "32873"
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="arrayCF" type="string"][TAG]GETVALUEBYTAG,PARTECIPANTI_QUALIFICA_DOCENTE,REQUEST,IUQOID[/TAG][/VAR]
[% item1 = 0; item2 = 1; importo = 0; %]
[VAR name="lastUpdatedNominativo" type="string"][TAG]GETVALUEBYTAG,PARTECIPANTE,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[VAR name="lastUpdatedImporto" type="number"][TAG]GETVALUEBYTAG,IMPORTO_RIPARTIZIONE,REQUEST,IUQOID,UPDATED_LAST[/TAG][/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="item2" /][/SPLIT][/VAR]
[VAR name="lastUpdatedNominativoCF" type="string"][VALUE_OF varname="lastUpdatedNominativoRightIterable" index="item1" /][/VAR]
[IF]
[CONDITION][CONTAINS varname="arrayCF" value="lastUpdatedNominativoCF" /][/CONDITION]
[THEN][% importo = lastUpdatedImporto; %][/THEN]
[/IF]
[%= importo %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,62 @@
info:
name: Partecipanti - Riga dati completi ripartizione
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: "32873"
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" /]
[% item1 = 0; item2 = 1; %]
[VAR name="partecipante" type="string"][TAG]GETVALUEBYTAG,PARTECIPANTE,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[VAR name="importo" type="string"][TAG]GETVALUEBYTAG,IMPORTO_RIPARTIZIONE,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[!-- Rimuoviamo l'indice della scelta da tendina "[X] " --]
[VAR name="datiIterable" type="iterable"][SPLIT regex="] "][VALUE_OF varname="partecipante" /][/SPLIT][/VAR]
[!-- Scorriamo l'iterable splittando man mano per i divisori nella scelta da tendina --]
[VAR name="datiIterable" type="iterable"][SPLIT regex=" \(CF: "][VALUE_OF varname="datiIterable" index="item2" /][/SPLIT][/VAR]
[VAR name="nominativo" type="string"][VALUE_OF varname="datiIterable" index="item1" /][/VAR]
[VAR name="datiIterable" type="iterable"][SPLIT regex=", Qualifica: "][VALUE_OF varname="datiIterable" index="item2" /][/SPLIT][/VAR]
[VAR name="codiceFiscale" type="string"][VALUE_OF varname="datiIterable" index="item1" /][/VAR]
[VAR name="datiIterable" type="iterable"][SPLIT regex=", Struttura di afferenza: "][VALUE_OF varname="datiIterable" index="item2" /][/SPLIT][/VAR]
[VAR name="qualifica" type="string"][VALUE_OF varname="datiIterable" index="item1" /][/VAR]
[VAR name="datiIterable" type="iterable"][SPLIT regex="\)"][VALUE_OF varname="datiIterable" index="item2" /][/SPLIT][/VAR]
[VAR name="struttura" type="string"][VALUE_OF varname="datiIterable" index="item1" /][/VAR]
[%= nominativo + ";;" + codiceFiscale + ";;" + qualifica + ";;" + struttura + ";;" + importo %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,45 @@
info:
name: Partecipanti - Subject
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: "31397"
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" /]
*** https://procedure.unipr.it - Richiesta compilazione DSAN per Ripartizione Utili / Compensi - Contratto [TAG]GETVALUEBYTAG,ID_CONTRATTO,REQUEST,ID_OBJECT[/TAG] ***
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,61 @@
info:
name: Partecipanti - hasDSAN
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: "32873"
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" /]
[% hasDSAN = "1"; item1 = 0; item2 = 1; %]
[!-- La DSAN deve essere presentata da tutti i partecipanti inseriti! --]
[!--
[VAR name="richiedenteCF" type="string"][TAG]GETVALUEBYTAG,RICHIEDENTE_CODFIS,REQUEST,IUQOID,UPDATED_LAST[/TAG][/VAR]
[VAR name="lastUpdatedNominativo" type="string"][TAG]GETVALUEBYTAG,PARTECIPANTE,REQUEST,IUQOID,UPDATED_LAST[/TAG][/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="item2" /][/SPLIT][/VAR]
[VAR name="lastUpdatedNominativoCF" type="string"][VALUE_OF varname="lastUpdatedNominativoRightIterable" index="item1" /][/VAR]
[IF]
[CONDITION][% lastUpdatedNominativoCF != "" && lastUpdatedNominativoCF == richiedenteCF %][/CONDITION]
[THEN][% hasDSAN = "0"; %][/THEN]
[/IF]
--]
[%= hasDSAN %]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,81 @@
info:
name: Recupero importo richiedente da proposta
type: http
seq: 27
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,52 @@
info:
name: Ripartizioni - Count da form partecipante
type: http
seq: 21
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,71 @@
info:
name: Tabella HTML ripartizioni FOR ADVANCED
type: http
seq: 24
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: "31499"
disabled: true
- name: x-ef-request-id
value: "24068"
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]
[VAR name="datiRipartizioneIterable" type="iterable"][SPLIT regex="##" emptyIfBlank="true"][TAG]GETVALUEBYTAG,RIPARTIZIONE_DATI_COMPLETI,REQUEST,IUQOID,CONCAT,##[/TAG][/SPLIT][/VAR]
[VAR name="item1" type="number"][% item1 = 0; %][/VAR]
[VAR name="item2" type="number"][% item2 = 1; %][/VAR]
[VAR name="item3" type="number"][% item3 = 2; %][/VAR]
[VAR name="item4" type="number"][% item4 = 3; %][/VAR]
[VAR name="item5" type="number"][% item5 = 4; %][/VAR]
<table>
<tr>
<th>Nominativo</th>
<th>Codice fiscale</th>
<th>Qualifica</th>
<th>Struttura</th>
<th>Importo (&euro;)</th>
</tr>
[FOR varName="ripartizione" iterable="datiRipartizioneIterable"][VAR name="datiIterable" type="iterable"][SPLIT regex=";;" emptyIfBlank="true"][VALUE_OF varname="ripartizione" /][/SPLIT][/VAR]
<tr>
<td>[VALUE_OF varname="datiIterable" index="item1" /]</td>
<td>[VALUE_OF varname="datiIterable" index="item2" /]</td>
<td>[VALUE_OF varname="datiIterable" index="item3" /]</td>
<td>[VALUE_OF varname="datiIterable" index="item4" /]</td>
<td style="text-align: right;">[FORMAT type="number" pattern="#,##0.00"][VALUE_OF varname="datiIterable" index="item5" /][/FORMAT]</td>
</tr>[/FOR]
</table>
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,69 @@
info:
name: Tabella HTML ripartizioni FOR
type: http
seq: 23
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: "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]
[VAR name="newLine" type="string"][VALUE_OF varname="crlf" /][/VAR]
[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]
[VAR name="ripartizioniNominativiIterable" type="iterable"][SPLIT regex="#" emptyIfBlank="true"][VALUE_OF varname="ripartizioniNominativiWithSep" /][/SPLIT][/VAR]
[VAR name="ripartizioniImportiIterable" type="iterable"][SPLIT regex="#" emptyIfBlank="true"][VALUE_OF varname="ripartizioniImportiWithSep" /][/SPLIT][/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]
[%= ripartizioniNominativiIterable %]
<table>
<tr>
<th>Partecipante</th><th>Importo (EUR)</th></tr>
[FOR varName="ripartizione" iterable="ripartizioniNominativiIterable"]
[VAR name="ripartizioneNominativoFull" type="string"][VALUE_OF varname="ripartizioniNominativiIterable" index="ripartizioneIdx" /][/VAR]
[VAR name="ripartizioneImporto" type="string"][VALUE_OF varname="ripartizioniImportiIterable" index="ripartizioneIdx" /][/VAR]
[VAR name="ripartizioneNominativoIterable" type="iterable"][SPLIT regex="] "][TRIM][VALUE_OF varname="ripartizioneNominativoFull" /][/TRIM][/SPLIT][/VAR]
[VAR name="ripartizioneNominativo" type="string"][VALUE_OF varname="ripartizioneNominativoIterable" index="secondItem" /][/VAR]
[% ripartizioneIdx = ripartizioneIdx + 1; %]
[VAR name="ripartizioneKeyIterable" type="iterable"][SPLIT regex="\."][% ripartizioneIdx + "" %][/SPLIT][/VAR]
[VAR name="ripartizioneKey" type="string"][VALUE_OF varname="ripartizioneKeyIterable" index="firstItem" /][/VAR]
<tr>
<td>[VALUE_OF varname="ripartizioneNominativo" /]</td><td>[VALUE_OF varname="ripartizioneImporto" /]</td>
</tr>
[/FOR]
</table>
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,88 @@
info:
name: Tabella HTML ripartizioni WHILE
type: http
seq: 22
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,108 @@
info:
name: elixPro - Recupero importi inseriti
type: http
seq: 25
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: "31630"
- name: x-ef-request-id
value: "31499"
disabled: true
- name: x-ef-request-id
value: "31801"
disabled: true
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" /]
[!--
[% insertCodiciFiscali = "RSSNDR76L16I153I##CHPLCU79H14G337H##RSSNDR76L16I153I##GNTLDN64A67D643P##GNTLDN64A67D643P##CHPLCU79H14G337H"; %]
[% insertImporti = "1234,56##7890,12##456321,87##14,25##888##777"; %]
[% insertModalita = "Fuori orario di lavoro##In orario di lavoro##In orario di lavoro##In orario di lavoro##Fuori orario di lavoro##Fuori orario di lavoro"; %]
--]
[VAR name="insertCodiciFiscali" type="string"][TAG]SCHEMAID,862,COL0001,IUQOID, ,##[/TAG][/VAR]
[VAR name="insertImporti" type="string"][TAG]SCHEMAID,862,COL0002,IUQOID, ,##[/TAG][/VAR]
[VAR name="insertModalita" type="string"][TAG]SCHEMAID,862,COL0003,IUQOID, ,##[/TAG][/VAR]
[VAR name="codiciFiscaliIterable" type="iterable"][SPLIT regex="##"][VALUE_OF varname="insertCodiciFiscali" /][/SPLIT][/VAR]
[VAR name="importiIterable" type="iterable"][SPLIT regex="##"][VALUE_OF varname="insertImporti" /][/SPLIT][/VAR]
[VAR name="modalitaIterable" type="iterable"][SPLIT regex="##"][VALUE_OF varname="insertModalita" /][/SPLIT][/VAR]
[VAR name="insertCount" type="number"][SIZE_OF varname="codiciFiscaliIterable" /][/VAR]
CF: [%= codiciFiscaliIterable %]
IM: [%= importiIterable %]
MO: [%= modalitaIterable %]
CN: [%= insertCount %]
[VAR name="datiRipartizioneIterable" type="iterable"][SPLIT regex="##" emptyIfBlank="true"][TAG]GETVALUEBYTAG,RIPARTIZIONE_DATI_COMPLETI,REQUEST,IUQOID,CONCAT,##[/TAG][/SPLIT][/VAR]
[VAR name="item1" type="number"][% item1 = 0; %][/VAR][!-- Nominativo --]
[VAR name="item2" type="number"][% item2 = 1; %][/VAR][!-- Codice fiscale --]
[VAR name="item3" type="number"][% item3 = 2; %][/VAR][!-- Qualifica --]
[VAR name="item4" type="number"][% item4 = 3; %][/VAR][!-- Struttura --]
[VAR name="item5" type="number"][% item5 = 4; %][/VAR][!-- Importo --]
<table>
<tr>
<th>Nominativo</th>
<th>Codice fiscale</th>
<th>Qualifica</th>
<th>Struttura</th>
<th>Importo (&euro;)</th>
</tr>[FOR varName="ripartizione" iterable="datiRipartizioneIterable"] [% modalita = ""; %] [VAR name="datiIterable" type="iterable"][SPLIT regex=";;" emptyIfBlank="true"][VALUE_OF varname="ripartizione" /][/SPLIT][/VAR] [VAR name="importoDentro" type="number"][% importoDentro = 0; %][/VAR] [VAR name="importoFuori" type="number"][% importoFuori = 0; %][/VAR] [% insertIdx = 0; %] [WHILE threshold="99"] [CONDITION][% insertIdx < insertCount %][/CONDITION] [DO] [VAR name="codiceFiscaleCorrente"][VALUE_OF varname="datiIterable" index="item2" /][/VAR] [VAR name="codiceFiscale"][VALUE_OF varname="codiciFiscaliIterable" index="insertIdx" /][/VAR] [VAR name="modalita"][VALUE_OF varname="modalitaIterable" index="insertIdx" /][/VAR] [VAR name="importo"][VALUE_OF varname="importiIterable" index="insertIdx" /][/VAR] [IF] [CONDITION][% codiceFiscale == codiceFiscaleCorrente && modalita == "In orario di lavoro" %][/CONDITION] [THEN][VAR name="importoDentro" type="number"][VALUE_OF varname="importiIterable" index="insertIdx" /][/VAR][/THEN] [/IF] [IF] [CONDITION][% codiceFiscale == codiceFiscaleCorrente && modalita == "Fuori orario di lavoro" %][/CONDITION] [THEN][VAR name="importoFuori" type="number"][VALUE_OF varname="importiIterable" index="insertIdx" /][/VAR][/THEN] [/IF] [% insertIdx = insertIdx + 1; %] [/DO] [/WHILE]
<tr>
<td>[VALUE_OF varname="datiIterable" index="item1" /]</td>
<td>[VALUE_OF varname="datiIterable" index="item2" /]</td>
<td>[VALUE_OF varname="datiIterable" index="item3" /]</td>
<td>[VALUE_OF varname="datiIterable" index="item4" /]</td>
<td style="text-align: right;">[FORMAT type="number" pattern="#,##0.00"][VALUE_OF varname="datiIterable" index="item5" /][/FORMAT]</td>
</tr>
[IF] [CONDITION][% importoDentro == 0 && importoFuori == 0 %][/CONDITION] [THEN][/THEN] [ELSE]
<tr>
<td colspan="3"></td>
<td style="text-align: right;">di cui in orario di lavoro</td>
<td style="text-align: right;">[FORMAT type="number" pattern="#,##0.00"][VALUE_OF varname="importoDentro" /][/FORMAT]</td>
</tr>
<tr>
<td colspan="3"></td>
<td style="text-align: right;">fuori orario di lavoro</td>
<td style="text-align: right;">[FORMAT type="number" pattern="#,##0.00"][VALUE_OF varname="importoFuori" /][/FORMAT]</td>
</tr>
[/ELSE] [/IF]
[/FOR]
</table>
[!--
Approvazione della ripartizione di Utili richiesta da [TAG]GETVALUEBYTAG,RICHIEDENTE_NOMINATIVO,REQUEST,ID_OBJECT[/TAG],[% ripartizioneIdx = 0; %][FOR varName="ripartizione" iterable="datiRipartizioneIterable"][VAR name="datiIterable" type="iterable"][SPLIT regex=";;" emptyIfBlank="true"][VALUE_OF varname="ripartizione" /][/SPLIT][/VAR] di [FORMAT type="number" pattern="currency"][VALUE_OF varname="datiIterable" index="item5" /][/FORMAT] a [VALUE_OF varname="datiIterable" index="item1" /],[/FOR] e autorizzazione alla U.O. Stipendi e Compensi al pagamento dei compensi per un importo lordo comprensivo totale di [FORMAT type="number" pattern="currency"][TAG]GETVALUEBYTAG,RIPARTIZIONI_TOTALE_PROPOSTA,REQUEST,ID_OBJECT[/TAG][/FORMAT] da imputare al Budget dell&rsquo;anno
--]
[/EFTL]
`);
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,141 @@
info:
name: elixPro - Template Delibera ONLYTABLE
type: http
seq: 29
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: "31630"
disabled: true
- name: x-ef-request-id
value: "31499"
disabled: true
- name: x-ef-request-id
value: "31801"
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]
[VAR name="codiciFiscaliIterable" type="iterable"][SPLIT regex="##"][TAG]SCHEMAID,862,COL0001,IUQOID, ,##[/TAG][/SPLIT][/VAR]
[VAR name="importiIterable" type="iterable"][SPLIT regex="##"][TAG]SCHEMAID,862,COL0002,IUQOID, ,##[/TAG][/SPLIT][/VAR]
[VAR name="anniIterable" type="iterable"][SPLIT regex="##"][TAG]SCHEMAID,862,COL0005,IUQOID, ,##[/TAG][/SPLIT][/VAR]
[VAR name="modalitaIterable" type="iterable"][SPLIT regex="##"][TAG]SCHEMAID,862,COL0003,IUQOID, ,##[/TAG][/SPLIT][/VAR]
[VAR name="insertCount" type="number"][SIZE_OF varname="codiciFiscaliIterable" /][/VAR]
[VAR name="datiRipartizioneIterable" type="iterable"][SPLIT regex="##" emptyIfBlank="true"][TAG]GETVALUEBYTAG,RIPARTIZIONE_DATI_COMPLETI,REQUEST,IUQOID,CONCAT,##[/TAG][/SPLIT][/VAR]
[VAR name="item1" type="number"][% item1 = 0; %][/VAR]
[VAR name="item2" type="number"][% item2 = 1; %][/VAR]
[VAR name="item3" type="number"][% item3 = 2; %][/VAR]
[VAR name="item4" type="number"][% item4 = 3; %][/VAR]
[VAR name="item5" type="number"][% item5 = 4; %][/VAR]
<table style='width: 95%; margin: 0 auto;'>
<tr>
<th>Nominativo</th>
<th>Codice fiscale</th>
<th>Qualifica</th>
<th>Struttura</th>
<th></th>
<th>Importo (&euro;)</th>
</tr>
[FOR varName="ripartizione" iterable="datiRipartizioneIterable"]
[VAR name="datiIterable" type="iterable"][SPLIT regex=";;" emptyIfBlank="true"][VALUE_OF varname="ripartizione" /][/SPLIT][/VAR]
[VAR name="codiceFiscaleCorrente"][VALUE_OF varname="datiIterable" index="item2" /][/VAR]
<tr>
<td style='text-align: left;'>[VALUE_OF varname="datiIterable" index="item1" /]</td>
<td>[VALUE_OF varname="datiIterable" index="item2" /]</td>
<td>[VALUE_OF varname="datiIterable" index="item3" /]</td>
<td>[VALUE_OF varname="datiIterable" index="item4" /]</td>
<td></td>
<td style='text-align: right;'>[FORMAT type="number" pattern="#,##0.00"][VALUE_OF varname="datiIterable" index="item5" /][/FORMAT]</td>
</tr>
[% insertIdx = 0; firstCfMatch = true; %]
[WHILE threshold="99"]
[CONDITION][% insertIdx < insertCount %][/CONDITION]
[DO]
[VAR name="codiceFiscale"][VALUE_OF varname="codiciFiscaliIterable" index="insertIdx" /][/VAR]
[VAR name="anno"][VALUE_OF varname="anniIterable" index="insertIdx" /][/VAR]
[VAR name="modalita"][VALUE_OF varname="modalitaIterable" index="insertIdx" /][/VAR]
[VAR name="importo"][VALUE_OF varname="importiIterable" index="insertIdx" /][/VAR]
[IF]
[CONDITION][% codiceFiscale == codiceFiscaleCorrente && importo != "" && importo != 0 %][/CONDITION]
[THEN]
[% modalitaOut = ""; annoOut = ""; suddivisoOut = ""; %]
[IF][CONDITION][% modalita != "" %][/CONDITION][THEN][% modalitaOut = modalita + " "; %][/THEN][/IF]
[IF][CONDITION][% anno != "" %][/CONDITION][THEN][% annoOut = "nel " + anno; %][/THEN][/IF]
[IF][CONDITION][% firstCfMatch == true %][/CONDITION][THEN][% suddivisoOut = "suddiviso come "; %][/THEN][/IF]
<tr>
<td colspan="4" style='text-align: right;'>[%= suddivisoOut %]</td>
<td style='text-align: right;'>[%= modalitaOut %][%= annoOut %]</td>
<td style='text-align: right;'>[FORMAT type="number" pattern="#,##0.00"][VALUE_OF varname="importo" /][/FORMAT]</td>
</tr>
[IF][CONDITION][% firstCfMatch == true %][/CONDITION][THEN][% firstCfMatch = false; %][/THEN][/IF]
[/THEN]
[/IF]
[% insertIdx = insertIdx + 1; %]
[/DO]
[/WHILE]
[/FOR]
</table>
[/EFTL]
`);
- type: after-response
code: |-
var status = res.status;
if (status !== 200) {
console.log("ERRORE HTTP! Response status code: " + status);
return;
}
var decodedDocument = "";
var response = res.getBody();
if (response.value.code === "ERROR") {
decodedDocument = "<h1>ERRORE EFTL!</h1>";
decodedDocument += "<b>" + response.value.description.split("\n").slice(0, 3).join("\n") + "</b>";
}
else if (response.value.processedDocument === "") {
decodedDocument = "<h1>EMPTY OUTPUT!</h1>";
decodedDocument += "<b>" + response.value.description.split("\n").slice(0, 3).join("\n") + "</b>";
}
else {
decodedDocument = atob(response.value.processedDocument);
}
bru.visualize('html', {
name: 'HTML',
content: decodedDocument
});
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,149 @@
info:
name: elixPro - Template Delibera
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: "31630"
- name: x-ef-request-id
value: "31499"
disabled: true
- name: x-ef-request-id
value: "31801"
disabled: true
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`
<!DOCTYPE html>
<html>
[EFTL]
<head>
<style>
body {
font-family: Calibri, Arial, Sans-serif;
font-size: 10pt;
text-align: justify;
}
@media print {
@page {
size: A4;
margin-top: 4cm !important;
margin-right: 2cm !important;
margin-bottom: 2cm !important;
margin-left: 2cm !important;
@top-left {
margin: 0;
width: 45%;
background-image: url("https://procedure.unipr.it/UploadImgs/8_marchio_UNIPR_pos_b1_small.png");
background-attachment: fixed;
background-repeat: no-repeat;
background-position: 2cm 0.5cm;
padding-top: 95px;
padding-left: 90px;
content: "[TAG]GETVALUEBYTAG,STRUTTURA_PRINCIPALE_DESC_UPPER,REQUEST,ID_OBJECT[/TAG]";
font-family: Calibri, Arial, Sans-serif;
font-size: 11pt;
font-weight: bold;
text-align: left;
color: #005ab9;
}
@bottom-center {
margin: 0px;
content: url("https://procedure.unipr.it/UploadImgs/9_text4.png");
font-size: 8pt;
font-weight: bold;
text-align: center;
color: #005ab9;
}
body {
font-family: Calibri, Arial, Sans-serif;
font-size: 10pt;
text-align: justify;
}
td {
text-align: left;
}
}
}
</style>
</head>
<body>
<div>&nbsp;</div>
<div>Il direttore sottopone al Consiglio la richiesta pervenuta da [TAG]GETVALUEBYTAG,RICHIEDENTE_NOMINATIVO,REQUEST,ID_OBJECT[/TAG], (corredata dalla documentazione richiesta dalla procedura per la liquidazione dei compensi e acquisita al protocollo di dipartimento col num. <span style="background-color: #ffff00;">NUM_PROT</span> del <span style="background-color: #ffff00;">DATA_PROT</span>), con la quale il richiedente, in qualit&agrave; di Responsabile Scientifico del contratto di tipologia &ldquo;[TAG]SCHEMAID,542,COL0003,ID_OBJECT, , [/TAG]&rdquo; dal titolo &ldquo;[TAG]GETVALUEBYTAG,TITOLO_CONTRATTO,REQUEST,ID_OBJECT[/TAG]&rdquo; stipulato con [TAG]GETVALUEBYTAG,CONTRATTO_CONTRAENTI,REQUEST,ID_OBJECT[/TAG], chiede di ripartire gli utili sul contratto su menzionato come segue:</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>[VAR name="insertCodiciFiscali" type="string"][TAG]SCHEMAID,862,COL0001,IUQOID, ,##[/TAG][/VAR] [VAR name="insertImporti" type="string"][TAG]SCHEMAID,862,COL0002,IUQOID, ,##[/TAG][/VAR] [VAR name="insertModalita" type="string"][TAG]SCHEMAID,862,COL0003,IUQOID, ,##[/TAG][/VAR] [VAR name="codiciFiscaliIterable" type="iterable"][SPLIT regex="##"][VALUE_OF varname="insertCodiciFiscali" /][/SPLIT][/VAR] [VAR name="importiIterable" type="iterable"][SPLIT regex="##"][VALUE_OF varname="insertImporti" /][/SPLIT][/VAR] [VAR name="modalitaIterable" type="iterable"][SPLIT regex="##"][VALUE_OF varname="insertModalita" /][/SPLIT][/VAR] [VAR name="insertCount" type="number"][SIZE_OF varname="codiciFiscaliIterable" /][/VAR] [VAR name="datiRipartizioneIterable" type="iterable"][SPLIT regex="##" emptyIfBlank="true"][TAG]GETVALUEBYTAG,RIPARTIZIONE_DATI_COMPLETI,REQUEST,IUQOID,CONCAT,##[/TAG][/SPLIT][/VAR] [VAR name="item1" type="number"][% item1 = 0; %][/VAR] [VAR name="item2" type="number"][% item2 = 1; %][/VAR] [VAR name="item3" type="number"][% item3 = 2; %][/VAR] [VAR name="item4" type="number"][% item4 = 3; %][/VAR] [VAR name="item5" type="number"][% item5 = 4; %][/VAR] &lt;table style='width: 95%; margin: 0 auto;'&gt; &lt;tr&gt; &lt;th&gt;Nominativo&lt;/th&gt; &lt;th&gt;Codice fiscale&lt;/th&gt; &lt;th&gt;Qualifica&lt;/th&gt; &lt;th&gt;Struttura&lt;/th&gt; &lt;th&gt;Importo (&euro;)&lt;/th&gt; &lt;/tr&gt;[FOR varName="ripartizione" iterable="datiRipartizioneIterable"] [VAR name="datiIterable" type="iterable"][SPLIT regex=";;" emptyIfBlank="true"][VALUE_OF varname="ripartizione" /][/SPLIT][/VAR] [VAR name="importoDentro" type="number"][% importoDentro = 0; %][/VAR] [VAR name="importoFuori" type="number"][% importoFuori = 0; %][/VAR] [% insertIdx = 0; %] [WHILE threshold="99"] [CONDITION][% insertIdx &lt; insertCount %][/CONDITION] [DO] [VAR name="codiceFiscaleCorrente"][VALUE_OF varname="datiIterable" index="item2" /][/VAR] [VAR name="codiceFiscale"][VALUE_OF varname="codiciFiscaliIterable" index="insertIdx" /][/VAR] [VAR name="modalita"][VALUE_OF varname="modalitaIterable" index="insertIdx" /][/VAR] [VAR name="importo"][VALUE_OF varname="importiIterable" index="insertIdx" /][/VAR] [IF] [CONDITION][% codiceFiscale == codiceFiscaleCorrente &amp;&amp; modalita == "In orario di lavoro" %][/CONDITION] [THEN][VAR name="importoDentro" type="number"][VALUE_OF varname="importiIterable" index="insertIdx" /][/VAR][/THEN] [/IF] [IF] [CONDITION][% codiceFiscale == codiceFiscaleCorrente &amp;&amp; modalita == "Fuori orario di lavoro" %][/CONDITION] [THEN][VAR name="importoFuori" type="number"][VALUE_OF varname="importiIterable" index="insertIdx" /][/VAR][/THEN] [/IF] [% insertIdx = insertIdx + 1; %] [/DO] [/WHILE] &lt;tr&gt; &lt;td style='text-align: left;'&gt;[VALUE_OF varname="datiIterable" index="item1" /]&lt;/td&gt; &lt;td&gt;[VALUE_OF varname="datiIterable" index="item2" /]&lt;/td&gt; &lt;td&gt;[VALUE_OF varname="datiIterable" index="item3" /]&lt;/td&gt; &lt;td&gt;[VALUE_OF varname="datiIterable" index="item4" /]&lt;/td&gt; &lt;td style='text-align: right;'&gt;[FORMAT type="number" pattern="#,##0.00"][VALUE_OF varname="datiIterable" index="item5" /][/FORMAT]&lt;/td&gt; &lt;/tr&gt; [IF] [CONDITION][% importoDentro == 0 && importoFuori == 0 %][/CONDITION] [THEN][/THEN] [ELSE]&lt;tr&gt; &lt;td colspan="4" style='text-align: right;'&gt;di cui in orario di lavoro&lt;/td&gt; &lt;td style='text-align: right;'&gt;[VALUE_OF varname="importoDentro" /]&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="4" style='text-align: right;'&gt;fuori orario di lavoro&lt;/td&gt; &lt;td style='text-align: right;'&gt;[VALUE_OF varname="importoFuori" /]&lt;/td&gt; &lt;/tr&gt;[/ELSE] [/IF] [/FOR] &lt;/table&gt;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>A seguito di discussione, il Consiglio adotta la seguente delibera:</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div><span style="background-color: #ffff00;">TESTO DELIBERA</span></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div><span style="background-color: #ffff00;">__/AAAA/__</span> Approvazione della ripartizione di Utili richiesta da [TAG]GETVALUEBYTAG,RICHIEDENTE_NOMINATIVO,REQUEST,ID_OBJECT[/TAG],[% ripartizioneIdx = 0; %][FOR varName="ripartizione" iterable="datiRipartizioneIterable"][VAR name="datiIterable" type="iterable"][SPLIT regex=";;" emptyIfBlank="true"][VALUE_OF varname="ripartizione" /][/SPLIT][/VAR] di [FORMAT type="number" pattern="currency"][VALUE_OF varname="datiIterable" index="item5" /][/FORMAT] a [VALUE_OF varname="datiIterable" index="item1" /],[/FOR] e autorizzazione alla U.O. Stipendi e Compensi al pagamento dei compensi per un importo lordo comprensivo totale di [FORMAT type="number" pattern="currency"][TAG]GETVALUEBYTAG,RIPARTIZIONI_TOTALE_PROPOSTA,REQUEST,ID_OBJECT[/TAG][/FORMAT] da imputare al Budget dell&rsquo;anno <span style="background-color: #ffff00;">YYYY</span> assegnato alla <span style="background-color: #ffff00;">UA.XX.Y.ZZZ1</span>, Progetto [TAG]GETVALUEBYTAG,ID_CONTRATTO,REQUEST,ID_OBJECT[/TAG], vincolo n. <span style="background-color: #ffff00;">NNNN</span>;</div>
<p>&nbsp;</p>
<div>Il Consiglio, preso atto di quanto illustrato da [TAG]GETVALUEBYTAG,RSP_TITOLO,REQUEST,ID_OBJECT[/TAG]&nbsp;[TAG]GETVALUEBYTAG,RSP_COGNOME,REQUEST,ID_OBJECT[/TAG]&nbsp;[TAG]GETVALUEBYTAG,RSP_NOME,REQUEST,ID_OBJECT[/TAG], esprime parere favorevole all&rsquo;approvazione della ripartizione di Utili richiesta da [TAG]GETVALUEBYTAG,RICHIEDENTE_NOMINATIVO,REQUEST,ID_OBJECT[/TAG], e d&agrave; mandato agli uffici dell&rsquo;Amministrazione Centrale per ogni successivo adempimento necessario al suo perfezionamento.</div>
</body>
[/EFTL]
</html>
`);
- type: after-response
code: |-
var status = res.status;
if (status !== 200) {
console.log("ERRORE HTTP! Response status code: " + status);
return;
}
var decodedDocument = "";
var response = res.getBody();
if (response.value.code === "ERROR") {
decodedDocument = "ERRORE EFTL!\n";
decodedDocument += response.value.description.split("\n").slice(0, 3).join("\n");
}
else {
decodedDocument = atob(response.value.processedDocument);
}
bru.visualize('html', {
name: 'HTML',
content: decodedDocument
});
settings:
encodeUrl: true
timeout: 0
followRedirects: true
maxRedirects: 5
@@ -0,0 +1,7 @@
info:
name: Proposta
type: folder
seq: 1
request:
auth: inherit
@@ -0,0 +1,7 @@
info:
name: CCT - Liquidazione Compensi
type: folder
seq: 3
request:
auth: inherit