0

We are using the Case Console as our ticketing system. I have created a custom object that allows us to track the amount of time we have worked on a particular case. I know there are other ways to do this in Salesforce but for how our company works and bills time, we needed a custom object.

I have created a Master-Detail connection between my custom object and cases, and everything is working great. I haven't done much with custom objects so I am clearly missing something, but it feels like what I'm trying to do next should be so much easier than it is.

My ultimate goal is to display a picklist on my custom object that matches the picklist for Case Status, and has the current Case Status as the default selection.

In working my way up to that I was trying to simply use a formula field or text field to show the current status of the case, but I can't seem to figure out how to make this work.

My formula field is set to

TEXT(Case__r.Status)

but I later learned that a formula field won't show when you're editing (or in my case, creating) a record. So that won't work.

For every single other field type I have tried, the formula doesn't allow me to do any sort of lookup against the case. I thought by having a Master-Detail relationship between case and my custom object, I could. But nothing shows up other than all of the system-wide $variables.

What do I have to do to retrieve the current case status and show it on my custom object while a new record is being created? I feel like once I figure that out I'll be able to make it work with a picklist but I'll go ahead and reiterate that my ultimate goal is to have it display a picklist of statuses, and auto-select what the current status is.

  • creating a new record in the custom object, is that a custom visual force page? – night crawler Jul 19 '17 at 15:39
0

Based on your use case, you need to create Visualforce page, to populate Case status during Custom object record creation.

Standard salesforce OOTB functionality doesn't support the functionality which you are looking for.

Even, if you have Sidebar panel or Highlights panel then also data is displayed after record is getting created. During creation (New Page), those panels will not display any data.

  • Would you be able to provide me a few more details on getting it working with a Visualforce page? I'm not sure how to reference the Case object still. I have created a new Visualforce page that currently pretty much exactly replicates my custom object page, but I can't get to Case's fields. I tried (for example): {!My_Object__c.Case__r.Status} but it returns nothing. – nullions Jul 20 '17 at 14:02
0

I believe that this could be done using a custom button and a visual workflow. The idea here would be to use a custom "Create Custom Object" button that launches a visual workflow. Now I don't know where this button would exist in your org, but if you're starting from the case, you can easily pass the Case ID into your visual workflow using Visualforce. Here is an example of a flow launched from the Account, this is the Visualforce Page referenced by the custom button.

<apex:page standardController="Account">
<flow:interview name="Super_Cool_Flow" finishLocation="{!URLFOR('/'+Account.Id)}"/>

When you launch a visual workflow from a record, the Id is stored in the variable "id" (case sensitive) that you have to create yourself.

Once the visual workflow is kicked off, you can lookup the Case and create a custom page that allows you to create your new Custom_Object__c that includes the Status information. If you choose to launch this flow in a different way, you can still have a point (probably in the beginning) where you choose or input which Case the Custom_Object__c is for and display that Status value.

This is a little bit of extra effort than just making a formula, but easier (at least for me) than writing a custom visualforce page.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.