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

Business Central Build Numbers

$
0
0
Now and then, I get questions about the build numbers - what do they all mean? I always try to tell people that they don't really need to know but for some reason, that just makes people more curious...(read more)

Resolved – Error when user trying to open Activities in UCI of Microsoft D365 v9.0

$
0
0
Introduction: Microsoft has introduced UCI in v9.0 and above version. While exploring UCI, we noticed one of the user in system getting error, when user trying open Activities in UCI App. This blog...(read more)

Dynamics 365 App for Outlook Part 3-Settings that affect tracking and correlation

$
0
0

For part 3 of the App for Outlook series, we are going to take a look at the settings that affect tracking.

 

Let's start at the organization level settings with System Settings. (We will not be covering folder-level tracking, as the App for Outlook is not required for this)

 

 

Configure email correlation

Use correlation to track email conversations - This only works with Server-Side Sync enabled and therefore, will work with the App for Outlook. With this box marked, hidden email properties are used to determine if the email should be correlated to an existing email conversation. If you use the EWS Editor for Dynamics 365, you could identify these as the ConversationIndex and In-Reply-To fields.

 

Use Tracking Token - This creates a tracking token in the Subject line of an email to help Dynamics 365 determine if the email should be tracked and is still recommended as the most accurate. Although, many organizations are not fond of the token being visible in the subject line. Unlike the legacy client, tracking an email with the App for Outlook prior to sending does not generate a tracking token. The tracking token is only generated when the email is sent directly from Dynamics 365. In this case, it would use the ConversationIndex. Another thing to be aware of is if someone modifies or removes the tracking token, correlation will break. Meaning that reply would not be tracked automatically.

 

Smart Matching - This is a correlation method from CRM 4.0.

Smart matching relies completely on the existence of similarity between emails. The subject and recipients (from, to, cc and bcc) list are the two important components that are considered with checking for similarity.

When an email is sent from Dynamics 365, there are two sets of hashes generated for it and stored in the database

Subject hashes:

To generate subject hashes, the subject of the email, which may include the Tracking token if its usage is enabled in system settings, is first checked for noise words like RE: FW: etc. The noise words are stripped off the subject and then tokenized. All the non empty tokens (words) are then hashed to generate subject hashes

Recipient hashes:

To generate the recipient hashes the recipient (from, to, cc, bcc) list is analyzed for unique email addresses. For each unique email address an address hash is generated.

Next when an incoming email is tracked (arrived) in Dynamics 365, the same method is followed to create the subject and recipient hashes.

To find the correlation between the incoming email and the outgoing email, the stored subject and recipient hashes are searched for matching values. Two emails are correlated if they have the same count of subject hashes and at least two matching recipient hashes.

Due to the possibility of emails being incorrectly correlated to the wrong message thread when the subject lines and recipients are similar, this is not my correlation method of choice. I recommend using either correlation(ConversationIndex) or Tracking Tokens instead and disabling Smart Matching.

 

Set tracking options for emails between Dynamics 365 users

Having this checked will create two separate email activities. One owned by the sender for the sent email and another for the received email that is owned by the recipient.

When this is not marked and an email is sent from a Dynamics 365 user as tracked to another Dynamics 365 user, the recipient will see this as tracked only for a short period and then tracking will be removed, as we are not tracking the incoming email.

There is another OrgDbOrgSetting (DoNotIgnoreInternalEmailToQueues) that also affects the way this functions. By default, the functionality is setup to cause queue-promoted items to ignore correlation and not create a received activity if the messageid matches another email (i.e. An email sent from Dynamics another Dynamics user or if the sent email is tracked into Dynamics before the queue attempts to promote the item or if a workflow rule sends an email message to a queue, email messages that are sent by the workflow rule are not delivered.)

The default setting is False, which gives you the outcomes above and internal email messages to queues will not be delivered.

If this is set to True, internal email messages to queues will be delivered.

 

Now, let's take a look at Personal Options, which are specific to each individual user

 

Allow Microsoft Dynamics 365 to send email on your behalf

This will allow Dynamics users to send email on your behalf. An example would be a delegate assistant for other users or a service account that is used in a workflow that sends emails. If the service account does not have this marked and the owner of the workflow is a different user, the workflow will fail.

 

Select the email messages to track in Microsoft Dynamics 365 (This is referred to as Email Filtering, as described in part one)

All email messages
This will track all email messages regardless no matter if it is a Dynamics 365 record or not. If you are using this setting and want the Sent folder to also track, you would need to enable the AutoTrackSentFolderItems OrgDbOrgSetting using this tool. Unless there is strict Exchange and Outlook governance, this setting may not be the best option, as it will promote items to Dynamics, whether they are related to Dynamics or not. It is important to note that when we promote items, these are only items in the default Inbox at the top-level of the information store. This means folders at the same level of the inbox, archive folders, etc.. will not be promoted.

Email messages in response to 365 email
This will track emails in response to current emails based on the correlation configuration in System Settings. It looks to see if this email has already been tracked in Dynamics 365, was an email that was generated and sent directly from Dynamics 365, or was automatically promoted in some manner with Server-Side Sync. This is the option I see used in most organizations.

Email messages from Dynamics 365 Leads, Contacts and Accounts
This will only track emails if the sender email address resolves to a Dynamics 365 lead, contact, or account. If this resolves to one of the above record types, the email will be tracked automatically, even if it is not tied to a previously tracked email.

