3

The functionality that I have to implement is quite simple. Partner Community User creates an order, adds product to the order and activates the order. I am able to achieve the first two without any problem, but activating a Order from community seems to be an issue.

When I read the docs found out that at the profile level we would need to check the Activate Orders User Permission, but this permission is not available for the community license profile. So I created a permission set with none as the user license, checked the Activate Orders permission and tried to assign it to the community user but it errored out.

So I am bascially stuck helplessly trying to figure out how to activate an order from a community user? If this is not possible then what was Salesforce's rationale in providing the functionality to create / edit orders and add products to it, but not allowing the community user to activate it?

3

Activating orders is normally done by the organization shipping or provisioning the product ordered. In PRM the Partner normally sells the product and/or delivers additional services but does not ship/provision/deliver the order. So that's why only users with the Salesforce license (thus internal users) can activate an order.

There probably is a way around this:

  1. Add custom field boolean 'Activate' to Order.

  2. Add the custom field to the page the Partner Community User sees so the user can check it.

  3. Write an batch apex job with:

    • a start method getting all order objects with an Activate flag set to true
    • an execute method truly activating the order via setting the status field and probably the activatedby and activated field. I couldn't find any documentation on this so you probably have to play around with it a little bit.
  4. Schedule the apex batch. Look at write and schedule batch jobs for additional help on that.

Hope this helps!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.