Loading
Objektin tilan siirtymisen toimintoskenaariot Salesforce Contractsissa

Objektin tilan siirtymisen toimintoskenaariot Salesforce Contractsissa

Nämä skenaariot sisältävät tärkeitä tietoja, jotka sinun kannattaa pitää mielessäsi, kun määrität toimintoja sopimukselle.

Skenaario 1

Sopimuksen tila ei muutu, koska Apex logiikka ja tilojen siirtymien kartoitus eivät vastaa toisiaan. Alla on esimerkki:

  1. Sopimus on Luonnos-tilassa.

  2. Määrität:

    • Objektin tila -toiminnon määritelmä, joka käyttää Apex DraftToInApproval.

    • DraftToInApproval-toiminnon objektin tilan siirtymistoiminto luonnosta hyväksyttäväksi.

    • Apex nimeltään ChangeStatus.apxc ja logiikka, joka siirtää sopimuksen Luonnos-luokasta Peruutettu-luokkaan.

  3. Kun napsautat DraftToInApproval, sopimusta ei siirretä luonnoksesta hyväksyttäväksi. Apex suorittaa määritetyn logiikan ja siirtää sopimuksen Luonnos-tilasta Peruutettu-tilaan välitilana.

  4. Jos objektin tilan siirtäminen sisältää siirtymän, joka siirtää sopimuksen Peruutettu-tilasta Hyväksyttävä-tilassa-tilaan, sopimus palautuu alkuperäiseen Luonnos-tilaan.

    Huomautus
    Huomautus Jos haluat siirtää sopimuksen Luonnos-tilasta Hyväksytty-tilaan, sinun täytyy luoda objektin tilan siirtäminen Peruutettu-tilaan Hyväksytty-tilaan.
  5. Sopimuksen lopullinen tila on Luonnos.

Skenaario 2

Sopimuksen tila muuttuu, vaikka Apex logiikka ja tilojen siirtymien kartoitus eivät vastaa toisiaan — koska objektin tilan siirtäminen sisältää kaikki vaaditut siirtymät. Alla on esimerkki:

  1. Sopimus on Luonnos-tilassa.

  2. Määrität:

    • Objektin tila -toiminnon määritelmä, joka käyttää Apex DraftToCanceled.

    • DraftToCanceled-toiminnon objektin tilan siirtymistoiminto Luonnos-tilasta Peruutettu-tilaan.

    • Apex nimeltään StatusChange.apxc, jossa logiikka siirtää sopimuksen luonnoksesta hyväksyttäväksi.

  3. Kun napsautat DraftToCanceled, sopimus siirretään Luonnos-kentästä Hyväksytty-kenttään Peruutettu-kenttään, koska oletusarvoinen siirtymä on InApproval_To_Canceled.

  4. Sopimuksen lopullinen tila on Peruutettu.

Skenaario 3

Sopimuksen tila ei muutu, kun napsautat objektin tila -toimintopainiketta, koska Apex suoritus on jo päivittänyt sopimuksen tilan. Alla on esimerkki:

  1. Sopimus on Luonnos-tilassa.

  2. Määrität:

    • Objektin tila -toiminnon määritelmä, joka käyttää Apex DraftToInApproval.

    • DraftToInApproval-toiminnon objektin tilan siirtymistoiminto luonnosta hyväksyttäväksi.

    • Apex nimeltään ChangeStatus.apxc ja logiikka, joka siirtää sopimuksen luonnoksesta hyväksyttäväksi.

  3. Kun napsautat DraftToInApproval, koska sopimus on jo Hyväksymisprosessi-tilassa, koska Apex-luokka on jo suorittanut luokassa määritetyn logiikan, joka siirtää sopimuksen Luonnos-tilasta Hyväksymisprosessi-tilaan välitilana. Tästä syystä sopimuksen tila pysyy Hyväksytään-tilassa, koska se on käypä tila.

  4. Sopimuksen lopullinen tila on Hyväksyttävä.

Skenaario 4

Objektin tilan määritelmällä on useita objektien tilojen siirtymistoimintoja. Objektin tilan siirtymistoiminnoilla on sama Osavaltio-tila ja eri Tila-tila. Salesforce Contracts -sovellus päivittää sopimusten tilan määritettyjen siirtymien ja toimintojen perusteella. Jos Apex logiikassa ja määritettyjen siirtojen välillä on eroavaisuuksia, sovellus yrittää seurata määritettyjä siirtoja. Alla on esimerkki:

  1. Sopimus on Luonnos-tilassa.

  2. Määrität:

    • Objektin tila -toiminnon määritelmä, joka käyttää Apex DraftToFinalStatus.

    • DraftToFinalStatus-toiminnon objektin tilan siirtymistoiminto luonnosta hyväksyttäväksi.

    • DraftToFinalStatus-toiminnon objektin tilan siirtymistoiminto Luonnos-tilasta Aktivoitu-tilaan.

  3. Alla on kaksi vaihtoehtoa Apex ja niiden lopputulosten määrittämiseen.

    Huomautus
    Huomautus finalStatusValue-parametri on pakollinen, jotta tämän skenaarion Apex onnistuisivat.
    Vaihtoehto Skenaariot
    Luo Apex nimeltään ChangeStatus.apxc ja käytä logiikkaa, joka siirtää sopimuksen luonnoksesta hyväksyttäväksi.
    • Jos finalStatusValue on Hyväksymisprosessissa, sopimus siirretään Luonnos-kentästä Hyväksymisprosessissa -kenttään.

    • Jos finalStatusValue on Aktivoitu, siirtyminen epäonnistuu, koska polkua ei ole määritetty Hyväksymisprosessissa-kentästä Aktivoitu-kenttään. Sopimus pysyy Luonnos-tilassa.

    Luo Apex nimeltään ChangeStatus.apxc, jossa logiikka siirtää sopimuksen Luonnos-luokasta Aktivoitu-luokkaan.
    • Jos finalStatusValue on Aktivoitu, sopimus siirretään Luonnos-arvosta Aktivoitu-arvoksi.

    • Jos finalStatusValue on Hyväksymisprosessissa, siirtyminen epäonnistuu, koska polkua ei ole määritetty Aktivoitu-kentästä Hyväksymisprosessissa -kenttään. Sopimus pysyy Luonnos-tilassa.

 
Ladataan
Salesforce Help | Article