ArcherPoint Dynamics NAV / Business Central Developer Digest - Vol 317
Two developer tips, implementing additional currency bank accounts in NAV, and some deep thoughts about building software are topics in this edition of Developer Digest.
The Dynamics NAV and Business Central community, including the ArcherPoint technical staff, is made up of developers, project managers, and consultants who are constantly communicating, with the common goal of sharing helpful information with one another to help customers be more successful.
As they run into issues and questions, find the answers, and make new discoveries, they post them on blogs, forums, social media...so everyone can benefit. We in Marketing watch these interactions and never cease to be amazed by the creativity, dedication, and brainpower we’re so fortunate to have in this community—so we thought, wouldn’t it be great to share this great information with everyone who might not have the time to check out the multitude of resources out there? So, the ArcherPoint Microsoft Dynamics NAV Developer Digest was born. Each week, we present a collection of thoughts and findings from NAV/BC experts and devotees around the world. We hope these insights will benefit you, too.
Developer Tip of the Day: SetSelectionFilter
Kyle has another tip for developers: “This is a handy way using CurrPage to pass an intelligent set of filters to a report. It lets the user have just a single record, a set of filters, some marked records combined with filters—any of the above—and it will set filters and mark records appropriately to provide to the report. An example: If you are looking at Posted Sales Invoices and choose Print, the resulting report will print whatever records the user has selected.” Learn more from Microsoft on Page.SetSelectionFilter Method.
D365 Business Central 17 On Premises: Country Code Change
And another tip from Kyle: “Developer Tip of the Day: With BC 17 On Prem, the country code has been changed from NA to US to align it with the sandbox/SaaS world. If you attempt to list available artifacts for NA, it stops at 16.6.”
Get-BCArtifactUrl -select all -type onprem -country na
Change that to US:
Get-BCArtifactUrl -select all -type onprem -country us
Implementing Additional Currency Bank Accounts in Dynamics NAV 2009
Tom M says: “For anyone implementing additional currency bank accounts, this article is worth a read. A client has their base currency as CAD and an additional currency of USD. The additional currency USD bank rec does not balance, and through working with Microsoft, we discovered that the loading of the opening balance entries for the additional currency USD bank were not loaded correctly, potentially causing the imbalance. This knowledge base article describes the issue and details the proper procedure for entering the opening balance for the additional currency bank.”
Computers Are Hard: Building Software with David Heinemeier Hansson
Kyle shares this Wojtek Borowicz interview with David Heinemeier Hansson, the creator of the popular Ruby on Rails web development framework:
Wojtek Borowicz: Software methodology is an industry of its own. There is Scrum, and Agile, and coaches, and books, and all of that. But you and your team at Basecamp don't follow these practices. Why?
DHH: First of all, our approach to software development is heavily inspired by the Agile Manifesto and the Agile values. It is not so much inspired by the Agile practices as they exist today. A lot of Agile software methodologies focus on areas of product development that are not where the hard bits lie. They are so much about the procedural structures. Software, in most cases, is inherently unpredictable, unknowable, and unshaped. It's almost like a gas. It can fit into all sorts of different openings from the same basic idea. The notion of trying to estimate how long a feature is going to take doesn't work because you don't know what you're building and because humans are terrible at estimating anything. The history of software development is one of late or cancelled projects. If you were to summarize the entire endeavor of software development, you'd say: 'The project ran late, and it got canceled.' Planning work doesn't work, so to speak.
What we do at Basecamp we chose to label Shape Up, simply because that is where we find the hard work to be. We're trying to just accept the core constraint that it is impossible to accurately specify what software should do up front. You can only discover what software should do within constraints. But it's not like we follow the idea that it's done when it's done, either. That's an absolute abdication of product management thinking. What we say instead is: don't do estimates, do budgets. The core of Shape Up is about budgets. Not how long is something going to take but what is something worth. Because something could take a week or four months. What is it worth? [...]
Wojtek Borowicz: So, the problem with those methodologies is they put too much focus on estimating, which is inherently impossible with software?
DHH: I'd go even further and say that estimation is bullshit. It's so imprecise as to be useless, even when you're dealing with fixed inputs. And you're not. No one is ever able to accurately describe what a piece of software should do before they see the piece of software. This idea that we can preemptively describe what something should do before we start working on it is bunk. Agile was sort of onto this idea that you need running software to get feedback but the modern implementations of Agile are not embracing the lesson they themselves taught.
The ArcherPoint crew weighs in:
Crystal T: “Yowzer! Interesting read.”
Matt T: “If you're not familiar with the Agile Manifesto:
‘We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.’
I, of course wholeheartedly agree with this article. In many ways, because our processes for estimation and billing are so intertwined, it reminds me of one of my favorite articles: An Obituary for the Billable Hour“
Leanne P: “Great article!”
Michael H: “I hadn't seen this article and agree wholeheartedly with many of the points listed, such as entrepreneurial spirit, commoditization, differentiation from competition, effectiveness, accountability, etc. Thanks for sharing!”
If you are interested in Dynamics NAV and Business Central development, be sure to see our collection of NAV/BC Development Blogs.
Read the "How To" blogs from ArcherPoint for practical advice on using Microsoft Dynamics NAV and Dynamics 365 Business Central.