Olet tässä:
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:
-
Sopimus on Luonnos-tilassa.
-
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.
-
-
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.
-
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 Jos haluat siirtää sopimuksen Luonnos-tilasta Hyväksytty-tilaan, sinun täytyy luoda objektin tilan siirtäminen Peruutettu-tilaan Hyväksytty-tilaan. -
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:
-
Sopimus on Luonnos-tilassa.
-
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.
-
-
Kun napsautat DraftToCanceled, sopimus siirretään Luonnos-kentästä Hyväksytty-kenttään Peruutettu-kenttään, koska oletusarvoinen siirtymä on InApproval_To_Canceled.
-
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:
-
Sopimus on Luonnos-tilassa.
-
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.
-
-
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.
-
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:
-
Sopimus on Luonnos-tilassa.
-
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.
-
-
Alla on kaksi vaihtoehtoa Apex ja niiden lopputulosten määrittämiseen.
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.
-
