379

Report Extensions should be introduced

Since the only development and deployment method currently supports is Extension Development via a Sandbox using VS Code (AL Lang), isn't it great to have Report Extension Development capability too? There's always possible to dev Extensions for Standard Tables, Pages, CUs but why not Reports?...

Read more...

11 Comments

Read more... 11 Comments

Category: Development (962)

STATUS DETAILS
Completed
Ideas Administrator
Thank you for your feedback. We have released support for report extensions with 2021 Wave 1. With this you can make additive changes to existing dataitems, add new nested dataitems, modify request page and add additional layout (but not modify existing base layout). Watch the Virtual Launch session on What's New in AL and Visual Studio Code for more, as well as Docs Report extensibility - Dynamics 365 Release Plan | Microsoft Docs

Thanks, 
Peter Borring
PM, Microsoft  


339

Extending keys in a base table from an AL table extension

When developing AL table extensions, it is possible to create one or more keys, but the scope of that key is solely in the extended table (not the base table that is being extended). VS Code will not allow you to create that key if the key references one or more fields found in the parent table...

Read more...

12 Comments

Read more... 12 Comments

Category: Development (962)

STATUS DETAILS
Completed
Ideas Administrator
Thank you for your feedback. This is a great suggestion! 

We will complete this in our 2021 release wave 1.

Your help is greatly appreciated,
Kennie Nybo Pontoppidan
PM, Microsoft 
237

[IP Protection] Ability to debug app without ShowMyCode=true

Hi, For now the only possibility to debug the code is to set the showMyCode property to true in the manifest file of our app. In combination with this setting we can add the [NonDebuggable] attribute in parts of the code we don't want to be seen by the debugger. Problem is with showMycCode = tr...

Read more...

7 Comments

Read more... 7 Comments

Category: Development (962)

STATUS DETAILS
Completed
Ideas Administrator
Thanks for logging an idea on this and voting

We shipped this as part of 2021 Wave 2


The solution covers:
  • More granular static app.json settings for IP access through flags in the new "resourceExposurePolicy"
    • allowDebugbing: Control source access during debug. Note that it would be possible to mine IP across debug sessions
    • allowDownloadingSource: Control access to downloading .app with source from tenant
    • includeSourceInSymbols: Control whether symbols contain source when downloaded from server during development
  • Ability to dynamically set above flags per AAD tenants through placing .json configuration file on KeyVault resource defined in app.json
    • This allows locking down the app in various of above dimensions and unlock (temporary) for specific AAD tenants
  • Obsoleting showMyCode app.json property
    • Obsolete warning if used
    • We will error if both showMyCode and resourceExposurePolicy properties are used at the same time

Regards,
Business Central R&D team

200

Select User Session when Debugging

To make support easier, it would be nice, if we would be able to also select other User Session in Visual Studio Code like it is possible in the Windows Client.

Read more...

4 Comments

Read more... 4 Comments

Category: Development (962)

STATUS DETAILS
Completed
Ideas Administrator
Thank you for your feedback. We are going to support attaching to a specific running session id as well as next session for a specific user id. This is first enabled for the snapshot debugger, which introduces offline debugging of prod code flow (record and inspect in VS Code debugger after execution). The snapshot debugger will be available as preview in sandbox on October 2020 release, and is expected to be enabled for production environments (the intended scenario) in a minor, once tested in the wild. Latter is planned to also enable attaching to a specific user session in the real (interactive) debugger in a sandbox. Currently we are not planning a UI for selecting among sessions though.

Best regards,
Business Central Team
169

Debugging of webservice interface

In the old development environment, the debugger could be attached to any instance, or selectively to the next started instance. This was very useful. Currently it seems it is not possible in D365 Business Central. If something unexpectedly goes wrong in a customer’s production environment, we m...

Read more...

9 Comments

Read more... 9 Comments

Category: Development (962)

STATUS DETAILS
Completed
Ideas Administrator
Thank you for your feedback. We have been viewing this Idea mostly as enabling debug-like capabilities in production, given that there is another idea on session attach https://experience.dynamics.com/ideas/idea/?ideaid=332d9081-da6b-e911-b047-0003ff688f46, but these two are really quite closely related (as it is normally a user session in prod), and we are addressing both in 2020 Wave 2.

For troubleshooting in the production environment, we are introducing something called snapshot debug. With this, you can insert snappoints in AL code in the Visual Studio Code debugger, attach to a production tenant, perform a repro, and capture a snapshot. Then you can download the snapshot and then offline inspect call stack trace for the whole flow and variables for the snappoints in the context of AL code in Visual Studio Code.

Snapshots will support attaching to a specific user session, as tracked by above mentioned idea, as well as web client, web API and background session (not system sessions though).

