In Volunteers for Salesforce (V4S), the Volunteer Report Hours page is rendered by the managed Apex controller VOL_CTRL_VolunteersReportHours. The listSOVolunteerJobs method that populates the Volunteer Job dropdown contains a hardcoded LIMIT 999 in its SOQL query:
SELECT Name, Id FROM GW_Volunteers__Volunteer_Job__c
WHERE GW_Volunteers__Campaign__r.IsActive = true
AND GW_Volunteers__Inactive__c = false
ORDER BY Name LIMIT 999
When an org accumulates more than 999 qualifying active Volunteer Jobs (IsActive = true on the parent Campaign, andGW_Volunteers__Inactive__c = falseon the Job), jobs that sort alphabetically at or after position 999 are silently truncated and will not appear in the dropdown for volunteers.
This issue can appear gradually and without warning as new jobs and campaigns accumulate over time.
To confirm this is a LIMIT issue, run the following two queries in Setup > Developer Console > Query Editor:
Query 1 — Total qualifying jobs:
SELECT COUNT(Id) jobCount
FROM GW_Volunteers__Volunteer_Job__c
WHERE GW_Volunteers__Campaign__r.IsActive = true
AND GW_Volunteers__Inactive__c = false
Query 2 — Jobs sorted before the missing job:
SELECT COUNT(Id) jobsBefore
FROM GW_Volunteers__Volunteer_Job__c
WHERE GW_Volunteers__Campaign__r.IsActive = true
AND GW_Volunteers__Inactive__c = false
AND Name < 'Your Missing Job Name Here'
IfjobCount >= 999andjobsBefore >= 999, the job is being truncated by the LIMIT.
Short-term fix (no code changes required): Reduce the count of qualifying active jobs below 999.
IsActive = false on those Campaign records.GW_Volunteers__Inactive__c = true.Campaign.IsActive or GW_Volunteers__Volunteer_Job__c.GW_Volunteers__Inactive__c.Target a total qualifying job count below approximately 800 to allow headroom for future growth.
After cleanup, verify with Query 1 above that the count is below 999, then retest the Personal Site in an incognito browser window.
Long-term fix (Apex override): The VOL_CTRL_VolunteersReportHours class is open-source and available in the Volunteers-for-Salesforce GitHub repository. An unmanaged Apex extension can be created to override the listSOVolunteerJobs method and remove or increase the hardcoded limit, then the V4S site page can be pointed to the custom controller extension.
005321978

We use three kinds of cookies on our websites: required, functional, and advertising. You can choose whether functional and advertising cookies apply. Click on the different cookie categories to find out more about each category and to change the default settings.
Privacy Statement
Required cookies are necessary for basic website functionality. Some examples include: session cookies needed to transmit the website, authentication cookies, and security cookies.
Functional cookies enhance functions, performance, and services on the website. Some examples include: cookies used to analyze site traffic, cookies used for market research, and cookies used to display advertising that is not directed to a particular individual.
Advertising cookies track activity across websites in order to understand a viewer’s interests, and direct them specific marketing. Some examples include: cookies used for remarketing, or interest-based advertising.