Gestion du diagramme de Gantt et du point d’interrogation
Challenge: Can you send email reply to Customer from Case form in less than 5 clicks? – breakthrough feature added to @ZapObjects Helpdesk – Email to Case App for #MSDYN365 for Customer Service
CRM: Don’t use setRequiredLevel(“always”) manually!
New D365 Admin portal and new way to access Organization Insights
Microsoft Portal – Retrieve Dynamics 365 Data Asynchronously – Part 2
In part 1 of this post I demonstrated building and using a service which receives a FetchXML query and returns Dynamics 365 data to any Portal page in an asynchronous manner as a JSON object. This service is similar to the SDK’s RetrieveMultiple message.
In this part 2, I’ll demonstrate a different service, which like the SDK Retrieve message, receives a record type, record id (GUID) and columns set to return the required data as a JSON object.
This is useful when you already have a specific Dynamics 365 record id at hand and you want to retrieve additional data for this record.
- Create a Web Template named RetrieveService
Set the Mime Type is to application/json.
Paste the following code in to the web template source and save.
{% comment %} test for required parameters {% endcomment %}
{% if request.params[‘entityname’] and request.params[‘id’] and request.params[‘columnset’] %}{% capture msg_no_data %}No data for specified attribute {% endcapture %}
{% comment %} extract parameters {% endcomment %}
{% comment %} extract target entity {% endcomment %}
{% assign entityname = request.params[‘entityname’] %}
{% comment %} extract target record id {% endcomment %}
{% assign id = request.params[‘id’] %}
{% comment %} parse requested attributes into array {% endcomment %}
{% assign columnset = request.params[‘columnset’] | split: “,” %}{% comment %} query for target entity {% endcomment %}
{% assign item = entities[request.params[‘entityname’]][request.params[‘id’]] %}{% comment %} Emit JSON response {% endcomment %}
{% if item %}{
{% comment %} Iterate throguh requestd attributes array {% endcomment %}
{% for att in columnset %}
{% comment %} Handle optionset attribute {% endcomment %}
{% if item[att].label %}”{{ att }}”:”{{ item[att].label | default: msg_no_data }}”
{% comment %} Handle lookup attribute {% endcomment %}
{% elseif item[att].name %}”{{ att }}”:{“name”:”{{ item[att].name | default: msg_no_data }}”,”id”:”{{ item[att].id | default: msg_no_data }}”}
{% comment %} Handle other attributes {% endcomment %}
{% else %}”{{ att }}”:”{{ item[att] | default: msg_no_data }}”
{% endif %}{% unless forloop.last %},{% endunless %}
{% endfor -%}
}
{% endif %}{% comment %} handle missing parameters {% endcomment %}
{% else %}
{ “error”:”Missing one or more required parameter(s): entityname, id, columnset” }
{% endif %} - Create a Page Template named RetrieveService
Map the Page Template to the Web Template created on step 1 above.
Uncheck the Header and Footer checkbox. - Create a Portal Page named RetrieveService
Set Home as parent page.
Map the page to the Page Template created on step 2 and copy the partial URL which is used in the next step - Consume ServiceUse the following code sample anywhere you need asynchronous data retrieval of from Dynamics 365. In my example it is located in the Home page JavaScript portion.
Note the URL address which maps to the Page (created above) URL.
Replace the entityname, id and columnset parameters.
Most important: make sure your users have the required Entity Permissions for the entities queried, otherwise they will receive empty results.$(function (){
//define asynchronous request from any portal page
$.ajax({
method: “POST”,
url: “/retrieveservice/”,
data: {
//define entity name, id and columnset
entityname: ‘incident‘,
id: ‘D2A697CD-D3C7-E811-A965-000D3AB0F1D7‘,
columnset: ‘ticketnumber,title,createdon,incidentid,statecode,caseorigincode,customerid,ownerid‘
}
}).done(function (msg){
console.log(msg);
}).fail(function (jqXHR, textStatus, errorThrown){
console.log(textStatus);
});
});As the sample code logs the resulting JSON object to the console, open the browser developers tool (F12) to view it.
Hands On with Microsoft Dynamics GP 2018 R2: Install eConnect on Server
Microsoft Dynamics GP 2018 R2 was released on the 2nd October. In this series of posts, I’ll be going hands on and installing the majority of the components; some of them, such as Analysis Cubes for Excel, which are little used, I won’t be covering.
The series index will automatically update as posts go-live in this series.
As mentioned in the last post, on the eConnect Prerequisites, I have a number of clients who use eConnect for integration data into Microsoft Dynamics GP using the Microsoft Message Queue. This uses an eConnect installation on a server.
To install the server eConnect, log onto the server and launch the setup utility. Under Additional Products, select eConnect:
Accept the terms of the License Agreement and click Next::
If the ,em>Incoming-Outgoing Service feature is not marked, and cannot be marked, you have missed the second of the prerequisites; install the MSMQ Triggers and restart the installer.
Verify the installation location and click Next:
Enter the credentials of the service account which will run the eConnect services (this account msut be a local adminisrator during the installation). Click Next to proceed:
Enter the Server Name, Dynamics GP System Database Name (default is Dyamics) and select the authentication method for connecting to the Dynamics GP SQL Server.
Click Next:
When ready to install, click Install:
Once the installation is compelte, cick Exit:
Click to show/hide the Hands On with Microsoft Dynamics GP 2018 R2 Series Index
Read original post Hands On with Microsoft Dynamics GP 2018 R2: Install eConnect on Server at azurecurve|Ramblings of a Dynamics GP Consultant
MB2-717 Certification: (Microsoft Dynamics for Sales) – Help
Dynamics 365 Project Service Automation: Two-tier Time Entry approvals with Flow
Tip #1179: Add a dash of dash to your autonumbering
&tl;dr
Jonas “The Shuffler” Rapp reports: when modifying autonumbering for built-in entities like case, always include a dash in the pattern to stop Dynamics 365 from self-combusting.
Long story
One of the awesome users of the Auto Number Manager for XrmToolBox managed to break the system settings for Auto Numbers in Dynamics 365, so he called me up to see if I could find the problem.
The Auto Number Format of the Case Number (ticketnumber) attribute on the Case (incident) entity had been changed from the default value:
CAS-{SEQNUM:5}-{RANDSTRING:6}
To a custom format:
CASE{SEQNUM:7}
And now it was no longer possible to open the Auto-Numbering dialog in Dynamics 365.
I see four potential problems here:
- The prefix is four characters – will that fit?
- There is no dash between prefix and number
- The number is seven digits long
- There is no random string at the end
After some investigation using the number one troubleshooting methodology – some simple trial-and-error – I came to some conclusions:
- Prefix may be even longer than that, I tried with CASENUMBER and that worked fine too
- Skipping the dash makes the dialog explode like above
- Seven digits works fine, even though the UI in the dialog will only show 6, there is no 7 available
- Works fine without random string, but in the dialog it still looks like it has the random suffix
So make sure you keep a DASH between your prefix and number when you are changing Auto Number Format for out of the box number attributes!
Happy numbering!
Using Emojis In Voice of the Customer
CRMUG Summit: 16 Oct, 2:30 PM, Location: 226A – Partner Solutions Showcase presenting Maplytics New Release – We are counting you in!
Microsoft Dynamics GP-2018 Year-End Blog Series Schedule!!
D365 V9{Upgrade}: Error while upgrading NuGet package Microsoft.CrmSdk.XrmTooling.CoreAssembly to v9.0.2.5
Microsoft Dynamics GP 2018 R2: Sales Transaction Approval Workflow Including Credit Limit
Yeah, I really like all the workflow stuff in GP.
Microsoft Dynamics GP 2018 R2: Sales Transaction Approval Workflow Including Credit
CRM REST Builder v2.6.0.0
- Added 9.x support
- Added Xrm.WebApi
- Better support for Action/Function parameters
- Collection handling
- Entity related parameters allow choosing the entity type if not specific and determines id field
- Fixed a bunch of bugs
- Displaying XML in results
- Issue with fields containing “_value”
- Decimal parameter conversion
- Function parameter passing via query string
- Other usability enhancements
- Default unpopulated ids to empty guid when generating code
This will probably be the last major update for this so I can focus on creating a Web API only version that runs in the XrmToolBox.
Download here for CRM 2015/2016 & D365 CE (7.0+)
https://github.com/jlattimer/CRMRESTBuilder/releases/tag/2.6.0.0
Log any issues here: https://github.com/jlattimer/CRMRESTBuilder/issues
Dynamics 365 CRM – SSRS Report Scheduler App Giveaway by @ZapObjects – Have you Entered?
Dynamics 365 Business Central/NAV on Azure VMs: tips for best network performances
Certification Exam MB6-898 Microsoft Dynamics 365 for Talent
D365 – Ignite 2018 Sessions Videos
MVPs at User Group Summit
Looking for some fantastic sessions? Check these out – all led by a Microsoft MVP.
D365UG & AXUG Community General Session & Microsoft Town Hall
MVP Kelly Kane! She’s in charge! #womenindynamics
Kelly Kane @kellylappkane | Tuesday, October 16 | 8:15 AM – 9:15 AM | North Building, North Ballroom
BI12 – Moving From Reports to Business Intelligence
Who, me?
Joel Leichty @joelleichty | Tuesday October 16 | 9:45 AM – 10:45 AM | 122A – North
FIN17 – Understanding Production Cost Accounting for the Best Outcome
Don Riggs @donriggs_mvp | Tuesday, October 16 | 9:45 AM – 10:45 AM | 126B – North
HOL1 – Hands-on Lab: Workflow Part 1-Planning the Perfect Workflow
Rachel forced me to write this post. #UnderDuress
Rachel Profitt @rachelprofitt | Tuesday, October 16 | 9:45 AM – 10:45 AM | 127C – North
HOL2 – Hands-on Lab: Workflow Part 2-Making the Perfect Workflow Even More Perfect
Is there a part 3: “Making the Perfectest Workflow Go to 11”?
Rachel Profitt @rachelprofitt | Tuesday, October 16 | 11:00 AM – 12:00 PM | 127C – North
BI14 – Collecting BI Requirements for an Upgrade or Implementation
Joel Leichty @joelleichty | Tuesday, October 16 | 1:15 PM – 2:15 PM | 122A – North
FIN13 – The New Vendor Invoice Automation in Practice
I’m disappointed I can’t make this session! Looks great.
Ludwig Reinhard @dynamicsaxfico | Tuesday, October 16 | 1:15 PM – 2:15 PM | 125A – North
HOL3 – Hands-on Lab: Workflow Part 3-Finalizing and Testing the Perfect Workflow
LOL I swear I didn’t see this before I wrote my snarky comment above.
Rachel Profitt @rachelprofitt | Tuesday, October 16 | 1:15 PM – 2:15 PM | 127C – North
IND13 – Application Lifecycle Management: Operating Multiple Instances of AX 2012 R3 and D365
Thomas Ejby @powerpappi | Tuesday, October 16 | 1:15 PM – 2:15 PM | 126A – North
SYS07 – Leveraging Excel for Reporting and Data Manipulation
Excel!!! Best ERP on the market, in my opinion.
Justin Carter @DAXDude | Wednesday, October 17 | 2:30 PM – 3:30 PM | 121A – North
LPD04 – From Developer to Leader: What I Learned on my Journey Through the ERP Industry
Justin Carter @DAXDude | Wednesday, October 17 | 3:45 PM – 4:45 PM | 128B – North
LPD05 – The Art of Mentoring a Technical Expert
Don Riggs @donriggs_mvp | Thursday, October 18 | 8:30 AM – 9:30 AM | 128B – North
DEV09 – Flowing With the Common Data Services – Part 1
Rachel Profitt @rachelprofitt | Thursday, October 18 | 9:45 AM – 10:45 AM & 1:15 PM – 2:15 PM | 122C – North
MFG09 – Ask the Experts: Master Planning
Don Riggs @donriggs_mvp | Thursday, October 18 | 9:45 AM – 10:45 AM | 126B – North
FIN18 – Understanding Revenue and Cost: Inventory and Purchasing Cost Accounting
Don Riggs @donriggs_mvp | Thursday, October 18 | 2:30 PM – 3:30 PM | 128A – North
FIN21 – Not to Fear: Audits, AX, and Beer is Back Again for 2018!
Our fearless leader is back!
Kelly Kane @kellylappkane | Thursday, October 18 | 2:30 PM – 3:30 PM | 227A – North
POWDC08 – Power BI for Accountants
Belinda will teach you about debits and credits. Most accountants only dive into one other the other.
Belinda Allen @belindathegpcsi | Thursday, October 18 | 2:30 PM – 3:30 PM | 228B – North
D365UG/AXUG Closing Feedback Session