As you can see above i have a list of jobs posted.
And this view is the summary view as you might already know and i have an saperate action apply beside the job details tab which is for applying the candidate for the particular job.
But when i click apply, the candidates that i have applied for other jobs also are visible.
I want to know how can i use the queryfilter option so that when i come to the summary view of a particular job and click on apply i can only see the candidates that have applied for that particular job.
Ex: I have a job posting called coforge with an job posting id of "00004" and when i go on its summary view i can see the whole job details and when i click on the apply tab , i should only see the candidates that have applied for the coforge job only. Is that possible using the queryfilter function. Please guide me through it.
Discussion posts and replies are publicly visible
yes, query filter can help you in achieving the expected filtered list of candidates. In the rule for this 'Apply' view you must have a queryRecord(). Within the query code try adding a filter where recordtype!record.jobPostingId = Coforge's job id and then check. ( after testing replace the filter code with job id field from record) .
a!queryFilter( field: recordType!Add Details.fields.jobpostingId, operator: "=", value: "" ) } )
Is this the right format.
If not can you please help me out with the code a little to get me started, I have no idea where and how to implement it in the project.
Can you share the code you currently have for this Apply view as well as the record field configuration so that we can understand your data structure
I didnt understand. You mean the code of the interface which is used to add the candidates ?
a!formLayout( titleBar: a!headerTemplateSimple( title: if( ri!isUpdate, "Update Candidate Details", "Add Candidate Details" ), secondaryText: if( ri!isUpdate, "Update details of the candidate", "Enter details of the candidate" ), titleColor: "STANDARD", stampIcon: "" ), isTitleBarFixed: true, backgroundColor: "#fbfbfb", contents: a!columnsLayout( columns: { a!columnLayout( contents: { a!columnsLayout( columns: { a!columnLayout( contents: { a!pickerFieldUsers( label: "Recruiter", labelPosition: "JUSTIFIED", value: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{f14bb293-b79d-4a20-832a-47d8d4eaa8c8}recruiter'], saveInto: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{f14bb293-b79d-4a20-832a-47d8d4eaa8c8}recruiter'], showWhen: a!isUserMemberOfGroup( username: loggedInUser(), groups: cons!IP_GRP_RECRUITERS ), required: true, validations: {} ), a!pickerFieldUsers( label: "Vendor", labelPosition: "JUSTIFIED", value: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{42e49661-49c0-4fcc-9ebc-0e4f185c140e}vendor'], saveInto: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{42e49661-49c0-4fcc-9ebc-0e4f185c140e}vendor'], showWhen: a!isUserMemberOfGroup( username: loggedInUser(), groups: cons!IP_GRP_VENDORS ), required: true, validations: {} ), a!textField( label: "Client", labelPosition: "JUSTIFIED", value: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{64d402e5-ab72-450c-862f-ab14d52aa510}client'], saveInto: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{64d402e5-ab72-450c-862f-ab14d52aa510}client'], refreshAfter: "UNFOCUS", required: true, validations: {}, align: "CENTER" ) } ) } ), a!columnsLayout( columns: { a!columnLayout( contents: { a!dateField( label: "Date", labelPosition: "ABOVE", value: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{fa38a56a-1062-4c3e-bdbc-6b47fdea28e5}date'], saveInto: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{fa38a56a-1062-4c3e-bdbc-6b47fdea28e5}date'], required: true, marginAbove: "LESS" ) } ), a!columnLayout( contents: { a!textField( label: "Candidate Name", labelPosition: "ABOVE", value: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{878c423c-49c1-4389-ba08-a4569e01caad}candidateName'], saveInto: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{878c423c-49c1-4389-ba08-a4569e01caad}candidateName'], characterLimit: 255, showCharacterCount: false, required: true, marginAbove: "LESS" ) } ), a!columnLayout( contents: { a!textField( label: "Candidate Number", labelPosition: "ABOVE", value: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{08a0b20c-eadf-479a-aecb-d03d68f403d8}candidateNumber'], saveInto: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{08a0b20c-eadf-479a-aecb-d03d68f403d8}candidateNumber'], characterLimit: 255, showCharacterCount: false, required: true, marginAbove: "LESS" ) } ) } ), a!columnsLayout( columns: { a!columnLayout( contents: { a!textField( label: "Candidate Mail", labelPosition: "ABOVE", value: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{7340349a-5cf6-4b92-a093-9d1d261d7be2}candidateMail'], saveInto: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{7340349a-5cf6-4b92-a093-9d1d261d7be2}candidateMail'], characterLimit: 255, showCharacterCount: false, required: true, marginAbove: "LESS" ) } ), a!columnLayout( contents: { a!dateField( label: "Candidate DOB", labelPosition: "ABOVE", value: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{a1f0f0dc-eb64-4759-8136-c2011e5c01d6}candidateDOB'], saveInto: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{a1f0f0dc-eb64-4759-8136-c2011e5c01d6}candidateDOB'], required: true, marginAbove: "LESS" ) } ), a!columnLayout( contents: { a!textField( label: "Candidate PAN", labelPosition: "ABOVE", value: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{89765cb5-bb84-4e9d-8af7-5d3aafb30a29}candidatePAN'], saveInto: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{89765cb5-bb84-4e9d-8af7-5d3aafb30a29}candidatePAN'], characterLimit: 255, showCharacterCount: false, required: true, marginAbove: "LESS" ) } ) } ), a!sectionLayout( contents: { a!columnsLayout( columns: { a!columnLayout( contents: { a!textField( label: "Candidate Skills", labelPosition: "ABOVE", value: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{83a058fd-cd01-495c-a7fd-a5a3a71e6079}candidateSkills'], saveInto: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{83a058fd-cd01-495c-a7fd-a5a3a71e6079}candidateSkills'], characterLimit: 255, showCharacterCount: false, required: true, marginAbove: "LESS" ) } ), a!columnLayout( contents: { a!textField( label: "Certifications", labelPosition: "ABOVE", value: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{fb54a096-2fde-4754-a36f-d2548f82a2bd}certifications'], saveInto: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{fb54a096-2fde-4754-a36f-d2548f82a2bd}certifications'], characterLimit: 255, showCharacterCount: false, required: true, marginAbove: "LESS" ) } ) } ), a!columnsLayout( columns: { a!columnLayout( contents: { a!floatingPointField( label: "Total Experience (Yrs)", labelPosition: "ABOVE", value: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{5c328760-7bfd-4f4c-8215-49bc6f6b10a7}totalExperienceYrs'], saveInto: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{5c328760-7bfd-4f4c-8215-49bc6f6b10a7}totalExperienceYrs'], required: true, marginAbove: "LESS" ) } ), a!columnLayout( contents: { a!floatingPointField( label: "Relevant Experience (Yrs)", labelPosition: "ABOVE", value: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{30529218-f495-4b5b-84ac-a7494599e26a}relevantExperienceYrs'], saveInto: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{30529218-f495-4b5b-84ac-a7494599e26a}relevantExperienceYrs'], required: true, marginAbove: "LESS" ) } ) } ), a!columnsLayout( columns: { a!columnLayout( contents: { a!textField( label: "Current Organization", labelPosition: "ABOVE", value: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{5bee1885-2107-408d-a5bb-ce22d76bee74}currentOrganization'], saveInto: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{5bee1885-2107-408d-a5bb-ce22d76bee74}currentOrganization'], characterLimit: 255, showCharacterCount: false, required: true, marginAbove: "LESS" ) } ), a!columnLayout( contents: { a!textField( label: "Payroll Organization", labelPosition: "ABOVE", value: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{2f533d33-0f09-46c5-880a-a9ed397f3d5c}payrollOrganization'], saveInto: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{2f533d33-0f09-46c5-880a-a9ed397f3d5c}payrollOrganization'], characterLimit: 255, showCharacterCount: false, required: true, marginAbove: "LESS" ) } ) } ), a!columnsLayout( columns: { a!columnLayout( contents: { a!floatingPointField( label: "Current CTC(LPA)", labelPosition: "ABOVE", value: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{7288ce49-a446-4303-a0ef-8e7c74fb3c02}currentCTCLPA'], saveInto: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{7288ce49-a446-4303-a0ef-8e7c74fb3c02}currentCTCLPA'], required: true, marginAbove: "LESS" ) } ), a!columnLayout( contents: { a!floatingPointField( label: "Expected CTC(LPA)", labelPosition: "ABOVE", value: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{1c9ea633-b171-444c-bbe3-348fc950af80}expectedCTCLPA'], saveInto: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{1c9ea633-b171-444c-bbe3-348fc950af80}expectedCTCLPA'], required: true, marginAbove: "LESS" ) } ) } ), a!columnsLayout( columns: { a!columnLayout( contents: { a!textField( label: "Highest Education", labelPosition: "ABOVE", value: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{8313b21f-87a8-49af-b4c5-6ab9900f9399}highestEducation'], saveInto: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{8313b21f-87a8-49af-b4c5-6ab9900f9399}highestEducation'], characterLimit: 255, showCharacterCount: false, required: true, marginAbove: "LESS" ) } ), a!columnLayout( contents: { a!integerField( label: "Offers In Hand", labelPosition: "ABOVE", value: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{433b68f2-c88d-4e00-958d-75371f2d7e44}offersInHand'], saveInto: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{433b68f2-c88d-4e00-958d-75371f2d7e44}offersInHand'], required: true, marginAbove: "LESS" ) } ) } ), a!columnsLayout( columns: { a!columnLayout( contents: { a!dropdownField( choiceLabels: cons!IP_STATUS, choiceValues: cons!IP_STATUS, label: "Status", labelPosition: "ABOVE", placeholder: "--- Select Status ---", value: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{1371d1a2-1603-4f01-bb6b-923b0d4769f3}status'], saveInto: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{1371d1a2-1603-4f01-bb6b-923b0d4769f3}status'], searchDisplay: "AUTO", showWhen: a!isUserMemberOfGroup( username: loggedInUser(), groups: { cons!IP_GRP_RECRUITERS, cons!IP_GRP_VENDORS, cons!IP_GRP_PANEL }, matchAllGroups: false ), validations: {} ) } ), a!columnLayout( contents: { a!textField( label: "Remarks", labelPosition: "ABOVE", value: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{50d18cf1-4b04-494c-9435-8376d82a85d7}remarks'], saveInto: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{50d18cf1-4b04-494c-9435-8376d82a85d7}remarks'], characterLimit: 255, showCharacterCount: false, showWhen: a!isUserMemberOfGroup( username: loggedInUser(), groups: { cons!IP_GRP_RECRUITERS, cons!IP_GRP_VENDORS, cons!IP_GRP_PANEL }, matchAllGroups: false ), required: true, marginAbove: "LESS" ) } ) } ), a!columnsLayout( columns: { a!columnLayout( contents: { a!fileUploadField( label: "Document", labelPosition: "ABOVE", target: a!documentFolderForRecordType( recordType: 'recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details' ), maxSelections: 1, value: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{a02b47f9-6f01-471b-bf54-9a4290595673}latestResume'], saveInto: ri!record['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{a02b47f9-6f01-471b-bf54-9a4290595673}latestResume'], required: true ) } ) } ) }, marginBelow: "MORE" ) }, width: "WIDE" ) } ), buttons: a!buttonLayout( primaryButtons: { a!buttonWidget( label: if(ri!isUpdate, "Save", "Create"), submit: true, style: "SOLID", validate: true ) }, secondaryButtons: { a!buttonWidget( label: "Cancel", value: true, saveInto: ri!cancel, submit: true, style: "OUTLINE", validate: false ) } ) )
This above code is for adding the candidate details. whose interface is as shown below
If you go to your record-> Record Views in left hand menu -> Two views will be there , Summary and Apply. Can you share the configuration done in the interface responsible for 'Apply' view
In other words find the the interface/ grid code responsible for this UI
I used the interface names Jobapply and i have pasted the code i used below.
{ a!gridField( label: "", labelPosition: "ABOVE", data: 'recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details', columns: { a!gridColumn( label: "Candidate ID", sortField: 'recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{ac27f219-a663-4274-98be-9f534db957eb}candidateId', value: a!richTextDisplayField( value: { a!richTextItem( text: if( fv!row['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{ac27f219-a663-4274-98be-9f534db957eb}candidateId'] < 100000, text( fv!row['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{ac27f219-a663-4274-98be-9f534db957eb}candidateId'], "#00000" ), fv!row['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{ac27f219-a663-4274-98be-9f534db957eb}candidateId'] ), link: a!recordLink( recordType: 'recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details', identifier: fv!identifier ), linkStyle: "STANDALONE" ) } ) ), a!gridColumn( label: "Recruiter", sortField: 'recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{f14bb293-b79d-4a20-832a-47d8d4eaa8c8}recruiter', value: a!defaultValue(fv!row['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{f14bb293-b79d-4a20-832a-47d8d4eaa8c8}recruiter'], "–"), align: "END" ), a!gridColumn( label: "Vendor ID", sortField: 'recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{42e49661-49c0-4fcc-9ebc-0e4f185c140e}vendor', value: a!defaultValue(fv!row['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{42e49661-49c0-4fcc-9ebc-0e4f185c140e}vendor'], "–"), align: "END" ), a!gridColumn( label: "Client", sortField: 'recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{64d402e5-ab72-450c-862f-ab14d52aa510}client', value: fv!row['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{64d402e5-ab72-450c-862f-ab14d52aa510}client'], align: "CENTER" ), a!gridColumn( label: "Date", sortField: 'recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{fa38a56a-1062-4c3e-bdbc-6b47fdea28e5}date', value: a!defaultValue(fv!row['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{fa38a56a-1062-4c3e-bdbc-6b47fdea28e5}date'], "–"), align: "END" ), a!gridColumn( label: "Candidate Name", sortField: 'recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{878c423c-49c1-4389-ba08-a4569e01caad}candidateName', value: a!defaultValue(fv!row['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{878c423c-49c1-4389-ba08-a4569e01caad}candidateName'], "–") ), a!gridColumn( label: "Candidate Mail", sortField: 'recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{7340349a-5cf6-4b92-a093-9d1d261d7be2}candidateMail', value: a!defaultValue(fv!row['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{7340349a-5cf6-4b92-a093-9d1d261d7be2}candidateMail'], "–") ), a!gridColumn( label: "Candidate Skills", sortField: 'recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{83a058fd-cd01-495c-a7fd-a5a3a71e6079}candidateSkills', value: a!defaultValue(fv!row['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{83a058fd-cd01-495c-a7fd-a5a3a71e6079}candidateSkills'], "–") ), a!gridColumn( label: "Total Experience Yrs", sortField: 'recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{5c328760-7bfd-4f4c-8215-49bc6f6b10a7}totalExperienceYrs', value: if( isnull(fv!row['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{5c328760-7bfd-4f4c-8215-49bc6f6b10a7}totalExperienceYrs']), "–", fixed(fv!row['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{5c328760-7bfd-4f4c-8215-49bc6f6b10a7}totalExperienceYrs'], 2) ), align: "END" ), a!gridColumn( label: "Current Organization", sortField: 'recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{5bee1885-2107-408d-a5bb-ce22d76bee74}currentOrganization', value: a!defaultValue(fv!row['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{5bee1885-2107-408d-a5bb-ce22d76bee74}currentOrganization'], "–") ), a!gridColumn( label: "Status", sortField: 'recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{1371d1a2-1603-4f01-bb6b-923b0d4769f3}status', value: a!defaultValue(fv!row['recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.fields.{1371d1a2-1603-4f01-bb6b-923b0d4769f3}status'], "–") ), }, validations: {}, refreshAfter: "RECORD_ACTION", showSearchBox: true, showRefreshButton: true, recordActions: { a!recordActionItem( action: 'recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}IP Add Details.actions.{e786359c-f7e5-45e5-a174-74f6cd58022d}newAddDetails' ) }, similarityScoreThreshold: 1.0 ) }
Can you try to modify the 'data' definition in your grid as below
data: a!queryRecordType( recordType:'recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}', /*Since I dont have you record I got this encypted value. Whatever you have here should be fine*/ filters:{ a!queryFilter( field:'recordType!{3a27d5e6-31ce-4fe1-995f-821c7e573c8a}.fields.{64d402e5-ab72-450c-862f-ab14d52aa510}', /*This should be reference to the client field */ operator:"=", value:ri!record[IP Add Details.fields.client] ) }, pagingInfo:a!pagingInfo(1,5000)),
I tried the code but i got this error, it says paging info not found.
You have to use queryRecordType in data parameter instead of column and in pagingInfo put a!pagingInfo(startIndex: 1, batchSize: 5000)Just Update your data parameter code as mentioned below keep rest as is.
Add the queryrecordtype code in the data definition: line number 5!
For paging I updated the earlier code. Check if after making those changes it works or not