Du er her:
Opprette en Apex for definisjon av objekttilstandshandling
Opprett en kallbar Apex i Developer Console for hver av definisjonene for objektstatushandlinger (tilpassede handlinger).
-
Klikk på hurtigtilgangsmenyen (
), og klikk deretter på Utviklerkonsoll.
- Velg .
- Skriv inn et navn og klikk på OK.
- Lim inn eksempelkoden i dialogboksen.
- Lagre endringene.
See Also
Eksempel på Apex for definisjon av objekttilstandshandling
Her er noen eksempler på Apex for å opprette definisjoner av objekttilstandshandlinger. Endre eksempelkoden slik at den passer dine behov
Metodesignatur inkluderer disse obligatoriske parameterne:
| Parameter | Beskrivelse |
|---|---|
| Kart < Streng, Objekt > inputMap | Inneholder to nøkler:
|
| Kart < Streng, Objekt > utkart |
|
Eksempel på Apex for RestartContract
Start en avsluttet kontrakt på nytt ved å bruke en tilpasset handling.
global class RestartContract implements industries_clm.OpenInterface {
public Boolean invokeMethod(String methodName, Map<String, Object> request, Map<String, Object> outMap) {
Boolean success = true;
if (methodName == 'executeAction') {
makeCallout(request, outMap);
}
return success;
}
public static void makeCallout(Map < String, Object > inputMap, Map < String, Object > outMap) {
String ContractId = (String) inputMap.get('contractId');
List<Contract> contract = [SELECT Id, Name, Status FROM Contract WHERE Id =:contractId];
contract[0].Status = 'Draft';
update(contract);
outMap.put('isSuccess', true);
}
}
}
Eksempel på Apex for ApprovalAction
Implementer tilleggslogikk som kjører samtidig med standard Salesforce-godkjenningsprosess.
global class ApprovalAction implements industries_clm.OpenInterface {
public Boolean invokeMethod(String methodName, Map<String, Object> request, Map<String, Object> outMap) {
Boolean success = true;
if (methodName == 'executeAction') {
executeAction(request, outMap);
}
return success;
}
private void executeAction(Map < String, Object > inputMap, Map < String, Object > outMap) {
Approval.ProcessSubmitRequest req1 =
new Approval.ProcessSubmitRequest();
req1.setComments('Submitting request for approval.');
String contractId = (String) inputMap.get('contractId');
req1.setObjectId(contractId);
// Submit the record to specific process and skip the criteria evaluation
req1.setProcessDefinitionNameOrId('ContractApprovalProcessName');
req1.setSkipEntryCriteria(true);
// Submit the approval request for the account
Approval.ProcessResult result = Approval.process(req1);
outMap.put('isSuccess', true);
}
}
Eksempel på Apex for sluttkontrakt
Hvis det for en kallet handling er mulig med flere objektstatusoverganger for en Fra-status fordi flere Til-statuser er tilgjengelig, endrer ikke Apex statusen til kontrakten. I en aktivert kontrakt er det for eksempel en tilpasset handling kalt Sluttkontrakt som er konfigurert for å flytte kontrakten til to statuser: kansellert og avsluttet. For at Apex skal lykkes, kreves parameteren finalStatusValue.
global class EndContract implements industries_clm.OpenInterface {
public Boolean invokeMethod(String methodName, Map<String, Object> request, Map<String, Object> outMap) {
Boolean success = true;
if (methodName == 'executeAction') {
executeAction(request, outMap);
}
return success;
}
private void executeAction(Map < String, Object > inputMap, Map < String, Object > outMap) {
String contractId = (String) inputMap.get('contractId');
outMap.put('isSuccess', true);
outMap.put('finalStatusValue', 'Canceled');
}
}
