Trigger on Custom Object ShareFIELD_INTEGRITY_EXCEPTION: field integrity exception: unknown (invalid user or...

If nine coins are tossed, what is the probability that the number of heads is even?

Too soon for a plot twist?

Why does this boat have a landing pad? (SpaceX's GO Searcher) Any plans for propulsive capsule landings?

Exempt portion of equation line from aligning?

Vector-transposing function

Why do we say 'Pairwise Disjoint', rather than 'Disjoint'?

Is it appropriate to ask a former professor to order a library book for me through ILL?

School performs periodic password audits. Is my password compromised?

What can I do if someone tampers with my SSH public key?

Sort array by month and year

Does the US political system, in principle, allow for a no-party system?

What should I do when a paper is published similar to my PhD thesis without citation?

Tabular environment - text vertically positions itself by bottom of tikz picture in adjacent cell

I've given my players a lot of magic items. Is it reasonable for me to give them harder encounters?

What is the oldest European royal house?

A vote on the Brexit backstop

Was this cameo in Captain Marvel computer generated?

3.5% Interest Student Loan or use all of my savings on Tuition?

What does *dead* mean in *What do you mean, dead?*?

In Diabelli's "Duet in D" for piano, what are these brackets on chords that look like vertical slurs?

Why do phishing e-mails use faked e-mail addresses instead of the real one?

Mixed Feelings - What am I

How to make sure I'm assertive enough in contact with subordinates?

Insult for someone who "doesn't know anything"



Trigger on Custom Object Share


FIELD_INTEGRITY_EXCEPTION: field integrity exception: unknown (invalid user or group: 005XXXXXXXXXXXX)Programmatically share custom object with public groupBest way to share among multiple Roles/ProfilesTrigger failing to create manual sharing for accountfetch custom shared Group or User Ids in after triggerWant to share custom object records with Partner Community Users based on User's custom fieldGrant “delete” access level on record using Apex triggerError to create a Custom Object ShareApex Based Sharing - Lead Share objectTooManyLockFailure : Too many lock failure 200 Trying again later













1















I have a requirement whereby once a custom object record is created I must share this with AllInternalUsers. I have written a trigger on after insert to the custom object that this share record will get created and it works perfectly.



The second part of my requirement is that if a new manual sharing record gets created e.g share to Group A then the original manual share record to AllInternalUsers should be deleted. I have tried to write a trigger on after update of the custom object however the action did not take place once I created the second manual sharing record and it would also appear that I cannot create a trigger on the CustomObject__share object.



Is something like this possible to perform an action on the related record when a new manual share record gets created?



Thanks in Advance










share|improve this question



























    1















    I have a requirement whereby once a custom object record is created I must share this with AllInternalUsers. I have written a trigger on after insert to the custom object that this share record will get created and it works perfectly.



    The second part of my requirement is that if a new manual sharing record gets created e.g share to Group A then the original manual share record to AllInternalUsers should be deleted. I have tried to write a trigger on after update of the custom object however the action did not take place once I created the second manual sharing record and it would also appear that I cannot create a trigger on the CustomObject__share object.



    Is something like this possible to perform an action on the related record when a new manual share record gets created?



    Thanks in Advance










    share|improve this question

























      1












      1








      1








      I have a requirement whereby once a custom object record is created I must share this with AllInternalUsers. I have written a trigger on after insert to the custom object that this share record will get created and it works perfectly.



      The second part of my requirement is that if a new manual sharing record gets created e.g share to Group A then the original manual share record to AllInternalUsers should be deleted. I have tried to write a trigger on after update of the custom object however the action did not take place once I created the second manual sharing record and it would also appear that I cannot create a trigger on the CustomObject__share object.



      Is something like this possible to perform an action on the related record when a new manual share record gets created?



      Thanks in Advance










      share|improve this question














      I have a requirement whereby once a custom object record is created I must share this with AllInternalUsers. I have written a trigger on after insert to the custom object that this share record will get created and it works perfectly.



      The second part of my requirement is that if a new manual sharing record gets created e.g share to Group A then the original manual share record to AllInternalUsers should be deleted. I have tried to write a trigger on after update of the custom object however the action did not take place once I created the second manual sharing record and it would also appear that I cannot create a trigger on the CustomObject__share object.



      Is something like this possible to perform an action on the related record when a new manual share record gets created?



      Thanks in Advance







      apex trigger apex-sharing manual-sharing






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 11 hours ago









      user3456401user3456401

      174




      174






















          2 Answers
          2






          active

          oldest

          votes


















          2














          Unfortunately, this is not possible, as share records do not cause triggers to fire. You will need to come up with an alternative solution, such as using criteria-based sharing rules or some other mechanism.






          share|improve this answer































            2














            Yes you are right, one cannot have Trigger on Share Object.



            You are limited to a few options here:



            1) Using Scheduler: Run A scheduler everyy hour or 30 mins, which in turn trigger a batch to see if a share to Group A is created, if yes then delte the irrelevant share record.



            2) Use a Custom Lightning Component for Share : Here you will create a Lightning Component and Embeded it in quick action. And remove the standard share button from layout. Your users will use quick action to open the lightning component which will use apex to handle your deleting logic while creating Apex share record.






            share|improve this answer























              Your Answer








              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "459"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: false,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f253174%2ftrigger-on-custom-object-share%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              2














              Unfortunately, this is not possible, as share records do not cause triggers to fire. You will need to come up with an alternative solution, such as using criteria-based sharing rules or some other mechanism.






              share|improve this answer




























                2














                Unfortunately, this is not possible, as share records do not cause triggers to fire. You will need to come up with an alternative solution, such as using criteria-based sharing rules or some other mechanism.






                share|improve this answer


























                  2












                  2








                  2







                  Unfortunately, this is not possible, as share records do not cause triggers to fire. You will need to come up with an alternative solution, such as using criteria-based sharing rules or some other mechanism.






                  share|improve this answer













                  Unfortunately, this is not possible, as share records do not cause triggers to fire. You will need to come up with an alternative solution, such as using criteria-based sharing rules or some other mechanism.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 11 hours ago









                  sfdcfoxsfdcfox

                  258k12202445




                  258k12202445

























                      2














                      Yes you are right, one cannot have Trigger on Share Object.



                      You are limited to a few options here:



                      1) Using Scheduler: Run A scheduler everyy hour or 30 mins, which in turn trigger a batch to see if a share to Group A is created, if yes then delte the irrelevant share record.



                      2) Use a Custom Lightning Component for Share : Here you will create a Lightning Component and Embeded it in quick action. And remove the standard share button from layout. Your users will use quick action to open the lightning component which will use apex to handle your deleting logic while creating Apex share record.






                      share|improve this answer




























                        2














                        Yes you are right, one cannot have Trigger on Share Object.



                        You are limited to a few options here:



                        1) Using Scheduler: Run A scheduler everyy hour or 30 mins, which in turn trigger a batch to see if a share to Group A is created, if yes then delte the irrelevant share record.



                        2) Use a Custom Lightning Component for Share : Here you will create a Lightning Component and Embeded it in quick action. And remove the standard share button from layout. Your users will use quick action to open the lightning component which will use apex to handle your deleting logic while creating Apex share record.






                        share|improve this answer


























                          2












                          2








                          2







                          Yes you are right, one cannot have Trigger on Share Object.



                          You are limited to a few options here:



                          1) Using Scheduler: Run A scheduler everyy hour or 30 mins, which in turn trigger a batch to see if a share to Group A is created, if yes then delte the irrelevant share record.



                          2) Use a Custom Lightning Component for Share : Here you will create a Lightning Component and Embeded it in quick action. And remove the standard share button from layout. Your users will use quick action to open the lightning component which will use apex to handle your deleting logic while creating Apex share record.






                          share|improve this answer













                          Yes you are right, one cannot have Trigger on Share Object.



                          You are limited to a few options here:



                          1) Using Scheduler: Run A scheduler everyy hour or 30 mins, which in turn trigger a batch to see if a share to Group A is created, if yes then delte the irrelevant share record.



                          2) Use a Custom Lightning Component for Share : Here you will create a Lightning Component and Embeded it in quick action. And remove the standard share button from layout. Your users will use quick action to open the lightning component which will use apex to handle your deleting logic while creating Apex share record.







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered 11 hours ago









                          Pranay JaiswalPranay Jaiswal

                          17.3k42855




                          17.3k42855






























                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to Salesforce Stack Exchange!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f253174%2ftrigger-on-custom-object-share%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              Couldn't open a raw socket. Error: Permission denied (13) (nmap)Is it possible to run networking commands...

                              VNC viewer RFB protocol error: bad desktop size 0x0I Cannot Type the Key 'd' (lowercase) in VNC Viewer...

                              Why not use the yoke to control yaw, as well as pitch and roll? Announcing the arrival of...