Quantcast
Channel: Microsoft Dynamics 365 Community
Viewing all 52151 articles
Browse latest View live

Dynamically build your schedule assistant search by changing the URL

$
0
0

If you are a customer that relies heavily on the “book” button to search for availability for your resources, this may open up implementation possibilities you did not think were possible.

 

Schedule Assistant Filter

 

Prior to reading this post, you may have assumed that when you click the “book” button on either a requirement, or any schedulable entity, the filters the schedule assistant used was only controllable via settings, attributes, and records. You likely assumed that in order to manipulate the search, you either needed to manually change the values in the filter panel once the schedule board loads, or you needed to actually add data to the requirement entity, it’s child entities (e.g., Requirement Characteristics, organizational units), or the header entity (e.g., lead, opportunity, work order, project).

This blog post is an advanced post explaining how you can set all of your search criteria dynamically via URL.

Before explaining the “how” and the “why”, let’s first explore the way the book button defaults its search filters today. If you are already very familiar with the defaulting logic, skip to the “Benefits to URL approach” section below.

 

 

Current Defaulting Logic

Currently, when a user is on any schedulable entity’s form or view, there is a book button that is enabled in the ribbon.

 

Book button on the list of records

 

By default, when you click “book”, a pop out schedule board appears allowing the user to create a booking(s) for that respective record.

 

 

 

Pop out schedule board

 

By default, when a user clicks the book button which launches the pop out scheduling experience, first there is a check to see if there is a child resource requirement record related to the entity from which the book button was initiated.

If there is only one child resource requirement record, then the board runs against that resource requirement record.

If there are multiple resource requirement records, then the board runs against the resource requirement which is flagged as “primary”.

Of course, if a user clicks book on a resource requirement record itself, then the schedule board simply launches against that requirement.

If there are no resource requirement records, then the board launches directly against the record from which the book button was launched, but uses the values in the search that are set in the 1:N entity mapping between the schedulable entity (e.g.. lead, opportunity) and the resource requirement. This deserves a blog post in itself, but here is one example.

For example, if you are scheduling a lead, and you would like to pass in a territory filter from the lead entity instead of needing to create a resource requirement, you could create an attribute on the lead entity which is a lookup to the territory entity, and populate that value on the lead record, and map that field to the requirement territory field. Then, when clicking “book”, the territory filter will be populated directly from the lead entity presuming there is no resource requirement, and presuming the territory value on the lead record is populated.

Here are some visuals:

 

Territory on the lead form

Territory added to the lead entity

 

Territory attribute on the lead entity

 

Mapping populated on booking setup metadata record from the territory attribute on the Lead entity to the territory attribute on the Resource Requirement entity.

 

Attribute mapping


 Attribute mapping between fields auto populated in traditional manner after setting this up on Booking Setup Metadata record

 

 

Schedule assistant filter on a lead record

User clicks book on Lead record that does not have a Resource Requirement, yet the territory is populated in search:

 

Scheduling parameters

Defaults on scheduling parameters record:

 

Defaults on Scheduling Parameter record

 

 

There are also some settings that are inherited from the global scheduling parameters record

 

Now that we have summarized the defaulting logic, let’s review why you would be inclined to change your schedule assistant search via URL.

Benefits to URL approach

Avoid pre-creating resource requirements for every record.

We know that in certain implementations, pre-generating a resource requirement for every single record that may or may not be scheduled can be a burden that is not quite sensible. For example. When creating a case, if 20 percent of the time a case ends up being scheduled, but the other 80 percent of the time it doesn’t, there may unnecessary workflows and plugins that you would need to run, as well as an unnecessary data explosion caused on the database to pre-create a resource requirement every time. Even if it is not a big deal to create a resource requirement record for each schedulable record (e.g., lead, case, opportunity), for each resource requirement there are potentially additional child entities that need to be created such as roles/categories, characteristics, org units, and resource preferences. Additionally, there may be plugins or workflows needed to populate attributes which may default from other entities. For example, latitude and longitude may default from the “customer” attribute on the case.

For Work Orders, where nearly 100 percent of Work Orders will be scheduled, it makes sense to pre-create a resource requirement, in fact, this is what the field service solution does today, but for other entities, this may or may not make sense. This is a way to give customers the ability to have the full power of the scheduling experience without being forced to pre-create a requirement and the related information.

Pass in non-schema based scheduling parameters

Many of the scheduling parameters used when finding availability are schema based, so system customizers can change values of attributes and records to change the search criteria. However, there are some search properties not stored in the schema on each requirement. For example, business units, teams, radius, real time mode, etc. You may want the scheduling results to appear for your users perfectly setup with the right settings without your users needing to change a thing. When a user clicks “book” and initiates the pop out schedule board, it is important to add the flexibility for system customizers to setup the board according to the scenario, on the fly.

Conditional Values at Runtime

