cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Responsive Resident
Responsive Resident

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
Highlighted
Helper II
Helper II

Re: Deactivating Dynamics365 records in Canvas app.

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

Highlighted
Regular Visitor

Re: Deactivating Dynamics365 records in Canvas app.

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
Highlighted
Responsive Resident
Responsive Resident

Re: Deactivating Dynamics365 records in Canvas app.

Any ideas?

 

Still looking to solve this, any help appreciated.

Highlighted
Helper II
Helper II

Re: Deactivating Dynamics365 records in Canvas app.

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

Highlighted
Regular Visitor

Re: Deactivating Dynamics365 records in Canvas app.

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

Highlighted
Super User II
Super User II

Re: Deactivating Dynamics365 records in Canvas app.

@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)

 

Highlighted
Super User II
Super User II

Re: Deactivating Dynamics365 records in Canvas app.

@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.

Highlighted
Super User II
Super User II

Re: Deactivating Dynamics365 records in Canvas app.

@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
Community Conference

Power Platform Community Conference

Check out the on demand sessions that are available now!

Power Platform ISV Studio

Power Platform ISV Studio

ISV Studio is designed to become the go-to Power Platform destination for ISV’s to monitor & manage published applications.

secondImage

Power Platform 2020 release wave 2 plan

Features releasing from October 2020 through March 2021

Tech Marathon

Maratón de Soluciones de Negocio Microsoft

Una semana de contenido con +100 sesiones educativas, consultorios, +10 workshops Premium, Hackaton, EXPO, Networking Hall y mucho más!

Top Solution Authors
Top Kudoed Authors
Users online (7,700)