Arend-Jan Kauffmann's Avatar

Arend-Jan Kauffmann

@aj.kauffmann.nl

๐Ÿ  Dutch ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ (Grand)father ๐Ÿข CTO @ Lumos 365 Ltd. ๐Ÿ–ฅ๏ธ Microsoft Dynamics 365 Business Central ๐Ÿ… Microsoft MVP ๐Ÿ“ kauffmann.nl โšก Opinionated

386
Followers
67
Following
42
Posts
14.11.2024
Joined
Posts Following

Latest posts by Arend-Jan Kauffmann @aj.kauffmann.nl

Post image Post image

It was fun presenting with Dmitry Katson at @bctechdays.com about vibe coding vs. hand-crafted AL. It turned out that AI is helpful, but not for every step on the way. The conclusion was evident: It takes a captain to use a copilot! The community voted and thought the same. But, we had our beer! ๐Ÿป

14.06.2025 07:38 ๐Ÿ‘ 5 ๐Ÿ” 1 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0
Post image

The @bctechdays.com bear has been adopted!

14.06.2025 06:20 ๐Ÿ‘ 11 ๐Ÿ” 1 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Thanks for confirming. My point is that there is an AL:Package command in VS Code. I don't like mixing up command names. It's either package or compile. And in this case package is the correct term. Call me purist or perfectionist (which I am actually), but I'm a bit of a stickler for accuracy.

14.05.2025 07:56 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

In fact this is packaging, right? Compiling means translating into another language.

14.05.2025 05:32 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Preview
20250512 - Lessons learned from using Power Automate approvals with Business Central It's quite easy setting up Power Automate approvals to work with Business Central. However, after the initial setup there are quite some pitfalls and you may find yourself wrestling with unexpected behavior. This session will discuss various lessons learned from implementing Power Automate approvals with Business Central. We will discuss the proper way of canceling approval requests, monitoring progress, exception handling and maintaining and upgrading existing approval flows. Combined with many demos this session will give you a lot of take-aways that can be applied immediately in your daily work. Presenter: Arend-Jan Kauffmann Moderator: Bert Verbeek 00:03:19 - Introduction Arend-Jan 00:03:51 - Lessons learned while... 00:06:25 - Common Sense 00:08:34 - Maintaining existing flows 00:09:45 - Using variables for environment and company 00:14:35 - Demo 00:25:19 - Power Automate Approvals 00:33:46 - Demo 00:44:59 - Canceling an approval flow 00:47:22 - Demo 00:50:28 - Upgrading approval request 00:54:46 - Request an approval as delegated admin 00:56:38 - Delete approval workflow as delegated admin 00:58:03 - Investigating why a flow is stuck 00:59:35 - Handling error situations 01:02:58 - Q&A

๐Ÿ˜ฏ Did you learn your lessons? ๐Ÿซข

@aj.kauffmann.nl told us he did!

In this session, with a lot of demos, he told all about his "Lessons learned from using Power Automate approvals with Business Central".

Link to the learning material on YouTube: bit.ly/3F7NNH6

#MSdyn365BC

13.05.2025 21:00 ๐Ÿ‘ 8 ๐Ÿ” 5 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
areopa.academy โ€“ Microsoft Dynamics 365 Business Central Expert Webinars

๐Ÿ”Š ๐Ÿ”Š ๐Ÿ”Š ๐Ÿ”Š
Learn from @aj.kauffmann.nl lessons learned!!!!
๐Ÿ”Š ๐Ÿ”Š ๐Ÿ”Š ๐Ÿ”Š

Coming Monday, May 12, AJ will share his lessons learned using #powerautomate approvals with #msdyn365bc. Join AJ to save yourself a lot of hassle.

Did not subscribe yet? Use the registration on our website areopa.academy

10.05.2025 04:51 ๐Ÿ‘ 8 ๐Ÿ” 4 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 1
Post image

Full house at Days of Knowledge Nordic organized by Directions4Partners

#msdyn365bc #doknordic

02.05.2025 07:17 ๐Ÿ‘ 6 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Post image

๐Ÿšจ Workshops are filling up fast! ๐Ÿšจ

Several of our #BCTechDays workshops on Wed 11 June are already SOLD OUT โ€” thanks to everyone whoโ€™s registered so far! ๐Ÿ™Œ

There are still spots available for our Tue 10 June #msdyn365bc workshops.

๐ŸŽฏ Secure your place before they're gone

14.04.2025 14:33 ๐Ÿ‘ 6 ๐Ÿ” 3 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Post image

That's easy, the Rest Client module supports mocking test results. You don't need to use the new HttpClientHandler feature in test codeunits for this, it's a built-in feature of the Rest Client itself.

11.04.2025 12:00 ๐Ÿ‘ 6 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

