Skip to main content

Simplify formulas with the With function

Welcome the With function to Canvas apps!  You can now simplify large formulas by dividing them into named sub-formulas, eliminate redundant sub-formulas, and easily work with functions that return records.  All while staying declarative and automatically responding to dependency changes.

» Læs flere

Northwind Traders relational data sample

Explore relationships, option sets, and other Common Data Service features with the Northwind Traders sample solution, recreated from the famous Microsoft Access sample. Detailed instructions are included for building the canvas app from scratch, explaining how to easily work with Many-to-one and One-to-many relationships between entities.

» Læs flere

JSON for canvas apps

Introducing the JSON function for generating JavaScript Object Notation (JSON) within a canvas app. Use it to share data with systems and APIs that require JSON. You can also this function to encode and export images in base64 for the first time. And we also added two small features: #rrggbbaa notation and Color.Transparent.

» Læs flere

ConfirmExit for canvas apps

Nobody wants to lose unsaved changed.  And yet there are many ways to exit a canvas app while still in a dirty state, from closing the browser tab to swiping back to the list of apps on the phone. Now there is a way to prevent losing unsaved changes.  The App object has two new … Continue reading “ConfirmExit for canvas apps”

» Læs flere

Time zone independent fields for Canvas apps

Canvas apps now fully support CDS time zone independent fields.  In the CDS preview connector we had blocked them until they were working properly.  All the work required has now been completed and fully deployed. Our mission was simple: Canvas and Model-driven apps should show and edit date/time values in the same manner.  Entering a … Continue reading “Time zone independent fields for Canvas apps”

» Læs flere

Owner, Customer, and Regarding for canvas apps

Common Data Service polymorphic lookups are now available from canvas apps.  You can now: Access, set, and filter on the Owner field of any record. Access and set the Company Name field (a Customer data type) of the Contacts entity. Access and set the Regarding field of activity entities such as Faxes, Phone Calls, Email Messages, … Continue reading “Owner, Customer, and Regarding for canvas apps”

» Læs flere

More small steps…

A quick note on two bite size features. Have you ever wondered why the Navigate function requires the second argument?   For example: Navigate( Screen2, None ) Why not just default the second argument?  Transitions can make for a more engaging user experience but most folks don’t use them. Yeah, we wondered that too.  With the … Continue reading “More small steps…”

» Læs flere

Canvas debugging with Results View

Lots of debuggers allow you to see the value of an expression simply by selecting it in the source.   You’ll recognize an example immediately: Wouldn’t it be great if Canvas apps had this same facility?  Imagine: Think about the implications. You don’t need to flip to the File menu and then navigate to the collection … Continue reading “Canvas debugging with Results View”

» Læs flere

The smallest feature

This has to be one of the smallest features ever shipped.  We’ve modified the behavior of one character, and it is a small character at that.  But I think you will agree that it will have a major impact on your work. See if you can spot the difference.  Last week: This week: Did you … Continue reading “The smallest feature”

» Læs flere

Delegation enhancements for lookups, Today/Now, and AddColumns

I’m happy to announce we’ve made another batch of delegation enhancements for Canvas apps. Delegation refers to an app’s ability to “delegate” work to the data source instead of doing it locally, resulting in more scalable and higher performance apps.  In short, Delegation = Good.  For more details see Understand delegation in a canvas app. We … Continue reading “Delegation enhancements for lookups, Today/Now, and AddColumns”

» Læs flere