MDGP 2015 R2 Feature of the Day: Series Index

Microsoft Dynamics GPMicrosoft Dynamics GP 2015 R2 will soon be released (due late May/early June and, as with previous releases, Microsoft have started a Feature of the Day series on the Inside Microsoft Dynamics GP Team blog. As I have done with the loast three series, I’ll be reposting these blog pists here with a little commentary.

This post is the series index which you can use for quick access to any of the other posts. I am a fair few posts behind Microsoft so the posts may come thick and fast until I catch up.

Continue reading “MDGP 2015 R2 Feature of the Day: Series Index”

Security Views For Use In SmartList Designer: User Access & Granted Security Roles

Microsoft Dynamics GPThe second SQL view I’m posting in this series is one which shows the user, the companies to which they have access and the security roles assigned within each company.

CREATE VIEW [dbo].[uv_AZRCRV_UserAccessAndGrantedSecurityRoles] AS
/*
Created by Ian Grieve of azurecurve|Ramblings of a Dynamics GP Consultant (https://www.azurecurve.co.uk)
This code is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales (CC BY-NC-SA 2.0 UK).
*/
SELECT
	['User Master'].USERID AS 'User ID'
	,['User Master'].USERNAME AS 'Username'
	,['User Master'].USRCLASS AS 'User Class'
	,ISNULL(['Class Master'].DSCRIPTN, '') AS 'User Class Description'
	,ISNULL(['Company Master'].INTERID, '') AS 'Intercompany ID'
	,ISNULL(['Company Master'].CMPNYNAM, '') AS 'Company Name'
	,ISNULL(['Security Assignment User Role'].SECURITYROLEID, '') AS 'Security Role ID'
	,ISNULL(['Security Roles Master'].SECURITYROLENAME, '') AS 'Security Role Name'
FROM
	SY01400 AS ['User Master']
LEFT JOIN
	SY40400 AS ['Class Master']
		ON ['Class Master'].USRCLASS = ['User Master'].USRCLASS
LEFT JOIN
	SY60100 AS ['User-Company Access']
		ON ['User-Company Access'].USERID = ['User Master'].USERID
LEFT JOIN
	SY10500 AS ['Security Assignment User Role']
		ON ['Security Assignment User Role'].CMPANYID = ['User-Company Access'].CMPANYID
			AND ['Security Assignment User Role'].USERID = ['User-Company Access'].USERID
LEFT JOIN
	SY09100 AS ['Security Roles Master']
		ON ['Security Roles Master'].SECURITYROLEID = ['Security Assignment User Role'].SECURITYROLEID
LEFT JOIN
	SY01500 AS ['Company Master']
		ON ['Company Master'].CMPANYID = ['User-Company Access'].CMPANYID
GO

GRANT SELECT ON uv_AZRCRV_UserAccessAndGrantedSecurityRoles TO DYNGRP
GO

Majority Of Missing Posts Restored

azurecurveFollowing my moment of recklessness the other night, I have been able to find a much more recent backup file which has now been restored. All posts up to the start of May are back, and I have kept the ones I entered in May.

I will still be working to restore the missing posts I have entered in May; at this point I am down only six posts which I will try to get back. The SQL Installation ones I may need to rewrite, but I still have the screenshots so that shouldn’t be too difficult.

Security Views For Use In SmartList Designer: User Access

Microsoft Dynamics GPThe first of the security SQL views I am posting in this series shows all of the users and the companies to which they have been granted access.

CREATE VIEW [dbo].[uv_AZRCRV_UserAccessAndGranted] AS
/*
Created by Ian Grieve of azurecurve|Ramblings of a Dynamics GP Consultant (https://www.azurecurve.co.uk)
This code is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales (CC BY-NC-SA 2.0 UK).
*/
SELECT
	['User Master'].USERID AS 'User ID'
	,['User Master'].USERNAME AS 'Username'
	,['User Master'].USRCLASS AS 'User Class'
	,ISNULL(['Class Master'].DSCRIPTN, '') AS 'User Class Description'
	,ISNULL(['Company Master'].INTERID, '') AS 'Intercompany ID'
	,ISNULL(['Company Master'].CMPNYNAM, '') AS 'Company Name'
FROM
	SY01400 AS ['User Master']
LEFT JOIN
	SY40400 AS ['Class Master']
		ON ['Class Master'].USRCLASS = ['User Master'].USRCLASS
LEFT JOIN
	SY60100 AS ['User-Company Access']
		ON ['User-Company Access'].USERID = ['User Master'].USERID
LEFT JOIN	SY01500 AS ['Company Master']
		ON ['Company Master'].CMPANYID = ['User-Company Access'].CMPANYID
GO

GRANT SELECT ON uv_AZRCRV_UserAccessAndGranted TO DYNGRP
GO

Security Views For Use In SmartList Designer: Series Index

Microsoft Dynamics GPBack in November I posted a SQL View which could be used in SmartList Designer to return the users, company and role assignments. This view is now accompanied by several others which allow for reporting on the Dynamics GP security setup at several different levels.

These have been done as SQL views so they can easily be plugged into SmartList Designer which does not have an import/export function, but they can also be used in SmartList Builder, should the client be licensed for this add-on, or any other reporting tool.

Security Views For Use In SmartList Designer
User Access
User Access & Granted Security Roles
User Access & Granted Security Roles With Tasks
Security Roles With Tasks
Populating Security Resource Descriptions
Security Roles With Tasks & Operations
Security Tasks & Operations
User Access & Granted Security Roles With Tasks & Operations
User Based Company Access In Management Reporter
Group Based Company Access In Management Reporter

One Moment Of Sheer Recklessness

azurecurveOne moment of sheer recklessness tonight saw me accidentally delete the database for this site.

To further compound the error, the most recent backup I can find is from the end of December (December 21 to be exact).

I have restored this database and will be adding back in the missing posts which were syndicated to the Dynamics GP Community and also the Perfect Image Dynamics GP site.

Unfortunately, I will not be able to recover the comments, pings or trackbacks which were received after the 21st December 2014. I will also go through all of the pages looking for missing changes I have made elsewhere.

Off the top of my head the only items I remember changing was the links page where I will have added Beat Bucher and Mahmoud al Saudis blogs to the MVP section; if you do see anything which looks wrong or has missing content, please use the Contact Us form to let me know.

Finally, please learn from my error and make regular backups of your site; and also keep a track of those backups so you know where they are and can access them quickly.

Corrupt POs And Receipts In Both Work and Open

Microsoft Dynamics GPI had a client report a problem with a couple of purchase orders which were showing in the PO Entry window, but which they could not open. While looking into the problem we found three things:

  1. The problem was down to corruption where the PO was on both the work and open tables;
  2. There was more than just two POs;
  3. The problem also affected receipts.

Rather than trying to identify the problems manually, I wrote a SQL script which would identify all POs and Receipts which were on both the Work and Open tables:


CREATE TABLE #POCHECK(
	PONUMBER VARCHAR(20)
	,POPRCTNM VARCHAR(20)
	,CHCKDGIT INT
	,DCSTATUS INT
)
GO

INSERT INTO #POCHECK
	(PONUMBER,POPRCTNM,CHCKDGIT,DCSTATUS)
--VALUES
	(SELECT PONUMBER,'',1,1 FROM POP10100)
GO

INSERT INTO #POCHECK
	(PONUMBER,POPRCTNM,CHCKDGIT,DCSTATUS)
--VALUES
	(SELECT PONUMBER,'',1,3 FROM POP30100)
GO

INSERT INTO #POCHECK
	(PONUMBER,POPRCTNM,CHCKDGIT,DCSTATUS)
--VALUES
	(SELECT '',POPRCTNM,1,1 FROM POP10300)
GO

INSERT INTO #POCHECK
	(PONUMBER,POPRCTNM,CHCKDGIT,DCSTATUS)
--VALUES
	(SELECT '',POPRCTNM,1,3 FROM POP30300)
GO

SELECT
	PONUMBER
	,POPRCTNM
	,SUM(CHCKDGIT) AS DCCOUNT
FROM
	#POCHECK
GROUP BY
	PONUMBER,POPRCTNM
HAVING
	SUM(CHCKDGIT) > 1
GO

DROP TABLE #POCHECK
GO

After we used the script to identify the corrupt orders, it was a case of going through the returned records and correcting errors.

Install SQL Server 2014: SSRS Configuration for Microsoft Dynamics GP

Microsoft Dynamics GPIn the previous two posts, I stepped through the installation and configuration of SSRS. To deploy the Microsoft Dynamics GP SSRS reports to the SSRS server there is one last piece of configuration which needs to be completed.

There is a setting in the web.config file which needs to be added for the reports to deploy successfully. I have previously blogged about that setting here. The only change in the path will be the version number in the folder name will be higher.

Once you have completed that step you can then move onto deploying the SSRS reports in Dynamics GP; this post was written on Dynamics GP 2010 R2, but the process for deploying them is the same in Dynamics GP 2015.

Preorder Real-world Business Intelligence with Microsoft Dynamics GP

Microsoft Dynamics GPI was just browsing the Packt Publishing website (as you do) and found that there is a new book about Microsoft Dynamics GP being released next month.

Real-world Business Intelligence with Microsoft Dynamics GP by Dynamics GP MVPs Belinda Allen and Mark Polino:

Real-world Business Intelligence with Microsoft Dynamics GP

Continue reading “Preorder Real-world Business Intelligence with Microsoft Dynamics GP”