cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
MattyH
Continued Contributor
Continued Contributor

Deactivating Dynamics365 records in Canvas app.

Hi,

New user here, very new to PowerApps, and I would appreciate any assistance that can be provided.

 

I am looking to set a function within a canvas PowerApp to activate and deactivate customer records in Dynamics365.

 

Is this possible, and how would I go about it, if it is?

 

Thanks.

2 ACCEPTED SOLUTIONS

Accepted Solutions

Suggest using a flow.

 

I don't know your use case, but I just had a similar issue, and solved it by using flow: on create a record, if criteria are met, update record with status 'innactive' and status code ' complete'

View solution in original post

shaleen
Regular Visitor

The best is to add a new custom Yes/No field on the Edit Screen in your add and have a Power Automate to deactivate the Dynamics 365 record if the field is updated as Yes.

View solution in original post

6 REPLIES 6
MattyH
Continued Contributor
Continued Contributor

Any ideas?

 

Still looking to solve this, any help appreciated.

Suggest using a flow.

 

I don't know your use case, but I just had a similar issue, and solved it by using flow: on create a record, if criteria are met, update record with status 'innactive' and status code ' complete'

View solution in original post

shaleen
Regular Visitor

The best is to add a new custom Yes/No field on the Edit Screen in your add and have a Power Automate to deactivate the Dynamics 365 record if the field is updated as Yes.

View solution in original post

poweractivate
Community Champion
Community Champion

@MattyH 

 

If you want to do it from the Canvas App directly and not from a Flow:

 

Try Patch from PowerApps Canvas with the values it expects for "statecode" attribute of the entity.*

 

 

 

Remember it's not called Active or Inactive in Dynamics. You may need to actually patch a number of zero or one.

 

 

Example: Account Entity Reference: (from https://docs.microsoft.com/en-us/dynamics365/customerengagement/on-premises/developer/entities/accou...)

 

statecodefwef.png

 

 

NOTE: We did not try this now - this may or may not work to Patch the statecode from PowerApps to the Common Data Service record. We may have had success doing it before, but we do not know if our success in doing this was under the same circumstances that you are asking here, and it may depend on some caveats, and due to those circumstances it is best to try it yourself now with a grain of salt - this may or may not work.

 

 

Also NOTE: If the above doesn't work with Dynamics 365 data source- try the above instead using the Common Data Service data source. You are able to use Common Data Service source while using Dynamics 365 - in fact we recommend you use Common Data Service over Dynamics 365 in all Flows (especially Power Automate or Flow because you can set the "Current" environment as the scope in all the Flow Actions, making the solution more portable), as well as PowerApps Canvas Apps.

 

@MattyH Since we did not test it recently, if you have time, can you test the above in a development environment with Dynamics 365 as the data source, and if you can, ideally, please try it with Common Data Service as the data source in particular as it is better in our opinion to use Common Data Service (not Dynamics 365) as the data source, including even if you are in fact using Dynamics 365. If you cannot use Common Data Service data source and must use Dynamics 365 data source explicitly - the Patch may work using either data source - check this and see if it works for you.

 

If it works, you can deactivate Dynamics 365 record without even using a Flow and by using PowerApps Canvas App directly!

 

 

 

*https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/functions/function-patch (reference for Patch)

 

@MattyH 

 

 

If you want to get it done quickly, use a Power Automate Flow as mentioned by:

@shaleen and @mrpowergage 

 

Attempting to Patch from PowerApps Canvas the statecode field directly without Flow, is a more advanced attempt, and it may or may not work. If you just want to get it done more quickly use a Flow.

 

If you don't like that you have to do it from a Flow, you can try looking into the Patch function from a PowerApp Canvas App - but get ready to just do it from A Flow if it really doesn't work.

@MattyH 

 

Also noticed that even if you decide to use a Flow you may  benefit from some further explanation.

If you want to do it from a Flow and PowerApps, you should do it this way:

 

  1. Make a Flow by going to  https://us.flow.microsoft.com/ and then going to Create -> Instant Flow
  2. Make sure the Flow is Instant - and the trigger should be PowerApps when you are asked to select a Trigger.
  3. Add a new step, and then look for the action to update D365 record (you can also use Update Item under Common Data Service instead as well if you want, and if your license lets you, which it usually should).
  4. Under the Status you can use the "Ask In PowerApps" Dynamic Prompt - or if you want to always deactivate it, just set the status to Inactive explicitly in the Flow Action.
  5. At the end of the PowerApp, you should usually put a "Respond to PowerApp or Flow" somewhere so that the PowerApp knows when Flow has finished running, and you can also use this to return a response if you want and display it in your PowerApp.
  6. Save the Flow
  7. Open your PowerApp for editing and go to Action -> Flows and your Flow should be listed in the menu - go ahead and click or press that Flow. If it is not listed, try closing and reopening the browser, and if still no, then try clearing all your cache and cookies, closing the browser (making sure all instances of the browser task is terminated) and try again, and if still no, try a different browser (and try clearing cache and cookies in that browser, closing it, reopening it and retrying) - if that still doesn't work, then go ahead and try these steps again until you can get it to work up to this point.
    1. If you still have trouble - you may have to select a Control in your PowerApp in the PowerApps Maker, before going to  Action -> Flows for this to work properly. For example, if you're having trouble, try selecting a Button, gallery, Label, or almost any other control then going to Action -> Flows.
  8. After #7, then fill in the rest of the PowerApp with any arguments if applicable - note that it might autopopulate a YourFlowName.Run in the Formula bar on the current selected item's property in PowerApps Canvas App - if you don't have any because you are just deactivating it every time, just close the parentheses and leave the arguments empty.
  9. If you don't want the Flow in that Formula bar, just cut the stuff to your clipboard and change the formula back to false or whatever it was before, then move the expression YourFlowName.Run to somewhere else with appropriate arguments if applicable.

Also, you can see some general instructions this reference: https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/using-logic-flows (Start a flow in a canvas app)

 

 

NOTE: The above is a general procedure. In your case you may need to send the GUID or some sort of indicator such as a value of one of the fields of the Flow so you may need to send at least one argument to the Flow. If it's not the GUID then you need to use List items, use an ODATA filter, get the first item, and deactivate that - it involves more steps and actions with regards to building the Flow itself to do that which we won't go into here for now.

Helpful resources

Announcements
PA_User Group Leader_768x460.jpg

Manage your user group events

Check out the News & Announcements to learn more.

Power Query PA Forum 768x460.png

Check it out!

Did you know that you can visit the Power Query Forum in Power BI and now Power Apps

Carousel 2021 Release Wave 2 Plan 768x460.jpg

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

PowerPlatform 768x460.png

Microsoft Learn

Check out our new Discover Your Career Path blog post series and get all the details.

Users online (984)