Mandatory Fields in Dynamics NAV 2015

Open the master data cards in Dynamics NAV 2015 and you see some new red asterisk’s next to key fields. These indicate a new mandatory fields functionality introduced in 2015 and works across both  the windows and tablet clients as shown below.

image

So how can you configure which fields are mandatory, well the bad news is that unless your a developer you can’t. Setting a field as mandatory is actually done by turning a property on the field on the page to true.  Why could this be part of the page configuration similar to the ‘quick entry’  introduced in 2013 you ask, very good question, epic fail on this occasion Microsoft.

As it is you have to set the ‘Show Mandatory’ property against each field. At least this can be set to a variable and you could then populate the variable given if the field is set as mandatory in a custom selection similar to the way you select which fields are audited by the change log for example. How much customisation is that going to be though even if you only do it for the major master data cards such as customer, vender and item.

image  

One thing to note though is that this does not actually enforce the mandatory fields are completed and while that might seem slightly illogical this time I agree with Microsoft’s decision. Nothing would be more annoying than have to delete a nearly complete record because one piece of mandatory data was missing and if you were going to have to re-do a significant amount of entry the temptation to enter anything to get past the mandatory field would be just too great. Trouble is that data never gets updated with the correct entry once that happens.

We already have the ‘Not Blank’ property on fields on pages, this is closer to enforcing entry of field if you need it but again is slightly different in that it only enforces entry if the field is either in the primary key or has had an entry made in it. Again if the field is skipped completely then the record can be saved with fields having the not blank field set to true being empty. Again this seems illogical but Microsoft do not consider it so.

I would suggest that what most companies want is to prevent a record being used before all of the fields they mandate have valid entries. This should as I hinted earlier be part of the customisation so that each company and even role can set its own policies.

image

(Mandatory entry below Quick entry please)

At Technology Management we often achieve this result by setting the Blocked flag to default to true and when this is being manually removed (which it has to be before it can be used) we validate the required fields are valid. This ensures no partially complete records are going to be used and the resulting issues that can cause occur.

Leave a Reply