Email messages from Dynamics 365 records that are email enabled
This will track emails from all record types, including custom record types that contain an email address field. If this resolves to one of the above record types, the email will be tracked automatically, even if it is not tied to a previously tracked email.

When Dynamics 365 does email resolution or association, it looks specifically at the email address field of the entity. This must be a Single Line of Text field with Email format. Any time a field as described above is added to a record, this creates a record in the EmailSearchBase SQL table, which is queried to identify if and what record the email address resolves to. Email filtering, correlation, and resolution will also be discussed in scenarios in part 4 of this series

Since this is a user controlled setting, an administrator can view and update these settings for all users with XRMToolbox.

Automatically create records in Microsoft Dynamics 365

This will automatically create a Contact or Lead in Dynamics 365 using the Sender or Organizer email address of tracked e-mails if the Contact or Lead does not already exist. There is also an OrgDbOrgSetting to control the organization's ability to create contacts automatically. If you set, AutoCreateContactOnPromote to False, it will prevent automatic contact creation regardless if the personal option is marked to do so or not.

Thanks for reading! Part 4 coming soon...

 

Aaron Richards

Join Your Peers at User Group Focus North America for BC/NAV Deep-Dive Learning

$
0
0

You are invited to join your peers at User Group Focus North America, located in Houston, Texas, March 13-14, 2019 for concentrated Microsoft Dynamics 365 Business Central & Dynamics NAV education. Register here.

User Group Focus is a can't miss, deep-dive training event. Attendees will be able to:

  • Sharpen your skills and learn best practices to further your job role, career, and product investment.
  • Network with peers who are in similar roles and face the same issues on a daily basis.
  • Dig deeper into the topics most pertinent for success in your role. Each 90-minute session is taught by a technical or functional expert and features primarily intermediate-level content.

Submit session ideas through December 14
As an event built by users for users, the programming committee relies on the volunteer efforts of the community to provide the most relevant and useful deep-dive session topics. The 2019 BC/NAV role-based tracks are still being determined, but last year's were:

  • CFO/Controller: Advanced insights on how your team can use the application and related tools to achieve your financial and strategic objectives.  
  • Developer: Get up-to-speed on the significant changes to the development environment and tools over the past two versions. 
  • Distribution/Logistics Manager: Sessions to help you take advantage of the latest innovations in processes and technologies to improve your supply chain effectiveness and efficiency. 
  • BC/NAV Administrator: Best practices and tips you should know to be more efficient and productive, while reducing risk and errors.

[Submit Session Ideas]

SUBMIT

 

You will also be able to attend Power platform deep-dive sessions at no additional charge. Dive in deep and emerge the expert you always knew you could be! Save $100 on User Group Focus registration through January 15.

[Register Today]

 

Professional Business Central Developers?

$
0
0

If you, like me, have been part of the Navision community since 1990, then you have seen a lot. 10,000's of members of Dynamics User Group (prev. Navision.net/NOLUG) have come and gone again. Some stick around and with time becomes dinosaurs like me. But a lot of them, we only see 1-3 months, then never hear about again. And while I don't know the exact percentage, but my guess that a lot of them, are no longer working with NAV.

At NAV TechDays 2018 two weeks ago, my friend David Singleton and had a session about The future for NAV developers and consultants. One of the things we talked about, was how our channel will need to double the number of developers within the next five years. If you didn't watch our session, then let me recommend it. Just remember to turn up the volume, as the sound is very low.

If we need to 10 double the number of customers and only double the number of developers, then a lot needs to happen. Most importantly then our industry needs to mature and do it fast. Especially we the developers, we need to become even better at our work. Everything we code in the future must be written with both repeatability and extendibility in mind. We all need to become "real developers", not continue as mostly self-learned amateurs, who barely knows what a design pattern is.

C/Side – a blessing and a curse

Navision and Dynamics NAV have always been unique. C/Side has been both a blessing and a curse. When Navision 3.0 was released in 1990 it's integrated development environment (IDE) was the very first of its kind. Here we had a platform where could customize all parts of the standard application, primary by just changing or adding properties in objects. And in some places, we could also program code. For this purpose, PC&C had created a development language (AL), which they had based upon the Pascal language. In the 1980'ies this was one of the most popular development languages in the PC world.

Most "developers" did not have a formal IT or development education or background and being a "Navision developer". And those who did, could not apply much of that knowledge to Navision. Everything in IDE was unique for our application, everything had to learned again. That made it more common to take an end user, accountant and turn them into a Navision developer, than it was taking an experienced developer and turn them into a Navision Developer. Business and accounting knowledge where more important that actual programming skills. That again let to a lot of consultants also changing the code.

Many, including me, started their career as consultants, and gradually became developers.

It didn't mean that partners didn't know what they were doing.

IBM Business Centers