In many cases, the scheduling filters can be dynamic in nature. Perhaps you would like to populate the team, or the business unit based on the user initiating the search. Perhaps you would like to set the search “to” date to 5 days from “today” if the lead is in stage A, and 7 days if lead is in stage B, and 1 day if the case was opened more than 7 days ago. And as mentioned earlier, you may want to populate attributes which may default from other entities. For example, latitude and longitude may default from the “customer” attribute on the case.

For the reasons outlined above, we allow system customizers to completely control the pop out schedule board search criteria by interacting with the URL. Here is how:

 

How:

You will need to create your own custom “book” button on the ribbon.

When user clicks the button, this should be the call to generate the URL via JavaScript, and open the schedule board in a new window.

 

Schedule board in a new window

 

In short, you can set the parameters of your schedule assistant search in the pop out schedule board by changing the URL.

 

Here are the basic rules:

The URL must look like the below URL through the ID portion of the URL. This references the schedule board web resource, and an ID/guid which we will discuss in a moment. These are required.

/WebResources/msdyn_/fps/ScheduleBoard/ScheduleBoard.html#id=

To construct the beginning of the URL, (e.g. https://crmorg.crm.dynamics.com/19234281938), use the XRM client side context - https://msdn.microsoft.com/en-us/library/gg334511.aspx#BKMK_getclientURL

Moving forward, we will only focus on customizing the URL beginning with “/WebResources” portion of the URL.

 

If you are clicking “book” on a requirement record, then the ID to use in the URL is the resource requirement’s guid:

 

Resource Requirement Associated View

 

/WebResources/msdyn_/fps/ScheduleBoard/ScheduleBoard.html#id={5BC9D1A8-C05A-E711-812A-C4346BAD9624}

If you are initiating the book button from the schedulable entity, such as a lead, work order, project, then the guid you pass in is the guid of the lead record (see yellow highlight just above). In this scenario, where you are passing in the header guid instead of the requirement guid, you also must specify the entity type (lead, opportunity, work order, etc)

/WebResources/msdyn_/fps/ScheduleBoard/ScheduleBoard.html#id={02E0BFE9-6A57-E711-812D-C4346BB5984C}&etn=lead

You MUST pass in what type of entity you are searching against if you are not passing in the resource requirement guid.

Now that we understand the basic rules of what is absolutely required, we can get into the fun part.

In order to change any part of the schedule assistant query, we will add a parameter to the URL. If you do not specifically add a parameter to the URL, then the default values will be used from the requirement, or parent schedulable record.

To make any changes to the query, simply add an ampersand (&), an equals sign (=), and a value.

Here is how you would change the search duration via URL:

/WebResources/msdyn_/fps/ScheduleBoard/ScheduleBoard.html#id={02E0BFE9-6A57-E711-812D-C4346BB5984C}&etn=lead&duration=49

 

Change search duration via URL

 

To add a territory, or multiple territories to the search:

/WebResources/msdyn_/fps/ScheduleBoard/ScheduleBoard.html#id={02E0BFE9-6A57-E711-812D-C4346BB5984C}&etn=lead&duration=49&territories= A45BD7E0-6C57-E711-812E-C4346BAD6748,D2FA0104-62EF-E411-80EB-C4346BACE124

 

Add territories to search

 

You can see that in the above URL I added both the duration and the territory by simply adding another “&=”.

After the ID portion of the URL as referenced earlier, once you are adding the actual search criteria by adding the “&” symbol, the order doesn’t matter.

 

 

Here are the fiters you can see in the filter control when searching for availability.

  Filters when searching for availability

Filters when searching for availability

Below is the snapshot of all of the search criteria and how you can modify the values via URL:

 

As you can see after reviewing how simple it is to change the search criteria via URL, you can see that there are few limitations, and tons of possibilities.

I do want to point out a few limitations to be aware of:

Limitations:

If you change the search criteria through the URL, keep in mind that these changes to the search criteria are not stored anywhere, with few exceptions. Meaning, if you add a territory via URL, and create a booking, the territory is not added to the resource requirement record. The URL manipulates the search itself, but does not update the requirement when you book as that is not the intention of this feature. This may not matter in your implementation, but for others, it may. For example, if you are using the resource scheduling optimization solution (RSO), which can move bookings around after they are created, RSO will not understand that there is a specific territory or specific characterisitics that the requirement should be booked within, unless you add the territory and characteristics to the requirement itself.

There are a few exceptions. After searching for availability and then creating a booking, there is a feature that auto creates a requirement if there is no backing requirement to the booking that was just created. This only applies when searching for availability against the schedulable record itself when there is no requirement.

 

Disable requirement auto creation

 

In this scenario, there are some defaults that get saved onto the requirement when the requirement is auto generated:

  • “From” and “To” – These values are saved on the requirement from the “search start” and “search end” fields in the filter control.
  • “Duration” – Value is saved on the requirement from the “duration” field in the filter control.
  • “Work Location” – Value is saved on the requirement from the “work location” field in the filter control.
  • Latitude and Longitude – Values are saved from the URL if they are passed in since there is no way to change the latitude and longitude within the filter control itself.

Other items of note once we are discussing defaults, even though they do not relate to the URL feature:

  • The Resource Requirement allocation method is set to “none”
  • The status of the booking created is set to the default specified on the relative booking setup metadata record. Note if this is blank on the entity you are trying to schedule, it uses the Booking Setup Metadata record called “none” as this is the fallback.

 

Default booking status

Default booking status used when creating bookings

 

The second point to make here once again is that this feature was built for the pop out schedule board initiated from a record. This is not applicable when you begin your search from within the schedule board.

 

Initiate search from schedule board

Initiating search from within schedule board

 

The goal of this feature is to make usage easier. It takes some setup, but it can help implementations in a major way.

For more information:

We hope you enjoy this feature!

 

Happy Scheduling,

Dan Gittler

Sr. Program Manager, D365 Engineering.

               

 


Microsoft Dexterity: Customizing Safe Pay file name

$
0
0
Hello all!

It's been a while since I've worked on my blog as there's quite a bit going on these days: numerous projects at Mekorma, preparing to move to my new place, upcoming trips to Colombia and Fargo, ND, etc., so not much time to dedicate to writing.

Anyways, today I wanted to dive into some development. It is very often that I see on forums a request to be able to customize the Safe Pay file name and I wanted to address this with some Dexterity code, but first - you guessed it! - some background.



Background

Safe Pay is part of Microsoft Dynamics GP's Electronic Banking suite of modules, comprised by Electronic Reconcile, EFT Payables and Receivables, and, well, Safe Pay. The goal of Safe Pay is to allow you to create a file that is sent to your bank to confirm the authenticity of checks and EFTs issued to payees.

Trivia: Who was the original author of the Electronic Banking suite?

The Safe Pay Configurator provides an intuitive (in most cases) user interface that allows you to define the specific file format(s) accepted by your bank(s).

Safe Pay Configurator window
Upon configuring the file format, you will then use the Safe Pay Bank Link Maintenance window to group all the checkbooks associated to the same bank into an Upload ID. As part of this setup, you can define a single file name to be generated for this bank. Naturally, most setups will include some company identifier (in a multi-company environment) and the checkbook to at least make the file unique and distinguishable enough.

Safe Pay Bank Link Maintenance window

Finally, the Safe Pay file itself can be generated only after the payment batch has been posted. For this, you must use the Safe Pay - Transaction Upload window. In this window, you will choose the Bank Upload ID defined above, and a cutoff date. Safe Pay will recall the (posted) payment transactions within the last upload date and the cutoff date entered by you. All checks and EFTs available for processing within that date range will show up for processing.

Safe Pay - Transaction Upload window


The Problem and The Solution

Most organizations would like to have at least a date stamp included as part of the file name itself. For the above example, our desired file name would be something like MMM29-FIRSTBANK-YYYYMMDD.txt, where YYYYMMDD represents the current year, month, and date. As you can tell from the Safe Pay Bank Link Maintenance window, it is not possible to achieve this. There isn't even an option to allow you to select other descriptors for the file name. In order to do this, we will use some Dexterity sanScript to add this feature.

NOTE: This article assumes you have a basic understanding of the principles of integrating Microsoft Dynamics GP applications and that you are familiar with the build process (extract and auto-chunk) of a development dictionary. If you need help setting up your development environment, take a look at the #Dexterity Development Environments series on the Winthrop Development Consultants blog by my good friend and fellow MVP, David Musgrave.

In order to change the Safe Pay file name, we will begin by setting a cross-dictionary trigger against the ME_Configurator_Write_Entire_Format global procedure in the Safe Pay dictionary in our Startup script. You can find this out by capturing a script log by using the Microsoft Dynamics GP Script Debugger tool or taking advantage of the GP Power Tools manual or automatic logging capabilities.

global procedure: Startup

{ Script: Startup
Created by Mariano Gomez, MVP
This code is licensed under the Creative Commons
Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license.
}

local integer lresult;

pragma(disable warning LiteralStringUsed);
lresult = Trigger_RegisterProcedureByName(1235, "ME_Configurator_Write_Entire_Format", TRIGGER_AFTER_ORIGINAL, script Change_Safepay_File_Name);

if (lresult <> SY_NOERR) then
warning "Trigger registration error for procedure ME_Configurator_Write_Entire_Format in dictionary SafePay (1235): script Change_Safepay_File_Name";
end if;

pragma(enable warning LiteralStringUsed);

When ME_Configurator_Write_Entire_Format procedure executes, our script processing procedure, Change_Safepay_File_Name, will fire in response, after the original Safe Pay script is executed. This script makes extensive use of standard Microsoft Dynamics GP global functions, which demonstrates how your integrating code can become really compact if you do some upfront work to understand what's available to you in the core Dynamics.dic dictionary file.

global procedure: Change_Safepay_File_Name

{ Script: Change_Safepay_File_Name
Created by Mariano Gomez, MVP This code is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license. }
in string FormatId;
in string SafepayId;
in string UploadId;
in string FilePathName;
out boolean WroteAll;


local boolean fExists;
local string sPath, sFileName, sGeneric;
local string sTimeStamp;
local integer nStatus;


sGeneric = Path_MakeGeneric(FilePathName);

{ @@@. Verify the generated SafePay file exists and can be open. }
fExists = File_Probe(sGeneric);

if (fExists) then
sPath = Path_ParsePathFromPath(FilePathName);
sFileName = Path_ParseFileFromPath(FilePathName);

{ @@@. Get the current time stamp as a string in YYYYMMDD format. We retrieve the time from the SQL Server.
We also take advantage of the RW_Pad Report Write function to add the leading zero to single digit months and days
}
sTimeStamp = str(year(sysdate(CURRENT_SERVER)))
+ RW_Pad(str(month(sysdate(CURRENT_SERVER))), LEADING, ZERO_STR, 2)
+ RW_Pad(str(day(sysdate(CURRENT_SERVER))), LEADING, ZERO_STR, 2);

{ @@@. Call the Microsoft Dynamics GP global function FileName_AppendToName to append the string time stamp }
sFileName = FileName_AppendToName(sFileName, CH_UNDERSCORE + sTimeStamp);

{ @@@. Call the Microsoft Dynamics GP global function File_Rename to rename the Safe Pay file with the new name }
nStatus = File_Rename(FilePathName, sPath + sFileName, true);

end if;

Note that our script processing procedure uses the same parameter list as the ME_Configurator_Write_Entire_Format Safe Pay procedure. This allows us access to the file path and name as configured in Safe Pay.

You can download the extracted dictionary and chunk file here. Feel free to customize the code as you see fit.

Until next post!

MG.-
Mariano Gomez, MVP

CRM Tip: How to Check Security Role in Plugins – Correct way

$
0
0
Problem Statement: We often have requirements to perform some action based on certain security role. For ex., we only want System Administrator to delete particular record, and no one else should delete...(read more)

Future equipment maintenance features within DynaRent for Dynamics 365 for Operations and Financials Enterprise Edition

$
0
0

With full focus on the digital revolution, data is becoming more and more important. Especially in the equipment-driven rental and service industry, there is an enormous amount of potential to unlock.

In this article, we’ll illustrate how the DynaRent Solution Suite for Dynamics 365 for Finance and Operations helps you reach your business’s full potential.

Within DynaRent the service and maintenance module has already been available for many years. It is driven by work orders, tasks, and checklists. And in addition, it offers features including corrective and periodic maintenance for all equipment registered within the system. For example, your own equipment, external equipment, or leased equipment.

Once you create work order tasks, they will schedule on the graphical planning boards. This is available for both centralized or decentralized planning.


Image 1: Graphical service planboard

Work order creation for periodic and corrective maintenance is driven by automated batch functions or manual creation. Depending on the configuration of the system.

DynaRent also offers a future equipment maintenance feature that displays the entire list of upcoming maintenance cycles registered to the equipment. This will help you monitor and also maintain your maintenance cycles as efficiently as possible. The system automatically informs you about future equipment maintenance. Furthermore, you can add this to any existing or ad hoc maintenance work orders.


Image 2: Easy access to the future equipment maintenance for each piece of equipment With DynaRent. You have all the tools to  increase
especially work order planning and efficiency.

Addressing buzzwords such as “big data” and “predictive maintenance,” Dynamics 365 for Finance and Operations now also offers the possibility to link historical transactional equipment maintenance data to upcoming maintenance cycles.

This will help you prepare your company to improve your level of service and fully focus on

  • Corrective maintenance
  • Periodic maintenance
  • Predictive maintenance

Curious about the possibilities of DynaRent for Dynamics 365 for Finance and Operations? Please contact us for more information or a demonstration tailored to your needs. Please contact to discuss at info@highsoftware.com or visit www.highsoftware.com and see what we’re doing!

ArcherPoint Dynamics Developer Digest - vol 148

$
0
0

ArcherPoint Dynamics NAV Developer Digest - vol 148Developer Dude

The NAV community, including the ArcherPoint technical staff, is made up of developers, project managers, and consultants who are constantly communicating, with the common goal of sharing helpful information with one another to help customers be more successful.

As they run into issues and questions, find the answers, and make new discoveries, they post them on blogs, forums, social media...so everyone can benefit. We in Marketing watch these interactions and never cease to be amazed by the creativity, dedication, and brainpower we’re so fortunate to have in this community—so we thought, wouldn’t it be great to share this great information with everyone who might not have the time to check out the multitude of resources out there? So, the ArcherPoint Microsoft Dynamics NAV Developer Digest was born. Each week, we present a collection of thoughts and findings from NAV experts and devotees around the world. We hope these insights will benefit you, too.

Using AutoIncrement for a Table Field in Dynamics NAV

Kyle asks, “Do any of you use the AutoIncrement property for a table field? Discuss.”

Chris M. answers, “I've used it before for the last field in the primary key of a non-ledger table. Although you probably could use it for ledgers, I don't.”

Bill W. chimes in, “Yes, when you just want to throw data in a table and not worry about that running value. For a staging table this can be much faster. It can be problematic if it is the primary key, and you want to update the record, you do not have its value before you insert so you have to retrieve the record. You might as well just use the standard FINDLAST/EntryNo routine. You also have to be careful because you cannot include or modify it without special SQL permissions. Deleting everything in the table also does not reset it to zero; you have to use a SQL command to reseed the table. 

Stock code uses it in places. Dimension Value's ‘Dimension Value ID’."

Chris M. responds, “Correct on the update issue. Because of that, I use it for records that are used in a lookup table, where I don't need to search for a specific record, I just need to let the user add records and then choose one later.”

Michael H. says, “I've been using AutoIncrement for years for all my staging tables because I don't like NAV's method of LockEntireTable-FindLastRecord-IncrementEntryNo-Insert. I think this could be detrimental in a high volume table. I have never experienced locking issues; I do not have any trouble with updates, and the solution scales extremely well. Full disclosure, though, the upgrade team encountered an issue in that two of the staging tables had the EntryNo RENUMBERED on every record. First time I have seen that happen and I hope the cause is discovered. Thankfully, the EntryNo in these two tables wasn't referenced anywhere.”

The Best Compiler Warning Ever

Bill Warnke exclaims, “‘Warning AL0374: The use of a unique id has been deprecated and the id can be removed.’ 

Best compiler warning ever! I see this message compiling a 2018 project with this update. However, it does not yet appear to be fully implemented. Imagine that world where you don't have to worry about an object id.” 

Jon Long replies, “Temp Table Best Practice Tip: temp tables do not get counted in the licensed tables. In other words, you can create a table 80000 that is outside the customer license and use it anywhere you want. So, best practice is to create all temp tables outside the clients licensed range.”

Leadership Lines

The Dark Side of Working from Home, an article by Frank Chung, explores the possibility that working from home may not be so great after all. Hmmm, I have to disagree, although I do have a separate room in my house where I work from, and I stick to regular working hours. For all you remote workers, what do you do to keep your work and personal lives balanced? Your comments are welcome!

Stay abreast of what is new in the Microsoft Dynamics NAV community and at ArcherPoint by subscribing to our monthly newsletter, Better Business, by completing the form in our Resource Center.

And, if you are interested in NAV development, be sure to see our collection of NAV Development Blogs.

Blog Tags: 

Dynamics 365 Bookmarklet to Test CRM for Tablets

$
0
0

When doing CRM customisations, you might want to quickly check out how your changes have also affected the CRM for Tablets/Phones app (MOCA). To achieve this I have created a bookmarklet that that can open the tablet app in the browser.

To add the bookmarklet, create a new bookmark and set the URL to the following code:

javascript:var url = Xrm.Page.context.getClientUrl();var orgName = Xrm.Page.context.getOrgUniqueName();var baseUrl = window.location.protocol + "//" + window.location.hostname;var phoneUrl = baseUrl + "/nga/main.htm?org=" + orgName + "&server=" + encodeURIComponent(url) + "&phone=false&syncappmeta=true";window.open(phoneUrl);void(0)

Triggering this bookmarklet will then open the normal loading screen that is displayed when first running the tablet app, once it is complete the app will be ready.

image

The bookmarklet will work with both online and on premise versions of CRM, including on premise versions without IFD that the actual app would not be able to connect to.

Note that is it also possible to switch to the phone app instead by changing “phone=false” in the URL to “phone=true”.

Combine Budgets

$
0
0

This is my fourth post in the Did You Know series, tying into Pam’s series on Inside Dynamics GP. Today’s topic is the ability to combine budgets into a master budget. This is very useful for situations where it’s easier to manage smaller budget upload files, perhaps by department or cost centre, and after you’ve imported them into Dynamics GP, then you combine into one big budget for reporting in FRx, Management Reporter or your financial reporting tool of choice.

Summary

URL: https://community.dynamics.com/gp/b/gpteamblog/archive/2017/06/07/did-you-know-you-can-combine-budgets

Version: available since Dynamics GP 2010

How To

There are two options within this feature really, combining budgets into a new budget ID, or making one of the budgets the new “master” and combining all other budgets into that one. Personally, I prefer the combine into a single new budget ID myself so it’s clean, and not altering any existing budget ID.

First, navigating to the Combine Budgets window, is not super obvious.

  • First, open the budgets window under Cards > Financial > Budgets.

  • Second, click on Open and Open with Dynamics GP to get to the Budget Maintenance Window

  • Then, click on Combine Budgets to open the Combine Budgets Window.
  • When opened, the “Master” Budget ID will be the budget that was selected in the Budget Maintenance window.
  • Either change that to another budget ID or leave it and select a budget ID to copy “from” into the master.
    • If you want to create a new Budget ID, you cannot do that in this window. You can, however, quickly create a blank budget ID in the Budget Maintenance window and save it. If you try to type in a new Budget ID in Combine Budgets, you get this message. This is pretty counter-intuitive to how the rest of Dynamics GP works, where one might expect to be prompted to create a new Budget ID on the fly.

  • I simply went to the Budget Maintenance window, typed in NEWBUDGET (my simple budget ID), and saved it. Done. I had a 2014 budget ID open, so this defaulted to 2014 as well, but that being said, obviously you would pick the same budget year for the master as the individual budgets to be joined are in.

  • Choose whether you want to delete a budget after it’s combined or not, and then click Process to complete.
  • When it’s done, you get this as a message back:

  • Continue selecting budgets in this way to combine all budgets you need to into one large budget.
  • If you attempt to combine budgets with differing fiscal period coverage dates, you get an error message:

Recap

This is useful if you have a handful of budgets to combine but not so efficient if you have dozens. I suspect in the back end, all this is doing is a giant REPLACE script on the SQL databases to update from one budget ID to another with some validation to make sure you’re combining records with the same fiscal period coverage.

Multiple Microsoft CRM Portal Instances for Dynamics 365/CRM

$
0
0
Most often asked question is if one CRM can be used to host multiple portals? When you go through the deployment admin screen for CRM, you have the option to install multiple Portals; you are free to...(read more)

Generic Type Bookable Resource on Schedule Board in D365 Field Service

$
0
0
Introduction: This blog explains how to filter Generic Type Bookable Resource on Schedule Board. Pre-requisite: Latest Field Service Solution of D365. Procedure: 1. Open Schedule Board, Field...(read more)

Dynamics 365 for Field Service and Project Services Automation Update 3

$
0
0

Applies to: Dynamics 365 for Project Service Automation, Dynamics 365 for Field Solution, Dynamics 365 for Universal Scheduling Solution, Dynamics 365 for Resource Scheduling Optimization

 

With the goal of continuously improving quality, performance, usability, and responding some customer feature feedback, we recently released an update in July for Dynamics 365 for Field Service, Dynamics 365 for Project Service Automation, Resource Scheduling Optimization solutions. Below are the new capabilities and bug fixes introduced in this update.

 

Universal Resource Scheduling Enhancements – for both Project Service Automation and Field Service

 

  • Added option to turn off schedule board alerts.
    • Each schedule board now has a setting to turn off schedule board alerts for that specific board.
    • There is now a way to globally disable schedule alerts which overrides the individual schedule board setting.
    • When shut off, Schedule Board will not query for alert records, and the "alerts" tab will be hidden.
    • To disable schedule board alerts globally:
  • Navigate to advanced find to the scheduling parameters entity and open the scheduling parameters record.
  • Add the "advanced settings" field to the form and publish this change.
  • Add the following string to the advanced settings attribute "sb.disablealerts=true" and save the record.
  • When searching for availability for resources for onsite requirements, the URS distance matrix action calls Bing for travel information. In the scenario where Bing cannot calculate the distance between two points, URS now falls back and uses a mathematical calculation to retrieve distance and travel time.
  • Fixed multiple daylight savings related issues.
  • We now support accented characters on the schedule board booking templates, even when referencing attributes on parent entities.
  • Resource territories that are inactive are now ignored by the schedule board and schedule assistant.
  • Schedule board settings menu no longer closes automatically.
  • Time off request records now properly update the schedule board and are considered in schedule assistant searches.
  • Removed unnecessary update of attributes on the booking entity if attribute values do not change.
  • Removed unnecessary updates of attributes on the requirement entity (fulfilled and remaining duration)
  • Fixed issue with booking rules not executing
  • Booking details on left panel sometimes would not load when selecting a booking
  • Fixed issue related to caching which cause schedule board issue.
  • In some edge cases, searching for resources on the schedule board that are in "undefined" territory were not returning in results.
  • When searching for resources on schedule board, when selecting a territory in which there are no associated resources, all resources return.
  • Added auto delete for system job records
  • Fixed issues with display of resource utilization percentage when schedule board initially loads.
  • Fixed issue where current timeline showed incorrect time when schedule board first loads
  • Multiple map pin issues were caused due to changes in an outside service. Fixes are not in this build, rather fixes automatically applied recently with the update to outside service.
    • Pins now settle in the right location on selection
    • Fixed issues with selecting and deselecting pins.

 

Field Service Solution Enhancements

 

Below issues have been fixed as part of this patch

  • In some cases, work orders being generated by agreements were delayed.
  • Agreement booking setups in which the attribute "generate work orders X days in advance" was set to "0" now properly creates Work Orders.
    • If there are already agreement booking setups in which the value of this field = 0, in order to start the Work Order Generation, change the value to "1" and save and then change it back to "0" and save.
  • Fixed a few other minor bugs related to agreement booking setup work order generation.
  • When adding an incident type to a work order, which has a child incident service, the incident service duration is now properly saved to the work order service estimated duration field instead of the work order service duration field.
  • In some cases, adding incident service tasks to incident types would override the incident type duration. When adding an incident service task to an incident type, the incident type duration will only get updated if the sum of all incident service tasks is greater than "0". This prevents the incident type duration from being set to "0" when adding an incident service task with a "0" minute duration to an incident type.
  • Fixed issues relating to currency conversion on Purchase Order and Purchase Order Product entity.
  • Fixed issues relating to currency conversion on work order entity when using a currency on the work order which is not the organizations base currency. This caused work order "amount" fields such as subtotal to be miscalculated.
    1. Fix will not apply to existing work orders. If you have existing work orders in which the work order subtotal is not accurate, there are two ways you can update existing work order records.
      1. Global Update of Work Orders - this will run an update on all work orders in which the work order currency is not the same as the org base currency
      2. Create an on demand workflow on any entity
      3. Add a step to perform an action called "Field Service - System Action" and set the "type" to 2501
      4. Run workflow on any record in Dynamics 365.
      5. Work order "amount fields" will be recalculated on all work orders where currency does not match org base currency

 

On demand workflow on any entity

 

    1. If you do not want to run a global update, and would rather hand pick the work orders for which you would like to recalculate the amount fields:
      1. Create an on demand workflow on the work order entity
      2. Add a step to perform an action called "Field Service - System Action"
      3. Set the "type" to 2502
      4. Set the "input parameter" to the record URL
      5. Select work orders you need to update and run the workflow.
      6. Recalculation will occur on work order regardless of currency on work order.

 

On demand workflow on work order entity

  • When work orders are auto generated from agreements, attributes that are null on the agreement are ignored in the plugin when work orders are being generated.
  • Fixed error when adding service lines to a quote.
  • Fixed multiple minor upgrade code errors

 

Field Service Solution Enhancements

  • Performance improvements in project copy and move operations along with auto team generation.
  • Allow customer to add new Time Entry Types for PSA: Dynamics 365 administrator can modify the java script: msdyn_/Common/Models/OptionSets/TimeEntryType.js and add new option set items accordingly there after customized the Time Entry Optionset in Dynamics 365.

Resource Scheduling Optimization Enhancements

  • Change authentication from using WS-Trust to Oauth, more secured, no need to maintain user name and password separately in RSO deployment app
  • Improve RSO upgrade experiences by introducing 'Under Maintenance' status. System will set Published RSO schedules as 'Under Maintenance' during RSO upgrade, and automatically re-publish schedules after upgrade completes.
  • RSO job has stopped rescheduling due to Class OptimizationDataCleaner causes stress on Azure DB interrupting/slowing RSO jobs.
  • Optimize Schedule field should be locked to "No" for Generic/Equipment/Group resource types.

 

For more information:

 

 

- FeiFei Qiu

MB2-715 Exam- Tips on Microsoft Dynamics 365 client environment

$
0
0
1. Web Browser Requirements: Operating System Internet Explorer 10 Internet Explorer 11 Microsoft Edge Google Chrome(LPR) Mozilla Firebox(LPR...(read more)

New Dynamics NAV API’s

$
0
0
As I promised a few days ago in my post about news in Dynamics NAV , now I’ll add some additional news. In this post I’ll show new API’s. Currently we have these 42 completed API’s...(read more)

Rule of Thumb | Analytical Accounting Account Access

$
0
0
It is well known that the General Ledger in Dynamics GP has something called "Account Level Security" in which the users of the systems are granted access per account. For instance, the AR Accountant...(read more)

The Benefits of Fit Gap Analysis

$
0
0
Before you implement a new process or solution at your business, you want to be certain that it’s going to work, you’re going to benefit from it, and you’re going to see a return on your investment. ...(read more)

MB2-715 Exam Tips on User Management Approaches and Office 365 Admin Roles

$
0
0
1. User Managements Approaches: Manage user accounts in Office 365 This is the simplest approach but can require more long-term administrative effort. Every time you create a new user account...(read more)

Data Management in Dynamics 365 for Financials & Operations

$
0
0
Learn how data management works in Microsoft Dynamics 365 for Financials and Operations by following the below guidelines for importing and exporting data, batching large files and troubleshooting error messages. Also read some helpful tips for loading ...read more

Distributing Analytical Accounting Details on Sales Transaction Entry ( Cost of Goods Sold and Sales/Reveue )

$
0
0
One of the complex requirements is generate a profit and loss statement per sales channel, which requires distributing all revenue, cost and expenses account per Sales Channel, in order to be able to generate...(read more)

Construction Gaining Strategic Advantage with Cloud-Based Technology

$
0
0

Many construction companies rely on cutting edge equipment in the field, now it’s time to deploy modern technology in the office. Multiple, disparate systems that are no longer efficient or meeting business needs hold businesses back, stifling growth. Modern cloud-based technology provides forward-thinking construction companies with the ability to keep pace with the modern business practices needed to meet and exceed customer expectations.

Construction projects are traditionally paper-heavy, encompassing multiple documents including RFPs and contracts, blueprints, specifications, and customer communications. While they are the very lifeblood of the project, they also introduce risks. Download “Are You Ready for the Digital Transformation of the Construction Industry?” to learn how a digital transformation will help you break through the limitations of paper by reinventing document management processes.

Transform Project Document Management With Microsoft Dynamics 365

Managing important project information on paper is risky. It’s difficult for field employees to access information needed on the jobsite, and project managers struggle to access real-time data needed to keep projects on the right track. Deploying a unified business management solution, like cloud-based Microsoft Dynamics 365, will transform document management, adding a layer of security and confidence to the process. Here’s how digitizing the office provides an advantage:

  • Workflows and templates: Microsoft Dynamics 365 offers customizable workflows your people can use when creating, reviewing and approving RFPs, contracts, invoices or other important documents. Create templates for commonly used reports and forms to improve consistency throughout your enterprise.
  • Secure documents: Employees, contractors and clients can access project-specific documents from a project account within Microsoft Dynamics 365. Your people will be confident they have the most current version of the document when making project-specific decisions.
  • Improve communication and collaboration: When your entire project team is working from the same set of information, project managers are able to take a proactive approach to keeping projects on track. Monitor costs and schedules in real-time to avoid budget overruns or scheduling conflicts.
  • Expedite billing: Whether on the jobsite or in the office, project managers will be able to accelerate billing and receipt of milestone approvals. Streamlining the billing process gets invoices out faster, which means you get paid faster.

Keep up with fast-paced construction projects and ensure high-value customers get the attention they expect. Download the eBook and contact Stoneridge Software to learn how to replace paper-based processes with a more efficient, digitized solution, like Microsoft Dynamics 365.

Watch the live stream: Microsoft Research Faculty Summit 2017 "The Edge of AI"

$
0
0
You're invited to the virtual event for the 18th annual Microsoft Research Faculty Summit on July 17-18, 2017 from 8:30 AM to 6:00 PM PT! This year's Summit will consist of a variety of keynotes...(read more)

Custom Financial Dimension in Dynamics 365 for Finance and Operations (AX 7)

$
0
0

Purpose of this post to share the procedure I learned yesterday for adding custom Financial dimension in Dynamics 365 for Finance and Operations aka (AX 7). So I added a fictional Financial dimension.

Suppose we have to create a financial dimension with “Jaggah Tax”. This financial dimension required in Sales order, Sales Line, Purchase Order, Purchase line.

 

New Custom financial can be added and activate by following steps.

 

 

First of all open Ax in browser and change its legal entity to USMF.

Now click on General Ledger ==> Charts of Accounts ==> Dimensions => Financial Dimensions.

 

 

 

 

From financial dimensions page Click on New button. As a result detail page open in new / create mode.

 

You will find here three editable controls. From Used value drop down, select custom dimension, in second text box type name of dimension and in third text box type Report column Name.

 

 

 

 

Now click on Activate button from top menu.

 

On pressing Activating menu button, on right hand side a popup dialog opens. You can select different options from here. I want to activate this financial dimension so I selected activate now option.

 

So progress dialog show activation is under progress.

 

Finally we created a new financial dimension.

 

Now next step is to add values for dimension. Suppose our organization pay two types of jaggah tax.

-Noori Naath

-Mola Jatt.

 

 

So for this click on Dimension values menu button after selecting dimension open in detail section.

 

Click on New and enter values as much as requires. With each value also add  activation date.

 

 

 

We successfully create custom financial dimension. But until we add financial dimension in accounting structure  it will not available for selection.

 

For this again open General Ledger => Setup => Ledger

 

 

From Ledger detail form, select Manufacturing P&L. either double click on it or after selection click on edit button.

 

 

 

Account Structure is open, Also click on add  segment.

 

 

On right side a pop up opens with all financial dimensions. You can select required dimension.

From right side a pop up opens from there you can select required Dimension.

 

 

After selection Accounting structure look a like below screenshot.

 

 

Now on update financial dimensions values below text boxes in grid to “”;*. By default it will be *. Which means value is required.  “”;*. Means empty value or null values also allow in dimension.

Now update top value and activate it.

Activation in progress.

 

Now open Purchase order and from Header view, select newly added financial dimension.

 

Values are available here.

 

 

Our newly add financial dimension successfully added

 

 

 

Viewing all 52151 articles
Browse latest View live