Trigger on Custom Object Share
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
add a comment |
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
add a comment |
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
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
apex trigger apex-sharing manual-sharing
asked 1 hour ago
user3456401user3456401
174
174
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
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.
add a comment |
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.
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
add a comment |
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.
add a comment |
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.
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.
answered 1 hour ago
sfdcfoxsfdcfox
258k12202445
258k12202445
add a comment |
add a comment |
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.
add a comment |
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.
add a comment |
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.
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.
answered 1 hour ago
Pranay JaiswalPranay Jaiswal
17.3k42855
17.3k42855
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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