Besides having a superior accounting package for the "new" PC's, then one of the main reasons why Navigator got both rapid growth a very good reputation in Denmark was that it was sold by IBM Denmark through a network of IBM Business Centers. These business centers were the only partners, who could sell both IBM PC's (PS/2's) and IBM-Navigator to Danish businesses. And they did it well.

To become an IBM Business Center, the partner had to undergo a rather long certification process. Their sales people, technicians, consultants and developers had to participate in week-long training, before they could go for the actual certification tests. Developers where not called developers, but system engineers and where basically trained to become Navigator specialists. We had to know everything from installing, setup, migration, training to development. It was neither easy, nor cheap to become a Navision partner at that time.

The program worked great and was a very trusted. And most IT managers knew, that if they just stayed with IBM, then they would never get fired for choosing a bad brand. Everybody trusted IBM back then.

Are certifications the answer?

Certainly not! It was not the certifications in the IBM Business Centers which made the difference. It was the week-long trainings, it was the way that IBM Denmark helped implementing a complete methodology covering all aspects of the partner – full package. It gave the whole company a boost in professionalism, compared to most non-IBM business centers, who instead had to sell the Navision "copy" XAL (XAL = eXtended Application Language from Damgaard).

Microsoft stopped certifying Dynamics NAV professionals a couple of years ago (2013?), when they dropped this requirement from their partners. Next year Microsoft will bring them back, according to announcements at Directions.

If these certifications are going to be the same type of test with typical multiple-choice questions, then they are worth nothing. Sure, it will require that you either study or go online and find someone who sells the answers for the test and then just memorizes the answers.

Other than showing that you can memorize, then they really show nothing. The only thing that truly works is training, mentoring and real-life practice.

C/Side retirement

In 1-2 years, Microsoft is going to retire C/Side. It will then no longer be possible to use C/Side or C/AL to make changes. We can then only use Visual Studio Code and the new AL language to program our changes.

That does not mean C/Side is dead. According to their terms, then they will continue to maintain it five years from its last release. If C/Side is retired in two years, then there will still come updates until 2025, even if no new functionality may be available. And there will for sure still be customers running it in both 10 and 15 years. Just was there is still customers running the DOS version, here 23 years after the Windows version was released.

That is going to be an important factor for Microsoft, to be able to get from 330,000 NAV customers to 3,300,000 BC customers.

For many years C/Side has been one of the reasons, why it has been difficult to attract new professional developers in the market. Methodologies and practices, like Agile, Scrum, SCM/versioning, object-oriented design, clean code, design patterns, test-driven development and CI/CD, have been known and used in other parts of the IT industry for decades. That's what students learns at the universities these days.

Sure, Agile and Scrum has made its way into our world, and we have visionary NAV community members like Luc van Vugt, Mark Brummel and many others current and former MVP's, who have showed that it can be done in our world too.

I'm looking forward to C/Side's retirement. What once was a blessing, has turned into a curse, that eventually, would have meant the dead of Navision. I just hope that more people in our channel had already embraced these new standards and methodologies.

Dinosaurs wake up!

Most NAV and BC developers do it the way they always did. No use source code management (SCM), DevOps or Docker, no focus on clean code, design patterns or test codeunits. Maybe on some projects, but not on everything. "Who would pay for it?" they ask. To them it is just means more costs, more stuff preventing them from billing out hours. They need to see beyond that.

We cannot make great high-quality software build for repeatability, extendibility and maintenance, if we do it the way we have always done. We have the tools, we need to stop seeing it as an extra cost, when all studies have shown differently. Even if you only do once-off projects, then it does cost more to do it right.

From before they were born

Why would graduate's, who studied 2-5 years to become professional IT developer's, want to forget almost everything and go to work in an industry, where almost everything is based upon the almost 25-year-old user interface in C/Side? Very likely from before they were born!

With a development environment in Visual Studio Code, that is no longer. Not only a (familiar) modern user interface you can use both on Windows and Mac, and no matter if you code JavaScript's or AL code. We get build-in Git/Github SCM, easier CI/CD with Azure DevOps, Pipelines, Containers and much more.

All these "standard" tools, that we now have available, will make it easier to attract new developers.

Except that alone will not do it. Even if they have the right tools, as soon as they find out that the projects and the development is done the way it was done 25 years ago, then they will accept the next job offer they get.

We either change the way we look at our profession or forget about attracting the best graduates and candidates. And forget making Business Central a success.

A Navision developer was not a real developer

I started as a NAV consultant/project manager in 1990 and first became a Navision developer in 1992. Still it took many years, before I started seeing myself as a real developer. I even studied programming in college, and I have over the years used over 10 different programming languages, excluding AL, C/AL and the new AL. In Navision most of our changes were simply changing a property or inserting a new field. Or a new report, with a few lines of code. Not a lot of "real" programming.

We didn't have to care about frameworks or all sorts of things to create UI or access our database. Instead we had all sorts of integrated tools to help to most of the actual code for us. Unless we exported as text, then we never saw the actual code.

We didn't have the tools to do it the right way, nor did we mis them. A new developer may initially have requested new tools, but we quickly learned them, they didn't need those tools for NAV development and that they just slowed us down.

We mostly did once-off projects and didn't have to care (much) about future upgrades. Eventually in 4-5 years that would be an issue, but not now. So, who would write test codeunits for anything? Today we know we were wrong, writing code we did, always ends up being spaghetti.

If I look back at those days, then although much have changed, then we still need to consider our-selves more as real developers.

We do not follow best practices

As Business Central developers we need to learn to respect our profession, to follow the same basics, standards, rules or whatever you will call it.

Most other professions do have some set of basic standards they must follow. You don't have to be a doctor, electrician, lawyer etc. for that to be the case.

For developers, especially NAV developers, that is not the case. We have no set standards, except the implicit "follow-the-money"-rule with often a very shortsighted perspective. We are not required to follow best practices or do our job to our best abilities.

But back in the early days our methods and practices where best practice, should I say best possible practices. Today we know that it is possible to write source code in a much higher quality, without using more time. Doing that would be "to our best abilities".

We accept buggy software

It is generally accepted that we deliver software containing bugs. Sure, as developers, we test it to our best abilities, but it's not really going to be acceptance tested until the "test phase", eventually by the consultant or when installed with the customer. Our input, our requirement may only have been a few lines and a screen shot, often with plenty of opportunities for our own interpretation, sometimes good, others not. Acceptance tests may not even have been described and signed off by the user/owner.

If we find a bug, and we will, then we write it in our Error Log, we have systems where customers can register their errors online.

If we were better at our job, then there would not be errors

Developers are expected to make software with bugs, and other people are expected to find and report them. It is not something we like, but everybody (?) knows that software has errors, so it is accepted.

We should not accept to have to deliver sub-standard, sub-quality software, when we know that there is a better way.

If we are told, not to do our best, then how can we respect our own profession. And if we, the developers, do not respect our own profession, how would anyone else, including new candidates?

Except of course, making it un-ethical to create bugs and unclean code, then I am not the one to dictate these standards. Uncle Bob has come up with his suggestion to a Programmers Oath (see link below), which could be a great place to start.

It should NOT be something that Microsoft is dictating to their partners and developers.

What should Microsoft do?

Microsoft have their #ReadyToGo program for partners, providing videos and training and more. They continue to improve our tools and make the industry standards available for us.

I would hope that they put more focus upon promoting methodologies and best practices for Business Central. Their NAV (C/Side) design pattern site did not get updated for a very long time and no new site for BC. Why not do this in a closer relationship with the community, the MVP's? Blogs are great, but they often get lost in the web. And don't limit it to design patterns.

And forget the certifications. If anything, then certifications is a hinderance from the required growth in our industry. It will move the focus on passing a test, instead of really becoming better and more professional.

They need to make developers feel that they can do everything with BC and AL, that they can do with any other platform. But better and easier.

Business Central and the development platform must become even sexier, to attract the best professionals.

What should partners do?

Nothing really happens without them. It is them who must see that Business Central is not NAV, and that extensions and Visual Studio Code is a much bigger change, than just a new language and development environment. Its an opportunity to grow. Developing everything as generic as possible, with test codeunits and CI/CD, is not an extra cost, but a way your software can be sold to many customers, instead of just one. Even if you are not building it (initially) for AppSource, then if you already have tests etc., then getting there will be much easier. And once Test-Driven Development, test codeunits, clean code and design patterns have been worked into your developers, then not only will the code be much better with less errors and much easier to maintain, but it will end up costing you less.

If they are hiring new developers directly out of college, then they should not introduce these to C/Side, much better that they focus on one environment. The partners need to figure out how many of their dinosaurs they need in BC. Even if learning AL is not a real challenge to most current NAV developers, and that we for sure are going to need dinosaurs in AL too, they are better of keeping them in C/Side.

The dinosaur developers need training in the modern way of developing, even if they have written code for 15 years or more. And they may need time to become just has effective with the new methods. Or keep your dinosaurs on NAV, only bringing over a few as architects and mentors, and hire new developers familiar with the new methodologies and practices.

And don't forget that successful test-driven development, requires the developer, issue/feature-owner and analyst to define/describe the tests/requirements together, before any code is written. It requires the whole team to be familiar with the "new" processes. The changes effects everybody, not just developers.

What should developers do?

I hope that all of us will find more pride in what we are doing, that we become better and more professional NAV and BC developers. We all need to invest hours of learning, its no excuse that your employer does not provide it for you in your work hours. There is an old saying, which says "You get paid to work from 9-5. What you do after work get your promoted?". While this may not get your promoted, then it will allow you to keep your job, if you want to make in the BC world.

Practices like TDD, is a whole new way of writing source code. It's almost like learning to write a bike again. At first you will feel that it slows you down, you may fell a few times, you may curse, before you finally get it. And when you do, you are not going to understand, how you ever been able to write software in any other way before. You are going to hate how code looked just short time again.

If you don't really care about all this and you just want to continue to do things has you have done "always", then stay in NAV. As said before, then you will still have plenty do the next many years.

If you still want to embrace the "new" development methods and practices, if you think it is important that we become more professional developers, then it's really easy. Start to study everything on clean code, design patterns and refactoring. Most here is rather generic, even if not all design patterns can be done with AL, so there are 100's of hours of video on YouTube. I can recommend anything by Robert C. Martin, Kent Beck, Martin Fowler. There are also many blogs about NAV design patterns and even TDD with C/Side.

 

Recommended for more information:

Youtube: The Programmer's Oath by Robert C. Martin (Uncle Bob)

YouTube: The future for NAV developers and consultants (David Singleton and Erik Ernst)

Blog: Luc van Vugt's dynamiXs, about automated tests, test driven development etc.

Blog: Mark Brummel, clean code, design patterns etc.

Site: Dynamics NAV design patterns

Industry Accelerators and Power BI Dataflows: Join this month’s community call

$
0
0

Join our monthly Business Applications Community call on December 11 to learn more about the Microsoft Industry Accelerators and Power BI Dataflows.

Dynamics 365 announced the Microsoft Power Platform, a connected app platform that unifies access to your data to enable ISVs, SIs, Partners, and Customers to build intelligent, data-driven, task-focused business and analytic applications. Microsoft is focused on enabling a data culture in which the Microsoft Power Platform acts as the glue across Microsoft Dynamics 365 (CE, F&O, Talent), Office 365 (SharePoint, Teams), Power BI, Power Apps, Microsoft Flow, Azure, and other third-party, on-premises and cloud-based solutions.

With the Power Platform providing a unified approach to building data driven solutions, the team is taking it one step further by introducing Industry Solution Accelerators. The accelerators are industry-focused foundational components that enable ISVs and other solution providers with a way to build solutions based on industry standards, supported and driven by Microsoft.

Guest presenters Sonal Bordia and Tamas Zsolt Polner will provide an overview of the Microsoft Industry Accelerators and the Common Data Model. They’ll explain how the Power BI dataflows help business analysts ingest, transform, integrate, and enrich big data using the Power Query experience already familiar to Power BI Desktop and Excel users.

With dataflows, we’re fueling collaboration between Power BI users, data engineers and data scientists by allowing them to seamlessly operate on data stored in Azure Data Lake Storage. Come to learn how to easily prep your data, leverage Microsoft’s standardized schema the Common Data Model, improve time-to-value, eliminate data silos, and create one source of truth for your organizational insights with a demo of Power BI Dataflows.

These capabilities combine to create a unique opportunity for partners to build on top of the platform and accelerators to create unique customer solutions. Here is a view of these opportunities:

Check out these blog posts to take a deeper dive into the topic of Industry Accelerators:

Sign up for the December 11 community call

Ready to learn more? Join us by registering for our community call about Microsoft Industry Accelerators and Power BI Dataflows on December 11 at 9 am PT.

Additional Business Applications Technical Community Resources

Security hardening your on-premises installation of NAV/Business Central

$
0
0
In the summer of 2018, the US Department of Homeland Security issued a warning via the US Computer Emergency Readiness Team (US-CERT), that ERP systems were being increasingly targeted by very dangerous...(read more)

Make attachments look mandatory and more fun stuff with icons

$
0
0
Hello AX World, I wanted to make Attachments look mandatory and was looking for a good solution to achieve that. Perhaps, one of the options would be to give a warning message when editing or going through...(read more)

How to Upgrade to Business Central (on-premise)

$
0
0
Here are steps to upgrade to Business central .This is old way that is merging the objects into standard objects . Anyway not recommended to do this and it is better to create extension and publish it Listed here some of the steps to upgrade business...(read more)

Microsoft Dynamics GP crashes/closes when emailing after Office Update

Release Notes for Project Service Automation Update Release 2

$
0
0

Applies to: Project Service Automation for Dynamics 365 

We’re pleased to announcethe latest update for the Project Service Automation application for Dynamics 365.This release includes improvements to quality, performance, and usability, and is based onyourfeedback and requests. 

This release is compatible with Dynamics 365 9.0.x. To update to this release,visitthe Admin Center for Dynamics365online, solutions page to install the update. For more information, see How to Install, Update a Preferred Solution .

 

Project Service Automation(v3.2.0.246) 

Improvements 

  • Internal performance improvements to upgrade experience. 
  • Minor reliability improvements to the project schedule grid. 

 

Bug Fixes  

  • Fixed: Ability to hide the Project Contract value from Transaction Type on Actuals Journal. 
  • Fixed: WBS start and end dates display incorrect values on refresh because of incorrect parsing of Daylight Savings Time(DST) rules. 
  • Fixed: When Project Quotes are created in a currency different from org currency, QuoteLineDetails for cost amount of Product lines are created in wrong currency. 
  • Fixed: Generic SQL Error when creating contract from quote, if customer has custom field maps for multi selection option sets. 
  • Fixed: [Calcium FP] The added or subtracted value results in an un-representable DateTime. 
  • Fixed: Contract revaluation can generate unexpected extra Unbilled Sales Actuals when Contract is confirmed. 
  • Fixed: In specific scenarios, selecting a task date in the WBS actually selects the previous date. 
  • Fixed: Failed integration scenarios when EntityRepository.RetrieveByEntityReference retrieves entities of wrong type. 
  • Fixed: Misalignment of field length between BusinessTransactionmsdyn_description and QuoteLine.ProductDescription. 
  • Fixed: Missing price information on estimates view when project calendar and user timezone is set to indiatimezone 
  • Fixed: Invalid data exception in async jobs for team member office group create/update and requirement update when booking is invoked or moved from schedule board. 

 

Russel Hercules 

Program Manager  

Project Service Automation Team  

Build pipeline error when generating packages

$
0
0
This is another tip to fix your build powershell scripts in order to reduce the number of errors you get when running a build pipeline. Issue Occasionally your build pipeline might have an error in...(read more)

Manage multiple Office 365 domain logins like a pro!

$
0
0
If you are an administrator handling multiple Office 365 domains then I am sure you would have come across the problem of not being able to easily switch between domains and perform basic administrative...(read more)

WEBINAR: How to Track and Manage Loaned Equipment with CRM for Oil & Gas

$
0
0

Ledgeview Partners Webinars

Do you really know where your equipment is, such as expensive tanks, or do you rely on good word alone to be assured your product is in your tanks?

In this CRM for Oil & Gas webinar, Steve Reybrock, a 30-year veteran of the Oil & Gas Industry and Ledgeview’s foremost CRM for Oil & Gas Product Implementation Specialist, will show you how to optimize CRM, using it to see who has your equipment, where it is, and if your product is really going into your tanks.

Consider: How much money do you have out there now, and do you really know where it is?

Equipment Tracking in CRM lets Lubricant Marketers know where their money is and see who still has their equipment, where it is, and when the contract is due.

By tying a specific account to the equipment, Lubricant Marketers can record and track which customer has which equipment and the product that is supposed to be in it.

Using this feature, as a Lubricant Marketer, you can identify pitfalls or questionable activity that may lead you to believe or identify that your product isn’t actually being used in tanks, preventing huge losses.

You can also clean up your tracking methods with this part of CRM, and get rid of all the pesky spreadsheets you may currently be using to track and manage your loaned equipment.

Dashboards provide easy visualization for Lubricant Marketers in CRM to track equipment, and, the best part is, with Ledgeview’s nationwide-preferred CRM solution for the Oil and Gas industry, you can fulfill your ROI using Equipment Tracking alone!

The value of it is undeniable, and our customers can attest to that.

If this topic interests you, don’t miss Ledgeview’s upcoming webinar.

Even if you can’t attend the day of, register anyway so you get the link to view it on-demand later.

Register for the webinar

Webinar: CRM for Oil & Gas
Training Topic: How to Track and Manage Loaned Equipment with CRM for Oil & Gas
Date: Thurs. Dec. 13, 2018
Time: 1:00 – 1:30 p.m. CST

Learn more about how Lubricant Marketers use CRM to drive success in innovative ways when you download this Ledgeview Partners eBook.

Ledgeview Partners eBook

How to get earlier versions of the Dynamics NAV development environment to work with TLS 1.2

$
0
0
Some of you have been struggling to get your version of Dynamics NAV to work with a SQL Server database that has implemented the latest version of Transport Layer Security. TLS 1.2 support on SQL Server is explained in more detail in this article. As stated there, several known vulnerabilities have been reported against Secure...

WEBINAR: Marketing Technology Minutes – Lead Nurturing/Automate Campaigns

$
0
0

Register for the Webinar Sessions

Are you ready for the next webinar in our new series, “Marketing Technology Minutes”?

If you want to start the New Year on the right foot with your marketing technology strategy and system, you won’t want to miss this.

For those that didn’t attend the first session, here’s what you can expect to learn with each topical focus:

  • Overview of the topic and strategy tips
  • Best practices
  • 3-way comparison of how it works in 3 of the leading marketing automation solutions on the market today

Sound good to you? Us too!

Jodie Gilroy, a Senior Business Analyst and Proven Brand Marketer at Ledgeview Partners, will be hosting.

Gilroy’s specific expertise lies within the execution of digital media communications, including social media, search engine optimization (SEO), email marketing, blogging, video production, website strategy, and more.

Gilroy is otherwise known as the “marketing guru” at Ledgeview, and you’re sure to see that shine through in this presentation.

Get ready to gain key insight that will get you excited about your marketing automation solution and strategies all over again. Or, maybe for the first time!

If you want to develop, refine, or enhance your marketing strategies, register for this upcoming webinar.

Even if you can’t attend, once you register, we’ll send you a link to access the presentation on-demand. So, be sure to sign up!

You’ve got nothing to lose, and a whole lot of insight to gain …

Webinar: Marketing Technology Minutes
Topic: Lead Nurturing and Automated Campaigns
Date: Thurs. Dec. 13, 2018
Time: 11:00 – 11:30 a.m. CST

Register for the webinar

Here’s a little preview …

QlikView November 2018 – What`s New

$
0
0
BI provider Qlik has provided the November release of its data analysis software QlikView. The new version features some exciting new features and improvements. Some of the highlights of the new and...(read more)

Demystifying PowerApps Environments – Part 2 – Dynamics 365

$
0
0
Dynamics 365 and the Power Platform are both deeply coupled with the Common Data Service (CDS).  Where CDS is the database behind both applications.  This is the second article of a series on PowerApps...(read more)

Dynamics 365 App for Outlook Part 4-Working with Emails

$
0
0

Welcome back to part 4 of the Dynamics 365 App for Outlook series. In this post, we are going focus on more specific email tracking scenarios. In the following days, we will break down appointments and contacts.

 

The first area that needs some attention is automatic email tracking.

In the last post, we went through the email filtering settings in a user's personal options. If a user's personal options (email filtering) are set to track all emails, this will track all email messages regardless, no matter if it is a Dynamics 365 record or not. However, the Sent folder is not tracked by default. If you are using this setting and want the Sent folder to also track, you would need to enable the AutoTrackSentFolderItems OrgDbOrgSetting using this tool.

 

Unless there is strict Exchange and Outlook governance for what users can and cannot store in Outlook, this setting may not be the best option. It will promote all items to Dynamics, whether they are related to Dynamics or not. In most cases, I see this used only for troubleshooting to ensure emails are promoted into Dynamics and not in live production environments unless emails are governed appropriately. Yes, this means a personal email could be promoted into Dynamics.

 

In most cases, the setting Email messages in response to 365 email is used. It is also the default setting. However, it is best to evaluate each option to determine what is best for your organization.

 

Since this is a user controlled setting, an administrator can view and update this using the User Settings Utility within XRMToolbox.

 

How are emails, replies or forwards, tracked that are part of a conversation, that I may not want tracked in Dynamics 365?

 

Example A:

      1. User A sends an email to multiple recipients, including contacts and other Dynamics users
      2. User B replies to this thread
      3. Contact A also replies to this thread
      4. User B replies to the thread, but removes Contact A as a recipient
      5. They do not want this reply automatically tracked

 

In this case, it will automatically track because it identifies the ConversationIndex and In-Reply-To values as an email that is part of a thread.

 

To have this email untracked, the user would have to manually untrack the reply with the App for Outlook as well as any replies to this because the master email is still tracked.

 

 

Example B:

      1. User A sends an email to multiple recipients, including contacts and other Dynamics users
      2. User B forwards this thread to another user for internal conversation
      3. They do not want the information in this forward automatically tracked

 

In this case, it will automatically track because it identifies the ConversationIndex and In-Reply-To values as an email that is part of a thread.

 

To have this email untracked, the user would have to manually untrack the forward with the App for Outlook as well as any replies to this because the master email is still tracked.

 

Example C:

      1. User A sends an email to multiple recipients, including contacts and other Dynamics users
      2. User B forwards this thread to another user for internal conversation AND changes the subject
      3. They do not want this forward or replies automatically tracked

 

In this case, it will automatically track because it identifies the ConversationIndex and In-Reply-To values as an email that is part of a thread.

 

To have this email untracked, the user would have to manually untrack the forward with the App for Outlook as well as any replies to this because the master email is still tracked.

 

 

 

If you untrack a reply or forward to a thread on an email, and if the initial/master email is still tracked, it will continue to track replies. If there are certain replies you do not want to track, you will need to untrack these manually.

 

 

There was a setting used in the previous Outlook Client to prevent automatic tracking of Replies and Forwards, however this does not work with the App for Outlook because the actual tracking is done by Server Side Sync. There is a product suggestion that would be helpful here to create a NONE option for automatic tracking. If this setting were made to work with the App for Outlook, it would require manually tracking any replies or forwards you would like promoted to Dynamics. There is a product enhancement suggestion available here. Whichever way you look at it, there will be manual tracking or untracking of these replies and emails.

 

 

When resolving recipient email addresses to records in Dynamics, if there is more than one record in Dynamics with the same email address, which record is it resolved to?

 

It resolves using the method below:

If there are duplicate records within Dynamics 365 with the same email address, the contents of the email From field will resolve to the first active record in the following order on an incoming email:

      1. SystemUser- should always be first
      2. Contact
      3. Account
      4. Lead
      5. Equipment
      6. Team
      7. Business unit
      8. Email-enabled entities (for example: Queues, custom, etc.)

 

Emails will not resolve to inactive User records in the From field. There is a setting to resolve to other inactive entity records but this does not include Users: ResolveForInactiveEntities

 

Here are some additional points on how it resolves recipient records in the To or CC field of an incoming email:

If there is an inactive user in the recipients line, the App for Outlook may show that the user matches the email, but when you track, the promotion will not resolve to that email for the inactive user and it will show up in red as unresolved. It will not resolve to inactive users regardless of the ResolveForInactiveEntities setting.

 

  

 

 

If the email address is tied to an active user, it will display that in the App recipients pane, but it will still resolve to each active Dynamics record with that email address once it is promoted. If the ResolveForInactiveEntities setting is True, it will also resolve to inactive entity records except Users.

 

The App for Outlook will only show one of these records in the recipients pane, but in Dynamics, it will resolve to all records with that email address on incoming emails as long as Set To,cc,bcc fields to unresolved values if multiple matches are found is set to No in System Settings

 

 

Here are some additional points on how the To or CC field resolves on a tracked sent item:

 

If the user is active and there is a contact, it will resolve to both records, although it will show resolved to the user in the App for Outlook. It will resolve to all active records that match that email address or also inactive records if you have enabled ResolveForInactiveEntities. Again, this does not include users. You can see below it resolves to an Account, User, Contact and Lead.

If the User is Inactive, it may appear that the record is found/resolved in the App, however, when the item promotes into Dynamics, it will show up as unresolved.

 

One important thing to mention here is that this does NOT resolve to records only in the default email address fields. If you have a custom Single Line of Text field with Email format on a Contact record, you may see some interesting results.

 

For example:

      • Bob Jones is a user inside Dynamics, and on the User form, the email data field of “Primary Email” has the value Bob@test.com
      • There is an Opportunity record named “BobOpp” with the email data field of “Email” set to Bob@test.com
      • There is a Case record named “BobCase” with the email data field of “Email” set to Bob@test.com
      • There is a Contact record named “Leslie Baker” set to primary email of Baker@test.com with the email data field of “Contact Approver” set to Bob@test.com
      • There is another Contact record named “Greg Marcus” set to primary email of Marcus@test.com with the email data field of “Contact Approver” set to Bob@test.com
      • There is another Contact record named “Happy Hogan” set to primary email of Hogan@test.com with the email data field of “Contact Approver” set to Bob@test.com
      • The System Setting of “Set To,cc,bcc fields as unresolved values if multiple matches are found in Incoming Emails” is set to No
      • There is an email in Bob’s mailbox where Bob@test.com is on the To: and CC: line

If this email is promoted into Dynamics due to Bob tracking the email through Dynamics App for Outlook (as an example), the promoted email in Dynamics will show the following values:

To: Bob Jones; BobOpp; BobCase; Leslie Baker; Greg Marcus; Happy Hogan

CC: Bob Jones; BobOpp; BobCase; Leslie Baker; Greg Marcus; Happy Hogan

In the screenshots below you can see this example with only the contact records. (disregard my name in the To line. I sent to myself to track the item to demonstrate correlation)

 

 

Can I remove the option for users to Track without Regarding, so they are forced to Set Regarding to a record in Dynamics?

No, you cannot force users to Set Regarding on an email or appointment instead of allowing them the ability to Track Without Regarding. If you are migrating from the legacy Outlook client, you may have been using an OrgDbOrgSetting (OverrideTrackInCrmBehaviour) that did allow this functionality. This setting is not honored by the App for Outlook.

 

 

 

What happens if I receive a reply to a previously tracked email and choose to reply back before it is tracked. (This is not immediate tracking, so it waits for the async service to pick it up for tracking)

Replying to emails before it is tracked will still track during the next sync cycle. If you have been using the legacy Outlook client for years, this scenario was different, where a response to a previous reply that is not yet tracked would not be tracked. So that is no longer an issue if you had encountered this in the past. It will still track.

 

However, this can still be confusing for users where they may think that since they are responding to a reply that does not show up yet as tracked, that their reply will not be tracked either. Here is a break out:

      1. User A sends Tracked email to User B.
      2. User B received email, but it does not show as tracked yet in their inbox (due to asynchronous processing).
      3. User B replies (they could also forward) the message with sensitive information that should not reside in Dynamics 365. Now that message will end up in Dynamics 365 with the sensitive information.

Synchronous tracking would help this situation, but at the time of this post, that is not how emails are promoted/tracked into Dynamics. Something to be aware of.

 

 

How can I tell from Outlook if an email or appointment is tracked in Dynamics?

      • If you are familiar with the legacy Outlook client, there was an icon that appeared on tracked items, making it easy to determine if the record was tracked. Unfortunately, with the App for Outlook, there is no icon to show if it is tracked.

 

What you can do for emails, is pin the App. This will stay pinned as you navigate through emails. However, this does not work for appointments.

 

The other option is to use Category Tracking. I will not be going into this during this blog series. We may be looking at this in a future post. However, be sure you test this feature thoroughly to ensure it works for your needs.

 

When I open the App for Outlook, I see the message, "Create contacts first to avoid duplicates." Can I disable this?

No. This is not configurable and will appear when the sender of the email is unknown (does not resolve to a Dynamics record)

 

Which emails are tracked immediately vs. asynchronously?

 

At the time of this post, this is the most recent functionality

 

Use CaseInitial Promotion MethodFallback Promotion Method
Email without attachments in read mode for the first timeImmediateAsync
Recipient tracks a previously untracked emailAsyncAsync
Track an email in compose modeAsyncAsync
Track an email with attachmentsImmediateAsync

 

 

How are tracked Email deletions handled?

 

Email deletions in Dynamics 365

      • Deleting an email message in Microsoft Dynamics 365 does not delete the tracked message from Outlook/Exchange.

 

Email deletions in Outlook

      • Deleting a tracked email message in Outlook does not delete the email message from Microsoft Dynamics 365.
      • If you stop tracking an email message in Outlook, the App for Outlook asks whether you want to delete the email message in Microsoft Dynamics 365.

 

Thank you!

 

Aaron Richards

Tip #1205: Local time in Flow using Common Data Service

$
0
0

Remember the times when you wake up and struggle to figure out where you are or what time it is? Of course, you don’t. I personally can’t recall those because lack of space and time awareness goes hand in hand with the selective amnesia. We did create a flow to help you on those occasions.

That flow worked using trigger tokens (and Bing Maps API) that work when you actually push the button on a mobile device. Sometimes you don’t have a button to push, or time is unrelated to the flow itself. I am talking about datetime fields in Common Data Service, of course. Those are UTC as well so how do we convert the values into the realm of a user? It could be the user who pushed another button, or user who invoked a flow from their model-driven app, or simply the user who created the record in the first place.

Why does it matter, apart from the reasons we described in tip #1141? Imagine sitting on a beach in Hawaii, doing the numbers and, bingo!, you close that elusive sale in the evening on September 30, just in time to make your quota for the quarter. Except that you didn’t because it was already October 1 in the UTC timezone so here goes your quarterly bonus.

Since we don’t have the user location, we’d have to use user options that actually exist precisely for the purpose of localizing datetime values:

image

Getting from a user to the timezone in the format we need is not a one-step operation so these are the steps: (and remember I promised to cut down on the screenshots so here we are):

  1. Manually trigger a flow. Self-explanatory. Could be When Record is Selected CDS trigger, could be something else.
  2. Get my profile action. Gets O365 profile of the current user running the Instant Flow (i.e. triggered manually).
  3. List Records action on Users (systemuser) entity to get the list of user records for the current user (i.e. list of exactly 1 record). We could filter records by email provided by the manual trigger but that will fail miserably for B2B guest users.
  4. Initialize variable action to declare ExecutingSystemUserID variable and set it to the current system user id. Keep your flow tidy.
    Note: step 2-4 are courtesy of my bad masterclass crony, David “Xrm.Tools” Yack. They apply to Instant Flows when you have the executing user. For automatic flows you would use createdby or ownerid , or some other field containing the target user id.
  5. List Records action on User Settings (usersettings) entity to get user settings include mysterious timezonecode.
  6. List Records action on TimeZone Definitions (timezonedefinition) entity to get the name of the timezone.
  7. Initialize variable action to declare User Timezone variable. Again, keep your flow tidy. Now we are ready!
  8. List Records on account entity. Completely optional action extracting first active account owned by the user just to demonstrate the technique.
  9. Convert date time action to get the local value for createdon.

Result:

image

Since we have limited number of pictures, you can download, import, and dissect the flow in your own environment. You’ll need to provide your own Office 365 Users and Common Data Service connections.

(Cover photo by Heather Zabriskie on Unsplash)

Viewing all 51311 articles
Browse latest View live


Latest Images