Milestones PM is a great free app built by Force.com Labs. Since it uses the Force.com platform, it includes many of the cool features the Force.com platform provides. However, it also inherits the normal Salesforce method of data entry for related records which is somewhat cumbersome.
For example, users have to open up each individual Project Task record in order to enter their Time each day, or they need to create each Time record one-at-a-time and manually associate each record to the correct Task. If you work with multiple Tasks each day, it adds up to a lot of time spent on data entry.
Adding inline editing capability to this process can streamline data entry so that everything you need is one screen. In this example, we’ll use GridBuddy to create an easy way for users to manage their timesheets in Milestones PM. From the view we build, users will navigate to their assigned Tasks and easily create associated Time entries.
In a grid view, users can easily create and edit their time records each day
STEP 1 - CREATE A GRID
To begin, go to the GridBuddy app and click the Grid Wizard tab to create a new grid. Specify the Task object (Milestone1_Task__c) as the parent object on Step 1 of the Grid Wizard. I named my grid “Tasks with Time”.
On step 2 of the Grid Wizard, drag the fields you would like to see on the grid. I used common Task and Time fields in the example below, but feel free to use the fields relevant to your business case.
Page 2 of the Grid Wizard showing fields selected for the Milestones PM grid
Step 2 - Filter the Grid So Each User Only Sees Their Own Tasks
By default, the "Tasks with Time" grid will return all Tasks for all Users. We want to narrow this down to only only show the Tasks that are relevant to the User who is looking at the grid (e.g. Steve sees the Tasks assigned to him while Jessica sees the Tasks assigned to her). To do this, we will need to add a Filter criteria to Step 3 of the Grid Wizard. In the "Filter By Field" section, add the following criteria:
Assigned To, equals, $User.Name()
This will ensure that only Tasks that are owned by the User viewing the grid will be shown, and this will be dynamic for each User viewing the grid.
Step 3 - Integrate Your Grid As A Web Tab
For a smooth integration into your Milestones workflow, I like to expose this grid as a web tab in the Milestones PM application. This makes it easy for users to access the Time grid alongside their normal Milestones PM click path.
Tasks with Time grid integrated as a web tab
Follow these steps to integrate your grid as a web tab:
Go to the Grid Wizard. Select the Grid from the Grid drop down list. Copy the value of the "URL" that shows on the page after the Grid definition loads.
Go to Setup > App Setup > Create > Tabs.
Click "New" under Web Tabs.
Choose your Layout and click "Next".
Enter Tab Name, Label, Display Properties, and click "Next".
On the URL Details page, enter the Grid URL into the URL field, and click "Next". The Grid URL should look like: /apex/gblite__Grid?gname=[your Grid name]&ro=1
Specify Profile access and click "Next."
Add the Tab to Custom Apps and click "Save."
You can also make the tab highlighted when clicked by following additional steps outlined in our user guide.
Congratulations! You have successfully created a grid that makes it easier for users to fill out their timesheets. Read more about how GridBuddy can be used to streamline data management in Milestones PM, and leave us a comment in that blog post about how you are using GridBuddy with Milestones PM.
Don't have GridBuddy installed and want to give this cool integration with Milestones PM a try? Install 14-day cost-free/risk-free trial of GridBuddy Unlimited from the AppExchange now!