Thursday, September 26, 2019

Power Platform Share with Steve, Mariano, and Belinda (Episode 6)

MVPs Steve Endow (Twitter: @steveendow), Belinda Allen (Twitter: @MsBelindaAllen), and Mariano Gomez (Twitter: @dgpblogster) sit down with Bob McAdam (Twitter: @4mcadam), General Manager of the GP User Group (GPUG) to discuss the addition of Power Platform sessions in a Microsoft Dynamics GP Technical Conference.

Recording was done live and onsite from Fargo, ND on September 12, 2019, but captures the bulk of where the Microsoft Dynamics GP partner channel is with the demand for these sessions.

Until next post!

Mariano Gomez, MVP

Thursday, September 19, 2019

PowerApps | Passing Record Collections from Microsoft Flow to PowerApps

In my previous video, I showed you how we can pass collections from PowerApps as a JSON payload to Microsoft Flow. Now, we will see how we can get a JSON payload back into PowerApps. The technique used here requires knowledge of various PowerApps functions to accomplish the job: Split(), FirstN(), Last(), RemoveIf() , and a timer.


For more information, take a look at the following videos and articles:

Microsoft Flow | Passing collections from PowerApps to Flow - click here

Until next post!

Mariano Gomez, MVP

Wednesday, September 11, 2019

PowerApps | Fabrikam Utility Billing Center sample app

I just got done with presentations at the yearly Microsoft Dynamics GP Technical Conference in Fargo, ND and had the privilege of delivering a session titled Leveraging your on-premises data with the Power Platform.

During this session I presented a moderately complex sample application that leverages PowerApps AI Builder Form Processing to capture utility bills. These bills are submitted to the Microsoft Dynamics GP ERP application via a call to Microsoft Flow, which then invokes an eConnect API stored procedures to integrate these documents as Accounts Payable invoices.

The Solution

The solution leverages 3 AI Builder forms processing models for 3 distinct utility vendors.

Each model contains 5 form fields, selected during the build process, after training the model with 5 documents.

Each model was published and used to create a PowerApps application - the Fabrikam Utility Billing Center app.

This canvas app, is capable of reading utility bills for each vendor. The document information is stored in a collection and displayed in a gallery for each bill read. The total of all bills read is displayed in summary at the bottom of the gallery.

A button has been added to submit the collection of documents to Microsoft Dynamics GP. In turn, this button executes a Microsoft Flow workflow.

The workflow receives the JSON payload from PowerApps then iterates on the collection to convert the document amount from a string to an actual float value that can be passed into an eConnect API stored procedure, which is invoked via the SQL connector.

All documents are stored in a batch called POWERAPPS in Microsoft Dynamics GP from where they can be reviewed and posted.

An application user can choose to select a specific transaction from the batch and perform additional reviews.

I have a couple videos zooming into some of the techniques I used to create this end to end solution so be sure to watch them and subscribe to my YouTube channel:

For an overview of Microsoft Dynamics GP click here.

To download eConnect and eConnect Programmer's reference guide, click here.

I have added this application, the workflow, the stored procedure wrappers to the eConnect API stored procedures, and the slide deck to my GitHub repository, here.

Until next post!

Mariano Gomez, MVP

Wednesday, September 4, 2019

Microsoft Flow | Passing collections from PowerApps to Flow

In this video I explore how you can pass a collection of records from PowerApps to Microsoft Flow by leveraging the JSON() serialization function. I also cover some other topics like working with JSON schemas, Data Operations, Variables, and Control Structures in Flow.

References: PowerApps | Form Processing with AI Builder: PowerApps | A look at the new JSON() serializer function:

Until next post!

Mariano Gomez, MVP