I don’t know who needs to hear this, but Word is my favorite PDF reader.
Standard Windows 10 ships with Microsoft Edge as the default PDF reader. It’s nice not having to purchase or download extra PDF reading software, but for me reading a PDF in a web browser does leave something to be desired. First, it’s difficult to markup or edit a PDF in a web browser. Second, I don’t like getting the PDF I’m reading mixed in with all my other open tabs. Third…actually I don’t really have a third – two strikes is enough.
Usually, I read PDFs because they are documents sent to me from a colleague or a customer. I want my open documents grouped with my other open documents (WORD documents), not my endless supply of browser windows.
Make Word Default PDF Reader!
This is actually pretty simple. If you right-click on a PDF, you can choose how to open the file. If word doesn’t appear as an option, you can select choose another app.
From the choose another app screen, if Word does not appear you can find it by clicking more apps. Once selected, you can mark Always use this app to open ..pdf files to set Word as the Default.
As you can see below, setting Word as the default PDF reader creates a slightly different document icon to distinguish between .doc word documents and .pdf PDF documents, though both will be opened in the Word application.
Opening the PDF in Word has the same look and feel of opening a standard word document. As a user, you can make comments or edits like working with a Word document and then save those additions as a new document.
Apparently this functionality has been available since Word 2013. I’m just seven years late to the party. Better late than never, right?
Longtime readers of this blog know I’m a big fan of Workspaces. I’m such a fan, I gave an entire Workspace Presentation at last year’s User Group Summit.
Here is my pitch for Workspaces:
If bookmarking the D365 Default Dashboard, in order to perform an action you need to 1) Open your browser 2) Go to D365 Default Dashboard and then 3) Goto the D365 form where you will perform your action.
Bookmarking specific workspaces, utilizing the workspace’s tiles, listpages and links gets you straight to the action you want to perform. Your steps are now 1) Open your browser and 2) Go to the D365 form where you will perform your action.
Advancing this concept, Edge makes it easy to pin a workspace to your taskbar. If I click on the purple finance and operations logo on the far right of my taskbar, the vendor invoice entry workspace opens immediately.
The steps are now 1) Go to the D365 form where you want to perform your action and 2)…profit!
How to Pin Workspace to Taskbar
The Edge browser makes this easy. Go to your desired workspace and click the ellipsis on the top right of the Edge Browser. Select more tools, and then click pin to taskbar,
Pin Vendor invoice entry workspace to taskbar
If you add “&limitednav=true” to the end of your workspace URL, the menu item on the left disappears (zoom into the two Vendor invoice entry workspace screenshots above and look at the urls to see the difference). This gives you a few more pixels to work with (a small benefit), but also cuts down on distractions in the workspace (a larger benefit, possibly).
I like using this limited navigation with the pinned workspace because makes the D365 workspace feel more like a desktop application.
If you hold shift and click on the pinned shortcut in your taskbar, you can select properties to change the icon (the pinned website’s favicon is the shortcut’s default icon). This can be helpful if you want to pin multiple shortcuts to your taskbar and easily distinguish between them. The new icon image must be in .ico format – fortunately there are multiple sites that make it easy to convert standard jpg or png images to ico.
You currently have the ability to startup a trial of D365 Sales, Customer Service, Field Service, Project Service Automation, Business Central, Human Resources, Retail, and (of course) Finance and Operations.
Agree to the terms and conditions, and decide whether or not to opt into marketing messaging.
Kudos to the restraint of the marketing team leaving the opt-in checkbox unselected by default. If your organization belongs to a Microsoft 365 tenant, you can proceed straight to spinning up your trial environment. The process may take up to 30 minutes from here. If your organization does not have a Microsoft 365 tenant, there will be a few more steps.
Once the environment is created, you will receive an email from Lifecycle Services.
The “Click here to start” link will take you to your new trial environment.
The environment will come preconfigured with D365’s legendary Contoso default data. Congratulations! You are now the proud owner user of a 30-day trial environment. Have any questions about what to do from here? Ping me in the comments:)
In this interview with Stripe CEO Patrick Collison, he notes that technology companies are more frequently utilities (how do I get this car to show up now?) or entertainment (how do I get this show now?), and less a bicycle for the mind as early tech-visionaries dreamed for the future of computers.
I’m starting a new project, which has required a lot of new learning. As a result, I’m reflecting on the tools I use to augment my learning.
I don’t have a photographic memory. To compensate, I use OneNote a lot. I have OneNotes for projects, I have personal OneNotes, I even have a big OneNote where I document new D365 functionality I’m learning. The process of notetaking helps me concentrate on the subject matter – as an added benefit it builds searchable knowledgebase. I like to think of well structured OneNotes as an investment in my future self.
I wrote about Microsoft Teams in April (see here and here), but the product has continued to approve this year. Teams are a great place to collaborate in groups, share files, and keep stakeholders up to date. Not to mention its power as a scheduling/meeting/video-conferencing platform.
Add OneNote to a Team
Following up on my love on OneNote, the only thing better than making OneNotes for yourself is making OneNotes as part of a group. In Teams, a OneNote can be added to a tab for easy group access. The OneNote can be edited within Teams, as well as opened for editing in the OneNote desktop app.
Click the plus sign to add a tab
Search for the OneNote application, then select the specific OneNote to be added
The OneNote can now be accessed through Teams
Clicking Open in Browser, the OneNote can also be opened in the desktop app.
I like having access to the OneNote through the desktop application because the features are a bit more robust and I can always bring up the OneNote application using the Win+Shift+N hotkey.
Sync Teams Files to Computer
As mentioned above, Teams are a great way to share files. As in many social situations, Teams can sometimes fall victim to oversharing. (I’m sorry, but I don’t want to discuss your foot fungus problems during the company holiday party, now suddenly I’m the bad person?). I’ve seen many Teams develop a file folder structure so complicated they require their own Indiana Jones map for navigation. However, no matter how large the file structure, usually the contents of only one or two folders are relevant to me.
Instead of digging through the folder structures every time I want to review those files, syncing the relevant folders or files to my computer is an easier solution.
On the Files tab of the Team, click Open in SharePoint
From SharePoint, click Sync
Select the particular files or folders to sync
The synced files and folders can now be accessed through File Explorer
File explorer can be quickly accessed using WIN+E. Depending on OneDrive settings, synced files can be saved to the computer’s hard drive for offline access. Changes to synced files will save on the files accessible to the Team.
Other Bicycles for the Mind
Two other tech tools I’m interested in right now are Tiago Forte’s Building a Second Brain knowledge management system and the Roam Research notetaking tool. I’m pretty busy studying for my current project, but I’m looking forward to exploring both when I have some available time in the future.
Speaking of studying – shoutout to Quizlet. Learning new terms from a glossary: boring. Learning new terms from flashcards: fun. I’ve found Quizlet makes it easy to upload and review new terms/definitions, and the mobile app makes it convenient to practice on the go.
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
Remembering our initial diagram, project category data don’t exist on a single table, but are on a set of related tables. To manually create a Project category, you need to
Configure a Category group
Configure a Shared category
Create a Project category
Update Expense or Cost category details (if necessary)
The same holds true when uploading project categories through the data management workspace. We will need to upload data through multiple data entities to successfully build our project categories.
Data management workspace
A quick refresher on the Data management workspace – The Data management workspace relies on data entities to pass data in and out of D365. An Import project can be created to pass data into D365. An Export project can be created to pass data out of D365. When examining data in an existing system, it can sometimes help to create an Export project to view the available data.
Above is an export project with the data entities related to project categories
Project category group
Clicking export processes the data in these entities so they can be downloaded in a package. Refresh the following screen until the completed checkbox appears – you can now click Download package.
The downloaded package is a zip file containing excel files for your data entities as well as two .xml files – Manifest.xml and PackageHeader.xml. You can extract the contents of the zip file to examine the contents of the project category data. The xml files will be helpful when we make changes or additions to the project category data and are ready to import those changes back into D365. As we will see in the next post, the xml files tell the Data management workspace what data entities we want to upload and the order in which we want to upload them.
“How many project categories do I need?” is a common D365 implementation question. Remembering the rules from our initial project categories post, a project category can be of only one transaction type – so you will need at least one project category group for each transaction type used and at least one project category within each project category group.
Below is a survey of places where project categories are used in D365 for Finance and Operations. The list is not exhaustive, and project categories are not the only drivers of the below (for instance, there are many attributes that can be used to drive sales prices), but the below can be a good starting point for thinking about how granularly an organization’s project categories ought to be defined.
Ledger Posting Setup
Project and category relationships are the two main drivers of both cost and revenue account posting profiles in the Project management and accounting module.
Hour, Expense, and Fee transaction types all have their own sales price tables. Sales prices for items are set through trade agreements. Project category is one of many attributes that can be used to drive sales prices.
While it is more common for cost prices to be driven at the resource or role level, specific cost prices can also be set at the project category level.
Line property defaults
Line property default behaviors are configured on the project/group line properties table. For some organizations, it makes sense to have billable and non-billable expense categories instead of having users directly select the line property on their expense report lines.
Expense category attributes
Different expense types have different attributes – for instance, an expense type of mileage requires a number of miles to be entered on the expense report, calculating a reimbursement amount, instead of allowing the user to directly enter their mileage expense reimbursement amount.
Different company expense policies can be applied specifically to project categories of certain expense types.
If using indirect costing, indirect cost components need to be associated to an indirect cost project category. Less frequently used, project categories can be used to drive whether indirect costs are applied through the Indirect cost component group assignment rules configuration.
Item sales tax groups
Different sales tax codes apply to different goods and services. In D365, this sales tax configuration is applied through the item sales tax group on the project category.
Posted transaction reporting
Whether viewing posted transactions in D365 or an external reporting solution, project category can be an important reporting dimension. In the image above, the hours transactions form is grouped by project category.
Project forecast reporting
As with posted transactions, project categories can be a useful dimension for project forecast reporting. Sometimes forecasting is done at a more general level of project category than those anticipated for posting. (For example, an “Expense forecast” project category may be used to estimate all the different expense postings anticipated on a project)
Project invoice document
Project categories display on the project invoice document – which makes sense especially if sales prices are being driven by project categories. That being the case, it is worth considering what customers would like to see related to the project categories displayed.
Do you see an important project category function missing from the list above? Call it out in the comments!
Fun fact: Aristotle thought there were ten categories. Possibly related fact: Aristotle never used the D365 Projects Module.
Project categories are not a new concept in D365. A quick search will show that categories date back at least to AX2012, and perhaps even time immemorial. The latest project category documentation (see here, here, or here) is 5+ years old – more ancient than Aristotle in tech-years.
Why do I think I can explain an old topic any better than it’s already been explained? Aristotle would call this Hubris.
What Are Project Categories?
Understanding project categories requires knowing a few D365 projects module rules:
Cost or revenue associated with a project must be defined by a project category.
A project category can only be of one transaction type (Hour, Expense, Item, Fee).
A project category can only be used within its own legal entity.
To work with the Expense module, a Project category needs to be setup as an Expense category.
To work with the production module, a Project category needs to be setup as a Cost category.
These rules lead to a D365 category table structure that looks like this:
Why so complicated? The complexity comes from the rules…let’s examine.
1) Category group
Category groups…groups categories! Project categories can only have one transaction type, and the category group is where the category’s transaction type is defined. All project categories in the same category group will be of the same transaction type.
2) Shared category
Because a project category can be used only within its own legal entity, the concept of a global “shared category” exists in D365 to link project categories across different legal entities. The shared category is also where the category’s identity as a “Project category” for use in the Project management and accounting module is defined. The Shared category is also where a category’s use in the Production or Expense management modules is defined if applicable.
3) Project category
Once a category group and shared category have been setup, the project category can be created. When creating a new project category on the project category form, the category ID dropdown will show all shared categories not yet associated to project categories in the current legal entity. Notice that Category group is a required field for the project category, and that selecting the category group sets the project category’s transaction type.
4) Production category
When “Use in production” is enabled on the Shared category, the associated Project category is also setup as a Cost category. An additional fastab related to Production attributes is displayed on the project category (this additional production information is stored on the Cost Category table). The category is also visible in the production module. This is the same category record information, just viewed from a filtered list of categories used in production.
5) Expense category
When “Use in expense” is enabled on the Shared category, the associated Project category is also setup as an Expense category. Two additional fastabs related to expense attributes are displayed on the project category (this additional information is stored on the expense category table), and the category is also visible in the Expense management module. Like the Cost category, the Expense category record in Expense management displays its same record information as in the Project category list.
As you can see, setting up a new Project category is as easy as 1, 2, 3 (configurations for Category groups, Shared categories, and Project categories)…and possibly 4 or 5 (additional configurations for Cost categories or Expense categories, if applicable). In a future post, I plan to look at different results that can be driven by Project categories, as well as how to efficiently upload Project categories through data management.
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.