Hi ,
I am getting the following error when displaying text boxes based on the add button in the grid as follows
={ a!gridLayout( headerCells: if( ri!readOnly_bool=true, if( ri!displayOnLandStatement_bool=true, { a!gridLayoutHeaderCell( label: "Surface File Number - All selected will appear on Land Statement" ), a!gridLayoutHeaderCell( label: "" ) }, { a!gridLayoutHeaderCell( label: "All Surface File Number" ) } ), if( ri!displayOnLandStatement_bool=true, { a!gridLayoutHeaderCell( label: "Surface File Number - All selected will appear on Land Statement" ), a!gridLayoutHeaderCell( label: "" ) }, { a!gridLayoutHeaderCell( label: "Surface File Number" ), a!gridLayoutHeaderCell( label: "" ) } ) ), columnConfigs: if( ri!readOnly_bool=true, if( ri!displayOnLandStatement_bool=true, { a!gridLayoutColumnConfig( width: "DISTRIBUTE" ), a!gridLayoutColumnConfig( width: "NARROW" ) }, { a!gridLayoutColumnConfig( width: "DISTRIBUTE" ) } ), if( ri!displayOnLandStatement_bool=true, { a!gridLayoutColumnConfig( width: "DISTRIBUTE" ), a!gridLayoutColumnConfig( width: "NARROW" ) }, { a!gridLayoutColumnConfig( width: "DISTRIBUTE" ), a!gridLayoutColumnConfig( width: "NARROW" ) } ) ), rows: a!applyComponents( function: rule!EWR_createRowGridSLFileNumberList( items: ri!SLFileNumberList, index_int: _, itemsToken: ri!itemsToken, readOnly_bool: ri!readOnly_bool, SLPipelineGroupID: ri!EWR_EPMSLPipelineGroup.EPMSLPipelineGroupID, itemNumber_int: ri!itemNumber_int, surfaceFileNumberGroupIndexList_int: ri!surfaceFileNumberGroupIndexList_int, duplicatedValidation_bool: ri!duplicatedValidation_bool, displayOnLandStatement_bool: ri!displayOnLandStatement_bool ), array: if( or( isnull( ri!SLFileNumberList ), count( ri!SLFileNumberList ) < 1 ), {}, if( ri!displayOnLandStatement_bool=true, rule!EWR_getUniqueSurfaceFileNumberIndices( surfaceFileNumberList_text: ri!SLFileNumberList.SurfaceFileNumber ), /*1 + enumerate(count(ri!SLFileNumberList)),*/ wherecontains( ri!itemNumber_int, ri!surfaceFileNumberGroupIndexList_int ) ) ), arrayVariable: ri!itemsToken ) ), if( and( rule!lengthNullSafe( where(ri!duplicatedValidation_bool) ) > 0, ri!displayOnLandStatement_bool<>true, ri!readOnly_bool <> true ), if( rule!lengthNullSafe( wherecontains( ri!itemNumber_int, index( ri!surfaceFileNumberGroupIndexList_int, where(ri!duplicatedValidation_bool), {} ) ) ) > 0, rule!GLOB_textFieldDisplayValidationMessage( validation_txt: "Please remove duplicate Surface File Number(s)" ), {} ), {} ), if( ri!readOnly_bool=true, {}, if( ri!displayOnLandStatement_bool=true, {}, a!buttonLayout( primaryButtons: { a!buttonWidget( label: cons!USER_DECISION_ADD_LABEL, value: {due:today() + 1}, saveInto: { ri!SLFileNumberList << fn!append( ri!SLFileNumberList, cast('type!{urn:com:husky:types:appian:ewr}EWR_EPMSLSurfaceFile', { SurfaceFileID: null, PipelineGroupID: null, Deleted: false, DisplayOnLandStatement: true, SurfaceFileNumber: null, CreateUser: loggedInUser(), CreateDate: now(), UpdateUser: null, UpdateDate: null } ) ), ri!duplicatedValidation_bool << fn!append( ri!duplicatedValidation_bool, false ), ri!itemsToken << fn!append( ri!itemsToken, _ ), ri!surfaceFileNumberGroupIndexList_int << fn!append(ri!surfaceFileNumberGroupIndexList_int, ri!itemNumber_int) } ) } ) ) ) }
= a!gridRowLayout( contents: if( ri!readOnly_bool=true, if( ri!displayOnLandStatement_bool=true, { a!textField( label: "SurfaceFileNumber " & ri!index_int, value: ri!items[ri!index_int].SurfaceFileNumber, saveInto: ri!items[ri!index_int].SurfaceFileNumber, readOnly: ri!readOnly_bool ), a!checkboxField( label: "SurfaceFileNumber", choiceLabels: {""}, choiceValues: {true}, value: if( rule!APN_isBlank(ri!items[ri!index_int].DisplayOnLandStatement), null, ri!items[ri!index_int].DisplayOnLandStatement ), saveInto: ri!items[ri!index_int].DisplayOnLandStatement, disabled: ri!readOnly_bool ) }, { a!textField( label: "SurfaceFileNumber " & ri!index_int, value: ri!items[ri!index_int].SurfaceFileNumber, saveInto: ri!items[ri!index_int].SurfaceFileNumber, readOnly: ri!readOnly_bool ) } ), if( ri!displayOnLandStatement_bool=true, { a!textField( label: "SurfaceFileNumber " & ri!index_int, value: ri!items[ri!index_int].SurfaceFileNumber, saveInto: { a!save( ri!duplicatedValidation_bool[ri!index_int], if( rule!APN_isEmpty( wherecontains( lower(save!value), lower( index( ri!items.SurfaceFileNumber, wherecontains( ri!itemNumber_int, ri!surfaceFileNumberGroupIndexList_int ),{} ) ) ) ), false ,true ) ), a!save(ri!items[ri!index_int].SurfaceFileNumber,save!value), a!save(ri!items[ri!index_int].Deleted,false()), a!save(ri!items[ri!index_int].CreateUser, if(rule!APN_isBlank(ri!items[ri!index_int].CreateUser), loggedInUser(),ri!items[ri!index_int].CreateUser) ), a!save(ri!items[ri!index_int].CreateDate, if(rule!APN_isBlank(ri!items[ri!index_int].CreateDate), now(),ri!items[ri!index_int].CreateDate) ), a!save(ri!items[ri!index_int].UpdateUser,loggedInUser()), a!save(ri!items[ri!index_int].UpdateDate,now()) }, required: true, readOnly: true, validations: if(ri!duplicatedValidation_bool[ri!index_int],"This Surface File Number is already exist","") ), a!checkboxField( label: "SurfaceFileNumber", choiceLabels: {""}, choiceValues: {true}, value: if( rule!APN_isBlank(ri!items[ri!index_int].DisplayOnLandStatement), null, ri!items[ri!index_int].DisplayOnLandStatement ), saveInto: ri!items[ri!index_int].DisplayOnLandStatement, disabled: ri!readOnly_bool ) }, { a!textField( label: "SurfaceFileNumber " & ri!index_int, value: ri!items[ri!index_int].SurfaceFileNumber, saveInto: { a!save( ri!duplicatedValidation_bool[ri!index_int], if( rule!APN_isEmpty( wherecontains( lower(save!value), lower( index( ri!items.SurfaceFileNumber, wherecontains( ri!itemNumber_int, ri!surfaceFileNumberGroupIndexList_int ),{} ) ) ) ), false ,true ) ), a!save(ri!items[ri!index_int].SurfaceFileNumber,save!value), a!save(ri!items[ri!index_int].Deleted,false()), a!save(ri!items[ri!index_int].CreateUser, if(rule!APN_isBlank(ri!items[ri!index_int].CreateUser), loggedInUser(),ri!items[ri!index_int].CreateUser) ), a!save(ri!items[ri!index_int].CreateDate, if(rule!APN_isBlank(ri!items[ri!index_int].CreateDate), now(),ri!items[ri!index_int].CreateDate) ), a!save(ri!items[ri!index_int].UpdateUser,loggedInUser()), a!save(ri!items[ri!index_int].UpdateDate,now()) }, required: true, validations: if(ri!duplicatedValidation_bool[ri!index_int],"This Surface File Number is already exist","") ), a!linkField( label: "delete " & ri!index_int, links: a!dynamicLink( label: char( 10005 ), value: ri!index_int, saveInto: { ri!items << fn!remove( ri!items, _ ), ri!itemsToken << fn!remove( ri!itemsToken, _ ), ri!duplicatedValidation_bool << fn!remove( ri!duplicatedValidation_bool, _ ), ri!surfaceFileNumberGroupIndexList_int << fn!remove(ri!surfaceFileNumberGroupIndexList_int, _) } ), align: "CENTER" ) } ) ), id: ri!index_int )
{ rule!EWR_SectionCommonHeader( EWR_EPMPARFView: rule!EWR_getPLPARFViewByEPMPARFID( ri!EWR_EPMPARF.EPMPARFID ), EWR_VW_EPMEWRLatestDeptPARFs: rule!EWR_getVWEPMEWRLatestDeptPARFsByPARFID( ri!EWR_EPMPARF.EPMPARFID ), showERPLink_bool: true, showREGLink_bool: true ), a!sectionLayout( label: "Surface Land Information", firstColumnContents: { a!textField( label: "Surface Landman", labelPosition: "ADJACENT", value: ri!surfaceLandMan_txt, readOnly: true ), if( rule!APN_isBlank( index( ri!EWR_EPMSLPARF, "EPMSLPARFID", null() ) ), {}, a!linkField( label: "Land Statement", labelPosition: "ADJACENT", links: a!safeLink( label: "View PDF", uri: rule!EWR_createURLLandStatement( ID_int: ri!EWR_EPMSLPARF.EPMSLPARFID, type_txt: cons!EWR_REPORT_TYPE_LAND_STATEMENT ) ) ) ), a!dateField( label: "Agreement Date", value: ri!EWR_EPMSLPARF.AgreementDate, saveInto: ri!EWR_EPMSLPARF.AgreementDate, labelPosition: "ADJACENT", readOnly: ri!readOnly_bool ), rule!EWR_createSLFileNumberList( SLFileNumberList: ri!SLFileNumberList, readOnly_bool: ri!readOnly_bool, EWR_EPMSLPipelineGroup: ri!EWR_EPMSLPipelineGroup, surfaceFileNumberGroupIndexList_int: ri!surfaceFileNumberGroupIndexList_int, itemNumber_int: ri!EWR_EPMSLPipelineGroup.ItemNumber, displayOnLandStatement_bool: false, itemsToken: ri!itemsToken, duplicatedValidation_bool: ri!duplicatedValidation_bool ) }, secondColumnContents: { a!textField( label: "Surface Land Status", labelPosition: "ADJACENT", /*required: true,*/ value: ri!EWR_EPMSLPARF.Status, readOnly: true ), a!dateField( label: "Surface Land Status Date", labelPosition: "ADJACENT", value: ri!EWR_EPMSLPARF.StatusDate, readOnly: true ), a!integerField( label: "Project Year", labelPosition: "ADJACENT", value: if(rule!APN_isBlank(ri!EWR_EPMSLPARF.ProjectYear), year(today()), ri!EWR_EPMSLPARF.ProjectYear), saveInto: ri!EWR_EPMSLPARF.ProjectYear, readOnly: ri!readOnly_bool ) } ) }
Expression evaluation error in rule 'ewr_createrowgridslfilenumberlist' (called by rules 'ewr_createslfilenumberlist' > 'ewr_sectionslheader' > 'ewr_formslcreateedit') at function a!applyComponents [line 79]: An error occurred while executing a save: java.lang.IllegalArgumentException: Invalid index: Cannot index type Number (Integer) into type Boolean
Thanks
Soujanya
Discussion posts and replies are publicly visible
Soujanya, Try checking the type of "ri!duplicatedValidation_bool" in "createRowGrid..." and making sure that the "array" box has been checked for that rule input.