Snapshots are discrete points in time and thus, typically, several roundtrips of taking snapshots could be required (as snapshots are not taken interactively as in normal debugging, but require a new user flow recording when new snappoints are added). Sandbox environments will still be required to set actual breakpoints (stopping program execution in the session) and stepping through code.

Upon 2020 Wave 2 launch, above snapshot feature will only be available as a preview and in sandbox environments though (current ETA for sandbox end of October). Here the value will be less than the normal debugger, except providing the ability to attach to a specific session. Once thorough testing "in the wild", it is expected to be enabled for production environments in one of the first minors.

Best regards,
Business Central Team
162

Production support for Docker containers

Docker containers have become an essential part of D365 Business Central development, test, CI/CD and a lot of other areas. As we are using them so much, it would make a lot of sense to be able to use them in production as well

Read more...

2 Comments

Read more... 2 Comments

Category: Development (962)

STATUS DETAILS
Completed
Ideas Administrator
Based on the fact that 2020 Wave 2 (v17) introduced official support for running NST on Windows Server Core operating system, as well as that 2021 Wave 1 (v18) will introduce official support for running the database layer running on SQL Compatibility Level, we believe there is sufficient support to allow partners and customers to use container technology in on-premise production, and have support on NST, as long as being in compliance with system requirements.

We are thus closing this idea as completed.

Partners will still be responsible for creating and supporting any scripts, code etc used to create, operate, monitor, and maintain containers. BcContainerHelper and artifacts can optionally be used as part of creating Docker containers, and continue to be provided and supported as a community effort.

125

API - json body with more nested nodes than two

Hi, with BC Spring release 2019 there is a limitation about the structure of the content body in a custom API, in fact it is not possible to create an API that accept in a POST request a json body with more nested nodes than two (https: // docs .microsoft.com / en-us / business-applications-relea...

Read more...

2 Comments

Read more... 2 Comments

Category: Development (962)

STATUS DETAILS
Completed
Ideas Administrator
Thank you for your valuable feedback. We have decided to deliver this idea and make it available with Business Central 2019 release wave 2.  ​
Your help was greatly appreciated,  ​
Business Central Team​


107

Access to local and global variables and functions in table extensions and page extensions

"When creating a TableExtension and/or PageExtension object it would be really useful to be able to call the local functions / variables of the original object. This would also come close to the concepts of inheritance. You could also address the inherited object with Base.XYZ to call the functio...

Read more...

1 Comments

Read more... 1 Comments

Category: Development (962)

STATUS DETAILS
Completed
Ideas Administrator
In the 2019 Wave 2 release we have added the ability to control, i.e., restrict or enable, access to objects and members, similar in concept to access modifiers in other languages. There is a new Access property on objects and table fields, and access modifier keyword on var section and methods. The available options {Local, Internal, Protected, Public} depend on the object type, use IntelliSense (Ctrl+Space) for possibilities in context.

The idea is asking for unrestricted access in one extension to objects in other extensions (including base application). This is strictly not what we are delivering, as access will only be possible if the target extension permits it, and the default will be private to allow controlling the extensibility surface. What the feature enable is allowing designing for access going forward. ALApp GitHub should be used to request changes to the base app to enable access to variables as part of extensibility.
84

Automatic unpublish and publish from VSCode

Working with extensions which have dependency on other extensions is currently not very easy. For example if we have a "main app" and a "test app", then in order to republish our main app, then we first have to unpublish the test app. Not only is there no way to do this from VSCode (except tha...

Read more...

1 Comments

Read more... 1 Comments

Category: Development (962)

STATUS DETAILS
Completed
Ideas Administrator
Thank you for your valuable feedback. We have decided to deliver this idea and make it available with Business Central 2019 release wave 2.  

Learn more about what's new and planned in the release plan here:

When working with projects in a workspace, the dependency graph will now be "walked" on deployment, and extensions uninstalled/reinstalled automatically. If the project you deploy is depending on other changed projects in the workspace, those will be deployed as well. You will have influence on this, i.e., there is support to just swap out a single extension as well (ignoring deploying changes in other projects/extensions). This allows you to roundtrip on e.g., test and product extensions.

Your help was greatly appreciated,  
Peter Borring
PM, Microsoft  


76

Show All Overloads of a Procedure in the IntelliSense (or indicator of multiple overloads)

If you have a procedure that has multiple overloads (so, for example, same procedure name but different parameters), then if you want to add a new statement somewhere else in your code calling one of these procedures utilizing the IntelliSense will always only show a single procedure and not all ...

Read more...

2 Comments

Read more... 2 Comments

Category: Development (962)

STATUS DETAILS
Completed
Ideas Administrator
This is already mostly supported, but with a different command (Ctrl+Shift+Space) for triggering parameter hints.

We are still lacking showing that overloads exist ("+x overload(s)") in signature help. We will track that in this

Your help is greatly appreciated,
Business Central Team