I had this idea for my session at Directions NA! Great minds... ๐Ÿ˜Š

21.03.2025 14:22 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

I'm also using it daily. But I can't get used to how the Tab key works with auto completion. When a dropdown is open, then I expect Tab to insert the selected value rather than a suggestion. I can't find a setting for this. Using Enter for dropdowns and Tab for suggestions is very uncomfortable.

20.03.2025 06:09 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

What are you waiting for? Registrations for #BCTechDays are open.

Reserve your seat today!

14.03.2025 07:43 ๐Ÿ‘ 8 ๐Ÿ” 6 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

The Rest Client is my favorite. ๐Ÿ˜Š

15.03.2025 06:23 ๐Ÿ‘ 5 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

I have solved this in the past with a local web service and Azure Relay Hybrid Connection. Works like a charm.

10.03.2025 22:48 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Thanks, and yes, alguidelines.dev is part of my source to pick ideas from.
I may mention LinterCop. But the focus is on real knowledge. Tools are most useful when you understand what they do and why they do it.

05.03.2025 18:34 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

I'm preparing a session about AL fundamentals you should know, even in a world of AI and Copilots. Think of properties, patterns, code that could be replaced by setting a few properties, etc.

Looking for input, what should I definitely not forget to cover?

#msdyn365bc

05.03.2025 14:18 ๐Ÿ‘ 8 ๐Ÿ” 0 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0
What's Cooking in Business Central: Cookies and collectible errors in the REST Client
What's Cooking in Business Central: Cookies and collectible errors in the REST Client YouTube video by Microsoft Dynamics 365 Business Central

@aj.kauffmann.nl's work on the REST Client module is a perfect example of #TogetherWeWin. Bit by bit, AJ is adding improvements, to the benefit of us all. Now, making REST calls with #MSDyn365BC is as easy as 1,2,3 ๐Ÿš€ Thanks AJ ๐Ÿ™ Here the latest #WhatsCooking ๐ŸŽž๏ธ: www.youtube.com/watch?v=qNHU...

27.02.2025 18:38 ๐Ÿ‘ 13 ๐Ÿ” 1 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

The typical use case is transferring data from a buffer table without code in the triggers to the target table. For example a buffer table filled by an API call.

26.02.2025 18:21 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

HttpContent.ReadAsStream (in .Net) copies content into a memorystream (buffered in memory). That's why you can still read the stream while the original HttpContent is already out of scope.
In my opinion this is a hack. I'd rather have a solution that works with properly scoping the variables.

24.02.2025 16:05 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Codeunit 2351 "Rest Client Impl." implements a few Create() and Initialize() functions to assign default implementations to interfaces in case none were provided.
All public functions call CheckInitialized() to enforce the codeunit is initialized.
A real constructor like C# classes would be welcome!

19.02.2025 22:50 ๐Ÿ‘ 7 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

No, that's my point. Of course it makes sense placing triggers in the correct order. But with nested dataitems the triggers of the outer dataitem come after the inner dataitem. Which makes it less readable.

15.02.2025 11:55 ๐Ÿ‘ 4 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Post image

Creating some logs today...

15.02.2025 09:10 ๐Ÿ‘ 8 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Now do the same with nested dataitems so that the order of triggers in outer and inner dataitems make sense. ๐Ÿซฃ๐Ÿ™ƒ

14.02.2025 12:30 ๐Ÿ‘ 4 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Post image Post image

Interesting session from Rob Oud at Dutch Dynamics Community about the new Word add-in for reports In Business Central. With a valentine's day theme. ๐Ÿ˜Š

#msdyn365bc

11.02.2025 19:36 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

You should look at the Rest Client module. Much easier to work with!

11.02.2025 18:05 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Yup, Copilot can be wrong. You are still the captain. ๐Ÿ˜Š

And next edit is really a new feature and not just suggesting the next few (new!) lines.
For example, change purchase to sales on one line and then it suggests similar changes on other (existing!) lines in the same procedure.

11.02.2025 16:50 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

That is called auto completion.
But this new feature suggests modifications to other existing lines, based on what you changed. See the video.

11.02.2025 16:42 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

This is not about the usual auto completion, but the next edit suggestion. After modifying something it automatically suggests modifications on other lines than the current. That's really powerful and a good addition to auto completion.

11.02.2025 16:10 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

That's another option indeed. But generally I don't need absolute line numbers. If I'm looking for a line number it's always relative to the function. So I chose to not waste the space. ๐Ÿ˜Š

11.02.2025 14:41 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Post image Post image

How many times did you count lines in an AL code function to get to the line reported by the debugger?

Change the way how line numbers are displayed to relative, place the cursor on the procedure line and you'll easily find the line number you are looking for!

#msdyn365bc

11.02.2025 14:24 ๐Ÿ‘ 14 ๐Ÿ” 2 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 1