Plugins vs. Workflows
Must read here:
Must read here:
Find and use pictures also for commercial use and without the need to mention the source:
In the new Unified Interface your surely stumbled already over this new Subgrid layout called “List View”:
This layout will change to the “old” Grid View as soon as you allow the section to have more horizontal space. This can be done by formatting the Form (or simply make your browser window wider).
This mechanism is called “Reflow”.
But did you know that you can also determine whether you want to display the Subgrid List View or the “old” Grid View by deactivating Reflow for a certain Subgrid?
Just open the parent Form in edit mode, double click on the Subgrid => Controls =>Add Control… => choose the “Read Only Grid”.
Than you can edit the property “Reflow behavior” to fix the Grid layout to the one or the other View type.
Another very nice feature is that you can customize the content displayed in the “List View” by creating a Card Form and referencing it in the Control properties (see above).
You would than be able to get something like this:
For that, create a new Form of the Type “Card” and adjust it as to your needs:
Up to now I couldn’t find out how to get the “Color Strip” working.
I tried this without success.
There is an Idea out there that indicates that it doesn’t work (yet?).
So if you know more please let me know.
You can also add more than three columns into the Card’s body and additional fields into the Header and the Footer of the Card Form.
To control whether the footer is expanded by default or not go to System Settings => “General” => “Set the default card state for Interactive Dashboards” => “Display cards in expanded state”. Sadly this setting can be done only once system wide.
But still, I’m really exited by the great capability to customize the List View.
Sources & more information:
Technical entity name: equipment
Microsoft reference here.
Originally coming from Service module.
If you’re opening the form from Unified Interface you’ll see the lookup field Organizational Unit on the form.
But if you’re opening it from the former UI you’ll get another lookup field Site instead:
So is Organizational Unit the “newer” replacement for Site (at least when it comes to Field Service?
If you are creating a Bookable Resource with Resource Type Equipment than the Organizational Unit gets automatically populated from Facility/Equipment.’Organizational Unit’ into ‘Bookable Resource’.’Organizational Unit’.
There is a Work Hours ribbon button in Unified Interface:
In Dynamics 365 Field Service you are able to create these types of Resources:
Also see here for further details on how to set up a Crew.
After I have created a copy of an existing form I faced issues that some of the scripting provided by Microsoft didn’t work anymore. As long as I don’t get further insights into this I would recommend to be careful when taking this road. Better maybe to customize the existing form instead of creating a copy of it for customizations. This, by the way, is also a way that has proved to be more stable when it comes to upgrading your org with latest MS solution versions. We faced lots of scripting errors on forms that we previously have copied. It turned out that MS replaced the JS libraries for the original forms but not for your form copies during the last larger upgrade cycle.
After we have taken a look into Resource Crews let’s now explore what Dynamics 365 Customer Engagement can offer with Requirement Groups.
2. create a Requirement Group Template. Go to Field Service=>Resources=>Requirement Group Templates=>”+ New”
a) provide a Name, save
b) click into the first row from the subgrid and click “+ Requirement“
c) now add three requirements for getting back proposals for a team of three people and add corresponding skills
d) at the Truck Resource click on Open Form to determine which Resource Type (Equipment in this case) you are expecting
A bit confusing is, that as soon as you open a Requirement Group Template form, the menu on the left jumps back as if you would have opened a Requirement Group instead of a Requirement Group Template. [improve@MS]
Reason: technically Requirement Group and Requirement Group Template are the same entity msdyn_requirementgroup where only the records are differentiated by a flag called “Is Template”.
The title of the new-form “New Template: …” gives you the indicator that you’re creating a new template. But if you’re going to edit an existing Requirement Group Template you feel like editing a Requirement Group instead. I would therefore recommend to make the flag “Is Template” visible but read-only on the form.
If you pay close attention you recognize another difference: the lookup field Requirement Group Template is only visible on the Requirement Group form:
That brings us to the interoperability of the two:
if you create a new Requirement Group the above mentioned field gets unlocked so you can choose a Requirement Group Template to start from.
If done with editing the requirements you can click the Book button directly from the Requirement Group ribbon:
This will open the Schedule Assistant with a list of appropriate Resource combinations. In our example the three Resources we have configured in step 1:
On the result list you than can
If you’re not getting any results you should
If you now open the Schedule Board you could find something like this (too many Resources to have an easy overview):
Hovering over the booking panel (screenshot above) tells you that you have a Grouped Booking. So maybe you want to do a right click at the booking and choose Split View:
Shows you all bookings from this group (only those Resources which are on the same page of results, so you might want to increase the number of Resources per Page in Schedule Board tab settings and/or adjust your Resource filter to see all group members).
If you now drag and drop one of the bookings to a different starting time, all other bookings of this group will be shifted automatically too. Cool! That is what our customer wants!
However compared to the same procedure with a Resource Crew you don’t see the shifting immediately happening on the board, instead you need to hit the refresh-button at the top of the Schedule Board tab once to see your bookings being shifted [improve@MS].
Let’s assume you have this setup of a Requirement Group Template:
Because in the Schedule Assistant default value for Sort result by is always Fewest Resources First, you should maybe keep time between Search Start and Search End rather small.
Because only than you are able to see all possible combinations on one screen.
This could especially be helpful if you prefer to send 3 Juniors instead of 2 Seniors to a job.
Non-matching members of a Crew that are going to be occupied as well by booking a Requirement Group are shown in Schedule Assistant in a separate grouping titled “Non matching”:
This provides a great overview of those capacity laying idle when scheduling the proposed booking.
Now I’m going to show you how these can be leveraged when using Work Orders.
4. On the Incident Type form, go to Related=>Requirement Groups
5. create a new Incident Type Requirement Group:
6. associate the formerly created Requirement Group Template to it via the lookup field
7. provide a name to the record and save it.
So you should finally get something like this:
Now its up to you to test the whole setup.
For doing this you just need to create a new Work Order and fill in our new Incident Type into the field Primary Incident Type on the Work Order form:
Note: With a standard Field Service setup you necessarily need to provide the group based Incident Type in the field Primary Incident Type BEFORE you save the Work Order the first time. Otherwise you’ll get an error saying “You can’t add an incident that is related to a requirement group template to a work order if there is already a requirement related to this work order.”
Than you can check if your Requirements have correctly been associated with the Work Order. For doing so you need to go to: Related=>Requirements=> change the View to “Unsubmitted“:
Customization recommendation (especially if you more often have group based Requirements): create your own Resource Requirement view for the Work Order form.
And now the big moment comes: hit the Book button on top of the Work Order form:
You should now get search results according to the available Resources, the distance to the Service Location and the other parameters like Work Location, Organizational Unit, Resource Type and so forth:
Note: if you are going to use the same or a similar combination of Resources more often, it makes sense to create Requirement Group Templates whereas if you need a certain combination of Resources/Skills only one time it would theoretically be enough to create a Requirement Group without a Template. However it seems like if go down that road, you will not be able to associate your Requirement Group to a Work Order anymore later on. At least I couldn’t find a way to do that. That means that if you want your Users to be able to click the Book button on a Work Order and have the fancy algorithm execute its sophisticated multi-resource query, you will always need to create an Incident Type for it first and associate a Requirement Group Template to it.
What you can do is going back from a created Work Order that has a Requirement Group associated via =>Resource Requirement=>Requirement Group (or simply from the Field Service menu: Requirement Groups) and there editing the instance of the Requirement Group that is responsible for your Work Order.
This method allows you to create a kind of a standard Incident Type Requirement Group and Template which you always use for creating a new Work Order when you want to leverage the Group functionality.
(as of Sept. 2019)
gets initially populated and auto-updated for the Resource Requirement with flag “Is Primary“ only:
gets initially populated and auto-updated for all associated Resource Requirements:
Duration, From/To Date, <long/Lat, Work Location are always kept in sync within the Requirement Group, even when changed on a non-primary Requirement.
Service Territory however is only kept in sync, when it was changed from the Work Order AND the change was not a removal of the field content. So you can open the non-primary Requirements and assign different Territories to each.
As an example you might end up having Requirements like this in the end:
When asking yourself why is there a difference of cascading between Time Promised/Time Window vs. Date Window you can come to the assumption that it has to do with the Requirement Group functionality. If we check the UI (screen below) we can easily see that there are only the From Date / To Date fields (which are the counterparts to Date Window From /To from the Work Order). So Microsoft only takes care for a synchronization of these fields within a Requirement Group but not for the other Date/Time fields.
I was asking myself how can you have differing values in the Time Promised fields for Requirements of the same Requirement Group? As soon as you are scheduling or re-scheduling them, all of the Bookings based on these Requirements get moved simultaneously.
However it could make sense if you have a scenario where a team gets a Booking for a longer period of time (i.e. traveling on site together) but the actual “ToDo” of a Resource would only be for a shorter time frame and you want to keep this information somewhere.
If you are going to use it this way you should surely not create a hard booking restriction – for example with a Real Time Workflow – which forces you to not book outside of time promised from/to.
Also note that a Time From/To Promised on one of the non-primary Requirements will be ignored completely by the Schedule Assistant. However a Time From/To Promised on the Primary Requirement is a hard selection criteria for the Schedule Assistant, even if it doesn’t show these fields in the Filter panel, when scheduling a Requirement Group [improve@MS].
If you try to copy the OOB Bookable Resource form you might experience that some client side scripting doesn’t seem to be applied to your copied form anymore. Even when you haven’t done ANY other customizations except of copying it.
Strange as this usually doesn’t happen, right? If you have JS references you should have copied these references as well to your new form, right?
So when you dig deeper you’re finding that there now are business rules activated for the Bookable Resource form. I think this is rather new that MS delivers Business Rules out of the box. Fine for non-coders!!
The problem seems to be that the Business Rules here are set to scope “Information” which is only the one original OOB form, so your copy of it doesn’t inherit these Business Rules.
Another fascinating thing is that when you go into the Default Solution via old Solution explorer, you’ll see three business rules (above). When using Level Up (Browser Plugin), you’ll find 6 Business Rules taking effect here:
So you would need to go to the new maker experience to find / customize all 6 of them:
Next obstacle is: you can’t just change the scope of these Business Rules (I wouldn’t even know if this would be supported or not) as at least one of them has the Managed Property “Customizable” set to Flase:
Note: trying to customize from Business Rule “Show Enabled for Field Service Mobile field if Resource Type is User]” from within the new maker experience caused for me a state of no return, at least from make.powerapps.com: the BR got Deactivated and I could neither change it nor reactivate it anymore [improve@MS]. A resolution has luckily been to reactivate it from the old solution explorer (upper screenshot).
So what are you going to do to get the same behavior as on your OOB form also for your custom Resource form?
You need to copy the Business Rules delivered by Microsoft, than edit the Scope to your custom Form and activate the copies.
In the end you would have it like this:
If you have too many Customer Assets in your Dynamics 365 database and you don’t want to have all of them offline available in your Field Service Mobile client you can set up a Sync Filter to do that.
Open Woodford=>Customer Asset and click on Sync Filter.
Than set it up like this:
After saving the filter don’t forget to set the Incremental Linked SyncFilter (on top of the field list) to Enable:
If you want to go deeper, you can read here what this flag does:
Here is a nice article by Thomas Dayman that gives a short overview of how to embed a Survey Questionnaire created with the new Microsoft Forms Pro into the Field Service Mobile app.
The approach is to create an Offline HTML file where Thomas provides a sample code snippet for, and embed that via iFrame into a Form in Woodford.
Compared to Resco’s new Inspections the Forms Pro integration doesn’t support offline scenarios. Resco Inspections comes with additional licence cost whereas for Forms Pro it is still not clear how the licencing will look like.
Always, when I setup a new Field Service Mobile, there are some steps I go through to ensure, everything is initially working in a comfortable manner.
Surely some of the steps aren’t required but have proven to be my best practice for new instances.
6. edit the Sync Filters to also include data from the past (1-2 weeks) for: Work Order, WO Product, WO Service Task, WO Service, WO Incident, Resource Booking.
7. switch the default Booking View Layout from Calendar to List. To do so, go to Home=>Bookable Resource Bookings=>Properties=>Properties=>Initial Control=>switch from Calendar to List
8. activate your 30-days Trial of Woodford here: https://docs.microsoft.com/en-us/dynamics365/field-service/activate-fs-mobile-app-license
On Resco for Dynamics or Field Service Mobile Client you by default have this (in my opinion unnecessary) Signature field on every Note form.
So you might ask yourself why do you need the huge Signature area on each and every Note form. Usually it should be enough to capture Notes only on Work Orders and maybe for some special (custom) forms/processes. It confuses the End User if all he wants is adding an attachment or even only a text Note.
So what you can do is removing the Signature area by a simple On Can Execute rule on the Note form:
After you have configured this you would not see the Signature panel on a Note form anymore and also not the Signature command from the upper right burger menu of the Note form.
You can still configure one or more Signature sections for each of your forms as you already have it OOB on the Work Order form in FS Mobile.
Similarly you can apply this for Photos, Videos, Files, … You could also have one Tab for Signature capturing and another Tab for Photo and/or Video capturing. Or collect multiple Signatures on one form by having different Tabs for that.
More details/inspirational source of how to add a Signature to a Form:
For more information about On Can Execute, which enables you to conditionally hide or show commands/buttons in the upper right corner of forms, see here:
If you are trying to reset an Instance/Environment, this is usually done on https://admin.powerplatform.microsoft.com/environments.
There you can click “Reset” to get the below shown dialog window.
In this window you have the possibility to select an Office Security Group. This field is even pre-populated with the assigned Security Group of the currently selected Instance.
So what you are expecting is that while filling in this form you can use the field “Edit Security group” to assign a Security Group to your reset Instance by choosing the Security Group in this field.
BUUUUT: nothing of this is the case. This field simply has no functionality here.
Even when you click on the lookup pen symbol next to the field so that a popup shows all of your Office Groups and you can select whatever Group you want: for your new reset Instance you’ll always have NO Security Group at all assigned.
So why has Microsoft decided to put this field on this form if it has absolutely no functionality? – Nobody knows.
Please Microsoft, fix that and don’t let us hang with the common statement “works as designed”. Because the design in this point is really more than bad.