Loading
Cenários de ação de transição de estado de objeto em Salesforce Contracts

Cenários de ação de transição de estado de objeto em Salesforce Contracts

Esses cenários contêm informações importantes a serem consideradas ao configurar ações para um contrato.

Cenário 1

O status do contrato não muda porque a lógica da classe do Apex e o mapeamento de transição de estado não correspondem. Veja um exemplo:

  1. O contrato está no estado Rascunho.

  2. Você configura:

    • Uma definição de ação de estado do objeto usando Tipo do Apex DraftToInApproval.

    • Uma ação de transição de estado do objeto de Rascunho para Em aprovação para a ação DraftToInApproval.

    • Uma classe do Apex chamada ChangeStatus.apxc, com lógica que move o contrato de Rascunho para Cancelado.

  3. Quando você clica em DraftToInApproval, o contrato não é movido de Rascunho para Em aprovação. A classe do Apex executa a lógica definida e move o contrato de Rascunho para Cancelado como um estado intermediário.

  4. Se a transição de estado do objeto incluir uma transição que mova o contrato de Cancelado para Em aprovação, o contrato retornará ao estado Rascunho inicial.

    Nota
    Nota Para fazer a transição do contrato de Rascunho para No estado de aprovação, crie uma transição de estado de objeto de Cancelado para Em aprovação.
  5. O estado final do contrato é Rascunho.

Cenário 2

O status do contrato muda mesmo que a lógica de classe do Apex e o mapeamento de transição de estado não correspondam, pois a transição de estado do objeto inclui todas as transições necessárias. Veja um exemplo:

  1. O contrato está no estado Rascunho.

  2. Você configura:

    • Uma definição de ação de estado do objeto usando o Tipo do Apex DraftToCanceled.

    • Uma ação de transição de estado do objeto de Rascunho para Cancelado para a ação DraftToCanceled.

    • Uma classe do Apex chamada StatusChange.apxc, com lógica que move o contrato de Rascunho para Em aprovação.

  3. Quando você clica em DraftToCanceled, o contrato passa de Em aprovação para Cancelado, pois há uma transição padrão de InApproval_To_Canceled.

  4. O estado final do contrato é Cancelado.

Cenário 3

O status do contrato não muda quando você clica no botão de ação de estado do objeto porque a execução da classe do Apex já atualizou o status do contrato. Veja um exemplo:

  1. O contrato está no estado Rascunho.

  2. Você configura:

    • Uma definição de ação de estado do objeto usando Tipo do Apex DraftToInApproval.

    • Uma ação de transição de estado do objeto de Rascunho para Em aprovação para a ação DraftToInApproval.

    • Uma classe do Apex chamada ChangeStatus.apxc, com lógica que move o contrato de Rascunho para Em aprovação.

  3. Quando você clica em DraftToInApproval, pois o contrato já está em Processo de aprovação porque a classe do Apex já executou a lógica definida na classe que move o contrato de Rascunho para Em aprovação como um estado intermediário. Portanto, o status do contrato permanece Em aprovação, pois é um estado válido.

  4. O estado final do contrato é Em aprovação.

Cenário 4

Uma definição de estado de objeto tem várias ações de transição de estado de objeto associadas. As ações de transição de estado do objeto têm os mesmos estados De e Para diferentes. O aplicativo Salesforce Contracts atualiza o status dos contratos com base nas transições e ações definidas. Se houver diferenças entre a lógica de classe do Apex e as transições definidas, o aplicativo tentará seguir as transições definidas. Veja um exemplo:

  1. O contrato está no estado Rascunho.

  2. Você configura:

    • Uma definição de ação de estado de objeto usando Tipo do Apex DraftToFinalStatus.

    • Uma ação de transição de estado do objeto de Rascunho para Em aprovação para a ação DraftToFinalStatus.

    • Uma ação de transição de estado do objeto de Rascunho para Ativado para a ação DraftToFinalStatus.

  3. Aqui estão duas opções para configurar uma classe do Apex e seus resultados resultantes.

    Nota
    Nota Para que as chamadas do Apex nesse cenário sejam bem-sucedidas, o parâmetro finalStatusValue é obrigatório.
    Opção Cenários
    Crie uma classe do Apex chamada ChangeStatus.apxc, com a lógica que move o contrato de Rascunho para Em aprovação.
    • Se finalStatusValue estiver definido como No processo de aprovação, o contrato passará de Rascunho para No processo de aprovação.

    • Se finalStatusValue estiver definido como Ativado, a transição falhará porque o caminho não está definido de Em processo de aprovação para Ativado. O contrato permanece no estado Rascunho.

    Crie uma classe do Apex chamada ChangeStatus.apxc, com lógica que mova o contrato de Rascunho para Ativado.
    • Se finalStatusValue estiver definido como Ativado, o contrato passará de Rascunho para Ativado.

    • Se finalStatusValue estiver definido como No processo de aprovação, a transição falhará porque o caminho não está definido de Ativado para No processo de aprovação. O contrato permanece no estado Rascunho.

 
Carregando
Salesforce Help | Article