Booking Resources more than their capacity in D365 PSA v3

While booking resources, you often don’t pay attention to how much capacity the resource has.

Or rather, you are aware, but you want to book the resource anyway (only to change later on, which I don’t recommend.)

In that case, if you are trying to overbook a resource out of their capacity, you are treated with this message below –

errorMessage

Why this occurs?

This is because of the Work Hours defined for the Resource. Rather, what Work Hour Template is assigned to that resource. Now, let’s say, you are trying to book someone for 8 hours on top of their already booked 2 hours
overloading.png

If you switch to the Hours view, you’ll see the availability marked by white cells. Grey meaning, unavailable.
available

Remember, this is even said in the error message when you tried to click Book.
errorMessage

Alternative

Of course you can do this, but you should have a very strong reason to overbook resources. 🙂

Switch to Evenly Distribute Hours to allow the resource to be booked on top of the existing one.
evenlyDistribute.png

And this should be fine, but it will appear in red indicating that the resource is overbooked. Say, 10 hours (on top of already booked 2 hours) – exceeding the 9 hours total limit.
hardOver
redMarking

Suggested

You should rather Propose Book the resource, this way, the booking will exist and won’t bloat the schedule board. And then, you can decide later to do something with it.

Front Load – Proposed

Now with combination of Front-Load and Proposed, you should be able to Book for only the remaining capacity

frontLoadPropose.png
only7.png

Evenly Distributed – Proposed

With Evenly Distributed Proposed, you should be able to exceed the capacity and even Propose for the full time you want.
evenlyDisProposed.png
Full10Hours.png

 

Hope this quick tip helps! 🙂

Happy 365ing!

 

Advertisements

Time/Expense Entry Rejection comments in D365 PSA v3

Let’s say in your PSA implementation, you are the Project Approver and you often face the challenges to rejecting time entries so that the resources could just correct it and re-submit. (Or any reason, for that matter)

Do you manually go and tell them that they need to re-submit? Let’s make this easier. This post applied for both, Time and Expense entries in PSA v3.

Where are the Rejection comments stored?

As an Approver, you have Resources submitting their Time Entries and you see them under Time Entries For Approval view in Approvals entity, ready to be Accepted/Rejected
ApprovalWaiting.png

 

And optionally, you can enter comments specifying why you rejected the Time Entry.
rejectionComment.png

But where is this data stored?

It’s actually stored as a Note on the Time Entry record itself! Note that the Entry Status of the Time Entry now says ‘Returned
storedAsNotes.png

Let the Resource know

You could just create a workflow to send an email to (Even Microsoft Flow, if you are comfortable with it)
A simple workflow to send out a notification will be useful to let the Resource (Owner of the Time Entry) know that the Time Entry was rejected and they need to take action.
workflow
On create of Note, Check if the Regarding (Time Entry) contains data and the Entry Status == Returned

emailBody
And send it to the Owner of the Time Entry specifying what details should go out. Add a link to the Time Entry record, maybe.

And they can click the link back to the Time Entry itself.
emailToResource

Hope this use-case proves useful in your implementation! 🙂

Happy 365ing!

Qualify Lead in D365 CE: Select which entity records should be created

Wave 2019 Updates brought some really sought-after features. Another one which I would like to bring up is the Lead Qualification experience.

I’ve written this post when I enabled the Early Opt-in of Wave 2 Oct 2019 Updates. To enable Early Opt-in, please refer this post – Early Opt-in for October 2019 Wave 2 Updates

This is set to release for the Oct 2019 Updates.

Default Behavior

So when you Qualify Lead by default – Account, Contact and Opportunity records are created.
fullQualifyLead

Notice that by default, the created Account and Contact are always auto-filled.
all3Records

Lead Qualify Experience in System Settings

By default, D365 will let you create all three – Account, Contact and Opportunity records when you Qualify a Lead.
originalSetting

When you select No, you’ll be asked which all entities should be created when you Qualify a Lead.
selectNo

 

Lead Qualification for selected entities

No, when you click on Qualify button, you’ll be treated with this Dialog box where you can choose what records should be created.

I’ll select only Opportunity this time
selectWhichOnes

 

And only Opportunity will be created and notice that the Contact and Account are blank this time.
blankOpp

Hope this is useful!

Thanks.

Related Blog on one of Wave 2 2019 Update: Customize Opportunity Close dialog box in D365 CE v9 Unified Interface – Wave 2 update

I’m also listed on the Top 100 CRM Blogs and Websites on Feedspot. It has a curated list of awesome bloggers.

Customize Opportunity Close dialog box in D365 CE v9 Unified Interface – Wave 2 update

Oct 2019 Wave 2 update got one of the most asked feature. Being able to customize the Opportunity Close Dialog box.

Assuming, you have enabled 2019 October Wave 2 update enabled for your Organization or you’re reading this post Oct 2019 with Wave 2 Updates already applied to your organization.

For Early Access of Oct 2019 Wave 2 Updates, follow my post here – Early Opt-in for October 2019 Wave 2 Updates

Please note that this feature is still not generally available and is not recommended for Production use yet.

Non-Customizable Opportunity Close Dialog

Up until now, you had this familiar Opportunity Close dialog where all you could do is just fill in the details and Close the Opportunity.

nonCustomizableCloseOpp

And you couldn’t add your own fields or modify it in anyway.

Please note that this feature is only available for the Unified Interface on Orgs enabled for 2019 Wave 2 Updates (Early opt-in or General availability)

Enable Customizable Opportunity Close Form

System Settings

Please note that this is a feature Admins will need to activate for the Organization and won’t be automatically updated once the Wave 2 updates are applied.

Under Sales tab in System Settings, enable Customize close opportunity form
turnOnSettings

Custom Fields

Example: Let’s say I have this field called as Internal Reason, I’ll add it on the Opportunity close entity (which users will use this on the Opportunity Close form when closing an Opportunity)
internalReasonField

And I’ll simply add it to the Opportunity Close Quick Create form
addToForm.png

Opportunity Close Quick Create Form

Once you do this, a Quick Create form you defined will open up instead of the traditional dialog box and you can include your custom fields on the same as well
customizableOppClose

Happy 365ing always! Hope this helps.

Early Opt-in for October 2019 Wave 2 Updates

August 2, 2019 was when the Wave 2 Updates were to be out. And here we are! By now, you should have gotten the option to update the wave 2 updates on your environment(s).

Let take a quick look at how you can enable this for your environment.

Here are the details Microsoft notes on the Early opt in to 2019 release wave 2

Enabling Wave 2 2019 Updates

Visit https://admin.powerplatform.microsoft.com/ (PowerPlatform Admin Center) and go to Environments.

Select the environment
selectEnv.png

Check that the updates are available for Activating. Initially the 2019 release wave 2 updates will appear Off. Click Manage.
Please note that you should try this on the Sandbox first before opting to apply on Production directly.
manageButton

Click on Update now

updateNow

Click Confirm.
confirm

And the Updating will start in a few moments.

Progress

You’ll see that the Apps are being updated as shown below for a few hours
updating

As and when each of the apps complete, it’ll show progress as below
partialComplete.png

Once complete, this will be the status
completeSetup.png

2019 Wave 2 Updates Applied

Once completed, you can log into Dynamics and check the About section to find out that the updates have been applied
completed

Here’s what everything’s included in the 2019 wave 2 updates: 2019 release wave 2 features available for early access

Happy 365ing! Hope this helps.

Workaround to get Plugin Profiler from the Unified Interface in D365 CE

Developers like me, often need to Profile the Plugin so see what logic you are implementing and this is pretty common in the development lifecycle. But, Let’s say you don’t have the classic UI at your disposal and need to download the Profiler from the Unified Interface itself – Here’s a little detour you’ll need to take to get it right.

Alternatively, using Persist To Entity is also preferred. But example – if you have a plugin on Create and on PreOperation, you won’t want to record to be created, you can go with the below –

Ease of the Classic UI

On the classic UI, you would get the Profiled file correctly just by Download Log File button on the interface itself.

classicProfiler

And the file has correct data starting with –
startingWIth

And ending with
endingWith.png

Profiler Message on the Unified Interface

As of now, the message pop-up for the profiled plugin will give you this –
currentUCIMessage.png

And the file has this –

currentUCIFile

And the Plugin Registration Tool doesn’t understand this! You’ll get this parsing error if you try –
parseError
parseErrorMessage

Turn On Exception Logging

Before that, you can check this post on how you can quickly go to the classic UI’s Settings area here – D365 Quick Tip: Shortcut to Settings from the Unified Interface

To be able to capture these details in the Plugin Profile entity, enable Plug-in and custom workflow activity tracing from the System Settings as shown below
turnOnLogging

You can’t add Plug-in Trace Logs to UCI

  1. Smarter way would be to add the Plug-in Trace Log entity to the UCI App itself and not having to go back to the classic UI. Unfortunately, you can’t do that.
    cantAddToUCI.png
    With that, we will have to go back to the Classic UI’s Settings > Plugin-In Profile Area to get out Profiled Log File.

Plug-In Trace Log

  1. Assuming you are back in the classic UI (maybe keep this open in another tab)
    Open the Trace Log record
    openProfileRecord.png
  2. Scroll down to the very bottom to find the Exception Details
    profiledData.png
  3. Now, copy that to the text file and attach it in the Plugin Registration Tool
    correctProfileFile.png
  4. This should work and you won’t get an error
    attached.png

Phew! I know this is lengthy. But we hope this will soon be eased 🙂

Hope this helps you!

Nested Editable Grids in D365 CE v9 UCI

Nested Grids – as the name suggests is a grid-within-a-grid (or rather, Grid-ception!). Nested Grids will let you expand a sub-grid entry to look at another grid of the expanded record. This depends on how you configure it.

Be aware, Nested Grids work with Editable Grids and only for Tablet, Phones and Unified Interface. This is not available for the classic Web UI.

Configuring Nested Editable Grid

Here’s my entity structure – I have Account, having multiple Contacts and each Contact, having Opportunities under them. Like in the below diagram –

relationships

Now, I have a Contact grid on my Account form (just like we usually do).

  1. I now will have to choose the grid to be a Editable Grid Control as follows. Also, click on the Nested grid view control as pointed
    editableGridControl
  2. On clicking the Nested grid view pencil, the next dialog box will let you select what entity you want the Nested Grid to be for. Note that this is with respect to the Contact entity and not the Account entity. For this example, I chose Opportunities.
    selectEntity.png
  3. On selecting the entity, I have to make sure my View is also correctly set to show the records
    selectView.png
  4. Now, my dataset will populate from the selected Entity and View. next we will need to select what should be bound as a key. Going back to the Nested grid parent ID pencil this time
    selectNestedGridView
  5. Select what should be the field to bind the data. In this case, I want to show the one that is related to the Contact expanded.
    parentControlIdSelection
  6. Now, click OK for everything and your configuration should look like below.
    Finally save and Publish all customization.
    finalConfig.png

Using Nested Editable Grid

Now, if you look at the Contact grid on the Account form. You’ll see an arrow on each record which indicates that it can be expanded.
collapsed.png
And when you click on it, you’ll see the Nested Grid for Opportunities we configured in the section above
expanded
And yes, Opportunity too is editable in-line!

Hope this helps!!