Don't have an account?
Search for an answer or ask a question of the zone or Customer Support.
You need to sign in to do that
Sign in to start searching questions
Signup for a Developer Edition
Sign in to start a discussion
public UsersItemsToApprove (ApexPages.StandardController controller) { } public List<ProcessInstanceWorkitem> getWorkItems() { List<ProcessInstanceWorkitem> results = new List<ProcessInstanceWorkitem>(); List<ProcessInstanceWorkitem> allitems = [SELECT ElapsedTimeInDays, originalActor.name, processInstance.targetObjectId, ProcessInstance.TargetObject.name, processInstance.status, processinstance.ProcessDefinition.name, ProcessInstance.CreatedDate FROM ProcessInstanceWorkitem WHERE ActorId= :UserInfo.getUserId() AND processInstance.status =: 'Pending']; for(ProcessInstanceWorkitem thisitem : allitems) { results.add(thisitem); } return results; }
<apex:pageBlock title="Items to Approve" > <apex:pageBlockTable value="{!WorkItems}" var="c" id="items" > <apex:column headerValue="Item"><apex:outputLink value="/{!c.ProcessInstance.TargetObject.id}" target="_blank">{!c.ProcessInstance.TargetObject.name}</apex:outputLink></apex:column> <apex:column headerValue="Submitted by" value="{!c.originalActor.name}"/> <apex:column headerValue="Process" value="{!c.processinstance.ProcessDefinition.name}"/> <apex:column headerValue="Status" value="{!c.processInstance.status}"/> <apex:column headerValue="Started Date" value="{!c.ProcessINstance.CreatedDate}"/> </apex:pageBlockTable> </apex:pageBlock>
You can create a custom button for apporoval and place it on VF. Please refer following links for sample code:
http://sfdc.arrowpointe.com/2009/01/08/invoke-apex-from-a-custom-button-using-a-visualforce-page/
http://www.salesforce.com/us/developer/docs/apexcode/index_Left.htm#CSHID=apex_process_example.htm|StartTopic=Content%2Fapex_process_example.htm|SkinName=webhelp
and to put in a table in your page you run something like: