Quantcast
Channel: Dynamics GP Support and Services Blog : great plains
Viewing all 566 articles
Browse latest View live

Microsoft Dynamics GP 2015 R2 - Scriptable Provisioning

$
0
0

Hello All!

Up to the release of Microsoft Dynamics GP 2015 R2, there have been two accepted methods for the deployment of Dynamics GP, Web Services and the Web Components (Web Client and Service Based Architecture). The first way was to run through Setup.exe and input values into the fields when prompted. The second method was to go through the silent installation at a command prompt where the values are passed in as parameters.

Scriptable Provisioning allows for a third method of deployment. For this method, PowerShell is leveraged and though it is similar to the silent install method, it has some distinct advantages. The first is that it allows for the creation of a template that can be leveraged with other PowerShell cmdlets. Another advantage is that you can either run the PowerShell cmdlet on the local machine or from a remote machine.

Having said that, I see the biggest advantage surrounding some of the implementation of the Dynamics GP Client. Not only does it lay the files for the Dynamics GP Client down, it also goes through the process of creating the System Database, the Lesson Company Database, any Company Databases and will even synchronize the GP Client for you!

Install-GPRuntime -MediaRoot "C:\Flats\GreatPlains" -SqlServerName "ServerNameWithInstance" -FeatureSelection "GP,FAM,WEBCLIENTRUNTIME" -SystemDatabaseName "DYN01" -SynchronizeDictionary

 In Dynamics GP 2013 R2, the GP PowerShell Application was introduced with some PowerShell cmdlets to administer Scale Groups. This same application now holds cmlets for the following items:

  • Installation of a Dynamics GP Client (Install-GPRuntime)
  • Creation of the GP System Database (New-GPSystemDatabase)
  • Creation of the Fabrikam Company Database (Add-LessonCompany)
  • Creation of a new Company Database (Add-Company Database)
  • Installation of other applications via an MSI (Install-GPISVProduct)
  • Adding files to the local machine from a network share (Install-GPISVProduct)
  • Installation of Web Services (Install-GPWebServices)
  • Installation of Web Components (Install-GPWebComponents)
  • Administration of Tenant Services (Add-GPTenant, Add-GPTenantServiceUser and Add-GPTenantUser)

Though the biggest benefactor of this feature may be hosting partners, I believe both traditional partners and customers can benefit from this solution. Imagine creating a script for the production database that can be used on the development environment, which ensures that the same settings are used.

Though this deployment type will not fit every scenario, I have enjoyed the ease in which an environment could be spun up with little interaction. This was especially true with the option to remotely deploy to another machine.

I hope you enjoy this new feature!

More detailed information around this feature will be coming soon.

Click HEREto view the GP 2015 R2 New Features blog schedule!! Lots of COOL new features to see!!

As always, keep up to date on what you need to know with our Microsoft Dynamics GP Blogs


GP Web Client: 'Web Client user only' or Windows Authenticated user login issues.

$
0
0

Over the next several weeks we will be pushing out some blogs about GP Web Client. I wanted to kick things off with a common issue I have been seeing more and more cases being opened for.

Let’s say that you have the GP Web Client up and running and users are able to log in with their GP\SQL authenticated user accounts. You decide to associate their Windows accounts with their GP accounts in the GP User Setup window to make the login process a little more seamless. Or you start to set up ‘Web Client user only’ accounts for users who will be using the Web Client exclusively. Once you set this up though the users are still being directed to log in with their regular GP user accounts. They may receive the following error:

“This login failed. Attempt to login again or contact your system administrator.”

You may also find login failure errors in the SQL server logs or the Event Viewer logs.

This will usually indicate that the Web Client SQL user (SQL Proxy user) account has not been setup correctly. Here are some considerations and troubleshooting steps you can look into before opening a support case.

  1. The Web Client SQL user has the same limitations as a regular GP user. The username and password cannot exceed 15 characters in length. It will let you set it up and exceed these limitations, but GP will not be able to properly log the user in.

  2. You cannot use the SA account for this feature.

Here are the steps that you should go through to make sure this is setup and working properly.

  1. Launch GP Utilities as SA and get to the drop-down menu. Select the ‘Manage Web Client SQL Server login’ option and click Process.

  2. If you already have a ‘Login Name’ populated that means this process has already been run through. I recommend that you delete the user that is listed here from SQL completely before proceeding. If the Login Name field is blank, then we know the SQL user has not been setup.

  3. Put in a new Login Name and password. This is going to create a brand new SQL authenticated user and assign the proper permissions to that user in SQL. (Do not check the ‘Change password’ option since we are setting this user up from scratch)

  4. Once you’ve specified this user in Utilities you now need to specify this user in the GP Web Client install\setup. Go into Programs and Features and run a Repair of the GP Web Client. You are looking for the following screen:

  5. You will enter the same username\password here that you just specified in GP Utilities. The username is case sensitive so keep that in mind.

  6. Complete the repair – You should not need to change any settings and only be required to enter the passwords of the service accounts you used to do the install.

Once you’ve finished this process you can test to see if the users are able to log into GP with their Windows credentials. If you are still having a problem at this point you may want to open a support case, but the majority of our calls are being resolved with the above solutions. I’ve only had 1 other case where it was a permissions issue with the GP code folder on the Session Host server. I think the code folder had been copied from another machine or something as Inheritance was broken and we had to explicitly give the users permissions to the folder. There was an obvious ‘Access Denied’ error occurring in Event Viewer for this issue though.

I hope the above information helps you out if you get into this situation. Stay tuned for more Web Client blogs from the rest of the team over the next few weeks!

Troubleshooting Steps to Try Before Opening a Support Case for Microsoft Dynamics GP Web Client

$
0
0

Five Troubleshooting Steps to Try Before Opening a Support Case

 

As a part of our Web Client blog series, I wanted to take the opportunity to share some of the most common issues and resolutions that we have seen in support cases. These steps will cover a range of issues, so if you’re experiencing any of the following, give these steps a try.

  1. Users receive a “A problem occurred creating a session” error after entering their credentials.

  2. Stuck on “Please wait while we get things ready” message.

  3. Users receive an HTTP 503 error on the Web Client home page.

  4. Receive a HRESULT: 0x80070425 error when restarting the App Pool

  5. You receive a “CrossDomain” error after logging in, but before the GP login page.

  6. You receive a “Server Not Found” error after logging in, but before the GP login page.

  7. You are able to log in, but the session is stuck on the gray screen with a “Connected” status, but the login page doesn’t appear.

  8. You are able to log in to Web Client, but you receive a “Privilege Error” once the application starts loading.

     

Services:

The best place to start with troubleshooting is by taking a look at the services. Web Client has two services installed. They are named: GP Session Central Service, and GP Session Services. These two services need to both be running for Web Client to work. If the Session Service is not started, users will receive the “Problem Occurred Creating a Session” error. If the Session Central Service is not started, users will hang on the “Please wait while we get things ready” screen.

The Application Pool in IIS isn’t necessarily a service, but you should make sure that the App Pool is running as well. If the App Pool isn’t running, users will get the HTTP 503 error upon hitting the Web Client site.

The last thing to look at is also not technically a service, but the actual Website in IIS can be stopped and started just like a service, so make sure the IIS site is also started. You will get a “The webpage cannot be found” error if the site isn’t started.

 

Service Accounts:

The next area to look into for troubleshooting is the service accounts themselves. If the password expires on a service account while the service is running, the service may stay running, but you won’t be able to restart it. The best way to test this is to just try to restart the service. If the credentials are invalid, you’ll receive an error stating that the “service started and then stopped”. Restarting the App Pool in IIS is another thing you should do to make sure that the credentials being used for the App Pool are still valid.

