comma in the process variable result

Certified Associate Developer

im executing a process that is returning this i dont understand why there is a comma before the result of the map which is returning errors in other nodes how can i fix this?

  Discussion posts and replies are publicly visible

Parents Reply Children
  • 0
    Certified Associate Developer
    in reply to Mike Schmitt

    ok ,so in this case i have a script task that take as input a map takes as a value this rule :=

    rule!PI1G_calcInizializzaDocumentiBySharePointAsBuilt(
    importMonitoraggio: pv!importDaElaborare,
    validazione: pv!validazioneDocumenti
    )
    ,

    here is the rule implementation:

    a!localVariables(
    local!documentiValidi: if(
    a!isNullOrEmpty(ri!validazione),
    {},
    index(
    ri!validazione,
    wherecontains(true, ri!validazione.esito),
    null
    ),
    
    ),
    local!documenti: if(
    a!isNullOrEmpty(local!documentiValidi),
    {},
    index(local!documentiValidi, "documento", {})
    ),
    a!forEach(
    items: local!documenti,
    expression: rule!PI1G_calcInizializzaDocumentiBySharePointAsBuiltSingolo(
    importMonitoraggio: ri!importMonitoraggio,
    idComune: ri!idComune,
    documento: fv!item
    )
    )
    )

     also here is the implemtnation of rule inside :PI1G_calcInizializzaDocumentiBySharePointAsBuiltSingolo:

    a!localVariables(
    
    local!comune: rule!PI1G_getSComuneRcdByFilters(
    procom2021: ri!importMonitoraggio['recordType!{}PI1G Import Monitoraggio.fields.{}comuneProcom'],
    fields: {
    'recordType!{}PI1G S Comune.fields.{}id',
    'recordType!{}PI1G S Comune.fields.{}descrizione'
    }
    ),
    local!idComune: a!defaultValue(
    ri!idComune,
    index(
    local!comune,
    'recordType!{}PI1G S Comune.fields.{}id',
    0
    )
    ),
    local!progettoComune: rule!PI1G_getProgettiComuneRcdByFilters(
    idComune: local!idComune,
    fields: {
    'recordType!{}PI1G Progetti Comune.fields.{}id'
    }
    ),
    local!naming: rule!PI1G_CalcDocumentiByNamingPc(
    idProgettoComune: index(
    local!progettoComune,
    'recordType!{}PI1G Progetti Comune.fields.{}id',
    0
    ),
    docName: document(ri!documento, "name")
    ),
    local!tipologiaDoc: rule!PI1G_getStipologiaDocumentoV2RcdByFilters(
    namingConvention: local!naming,
    fields: {
    'recordType!{}PI1G S Tipologia Documento V2.relationships.{}pi1gSMatchFaseTipDoc',
    'recordType!{}PI1G S Tipologia Documento V2.fields.{}idCartella'
    }
    ),
    local!idTipologiaDocCaricato: if(
    a!isNullOrEmpty(local!tipologiaDoc),
    cons!PI1G_INT_ID_TIP_DOC_ALTRO_PC,
    index(
    local!tipologiaDoc,
    'recordType!{}PI1G S Tipologia Documento V2.fields.{}id',
    0
    )
    ),
    local!tipologiaDocCaricato: rule!PI1G_getStipologiaDocumentoV2RcdByFilters(
    id: local!idTipologiaDocCaricato,
    fields: {
    'recordType!{}PI1G S Tipologia Documento V2.relationships.{}pi1gSCartellaDocumenti'
    }
    ),
    local!hasVerificaDoc: rule!PI1G_getEsitiVerificaDocRcdByFilters(
    idProgettoComune: index(
    local!progettoComune,
    'recordType!{}PI1G Progetti Comune.fields.{}id',
    0
    ),
    fields: 'recordType!{}PI1G Esiti Verifica Documentale.fields.{}id'
    ),
    local!esitiVerificaDoc: rule!PI1G_getEsitiVerificaDocRcdByFilters(
    idProgettoComune: index(
    local!progettoComune,
    'recordType!{}PI1G Progetti Comune.fields.{}id',
    0
    ),
    idsEsito: {
    cons!PI1G_INTS_ESITI_VERIFICA_DOCUMENTALE[3],
    cons!PI1G_INTS_ESITI_VERIFICA_DOCUMENTALE[2]
    },
    fields: 'recordType!{}PI1G Esiti Verifica Documentale.fields.{}idVerificaDocumentale'
    ),
    local!matchVerificaDoc: rule!PI1G_getSMatchVerificaDocRcdByFilters(
    idsVerificaDoc: index(
    local!esitiVerificaDoc,
    'recordType!{}PI1G Esiti Verifica Documentale.fields.{}idVerificaDocumentale',
    0
    ),
    fields: 'recordType!{}PI1G S Mach Verifica Documentale.fields.{}idSTipologiaDocumento'
    ),
    local!idsTipDaIntegrare: rule!INFRATEL_Distinct(
    index(
    local!matchVerificaDoc,
    'recordType!{}PI1G S Mach Verifica Documentale.fields.{}idSTipologiaDocumento',
    0
    )
    ),
    local!documento: rule!PI1G_getDocumentiRcdByFilters(
    attivo: true,
    idTipologiaDocumento: local!idTipologiaDocCaricato,
    idComune: local!idComune
    ),
    /*controlliamo se la tipologia è altro*/
    local!map:if(
    local!idTipologiaDocCaricato = cons!PI1G_INT_ID_TIP_DOC_ALTRO_PC,
    a!map(
    documento: 'recordType!{}PI1G Documento'(
    'recordType!{}PI1G Documento.fields.{}idComune': local!idComune,
    'recordType!{}PI1G Documento.fields.{}idCartellaDocumenti': local!tipologiaDocCaricato['recordType!{}PI1G S Tipologia Documento V2.fields.{c7b22d1d-0b8a-4081-ae1c-1db0c33f87c5}idCartella'],
    'recordType!{}PI1G Documento.fields.{}versione': 1,
    'recordType!{}PI1G Documento.fields.{}caricatoDa': cons!PI1G_TXT_USER_TR,
    'recordType!{}PI1G Documento.fields.{}caricatoIl': now(),
    'recordType!{}PI1G Documento.fields.{}aggiornatoDa': cons!PI1G_TXT_USER_TR,
    'recordType!{}PI1G Documento.fields.{}aggiornatoIl': now(),
    'recordType!{}PI1G Documento.fields.{}attivo': true,
    'recordType!{}PI1G Documento.fields.{}salvaInBozza': false,
    'recordType!{}PI1G Documento.fields.{}idTipologiaDocumento': cons!PI1G_INT_ID_TIP_DOC_ALTRO_PC,
    'recordType!{}PI1G Documento.relationships.{}TipologiaDocV2': local!tipologiaDocCaricato,
    'recordType!{}PI1G Documento.relationships.{}pi1gSCartellaDocumenti': index(
    local!tipologiaDocCaricato,
    'recordType!{}PI1G S Tipologia Documento V2.relationships.{}pi1gSCartellaDocumenti'
    ),
    'recordType!{}PI1G Documento.fields.{}idAppian': document(ri!documento, "id"),
    'recordType!{}PI1G Documento.fields.{}nomeFile': document(ri!documento, "name"),
    'recordType!{}PI1G Documento.fields.{}estensione': document(ri!documento, "extension"),
    'recordType!{}PI1G Documento.fields.{}descrizione': rule!PI1G_calcNomeDocumentoByTipologia(
    codiceIdentificativo: index(
    local!comune,
    'recordType!{}PI1G S Comune.fields.{}descrizione',
    null
    ),
    tipologiaDoc2: local!tipologiaDocCaricato,
    comune: local!idComune
    )
    ),
    storicoDoc: {}
    ),
    /*controlliamo se ha una verifica documentale*/
    if(
    a!isNullOrEmpty(local!hasVerificaDoc),
    a!map(
    documento: 'recordType!{}PI1G Documento'(
    'recordType!{}PI1G Documento.fields.{}idCartellaDocumenti': local!tipologiaDocCaricato['recordType!{}PI1G S Tipologia Documento V2.fields.{}idCartella'],
    'recordType!{}PI1G Documento.fields.{}versione': 1,
    'recordType!{}PI1G Documento.fields.{}caricatoDa': cons!PI1G_TXT_USER_TR,
    'recordType!{}PI1G Documento.fields.{}caricatoIl': now(),
    'recordType!{}PI1G Documento.fields.{}aggiornatoDa': cons!PI1G_TXT_USER_TR,
    'recordType!{}PI1G Documento.fields.{}aggiornatoIl': now(),
    'recordType!{}PI1G Documento.fields.{}attivo': true,
    'recordType!{}PI1G Documento.fields.{}salvaInBozza': false,
    'recordType!{}PI1G Documento.fields.{}idTipologiaDocumento': index(local!tipologiaDocCaricato,'recordType!{}PI1G S Tipologia Documento V2.fields.{4ef2f463-f6d8-41c1-8cbb-6ed13e260313}id',null),
    'recordType!{}PI1G Documento.relationships.{}TipologiaDocV2': local!tipologiaDocCaricato,
    'recordType!{}PI1G Documento.relationships.{}pi1gSCartellaDocumenti': index(
    local!tipologiaDocCaricato,
    'recordType!{}PI1G S Tipologia Documento V2.relationships.{}pi1gSCartellaDocumenti'
    ),
    'recordType!{}PI1G Documento.fields.{}idAppian': document(ri!documento, "id"),
    'recordType!{}PI1G Documento.fields.{}nomeFile': document(ri!documento, "name"),
    'recordType!{}PI1G Documento.fields.{}estensione': document(ri!documento, "extension"),
    'recordType!{}PI1G Documento.fields.{}descrizione': rule!PI1G_calcNomeDocumentoByTipologia(
    codiceIdentificativo: index(
    local!comune,
    'recordType!{}PI1G S Comune.fields.{}descrizione',
    null
    ),
    tipologiaDoc2: local!tipologiaDocCaricato,
    comune: local!idComune
    )
    ),
    storicoDoc: {}
    ),
    if(
    contains(
    local!idsTipDaIntegrare,
    local!idTipologiaDocCaricato
    ),
    if(
    /*CONDIZIONE */
    a!isNotNullOrEmpty(local!documento),
    /*RISULTATO SE LA CONDIZIONE è VALIDA */
    a!map(
    documento: rule!INFRATEL_smartUpdate(
    data: local!documento,
    updates: 'recordType!{}PI1G Documento'(
    'recordType!{}PI1G Documento.fields.{}idAppian': document(ri!documento, "id"),
    'recordType!{}PI1G Documento.fields.{}nomeFile': document(ri!documento, "name"),
    'recordType!{}PI1G Documento.fields.{}estensione': document(ri!documento, "extension"),
    'recordType!{}PI1G Documento.fields.{}descrizione': rule!PI1G_calcNomeDocumentoByTipologia(
    codiceIdentificativo: index(
    local!comune,
    'recordType!{}PI1G S Comune.fields.{}descrizione',
    null
    ),
    tipologiaDoc2: rule!PI1G_getStipologiaDocumentoV2RcdByFilters(id: local!idTipologiaDocCaricato),
    comune: local!idComune
    ),
    'recordType!{}PI1G Documento.fields.{}versione': index(
    local!documento,
    'recordType!{}PI1G Documento.fields.{}versione',
    0
    ) + 1,
    'recordType!{}PI1G Documento.fields.{}aggiornatoDa': cons!PI1G_TXT_USER_TR,
    'recordType!{}PI1G Documento.fields.{}aggiornatoIl': now()
    )
    ),
    storicoDoc: 'recordType!{}PI1G Storico Documento'(
    'recordType!{}PI1G Storico Documento.fields.{}idDocumento': local!documento['recordType!{}PI1G Documento.fields.{}id'],
    'recordType!{}PI1G Storico Documento.fields.{}idCartellaDocumenti': local!documento['recordType!{}PI1G Documento.fields.{}idCartellaDocumenti'],
    'recordType!{}PI1G Storico Documento.fields.{}idAppian': local!documento['recordType!{}PI1G Documento.fields.{}idAppian'],
    'recordType!{}PI1G Storico Documento.fields.{}idDocumentoEsterno': local!documento['recordType!{}PI1G Documento.fields.{}idDocumentoEsterno'],
    'recordType!{}PI1G Storico Documento.fields.{}idComune': local!documento['recordType!{}PI1G Documento.fields.{}idComune'],
    'recordType!{}PI1G Storico Documento.fields.{}nomeFile': local!documento['recordType!{}PI1G Documento.fields.{}nomeFile'],
    'recordType!{}PI1G Storico Documento.fields.{}estensione': local!documento['recordType!{}PI1G Documento.fields.{}estensione'],
    'recordType!{}PI1G Storico Documento.fields.{}descrizione': local!documento['recordType!{}PI1G Documento.fields.{}descrizione'],
    'recordType!{}PI1G Storico Documento.fields.{}versione': local!documento['recordType!{}PI1G Documento.fields.{}versione'],
    'recordType!{}PI1G Storico Documento.fields.{}caricatoIl': local!documento['recordType!{}PI1G Documento.fields.{}caricatoIl'],
    'recordType!{}PI1G Storico Documento.fields.{a62a11d7-6ece-45f0-888c-ec6edcbe532b}caricatoDa': local!documento['recordType!{}PI1G Documento.fields.{}caricatoDa'],
    'recordType!{}PI1G Storico Documento.fields.{}aggiornatoDa': local!documento['recordType!{}PI1G Documento.fields.{}aggiornatoDa'],
    'recordType!{}PI1G Storico Documento.fields.{}aggiornatoIl': local!documento['recordType!{}PI1G Documento.fields.{}aggiornatoIl'],
    'recordType!{}PI1G Storico Documento.fields.{}attivo': true,
    'recordType!{}PI1G Storico Documento.fields.{}idTipologiaProcesso': cons!PI1G_INTS_ID_TIPOLOGIA_PROCESSI[1],
    'recordType!{}PI1G Storico Documento.fields.{}salvaInBozza': local!documento['recordType!{}PI1G Documento.fields.{}salvaInBozza'],
    'recordType!{}PI1G Storico Documento.fields.{}verificato': local!documento['recordType!{}PI1G Documento.fields.{}verificato']
    )
    ),
    /*RISULTATO SE LA CONDIZIONE NON è VALIDA */
    a!map(
    documento: 'recordType!{}PI1G Documento'(
    'recordType!{}PI1G Documento.fields.{}idComune': local!idComune,
    'recordType!{}PI1G Documento.fields.{idCartellaDocumenti': local!tipologiaDocCaricato['recordType!{}PI1G S Tipologia Documento V2.fields.{c7b22d1d-0b8a-4081-ae1c-1db0c33f87c5}idCartella'],
    'recordType!{}PI1G Documento.fields.{}versione': 1,
    'recordType!{}PI1G Documento.fields.{}caricatoDa': cons!PI1G_TXT_USER_TR,
    'recordType!{}PI1G Documento.fields.{}caricatoIl': now(),
    'recordType!{}PI1G Documento.fields.{}aggiornatoDa': cons!PI1G_TXT_USER_TR,
    'recordType!{}PI1G Documento.fields.{}aggiornatoIl': now(),
    'recordType!{}PI1G Documento.fields.{}attivo': true,
    'recordType!{}PI1G Documento.fields.{}salvaInBozza': false,
    'recordType!{}PI1G Documento.fields.{}idTipologiaDocumento': cons!PI1G_INT_ID_TIP_DOC_ALTRO_PC,
    'recordType!{}PI1G Documento.relationships.{}TipologiaDocV2': local!tipologiaDocCaricato,
    'recordType!{}PI1G Documento.relationships.{}pi1gSCartellaDocumenti': index(
    local!tipologiaDocCaricato,
    'recordType!{}PI1G S Tipologia Documento V2.relationships.{}pi1gSCartellaDocumenti'
    ),
    'recordType!{}PI1G Documento.fields.{}idAppian': document(ri!documento, "id"),
    'recordType!{}PI1G Documento.fields.{}nomeFile': document(ri!documento, "name"),
    'recordType!{}PI1G Documento.fields.{}estensione': document(ri!documento, "extension"),
    'recordType!{}PI1G Documento.fields.{}descrizione': rule!PI1G_calcNomeDocumentoByTipologia(
    codiceIdentificativo: index(
    local!comune,
    'recordType!{}PI1G S Comune.fields.{}descrizione',
    null
    ),
    tipologiaDoc2: local!tipologiaDocCaricato,
    comune: local!idComune
    )
    ),
    storicoDoc: {}
    )
    ),
    null
    )
    )
    ),
    local!map
    )

      , ,  

  • 0
    Certified Lead Developer
    in reply to hamzas0003

    please edit this comment and re-copy-and-paste your code into a Code Box, because like this it's pretty much unreadable, thanks to how indentation and formatting are stripped out by Community.

    Note: I see you've moved it into Code Boxes, but if you re-copy it from the Appian source, you'll actually get indentation instead of the hard-to-read "flat text" like what we see currently after your first revision (which is still very hard to read):

  • 0
    Certified Lead Developer
    in reply to hamzas0003

    Yes, the second piece of code can return a list including null values. I highly recommend to prevent that happening. Trying to solve the problem down the road will just create a bigger mess.