Arend-Jan Kauffmann
banner
aj.kauffmann.nl
Arend-Jan Kauffmann
@aj.kauffmann.nl
๐Ÿ  Dutch
๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ (Grand)father
๐Ÿข CTO @ Lumos 365 Ltd.
๐Ÿ–ฅ๏ธ Microsoft Dynamics 365 Business Central
๐Ÿ… Microsoft MVP
๐Ÿ“ kauffmann.nl
โšก Opinionated
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! ๐Ÿป
June 14, 2025 at 7:39 AM
The @bctechdays.com bear has been adopted!
June 14, 2025 at 6:20 AM
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.
May 14, 2025 at 7:56 AM
In fact this is packaging, right? Compiling means translating into another language.
May 14, 2025 at 5:32 AM
Reposted by Arend-Jan Kauffmann
๐Ÿ˜ฏ 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
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
bit.ly
May 13, 2025 at 9:01 PM
Reposted by Arend-Jan Kauffmann
๐Ÿ”Š ๐Ÿ”Š ๐Ÿ”Š ๐Ÿ”Š
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
areopa.academy โ€“ Microsoft Dynamics 365 Business Central Expert Webinars
areopa.academy
May 10, 2025 at 4:51 AM
Full house at Days of Knowledge Nordic organized by Directions4Partners

#msdyn365bc #doknordic
May 2, 2025 at 7:17 AM
Reposted by Arend-Jan Kauffmann
๐Ÿšจ 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
April 14, 2025 at 2:33 PM
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.
April 11, 2025 at 12:00 PM
I had this idea for my session at Directions NA! Great minds... ๐Ÿ˜Š
March 21, 2025 at 2:22 PM
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.
March 20, 2025 at 6:09 AM
Reposted by Arend-Jan Kauffmann
What are you waiting for? Registrations for #BCTechDays are open.

Reserve your seat today!
March 14, 2025 at 7:43 AM
The Rest Client is my favorite. ๐Ÿ˜Š
March 15, 2025 at 6:23 AM
I have solved this in the past with a local web service and Azure Relay Hybrid Connection. Works like a charm.
March 10, 2025 at 10:48 PM
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.
March 5, 2025 at 6:34 PM
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
March 5, 2025 at 2:18 PM
Reposted by Arend-Jan Kauffmann
@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...
What's Cooking in Business Central: Cookies and collectible errors in the REST Client
YouTube video by Microsoft Dynamics 365 Business Central
www.youtube.com
February 27, 2025 at 6:38 PM
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.
February 26, 2025 at 6:21 PM
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.
February 24, 2025 at 4:05 PM
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!
February 19, 2025 at 10:50 PM
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.
February 15, 2025 at 11:55 AM
Creating some logs today...
February 15, 2025 at 9:10 AM
Now do the same with nested dataitems so that the order of triggers in outer and inner dataitems make sense. ๐Ÿซฃ๐Ÿ™ƒ
February 14, 2025 at 12:30 PM
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
February 11, 2025 at 7:37 PM
You should look at the Rest Client module. Much easier to work with!
February 11, 2025 at 6:05 PM