The service account that is being used to run the Session Central service needs to have Read access to the OU when the user logging in is, and Read access to the OU where the Web Client Users AD group is located. Upon logging in, the Session Central Service enumerates the Web Client Users group and checks if the logging in user is a member of that group. That AD call is made with the Session Central service account. If there are any invalid or orphaned users in the Web Client Users group, the enumeration will fail with a “ValidateCallerIsMemberOf()” method failure in Event Viewer.

 

TenantConfiguration.XML / Tenant Configuration Snapin:

If you’ve installed your environment with Tenant Services, and have multiple tenants configured, then the troubleshooting here will be done using the Tenant Configuration SnapIn in Web Management Console. If you’ve installed in Single-Tenant mode, then this troubleshooting will be done in the TenantConfiguration.XML file, which is located in the SessionCentral subfolder of the location that you installed the Web Components to.

The tenant configuration, both for multitenant and single tenant, contains several key pieces of information; the location of the Dynamics.exe, the Dynamics.SET, and the Dex.ini. In Tenant Manager and the TenantConfiguration.XML, the paths for the Dynamics.SET and the Dex.ini need to be explicitly defined, and the Dynamics.exe just needs to be pointed to the folder where the .exe is located.

C:\Program Files (x86)\Microsoft Dynamics\GP2015\

C:\Program Files (x86)\Microsoft Dynamics\GP2015\Dynamics.set

C:\Program Files (x86)\Microsoft Dynamics\GP2015\Data\Dex.ini

If these paths are wrong, unreachable, empty, or not explicitly defined as you see here, then the Silverlight XAP file will be loaded into the user’s browser, but the application won’t connect. You’ll freeze with a “Connected” message, or you’ll get an error regarding the launch file.

 

The desktop client installed on the Session Host Server:

Since the Web Client is simply an iteration of the desktop client that is installed on the Web Server, errors received in the Web Client can typically be reproduced in the desktop client as well. If a user reports an error message while using Web Client, or they experience some type of freezing or performance issue, have that user log into GP on the Session Host server and see if the issue occurs for them there. If they are a Web Client Only user, you can make a SQL login for them to test the issue in the desktop client.

If you receive dictionary errors, privilege errors, or other types of file errors in the Web Client, you should try launching the desktop client to resolve the issues there first, then they should be resolved in the Web Client as well. You can use the desktop client installed there to troubleshoot shared dictionary and custom report dictionaries as well.

Certificates:

The certificates that are bound to your services are the final piece to check on when troubleshooting Web Client issues. If you have bound a certificate to the Session Service and Session Central services, you need to make sure that the certificate that you’ve bound to the service is installed to the Trusted Root of the Local Machine store on the servers. You need to make sure that the Certificate that is bound to the Runtime Service is in the Trusted Root of the client machines. We have seen some issues with Certificates from Third Party Certificate Authorities throwing Cross Domain errors unless that certificate itself is explicitly in the Trusted Root. Usually, with 3rd Party Certs, they are trusted by default due to the Root CA Cert already being in the Trusted Root. However, if you’re still getting errors relating to HTTP security, then you should manually export the certificate, and install it into the Trusted Root of the Local Machine store on the computer it is being accessed from.

The quickest way to move certificates is to use the MMC tool. Add the Certificates snapin, and then select the Local Machine option after adding the snapin.

 

While this is not a fully comprehensive list of issues and troubleshooting steps, following this guide should get you through the majority of errors you may run into with Web Client.

 

 

 

 

 

 

Workflow 2.0 tables, what each one does, and what information you can get from them for reporting purposes.

$
0
0

We've had a few questions on how to setup or find information in regards to Workflow 2.0 functionality in Microsoft Dynamics GP 2013 R2 and Microsoft Dynamics GP 2015/R2, in order to put together various reports holding information such as the originator of the document or batch, approvers, final approvers and like information. In this blog, we're going to go through each table, what information it holds, and what information is written to the tables along the workflow process.

The Workflow 2.0 tables are as follows:

WF00100 - Workflow Setup
WF00104 - Workflow User Security
WF100001 - Workflow Type Table
WF100002 - Workflow Master
WF100003 - Workflow Step Table


WF30100 - Workflow History
WF40200 - Workflow Users
WF40201 - Workflow Roles
WF40202 - Workflow Template Fields
WF40300 - Workflow Calendar
WF40310 - Workflow Calendar Down Days
WF40400 - Workflow Email Notifications
WF40500 - Workflow User Delegation Master
WF40510 - Workflow User Delegation Line

WFI10002 - Workflow Instance Master
WFI10003 - Workflow Step Instance Table
WFI10004 - Workflow Tasks Table
WFI10005 - Workflow Step Instance Users

By default, using Dynamics GP 2015 R2 as an example, before Workflow 2.0 is setup at all, only these tables will have any records in them:

-- WF100001 = One record for each of the 15 possible types of Workflow that are available. (This could be different depending on what features and version of Dynamics GP you are on.)

--WF40201 = Each of the 3 to 5 roles that are available for each of the 15 Workflow types that are available, including Workflow originator, Workflow Approver, Alternate final approver, Requested by, and other roles specific to the workflow types, such as Employee.

--WF40202 = Each field that is available for each of the Workflow email notifications that are available for the 15 different types of workflows.

After setting up SMTP email information and Web Services information in the Workflow Setup window, the following tables get populated:

--WF00100 = A record is written to include the Web Services and SMTP email setup information from the Workflow Setup window.

After saving a new workflow, for example, the Purchase Order Approval workflow, with a name and description:

--WF00104 = 1 record holding the Purchase Order Approval workflow name and user account that saved the changes, such as 'sa'.

--WF100002 = 1 record holding the Purchase Order Approval workflow name and setup information such as whether it is active or not. Settings are specified as either 0 (not setup) or 1 (setup).

--WF40300 = One record for each of the 7 week days, indicating whether they are a work day or not, as setup in the Workflow Calendar by default.

After setting up and saving a new workflow step for the Purchase Order Approval workflow:

--WF100003 = One record with the workflow step's name, description, approver GUID for whom the step is assigning to for approval and other setup information.

--WF40200 =  One record for the approver's GUID, name, display name, alias, domain, login and other information related to this Active Directory approver account.

After adding a manager to the Purchase Order Approval workflow type and saving changes:

--WF40200 = Another record gets added with the manager's GUID, name, display name, alias, domain, login and other information for this Active Directory manager account.

After activating the Purchase Order Approval workflow type and saving changes:

--WF100002 = record for the Purchase Order Approval workflow type gets updated to show the workflow is active for this company database.

After submitting a purchase order for approval through Workflow 2.0 and verifying the PO shows as pending approval from the approver we setup:

--WF30100 = One record is created for the PO being submitted for approval (Workflow_Action = 1), who submitted the PO, the name of the workflow and the step, as well as due date the approver has to approve by.

--WFI10002 =One record is created for the workflow, the purchase order number submitted for approval, Workflow_Status (4=Pending User Action), the originator of the PO, the corresponding table (POP10100 in this case) and Document Drill Down information.

--WFI10003 = One record with the name of the workflow and step again, the Workflow_Step_Status value (2 = Pending User Action) and the Workflow_Step_Assigned_To GUID, indicating the user from WF40200, that the PO was assigned to for approval.

--WFI10004 =This record also holds the workflow name and step name, as well as who the workflow task was assigned to, and the due date for when the approver has to approve it.

Lastly, I final approve the purchase order so it is 'completed' and not pending any further approval information:

--WF30100 = Another record gets written, this time with the Workflow_Action value of 10 (final approved) and the name of the approver in the Workflow_History_User column.

--WFI10002 = The one record gets updated to show a Workflow_Status of 6, meaning 'Completed'.

--WFI10003 = The one record gets updated to have a Workflow_Step_Status = 4, meaning 'Completed'.

The Workflow_Action values for the WF30100 table are:

1- Submit

2- Resubmit

3- Approve

4- Task Complete

5- Reject

6- Delegate

7- Recall

8- Escalate

9- Edit

10- Final Approve

The Workflow_Status values for the WFI10002 table are:

1- Not Submitted

2- Submitted (Deprecated)

3- No Action Needed

4- Pending User Action

5- Recalled

6- Completed

7- Rejected

8- Workflow Ended (Depricated)

9- Not Activated

10- Deactivated (Depricated)

The Workflow_Step_Status values for the WFI10003 table are:

1- No Action Needed

2- Pending User Action

3- Rejected

4- Completed

5- Recalled

6- Failed

As you can see, all of the information for Workflow 2.0 is available, it is just found in multiple tables that you would need to link together to create, for example, a SQL View, that could then be used in a custom report pulling this type of information.

For example, here is a quick example script:

SELECT a.Workflow_Name, a.WorkflowInstanceID, a.WorkflowTaskAssignedTo, b.Workflow_Step_Status, b.Workflow_Step_Assign_To, c.Workflow_Status, c.Workflow_Originator

FROM <companydb>.dbo.WFI10004 a

JOIN

<companydb>.dbo.WFI10003 b

ON a.WorkflowInstanceID=b.WorkflowInstanceID

JOIN

<companydb>.dbo.WFI10002 c

ON a.WorkflowInstanceID=c.WorkflowInstanceID

This script will give the workflow name, who the task is assigned to, the workflow step and workflow status, as well as the workflow originator. Using this example, you could potentially filter it to pull in the specific information you want/need for a custom report pulling information in regards to Workflow 2.0 activity.

Hopefully this blog will help give information as to where to find specific Workflow 2.0 information that can be used in troubleshooting issues, as well as what tables can be used to find information to use for reporting purposes as needed, to go along with the navigation list reports that are already in Microsoft Dynamics GP 2013 R2 and Microsoft Dynamics GP 2015/R2, by default.

***Updated***Web Services: Steps to change Web Services address from http to https in Microsoft Dynamics GP 2010 and later

$
0
0

The steps below can be used as a guide to change your Web Services from http to https. 

Before we begin, there are a few notes to consider:

  1. You’ll need to find new ports for your Microsoft Dynamics GP Web Services application to run on.

    1. By default it probably installed to 48620.

    2. For the example below we’ll be using port 48622. You can use any available ports on your Web Services machine

  2. It is highly recommended that you backup any .config file before making changes.

  3. If you need to access Microsoft Dynamics GP Web Services externally you'll need to use a publicly routable namespace in both your certificate as well as in the new base addresses that you specify.

Certificate Binding

  1. Create (or acquire) the SSL certificate. If your requirements include accessing Dynamics GP Web Services externally a 3rd party certificate may work best. Otherwise an internal Certificate Authority may work.

  2. Register the certificate for the new ports by running the following in an elevated Command Prompt (right-click on the Command Prompt shortcut and select Run as Administrator):

    1. NETSH: netsh http add sslcert ipport=0.0.0.0:<SSLPORT#> certhash=<THUMBPRINT ID> appid=<ARBITRARY GUID>

    2. EXAMPLE: netsh http add sslcert ipport=0.0.0.0:48622 certhash=05a298da9200ee2e18250452e07928ce8f716f27 appid={07663267-F6A1-4F6F-9833-56FD0ABE0B89}

  3. Add a URL reservation for your new https base addresses (e.g. the native/legacy endpoint (48622) and Dynamics Security Admin (48623)) by running the following in an elevated Command Prompt:

  1. NETSH: netsh http add urlacl url=https://+:<SSLPort#>/ user=<SERVICE USER>

  2. EXAMPLE: netsh http add urlacl url=https://+:48622/ user=domain\user

NOTE: Trailing slash is required

 

Update Binding

  1. Update the wsHttpBinding in WSBindings.config (found in C:\Program Files\Microsoft Dynamics\GPWebServices\ServiceConfigs)

    1. Create a second binding that is a duplicate of the existing WSHttpBindingTarget binding

    2. Rename it to something like WSHttpBindingTargetSSL

    3. Set the security mode to “Transport”

Example:

<wsHttpBinding>

   <binding name="WSHttpBindingTarget" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true">

     <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>

     <security mode="Message">

       <message clientCredentialType="Windows"/>

     </security>

   </binding>

   <binding name="WSHttpBindingTargetSSL" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true">

     <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>

     <security mode="Transport">

       <message clientCredentialType="Windows"/>

     </security>

   </binding>

</wsHttpBinding>

 

You then need to update the service configuration file that corresponds to the endpoint you are using (e.g. Native or Legacy).

Legacy:

  1. Open DynamicsGPLegacy.config (found in C:\Program Files\Microsoft Dynamics\GPWebServices\ServiceConfigs)

  2. Make the following change under <services>

<service name="Microsoft.Dynamics.GP.WebServices.LegacyContract.DynamicsGP" behaviorConfiguration="GPLegacyStaticMetadataBehavior">

To

<service name="Microsoft.Dynamics.GP.WebServices.LegacyContract.DynamicsGP" behaviorConfiguration="GPDynamicMetadataBehavior">

  1. Add another entry under <baseAddresses> with your secure URL:

Example:

<baseAddresses>

                               <add baseAddress="http://<machinename>:<assignedport#>/DynamicsGPWebServices"/>

                              <add baseAddress="https://<machinename.domain.com>:<SSLPort#>/DynamicsGPWebServices"/>

</baseAddresses>

 

*NOTE: Replace <machinename.domain.com> with an appropriate URL and <SSLPort#> with the new port (e.g. 48622).

  1. Update the <serviceMetadata> attribute of the GPDynamicMetadataBehavior section as follows:

       <behavior name="GPDynamicMetadataBehavior">

              <serviceThrottling maxConcurrentSessions="1024"/>

<serviceMetadata httpsGetEnabled="true"/>

              <serviceDebug includeExceptionDetailInFaults="true"/>

              <dataContractSerializer maxItemsInObjectGraph="2147483647"/>

              <serviceCredentials>

                              <userNameAuthentication cacheLogonTokens="true"/>

              </serviceCredentials>

       </behavior>

 

Native:

  1. Open DynamicsGP.config (found in C:\Program Files\Microsoft Dynamics\GPWebServices\ServiceConfigs)

  2. Make the following change under <services>

Change:

<service name="Microsoft.Dynamics.GP.WebServices.Contract.DynamicsGP" behaviorConfiguration="GPWCFStaticMetadataBehavior">

To

<service name="Microsoft.Dynamics.GP.WebServices.Contract.DynamicsGP" behaviorConfiguration="GPDynamicMetadataBehavior">


Change:

<endpoint address="GPService" name="GPWebService" binding="wsHttpBinding" bindingConfiguration="WSHttpBindingTarget" contract="Microsoft.Dynamics.GP.WebServices.Contract.IGPServices"/>

To:

<endpoint address="GPService" name="GPWebService" binding="wsHttpBinding" bindingConfiguration="WSHttpBindingTargetSSL" contract="Microsoft.Dynamics.GP.WebServices.Contract.IGPServices"/>

  1. Add another entry under <baseAddresses> with your secure URL:

Example:

<baseAddresses>

               <add baseAddress="http://<machinename>:<assignedport#>/Dynamics/GPService"/>

               <add baseAddress="https://<machinename.domain.com>:<SSLPort#>/Dynamics/GPService"/>

</baseAddresses>

 

*NOTE: Replace <machinename.domain.com> with an appropriate URL and <SSLPort#> with the new port (e.g. 48622).

  1. Update the <serviceMetadata> attribute of the GPDynamicMetadataBehavior section as follows:

       <behavior name="GPDynamicMetadataBehavior">

            <serviceThrottling maxConcurrentSessions="1024"/>

             <serviceMetadata httpsGetEnabled="true"/>

            <serviceDebug includeExceptionDetailInFaults="true"/>

            <dataContractSerializer maxItemsInObjectGraph="2147483647"/>

            <serviceCredentials>

                            <userNameAuthentication cacheLogonTokens="true"/>

            </serviceCredentials>

       </behavior>

 

Web Services and Workflow 2.0

If you’re using Workflow 2.0 functionality that was introduced in Microsoft Dynamics GP 2013 R2 and you want users to have the ability to approve from e-mails you need to provide Dynamics GP Web Services connection information. If you want that process to use a more secure connection you’ll need to make the following adjustment.

1. Another entry needs to be made to the WSBindings.config file, but this time it should be a duplicate of the "WebHttpBindingTarget" section. Rename it to something like "WebHttpBindingTargetSSL" and set the security mode to "Transport"

Example:

   <binding name="WebHttpBindingTargetSSL" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" useDefaultWebProxy="true">

     <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>

     <security mode="Transport">

       <transport clientCredentialType="Ntlm"/>

     </security>

   </binding>

 

2. Open the GPWorkflowService.config (found in C:\Program Files\Microsoft Dynamics\GPWebServices\ServiceConfigs)

a.Change the following line to point to the new binding definition from Step 1:

<endpoint behaviorConfiguration="GPWorkflowService.RestBehavior" binding="webHttpBinding" bindingConfiguration="WebHttpBindingTargetSSL" contract="Microsoft.Dynamics.GP.WebServices.WorkflowActionRenderingEngineContract.IWorkflowActionRenderingEngine"/>

b. Add another entry under <baseAddresses> with your secure URL:

 Example:

<baseAddresses>

   <add baseAddress="http://<machinename>:<assignedport#>/Dynamics/GPService/rest "/>

   <add baseAddress="https://<machinename.domain.com>:<SSLPort#>/Dynamics/GPService/rest "/>

</baseAddresses>

 

When you enter the Microsoft Dynamics GP Web Services information in the Workflow Setup window in Microsoft Dynamics GP you'll need to specify the correct URL (<machinename.domain.com>) and port (<SSLPort#>) as well as marking the "This server requires a secure connection (SSL)" box.

 

Final Configuration

  1. Update your firewall configuration

    1. Make sure your new ports are allowed

    2. You can simply add this port to the existing GPService rule

      1. Start -> Control Panel -> Administrative Tools -> Windows Firewall and Advanced Security

      2. Click on Inbound Rules

      3. Double click on GP Service

      4. Select the Protocols and Ports tab

      5. Insert a comma and your new SSL port in the Local port: field

  2. Restart the Microsoft Dynamics Service Host service to force the changes. If you encounter errors you can review the Dynamics Event Viewer log (under Applications and Services Logs) for more information. The service should start successfully. If not, check the Dynamics Event Viewer log, found under Applications and Services Logs for more information.

Word Template RM Statements Formatting when Emailing as PDF

$
0
0

We have seen some formatting issues in Support around the RM Statement Word Template when they are emailed as PDF.

Ultimately, the body of the RM Statements gets reduced by about an inch on the right side, and part of the page gets cut off if you email your RM statements templates as PDF,   The amount Due will also get cut off, as well as the outstanding balances. (screenshots below) This does not occur when sending as DOCX. 

This occurs with our standard Word Template, and Modified Word Templates that were based on the standard format.  Versions 14.00.0778 or higher of GP 2015 R2 and versions 12.00.1920 and higher on GP 2013 R2 can see this issue. 

We do have a fairly simple workaround for this that I have tested to verify and wanted to share. 

  • Select all cells in the table in the body of the document
  • Right click and select AutoFit > Fixed Column Width

  • Save and import the modified template
  • Assign the new template to your company and set as default

I hope this helps with any questions or issues that you may be seeing around this.

Thanks,

Isaac Olson

Microsoft Support

A program is trying to send an e-mail message on your behalf when trying to send a Template via E-mail

$
0
0

Are you seeing this message every time you are sending a Template document via E-mail?

Luckily there is a very easy fix.  What is happening is when the user clicks send GP is looking to the Win.ini tile for certain MAPI settings.  If they are not there then the user is prompted with this message.  You could disable through Programmatic Access on the Trust Center window, but there is an easier fix.

1. Open a Windows Explorer window and go to C:\Windows.
2. Make a backup of the Win.ini

3. Open the WIN.ini file found in this folder.
4. Look for the MAPIX setting in the file under the [Mail] section of the file.
a. If the MAPIX setting reads MAPIX=0, please change the 0 to a 1 and then save the file.
b. If there is not a MAPIX setting under the Mail section, please add the following under the Mail section of the file:
i. MAPIX=1
5. Once you have modified the WIN.ini file, please be sure to save the changes and then close the file.
6. Then you can restart both Microsoft Outlook and Dynamics GP to ensure that the changes to the file are picked up.

If you run into trouble with editing the Win.ini you can save this to your desktop and drag and drop it into the C:\Windows folder.

If this still does not work you will need validate your Registry.  The document below will walk you through on how to check your Registry for Mail. Go through Steps 1-7 and choose Option A if you are 32-bit or Option B if you are 64-bit. 

(Please visit the site to view this file)

The steps above should resolve this error.  Let us know if you run into any trouble.

Enjoy,

Andy Sather

Sr Support Engineer

Microsoft

Web Client Error: The service cannot be started either because it is disabled or because it has no enabled devices associated with it.

$
0
0

We have seen a couple cases where customers are getting the error message below in the Event Viewer when attempting to spin up a Web Client session. If you happen to see the error be sure that you verify that the following Windows Services are running on your Web Client Server: Application Information and Secondary Logon. In the customer environment I was troubleshooting, the Application Information service was running, but the Secondary Logon service was disabled. We had to enable the service and start it before we were able to login to the Web Client. 

ERROR:
The service cannot be started either because it is disabled or because it has no enabled devices associated with it.

Thanks and have a great day!

Ross 


Conversion failed when converting the varchar value 'XXXXX' to data type int.

$
0
0

Hello -

When upgrading to Microsoft Dynamics GP 2015 R2, you may encounter the following error message:
Conversion failed when converting the varchar value 'XXXXX' to data type int.


Here is an example of a corresponding call that you would see in the Dexsql.log file:

UPDATE ASIEXP86 SET ASI_Field_Number = CASE WHEN ASI_Field_Number = 24453 THEN 24452 ELSE 24453 END, ASI_Column_Display_Name = CASE WHEN ASI_Column_Display_Name = 24453 THEN 24452 ELSE 24453 END WHERE ASI_Favorite_Dict_ID = 0 and ASI_Favorite_Type = 12 and ASI_Favorite_Name <> '' and ASI_Field_Number in (24453,24452)
/*
/* Date: 08/06/2015 Time: 8:50:59
SQLSTATE:(22005) Native Err:(245) stmt(11354784):*/
[Microsoft][SQL Server Native Client 11.0][SQL Server]Conversion failed when converting the varchar value 'Debit ' to data type int.*/

 

If you encounter this issue, you can definitely troubleshoot it at the point of failure.

To resolve this issue, please do the following:

A. Run these scripts to find the records causing this error to occur:

     1. Select asi_column_display_name, asi_field_number, asi_favorite_name, * From DYNAMICS..ASIEXP86 where asi_field_number = 24452

     2. Select asi_column_display_name, asi_field_number, asi_favorite_name, * From DYNAMICS..ASIEXP86 where asi_field_number = 24453

   >>>In the results returned by these two scripts, the results in the ASI_Column_Display_Name should only be numeric values. The first script should only return 24452 in this column and the second script should only return 24453.

   If you have any other values besides 24452 or 24453, then you'll need to remove the records from the ASIEXP86 table.


B. I would recommend making a backup of this table, using the following script:

     Select * into DYNAMICS..ASIEXP86BAK from DYNAMICS..ASIEXP86


C. To remove the invalid records from the ASIEXP86 table, you can use a script such as this:

     
Delete DYNAMICS..ASIEXP86 where ASI_Column_Display_Name = 'xxxxxxx'

**Note: Replace xxxxxxx with the non-numeric value that you see in the results from the Dexsql.log file.


D. Once you remove the invalid records, run the two scripts mentioned previously again, and verify that the ASI_Column_Display_Name column only shows 24452 for the first script and 24453 for the second script.

     1. Select asi_column_display_name, asi_field_number, asi_favorite_name, * From DYNAMICS..ASIEXP86 where asi_field_number = 24452

     2. Select asi_column_display_name, asi_field_number, asi_favorite_name, * From DYNAMICS..ASIEXP86 where asi_field_number = 24453


E. If the column shows the correct values, you can then launch Dynamics GP 2015 R2 Utilities again and continue with the upgrade of the DYNAMICS system database again, which should get past this ASIEXP86 error message.

Thank you!
Sarah
Microsoft Dynamics

Workflow 2.0: Adding an AD security group to a Workflow

$
0
0

There are a few things that you need to consider if you are attempting to add an AD Security group to a workflow in GP.

First, the same limitation exists for groups that exist for users in that you need to have a 'Display Name' configured for the group.  If you do not you will not be able to successfully add the group to the Workflow.  I setup an AD Security Group called 'WrkFlow' and am trying to add it to my Workflow in GP 2015.  You'll notice that the group comes up with just the (Domain\Name) when I look it up.

You need to go into 'Active Directory Users and Computers' and give the group a 'displayName' in the Attribute Editor.  You will need to set the window up to view Advanced Features to accomplish this.

In the 'Active Directory Users and Computers' window go to 'View' and make sure the 'Advanced Features' option is checked.

You will then be able to 'Right-Click' your security group and go to 'Properties'.  In the 'Properties' window you will now have an 'Attribute Editor' tab available at the top.  In the 'Attribute Editor' tab you'll be able to select the 'displayName' attribute and click the edit button to give it a name.

Once you've given your security group a 'displayName' it will now show up in Workflow like the following:

Notice that it is no longer showing JUST the (domain\group) name, it will now also show the display name you gave it.  This is required for wokflow to successfully add a user or a group.

There is also another issue that can arise here were you will find the group but it will not add it.  When you create a security group in Active Directory it is assigned a 'Group name (pre-Windows 2000):' name.  This will default to whatever you name the actual group.  We insert this name into SQL with a character limit of 21 or less.  So if you have security group name that exceeds 21 characters in length you need to manually change the 'pre-Windows 2000' name to be less than 21 characters in length.  You can find this setting in 'Active Directory Users and Computers' by right-clicking the group and going into properties and looking at the 'General' tab.

These are the only 2 factors that I am currently aware of that will prevent you from adding an AD security group to Workflow 2.0.  The group must be a security group and not a distribution group as well.  I hope this information helps you out if you're in the process of implementing Workflow 2.0 in your environment.

MR error 'Sequence contains no elements' after applying CU13

$
0
0

After upgrading to MR 2012 CU13, you may encounter the following error on the CompanyProvider to Company task:

Sequence contains no elements.

 

This error will occur if there is a missing record in the Reporting.ControlCompanyIntegration table, in the Management Reporter database. To correct this, you’ll need to run the following queries:

select * from Reporting.ControlCompany

 

select * from Reporting.ControlCompanyIntegration

 

There should be an equal number of records in both tables. The exception is if you have Legacy companies. Legacy companies will be in the Reporting.ControlCompany table only. If there is a record in the Reporting.ControlCompany but not the Reporting.ControlCompanyIntegration, you’ll need to do an insert statement to add the missing record:

insert into Reporting.ControlCompanyIntegration (ID, SourceID)

values ('<ID>', '1')

 

<ID> will be the missing ID value from the Reporting.ControlCompany table.

 

This issue is logged as bug 3669431 is scheduled to be fixed in an upcoming release.

MR crashes when you export or click File | Open

$
0
0

There is a known issue with MR that occurs after applying Security Update for Microsoft Windows (KB3059317), that was released in June 2015. If you try to export reports or click File | Open, MR will crash. This has been fixed in CU13 (2.12.13001).

If you are not able to upgrade to CU13 immediately, you can work around this by using the keyboard to navigate the windows, instead of using mouse clicks.

How to set up Configurator Files (EFT, eRec, Safepay, Lockbox) in Microsoft Dynamics GP

$
0
0

Hi Dynamics GP users!

Do you need help to set up an EFT and Electronic Reconcile configurator file?   I just wanted to pass along the KB articles that we have available to help you set up these configurator files and provide troubleshooting tips as well.  Please bookmark these articles for future use:

ELECTRONIC RECONCILE (For Bank Reconciliation)

 KB 2872105 - Steps to modify the BAI file format in Electronic Reconcile in Microsoft Dynamics GP

KB 851279 - How Transactions are Matched n Electronic Reconcile for Microsoft Dynamics GP

• KB 850751 - Setup information for Electronic Reconcile Format Configurator


EFT FOR PAYABLES/RECEIVABLES:

•  KB 945955 - Guidelines to follow when you generate EFT files or EFT prenote files in Electronic Funds Transfer for Payables Management or Receivables Management (and Q&A)

•  KB 2956922 - Custom Data fields for Electronic Funds Transfer (EFT) formats in Microsoft Dynamics GP

•  KB 857497 - Payables EFT Standard ACH format

SAFEPAY:

KB 850752 - Steps to set up the SafePay Configurator in Microsoft Dynamics GP

LOCKBOX (FOR RECEIVABLES)

KB 858289 - Fields you must map when you set up a bank lockbox file in Microsoft Dynamics GP

KB 856094 - How to use the bank account number and bank routing number instead of the Customer ID in Lockbox Processing


ADDITIONAL:

 • Microsoft's Support policy also states that we will help with one field or error message per support incident.  Please click on KB 850201 to read the support policy guidelines for configurator files and when it becomes a consulting engagement.

 • If you would like to inquire on a customization or assistance to set up the entire configurator file, please send an email to the NA Partner Assist alias at Napa@microsoft.com to inquire on a billable consulting engagement.   Partner Advisory Hours (PAH) are the only form of currency accepted for consulting services.  To use your Partner Advisory Hours, click HERE and log in with your MPN account and click on 'Submit a request now'. 

I hope these resources will be helpful to you now and in the future.  I welcome any feedback or suggestions you have on these articles.  Thanks.

Thank you,

Cheryl Waswick

Microsoft Dynamics GP - Applications Support Team

(additional query words: safe-pay, Safe Pay, positive Pay, .bai, .dat )

Errors seen when upgrading to Microsoft Dynamics GP 2015 R2

$
0
0

Hello -

We've noticed a couple of errors recently, while upgrading to later versions of Microsoft Dynamics GP such as Microsoft Dynamics GP 2015 R2, Microsoft Dynamics GP 2015 and Microsoft Dynamics GP 2013 R2 and therefore wanted to get some information out to you, in order to allow you to be pro-active in fixing these issues before you attempt the upgrade process.

>>The first error we've seen is the following:

Error Explanation:
Utilities cannot resolve this error. This number represents a native SQL error number.Microsoft Dynamics GP Utilities cannot resolve this error.
Additional Information:
[Microsoft][SQL Server Native Client 11.0][SQL Server]Cannot insert the value NULL into column 'SEQNUMBR', table 'XXX.dbo.UPR00111'; column does not allow nulls. INSERT fails.

Normally, this error is caused by having an employee ID record (EMPID_I) existing in the HRPBEN02 company table, that doesn't have a corresponding record in the UPR00111 table. Because of this, a NULL value is returned, which causes this error message.

To check for these inconsistencies, you can run the following script:

/*Check for BSSBEN02 inconsistencies*/
SELECT HRPBEN02.DEX_ROW_ID AS [HRPBEN02 DEXROWID],
UPR00111.DEX_ROW_ID AS [UPR00111 DEXROWID],
HRPBEN02.EMPID_I,
HRPBEN02.BENEFIT,
UPR00111.SEQNUMBR,
HRPBEN02.PRIMARY_I,
HRPBEN02.BENEFICIARYPERCENT_I,
Isnull(APR_HRPBEN02.Status, 0) AS Status,
Isnull(APR_HRPBEN02.STSDESCR, '') AS STSDESCR,
Isnull(APR_HRPBEN02.APR_Status_Change_Date, '1900-01-01') AS APR_Status_Change_Date
FROM HRPBEN02
LEFT OUTER JOIN APR_HRPBEN02
ON HRPBEN02.EMPID_I = APR_HRPBEN02.EMPLOYID
AND HRPBEN02.BENEFIT = APR_HRPBEN02.BENEFIT
AND HRPBEN02.IINDEX_I = APR_HRPBEN02.IINDEX_I
LEFT OUTER JOIN UPR00111
ON HRPBEN02.EMPID_I = UPR00111.EMPLOYID
AND HRPBEN02.RELATIONSHIP = UPR00111.RELATIONSHIP
AND HRPBEN02.FFIRSTNAME_I = UPR00111.FRSTNAME
AND HRPBEN02.MI_I = UPR00111.MIDDLEINITIAL
AND HRPBEN02.LLASTNAME_I = UPR00111.LASTNAME
AND HRPBEN02.DEPSSN_I = UPR00111.DEPENDENTSSN
AND HRPBEN02.DATEOFBIRTH_I = UPR00111.BRTHDATE

This SELECT statement is actually part of an INSERT statement that is running during the upgrade. All the records 'selected' by this statement are then attempted to be inserted into the new BSSBEN02 table. If there are any problem records, you'll see the Dex_Row_ID value of the invalid record(s). Usually, the EMPID_I column, at the top of the script results, will be empty or invalid.

When the invalid records are found, they then need to be deleted from the HRPBEN02 table.

>>The second upgrade error we've seen is this:

if exists (select name from sysobjects where name = 'HRPBEN02' and type = 'U') begin INSERT INTO [dbo].[APR_BSSBEN02] ([EMPID_I] ,[BENEFIT] ,[SEQNUMBR] ,[PRIMARY_I] ,[BENEFICIARYPERCENT_I] ,[Status] ,[STSDESCR] ,[APR_Status_Change_Date]) ( select HRPBEN02.EMPID_I, HRPBEN02.BENEFIT, UPR00111.SEQNUMBR, HRPBEN02.PRIMARY_I, HRPBEN02.BENEFICIARYPERCENT_I, ISNULL(APR_HRPBEN02.Status, 0) as Status, ISNULL(APR_HRPBEN02.STSDESCR, '') as STSDESCR, ISNULL(APR_HRPBEN02.APR_Status_Change_Date, '1900-01-01') as APR_Status_Change_Date from HRPBEN02 left outer join APR_HRPBEN02 on HRPBEN02.EMPID_I = APR_HRPBEN02.EMPLOYID and HRPBEN02.BENEFIT = APR_HRPBEN02.BENEFIT and HRPBEN02.IINDEX_I = APR_HRPBEN02.IINDEX_I left outer join UPR00111 on HRPBEN02.EMPID_I = UPR00111.EMPLOYID and HRPBEN02.RELATIONSHIP = UPR00111.RELATIONSHIP and HRPBEN02.FFIRSTNAME_I = UPR00111.FRSTNAME and HRPBEN02.MI_I = UPR00111.MIDDLEINITIAL and HRPBEN02.LLASTNAME_I = UPR00111.LASTNAME and HRPBEN02.DEPSSN_I = UPR00111.DEPENDENTSSN and HRPBEN02.DATEOFBIRTH_I = UPR00111.BRTHDATE) end
/*
/* Date: 09/09/2015 Time: 14:43:57
SQLSTATE:(23000) Native Err:(2627) stmt(140445568):*/
[Microsoft][SQL Server Native Client 11.0][SQL Server]Violation of PRIMARY KEY constraint 'PKAPR_BSSBEN02'. Cannot insert duplicate key in object 'dbo.APR_BSSBEN02'. The duplicate key value is (5928 , LIFEAD , 37732352).*/

This is the error we get when a person(s) is listed in the HRPBEN02 table as both the primary and secondary beneficiary for the same benefit, for the same employee ID, which Utilities doesn’t allow.

 If we run this script, it helps find the duplicate records, which we then normally just have to remove the records for the secondary beneficiary, i.e. PRIMARY_I value is 0 (zero) meaning secondary whereas 1 means it is the primary beneficiary, from the HRPBEN02 table as well.

 select EMPID_I, BENEFIT, RELATIONSHIP,FFIRSTNAME_I, MI_I, LLASTNAME_I, DEPSSN_I, DATEOFBIRTH_I from HRPBEN02
group by EMPID_I, BENEFIT, RELATIONSHIP,FFIRSTNAME_I, MI_I, LLASTNAME_I, DEPSSN_I, DATEOFBIRTH_I
Having COUNT(*) > 1


 

>>The third upgrade error that we've seen is when using Analytical Accounting for Microsoft Dynamics GP, if you have a Dimension Description named 'Asset ID', the upgrade will fail since the new list has a column already named 'Asset ID'.

When we run into this issue, we've found that we can work around it by changing the Dimension Description to have no spaces in it, such as using this script:

UPDATE AAG00400 SET aaTrxDimDescr = 'AssetID' WHERE aaTrxDimDescr = ‘Asset ID’

You also cannot have any duplicate descriptions in this aaTrxDimDescr column, in the AAG00400 table, for different records, otherwise this table will fail the upgrade as well.

 

If you run into any of these errors during an actual upgrade of Microsoft Dynamics GP, once you resolve the data issues causing the error to occur, remember to run the following script before launching Dynamics GP Utilities again and continuing with the upgrade:

Delete DYNAMICS..DU000030 where Status <> 0 and Status <> 15

 

Here are a few additional links to blogs regarding Upgrade Issues to Microsoft Dynamics GP 2015:

Microsoft Dynamics GP 2015 R2 - Known Upgrade Issues

Conversion failed when converting the varchar value 'XXXXX' to data type int.

If we encounter any additional Upgrade issues, we'll add to this blog so that we can keep all of the information in one place, making it easier to find and resource, especially with the year-end and tax updates coming around the corner for Microsoft Dynamics GP.

Good Luck with your upgrading!!!!!

Microsoft Dynamics GP Business Portal for Canadian Payroll Announcement

$
0
0

With the new functionality delivered in Microsoft Dynamics GP 2015 with Self Service and the discontinuation of Business Portal noted HERE, many are asking about Canadian Payroll Business Portal for Microsoft Dynamics GP.

 

The following Business Portal functionalities will not be available in Microsoft Dynamics GP 2015 and are not planned for replacement (ISV solutions are available): 

Canadian HRM Self Service Suite in Business Portal which included integrations with
Employee Profile

Time and Attendance

Skills and Training

Recruitment

Customers can continue to use these products on Microsoft Dynamics GP 2013 through the support of the Lifecycle of the product.

Please refer to the Microsoft Dynamics Marketplace for the alternative solutions that are available.

Thanks

Terry Heley

Microsoft


October Hotfix-Canadian Payroll Tax Update for Alberta has released!

$
0
0

I'm mixing it up a little!  This update is primarily intended for the Canadian Payroll Tax update to include changes for Alberta, but, we like to be sneaky and put some fixes in there too!

Many times we are asked can I install this update I do not use Canadian Payroll?  Yes you can!

