Multiple environments are necessary during ERP implementations. An ERP implementation usually involve at least three environments, though additional environments might be added depending on implementation project requirements. DEV, TEST, and PROD, are the most common names for these three environments
PROD (May also be called GOLD)
After implementation, PROD refers to the live ERP environment. Prior to implementation, this is a transaction-less environment where tested configurations are setup. Transaction-less because ERP systems don’t have a “delete posted transactions” button, so you want to keep this environment clean from test transactions. So where does transaction testing happen?
TEST (May also be called UAT for User Acceptance Testing)
During the implementation, subject matter experts and end-users will setup sample configurations and model business processes with test transactions in the TEST environment. The desired, approved configurations will then be setup in the PROD (GOLD) environment.
DEV (Mostly just called DEV)
DEV environments are necessary as ERP projects frequently require customizations. A developer can build and deploy his developments to the DEV environment without interrupting the flow of user testing. Once any technical bugs are smoothed out, the customized code from the DEV environment can be promoted to the TEST environment, where it will be validated/approved by subject matter experts or other functional users.
FastTabs are blocks in D365 forms that can be expanded or collapsed. Like a filing cabinet or library card catalog (remember card catalogs?), FastTabs allow lots of information to be compressed into a tiny space and opened for access when needed.
Below are some tips for navigating FastTabs in D365 Finance:
Personalization and Saved Views
If you routinely need access to certain field positioned lower on a form, the Move personalization feature can be used to move the more utilized field into a more prominent FastTab, or even to move an entire FastTab higher on the form.
Right-click and select personalize on a field and you can also select Show in Header, which will display that field attribute on the right side of the FastTab whether the FastTab is expanded or collapsed.
If you are looking for a field on a form, but unsure which FastTab it is filed under, Expand all can be your friend. Right-clicking on the fasttab header gives you the option to Expand all FastTabs on the form. Used in conjunction with Ctrl+F, this can be a powerful method to quickly find the field you are searching for.
Less Words, Moar Video
I made a quick video of this. Let me know if this is helpful, and whether you’d like me to make more videos like this.
In the middle of a twitter thread complaining about how food bloggers always tell long, unrelated stories before finally getting to their recipe, food blogger @DanielleEsposti points out: “Google forces us to provide context so we can rank, so we can get traffic, so we can make ad $$, so we can provide more (free) content. It’s not always as simple as shut up & blog.“
Reading her comment, watching the autumn leaves turn golden brown outside my window, I was reminded of making butternut squash soup with my mother when I was little. It’s a simple recipe, lovingly made. The dish is the right balance of sweet and savory….and all of this is really a ruse to get ranked on “D365 for Butternut Squash Soup“.
Anyways, here’s some D365 content:
Always Open for Editing
D365 forms are either open for editing (in edit mode) or closed for editing (in view mode). When a form is in view mode, it can be opened for editing by clicking the edit button on the top left, or hovering the mouse over any editable field and clicking the pencil icon that appears.
View mode can help prevent accidental record changes, but can also be cumbersome if a user’s role requires them to make frequent form updates. In the Options tab, users can personalize their view of a form by clicking Always open for editing so that the form is in edit mode by default when opened by the user.
Notice that when saved views are enabled, activating Always open for editing creates an asterisk by the view name, reminding the user that a change has been made to the view. Users can save this view for personal use or publish the view, making it accessible to other users.
If you’ve come this far in your D365 reading and still can’t stop thinking about Butternut Squash Soup, I recommend you try Danielle’s PALEO BUTTERNUT SQUASH SOUP WITH POMEGRANATE – it really looks delicious. #D365forButternutSquashSoup
I think these two features should be more widely utilized. D365 forms are designed for multiple personas / business processes. Decluttering forms for specific personas by moving less frequently used fields farther down the form or hiding them completely is an easy way to increase day-to-day efficiency, as well as simplify the training/change-management process.
Move a Field
Open the personalization toolbar Ctrl+Shift+P and select the Move button. Click on the Field, Field Group, or FastTab to be moved. From there, drag with the cursor or use the Arrow Keys to indicate where the form element should go. I find using the arrows a bit easier to control. An orange indicator line displays where the form indicator will go, and Enter will set the field in its new location. Close the personalization toolbar to view the result.
Moving the Responsible field group to the end of the General FastTab. Note the highlighted indicator line.
Result after closing the personalization toolbar.
Move can also be used to adjust the column order on a listpage.
Hide a Field
The hide feature works similar to the move feature. Hide can be applied to Fields, Field Groups, or FastTabs, as well as Tabs, Groups, or Buttons in the form’s header ribbon. It can be done through the personalization toolbar, or by right-clicking, selecting personalize, and then selecting Hide for the desired form element.
Right-click, Personalize, and Hide the Project team and scheduling FastTab.
In 1955, Bernard Heuvelmans created a new field: Cryptozoology – the study of imaginary animals.
Create a New Field
As mentioned previously, when adding a field through personalization users also have the option to create a new field. After opening the personalization toolbar, selecting Add a field, and choosing the desired location for the added field, users are prompted to select from an existing field or Create new field.
In the Create new field area, users can define
The table where the new field should be added
The new field’s prefix (all fields added through personalization end in _Custom)
The field’s data type (Text, Number, Decimal, DateTime, Date, Picklist, Checkbox)
The field’s help text (what displays when the hovering the cursor over the field)
Example of new Picklist field creation
Example of new Checkbox field creation
Example of new Example fields displayed on Customer form
In a few clicks, a new field can be created and added to a form – saving hours of developer time, code promotion, and testing over the standard approach of doing this through development. That’s good. But with the ease of creating a new field, don’t neglect thinking through the below – which could save headaches associated with implementing any new field – whether through personalization or development.
Who needs to see or edit the new field? From what forms? Personalization can add the new field to the saved view, but the new view(s) will need to be published to the desired users or roles.
How will the current data for this field be loaded in D365? Who will do it? In System administration, there is a form to manage Custom fields. Here, a custom field can be added to a data entity for data migration. The Custom fields form is also where field values like picklist options or the length of a text field can be updated.
Does this custom field need to be added to any reports? It is easy to add a custom field to a listpage using personalizations. Visibility on the listpage is frequently enough, and Ctrl+Shift+E can be used to quickly export listpages to excel.
Custom Example field on Customer Listpage
If the new field needs to be added to a formatted report, or to a data model for consumption in PowerBI or another reporting solution, you may need additional developer assistance.
One last thought about creating a new field through personalization – it doesn’t follow the standard QA->UAT->Production path of regular code promotion. A new field can be created as a test in a test environment, but at showtime a user has to create the new field directly in the production environment. This is probably fine for fields that are “just extra attributes”, but probably not fine for fields related to a company’s core business. If additional methods or logic need to be applied to a field, it is probably better the field be created through development.
“When he went out to plough his fields…his heart would fill with joy.”
How Much Land Does a Man Need? | Leo Tolstoy
D365 contains thousands of related tables with an almost innumerable number of fields – some say D365 has almost as many fields as this blog has fans. But sometimes a user just needs one more field.
Users access this table data through forms. Frequently, a form’s standard view will not contain every single field of related table data. Did you know the customer table (CustTable) has 203 different fields?Add a field allows additional table information to be presented on a form.
Add a Field
Use Ctrl+Shift+P to bring up the Personalization Toolbar and click on Add a field. Once Add a field is selected, click on the part of the form where the new field should go.
A new “Add columns” area will pop up on the right allowing the user to select which field (or fields) to bring into the form. Did you know that 3 of the 203 fields on the Customer Table are notes fields?
The selected field(s) will now display on the form.
If the field isn’t positioned quite where intended, the Move button ca be used to fine-tune the location of the new field.
Add a Field, Again!
It is generally bad database design to represent the same field twice on the same table, but not necessarily bad form design. For example, it may make sense to have customer currency in the sales demographics FastTab, and terms of payment in the Payment defaults FastTab. It might also be helpful to have this information closer to the top of the form. Add a field could be used to bring those fields onto the general FastTab in addition to their standard locations.
Add a Custom Field
Observant readers will notice the “Add columns” area also includes a “Create new field” button. Links below are included to outline that functionality – I’ll add my own opinions on the pros and cons of adding custom fields through personalization in a later post.
The ‘Loch Ness Monster’ is not that kind of ‘Lock’. Regardless, you want to lock monsters from ruining your system with bad data entry.
In personalization, Lock allows users to view fields, but not change their values. To lock a field, right click, select personalize, and then check the lock button.
As with all personalization features, these locked fields can be distributed to other users as published saved views.
Can’t This Be Done Through Security?
Yes. Without personalization, controlling who can see or edit what fields is managed through security. If you click on security diagnostics for the Vendor form, you can see there are two security privileges: one to view vendors and one to maintain (edit) vendor data.
To lock down a subset of fields through security, a system administrator would need to create a new security privilege (or modified copy of the maintain vendors privilege) and assign it to the desired duties or roles.
An advantage of locking fields through personalization is that it is easier to see which fields are being locked through the UI. Also, users can have multiple views – It’s possible have a default view where the data is not editable, but allow the user to toggle to another view where the data can be edited. This would be a more difficult proposition to manage through security. Pro tip – if you care very much about tracking edits to a particular field, consider enabling database logging on that field.
Lock Many Fields
Personalizations can be applied to individual fields, as well as Field Groups or FastTabs. If you want to lock lots of fields on a form, the easiest way to do this is by opening the personalization toolbar, clicking Lock and then clicking on the desired Field Group or FastTab.
Clicking on the Payment group controls all fields in the Payment group
Clicking on the Payment FastTab controls all fields in the Payment FastTab
That’s pretty much the whole concept – Lock, Stock, and Barrel.
“You say ‘Tomato’, I say ‘Tomato’ ” …a phrase better sung than read. No matter what label you wrap around a can of tomato soup – it’s still a can of tomato soup. In D365, buttons and headers have labels. The flexibility of having labels allows D365 to be useable in 46 different languages (including 9 types of English!). All the buttons are the same, but each has a set of language-specific labels. Custom labels can also be created through personalizations, then distributed to individuals or groups of users through saved views.
Right click on the desired button or header and select Personalize.
The label name will appear in the white field of the personalize box.
This text is editable, edits will change the label presented to the user.
These personalizations can be saved as a view (note the asterisk after “Standard view” in the last image) and the view can then be used individually or published to other users as desired.
Is This a Good Idea?
Without personalizations, label changes are a development task. A developer has to update the label file. That code has to get promoted up to the production environment. These changes then affect all system users of that language Want a label for only some users of that language? – just create a 10th version of English…then have that subset of users change their language preference. Personalizations is clearly a lighter touch for changing the name of a button.
But what is the purpose of a language? Common language facilitates communication. When I point to a can and tell you “tomato soup”, it’s only helpful if you also know it as “tomato soup” (Gazpacho…What’s that?). If sub-groups start referring to something by a new name, it can be difficult to talk about it across the whole organization – or describe to support technicians.
If Bob wants to rename the “Adjust transactions” button to “Bob’s Oh-no Button,” and have that on his own view…good news! That functionality exists.
Bob will have trouble describing “his” button to other members of that organization that know it as “Adjust transactions” in the standard view.
Clicking Bob’s Oh-no Button will still take Bob to the same Adjustments form (remember, this is the same button for everyone, only being viewed with a different label).
However, if accommodating a special request like this can facilitate change management, or win Bob as a champion of D365 throughout his organization, the exercise might be worthwhile.
For want of a nail the shoe was lost; For want of a shoe the horse was lost; For want of a horse the battle was lost; For the failure of battle the kingdom was lost— All for the want of a horse-shoe nail.
Little things matter. Sometimes little things matter a great deal. Adding required fields helps prevent little bits of data from being lost on the great battlefield of D365.
Personalize Required Fields
In Platform Update 10.0.12. Require has been added as an option to the personalization toolbar.
As long-time readers will remember, the personalization toolbar can be accessed through the option tab, or by pressing the Ctrl+Shift+P hotkey. Once open, the user clicks on Require, then clicks on the fields to be required, and then closes the personalization toolbar.
As Saved views, these personalizations can be published to the desired members of the organization through security roles (see Publish saved views link below in additional reading for more details).
In addition to being a no-development solution, an advantage to this approach is that different fields can be required from different users. Imagine a business process where a general projects team create new projects across the company, but project managers are expected to enter a projected start and end date for visibility once they are specifically assigned to and begin maintaining their project.
Requiring the field through a saved view makes it easy for the project team to create and update other elements of the project through a standard view, while the Project manager’s view requires these data points to be entered.
Project manager view requires project start / end dates
Error message for Project manager not entering required fields
With fields populated, happy projects are all the same.
Not sure what to get that special D365 accountant in your life? Waited till the last minute and now you don’t have time to buy a gift? Show your appreciation by passing along this list of journal entry tips. Better yet, send a link to our whole series on shortcuts.
#D365Blogs: the gifts that keeps on giving – even during the holidays.
These example screenshots will be from the general ledger journal form, but are applicable across journal types in D365.
Alt+N – Create a new journal
Alt+N can create a new journal header, and also create new journal lines once the journal lines are opened.
Alt+Down – Open dropdown to select journal name
Once the new journal is created, Alt and the down arrow can be used to open the Journal name dropdown. From there, the up/down arrows can be used to toggle between available journal names and Enter can be used to select the highlighted journal name.
Tab / Shift+Tab – Toggle cell selection Right / Left
Similar to Excel, Tab and Shift+Tab can be used to move the cell selection right and left. The allows a user to update the description field without using the mouse for selection.
Using Shift+Tab, the user can move the selection to the left so that the journal batch number is highlighted. Pressing enter while the journal batch number is highlighted will have the same effect as clicking the link, allowing the user to open the journal lines without clicking their mouse.
Once inside the journal lines, Tab can be used to move horizontally across the cells. Through Personalizations, users can control which of these cells are included or skipped when tabbing.
Selecting Accounts and Financial Dimensions
Keep in mind when selecting accounts and financial dimensions that the field acts as a “begins with” filter on both the Value and the Description fields.
An asterisk can be used as a wildcard search character to override the “begins with” filter. In the example above, “*recei” can be used as a search to return all accounts containing the word “Receivables”
Alt+Shift + Right/Left – Toggle Tabs Right/Left
When it is necessary to update more values that simply what is on the list page, Alt+Shift+ the right and left arrow keys can be used to toggle across the journal’s tabs.
Alt+Delete – Delete
Everyone makes mistakes. That’s why there’s a delete button on the journal lines and header. Alt+Delete can erase that mistake without even the shake of a mouse.