We label the update as it mainly contains changes for Canadian Payroll, but any U.S. or Canadian customer can install this update as they may want a fix that is in this release.

Click HERE for Canadian Payroll specific documentation and install steps.

Here is a list of changes in this update by product version.

Microsoft Dynamics GP 2015 (version 14.00.0817) (Includes GP 2015 R2 and all prior patches)
****Should release later thisweek****

Canadian Payroll - 14.00.0813 The 2015 Canadian Payroll Tax Update contains changes for Alberta.

Project Time and Expense - There are a variety of fixes for Project Time and Expense it would be encouraged to install this hotfix if you are going to use this area of the product.

Workflow
Ability to add domain accounts to Workflow Managers and Workflow Approvers in separate domain/forest.

Employee to Direct Manager Workflow going to skip level or workflow manager instead of direct manager

 

Microsoft Dynamics GP 2013 (version 12.00.1920)

Canadian Payroll - 12.00.1928 The 2015 Canadian Payroll Tax Update contains changes for Alberta.

 

Microsoft Dynamics GP 2010 (version 11.00.2390

Canadian Payroll - 11.00.2410 The 2015 Canadian Payroll Tax Update contains changes for Alberta.

 

Download links:

Microsoft Dynamics GP 2015  Customersource                Partnersource

Microsoft Dynamics GP 2013  Customersource                Partnersource

Microsoft Dynamics GP 2010  Customersource                Partnersource

Enjoy!

Terry Heley

Microsoft

Business Analyzer installation and configuration

$
0
0

I wanted to get a blog out here with a brief walk-through of setting up Business Analyzer for Microsoft Dynamics GP and SSRS. I’m also going to discuss some of the main issues we see coming in for cases.

I will also briefly discuss Excel and MR reports but in a limited fashion.

You can find some official documentation and a Q&A here:
https://technet.microsoft.com/en-us/library/dn508393.aspx

Certificate Requirement

You need to have a certificate available for the installation of Companion Application Services. Companion Application Services is required to use the Business Analyzer App. The requirements for this are similar to Web Client in that you can use a Self-Signed certificate, 3rd party certificate or a Certificate Authority.

Companion Application Services

The first thing you need to do for a deployment of Business Analyzer is install Companion Application Services. This can be found on the Microsoft Dynamics GP 2015 installation media in the AdProd folder. This is the windows service that will manage the incoming requests from Business Analyzer and route them accordingly. You can install this service on pretty much any server you want (2008 R2 and later) that you have available. You can also download the installer from the following location:

https://mbs.microsoft.com/customersource/northamerica/GP/downloads/service-packs/MDGP2013_CompanionAppServices

Once you’ve downloaded and run through the Setup.exe you will have a ‘GP Companion App Services’ program available. Clicking this will launch the ‘Companion Application Services Configurator’. When you first launch the configurator you will be presented with the following screen:

This will contain a non-functional, generic URL until you finish running through the setup. Click Next and you will be taken to this screen:

This is where you will specify your Azure Service Bus info if you are configuring this in Azure on a virtual private network. Our good friend Mariano Gomez has already written an excellent blog explaining how to set this up. His blog combined with the following Azure Service Bus information should be enough to get you up and running.

http://community.dynamics.com/gp/b/gpmarianogomez/archive/2014/08/06/deploying-business-analyzer-companion-app-services-on-windows-azure-service-bus

 http://blogs.msdn.com/b/servicebus/archive/2014/09/03/change-to-azure-service-bus-portal-default-authentication-mechanism-for-service-bus-namespaces-now-sas.aspx

On the next screen you will pick your certificate:

If you’re planning on setting this up for people to use externally you will need to use a 3rd party certificate. If you’re using a self-signed certificate you will have to export it and import it onto every single user machine that will be using Business Analyzer.

On the Next Screen you’re basically just selecting to install the Business Analyzer piece:

Why is this screen here you ask? If they ever decide to push out another application that makes use of Companion Application Services, you’ll be able to choose which pieces you want to install.

On the above screen you’re going to select which type of reports you want to make available to the Business Analyzer users. There are several things here I would like to point out.

Excel Reports– If you decide to make the Excel reports available to the users based on a network share, they will not display within BA. What I mean by this is they will basically have a box with the report name that when clicked will simply link them to the report and open it in Excel. This means that they need to have access to the share where the reports are stored for it to even work.

A better way to do this is to use SharePoint online. When you set it up this way you can actually save the Excel charts to the document library\folder. If you do it this way, the charts will display in BA without the need for them to open the report in Excel. The catch here is that you can only pass 1 set of credentials through the BA App. So if you’re trying to set it up so that they can access both an on-premise SSRS reports server and Excel reports in SharePoint online you’re probably going to run into a problem. Most companies are going to be setup so that the users have separate internal credentials from their Office 365\SharePoint Online credentials. So you’re essentially going to have to choose one or the other or get ADFS setup in a way that it recognizes one set of credentials for everything.

Management Reporter– You can setup Management Reporter reports for viewing as well. This is also not going to show them a report in the Business Analyzer window. It will have a box with the name of the report that when clicked will open the MR Web Viewer in an IE window. This will work for internal deployments without a problem. If you want to set this up on Azure, you must also setup ADFS and the Azure Service Bus.

Depending on the types of reports you selected to make available to Business Analyzer, the next screens will ask you for the location of these reports. The above screenshot is showing you the SSRS setup screen. This is fairly self-explanatory and you simply need to put in the URL’s and select the options that align with your reports deployment.

When you click Next on these screens it will attempt to call out to the locations you specify to confirm that they are valid. So you can get an error on this screen if it is unable to communicate with the reports location that you are specifying.

When you’ve finished setting everything up you will be taken back to the original screen that you saw when you first opened the wizard. You should be seeing a new URL specified though. This is the URL that you will have the users specify in the Business Analyzer settings when attempting to connect.

Business Analyzer

The Business Analyzer app can be downloaded and installed from your respective app store. When you first open the app it will be in ‘Sample Report’ mode. You must go into Settings > Configuration to disable ‘Sample Report’ mode and enter your Companion Application Services URL and a username and password.

The username and password that you enter here will be the Domain\User and Password of the windows account that has access to the reports. Once you’ve connected you’ll be able to add the Charts and KPI’s that are important to you.

After you've taken Business Analyzer out of 'Sample Report' mode and loaded up some reports, they will not automatically refresh.  You will need to use the Refresh option to get the reports to refresh.  Even after you close and reopen the app you will be looking at cached data, the only time the data will attempt to refresh is when you hit the refresh button.

Troubleshooting Common Problems

Here are the most common troubleshooting steps that I use to identify connection problems.

  1. Can you ping the ‘Fully Qualified Domain Name’ of the services URL you are using? If you can’t then there is a DNS or other problem preventing your machine from seeing that server properly.

  2. Verify that you can access the reports as the user you are attempting to use in Business Analyzer

  3. Have you opened the port that the Companion Application Services URL is using? By default this will usually be installed to 48650, but you can change it to any available port that you’d like.

  4. Is the certificate that you are using Trusted by the host machine? If you used a self-signed certificate you are going to have to export it from the server and import it on to every client machine that is going to use Business Analyzer. You need to import it into the Personal and Trusted Root stores. If you are trying to use Business Analyzer on an iPad or Android device you should be using a 3rd party certificate.

  5. Make sure the service is started. When you install Companion Application Services on a server you will have a new windows service called ‘GP Business Analyzer Service’. This service must be running for Business Analyzer to connect successfully.

I hope that you find the above information useful in planning your deployment of Business Analyzer.

Enabling PO and Req Workflow at the same time.

$
0
0

In this blog I will cover how to configure your Purchase Order Approval Workflow, so you can have both Purchasing Requisition and PO Entry Workflow enabled without sending your PO Req document through another Approval Workflow.

Below is a screenshot of how my Workflow is setup:

1. My first step is to create a routing workflow, so my manually entered PO's will go through the Approval workflow in Step 1.  You will do this by entering in a Condition. 

a. With your Workflow selected click New Step.

b. Enter in the Step Name, Description, Step Type: Approval.

c. In the Order section select the option "This step is a first step".  This should default once you create the Step.

d. In the Condition section select the radio button that says "Action is required only when the following condition is met".

e. Click the blue expansion arrow.

f. In the Workflow Condition Editor you will enter the following:

Where Purchase Order Line.Line Origin is Manual

g. Select the Compare to radio button to Constant and click Add.

h. Next you will create another Condition in the same window.  This time you will have check the box for "Display extended field list". Enter in the following Condition:

or Purchase Order Work.Revision Number is greater than and includes 1

i. Select the Compare to radio button to Constant and click Add.

J. Click OK.

k. Enter in your Assignment for who will be Approving.

l. Click Save Step.

Here is a screenshot of this setup for Step 1:

2. Once that is saved you will create another Step (Step 2) for the Requisition side:

a. With your Workflow selected click New Step.

b. Enter in the Step Name, Description, Step Type: Task.

c. In the Order section select the option "This step is a first step".  This should default once you create the Step.

d. In the Condition section select the radio button that says "Action is required only when the following condition is met".

e. Click the blue expansion arrow.

f. In the Workflow Condition Editor you will enter the following:

Where Purchase Order Line.Line Origin is not Manual

g. Select the Compare to radio button to Constant and click Add.

h. Click OK.

i. Enter in your Assignment for who will be completing the Task.

j. Click Save Step.

Here is a screenshot of this setup for Step 2:

3. Mark the Workflow as Active and Save your Workflow.

When you activate this Workflow, all Requisitions that are converted to a Purchase Order will skip the regular Workflow Approval in Step 1 and move to Step 2.  The users you assigned Approval on Step 2 will have a new option in the Workflow drop-down for Task Complete on the Purchase Order Entry window.  Here is a screenshot of what those users will see:

Once the user completes the Task they will be able to move forward with the PO Document that originated in Purchasing Requisition.  You will need to Save the PO and bring it back up to see the new options below:

You can assign all users or a group of users to be able to complete these Tasks.  It won't kick it back through the PO Approval.  It is just an extra drop-down selection to complete the Task to move the document forward.

I hope you find this information useful when setting up multiple Approvals.

Enjoy,

Andy S.

Time Management App - Troubleshooting

$
0
0

With the release of Microsoft Dynamics GP 2015 R2 the Time Management is now available in the Microsoft, Android and Apple app stores for your PC and tablet form factor devices. This app allows salaried employees to enter time against pay codes (e.g. PTO and Sick) within a simple calendar interface and then submit their timecards for approval.

As we’ve been testing this application internally here in support and working through errors encountered by customers and partners we’ve been keeping a list of issues and their potential solutions. I wanted to get this information published as a resource for you should you experience any of these errors.

Each of the following errors was encountered while attempting to enter connection information into the Time Management (e.g. the User Name, Password and Service Connection)

Error #1:

 

Potential Solutions:

  • The Service Based Architecture application that is a prerequisite for the Time Management app requires that the Identity Management feature has been configured in order to tie your domain account to a Dynamics GP user. Please refer to the following article for more information on configuring Identity Management:

Identity Management for the Web Client

https://community.dynamics.com/gp/b/dynamicsgp/archive/2014/06/03/identity-management-for-the-web-client

  • You can also receive the above error if you either don’t have access to the SBA endpoint or if your user has insufficient rights. To test this you can have the same domain account you’re entering in the Configuration window of the app try to access a URL in the following format, which will pull back XML data for the ACK0001 Employee ID in the Fabrikam, Inc. company:

https://server.domain.com/GPService/Tenants(DefaultTenant)/Companies(Fabrikam,%20Inc.)/Dynamics/Payroll/Employees(ACKE0001).xml

If you’re in a multi-tenant environment just replace DefaultTenant with the name you’ve given the tenant you want to query against

  • Finally, the Service Connection URL that you enter into the Time Management app is case-sensitive. Be sure you’re using a URL in the following format:

https://server.domain.com/GPService/Tenants(DefaultTenant)/Companies(Fabrikam,%20Inc.)

 

Error #2

 

Potential Solutions:

  • Since the idea behind the Time Management app is that employees enter timecards and submit them to a manager for approval you are required to have a Payroll Timecard Approval workflow both configured and marked as Active. This is accomplished in Microsoft Dynamics GP > Tools > Setup > Company > Workflow > Workflow Maintenance.
  • On one occasion we’ve also seen that this error was given when one or more deactivated Payroll Timecard Approval workflow existed along with the one that is actively being used. In this instance the solution was to delete all Payroll Timecard Approval workflow definitions and recreate just the one you intend to mark as Active

Error #3

 

Potential Solutions:

The best advice I can give for addressing this error message is to have the user receiving the error log into Dynamics GP using the GP user account tied to their domain user and test their ability to enter/save/submit a payroll timecard. This may very well give the user a message that leads you to something missing in your configuration. You can review the following article for the steps to setup self-service timecards:

Human Resource & Payroll Timecard Entry NEW to GP 2013 R2!

https://community.dynamics.com/gp/b/dynamicsgp/archive/2014/06/12/human-resource-amp-payroll-timecard-entry-new-to-gp-2013-r2

 

There will of course be times when the above won’t address the problem. In those instances, there is logging you can enable at the SBA-level to get further information. Enabled this logging is different for multi-tenant and single tenant deployments:

Web Management Console (for multi-tenant deployments)

  • Select Tenant Manager snap-in

  • Click Applications item

  • Highlight GP Services and click Edit

  • Click the plus (+) and type in the DevModeEnabled property, then click Save

  • Select Tenant item, highlight your tenant and click Edit

  • Highlight the GP Service application and set RequestLoggingEnabled and DevModeEnabled to true, then click Save

     

    TenantConfiguration.xml (for single-tenant deployments)

  • Navigate to C:\Program Files\Microsoft Dynamics\GP Web Components\GPService on the SBA server

  • Backup and then open TenantConfiguration.xml in Notepad

  • Add the following before </Tenant>

    <RequestLoggingEnabled>true</RequestLoggingEnabled>

    <DevModeEnabled>true</DevModeEnabled>

  • Save the file

After making either change restart the GP Dexterity Service, GP Dexterity Service Control and GP Service services on the SBA server and reproduce the issue. This will write several logs to C:\ProgramData\Microsoft Dynamics\GPSvc\Logs. I’ve found that files in the following provide the best information:

 

C:\ProgramData\Microsoft Dynamics\GPSvc\Logs\Inst_DEFAULT_14\DexterityRequests

 

Start by reviewing logs that end with Error.log. Scroll to the bottom of the log and look for errors/stack traces before it rolls back for more information about your error.

If you look at the top of log file, you will see that it has a header section that gives the Full URI that SBA is using to connect to GP. This can give you an idea of what type of information the Time Management is asking SBA to retrieve from Dynamics GP.

Since so many log files are written when this option is enabled it is highly recommended to only enable logging long enough to troubleshoot the issue.

 

Enjoy!

Lucas

Management Reporter Configuration Console has stopped working

$
0
0

If the Management Reporter Configuration Console crashes when you open it, the fix is fairly simple. If you get this error:

 

You’ll want to open the Event Viewer on the MR server and clear the Applications log file.

To resolve this issue please do the following:

1. Open the Event Viewer on the Management Reporter Server.

a. Click Start | Administrative Tools | Event Viewer.

2. Expand the Windows Logs folder.

3. Highlight Application.

4. Right Click Application and select Clear Log.

After this is complete you should be able to open the MR Configuration Console.

Best Regards,

Greg

Viewing all 566 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>