I’ve recently been working with a client to implement Microsoft Dynamics GP and have been using Integration Manager to import the opening data. While importing payables transactions I encountered the following error:
Year: 2020
azurecurve ClassicPress Plugins: Add Open Graph Tags
This is part of the azurecurve ClassicPress Plugins which introduces the plugins I have available for ClassicPress.
The plugin I am going to cover in this post, is a brand new one written for ClassicPress; Add Open Graph Tags.
Functionality
Add Open Graph Tags to attach rich photos to social media posts to Facebook or LinkedIn, helping to drive traffic to your website.
Options allow:
- Excerpt or first 200 characters of post added to card.
- Thumbnail or first post image will be added to card.
- Integrate with Floating Featured Images for card image.
This plugin is multisite compatible; each site will need settings to be configured in the admin dashboard.
Demo
If you select a post on this blog containing images, the first one will be sent to LinkedIn or Facebook when you share the post.
Download
The plugin can be downloaded via my Development site.
Click to show/hide the azurecurve ClassicPress Plugins Series Index
SQL Stored Procedure to delete old Microsoft Dynamics GP Document Attachments
The Document Attachment feature was introduced in Microsoft Dynamics GP 2013 RTM and has been enhanced a number of times since. One of the features it does not have is the ability to delete attachments; you can flag them as deleted, but they are not removed from the database.
With GDPR rules, clients have become concerned about the information retained in the system without a means to delete it. To that end I created a SQL stored procedure which could be scheduled to run on a regular basis and delete transactions older than the specified number of years (highlighted value is the number of years).
This allows clients to run this on a scheduled basis and remove old documents; it can also serve as the basis for a customised version which deletes on a more controlled basis.
As with any script, please ensure you perform through testing before deploying to a live system.
IF OBJECT_ID (N'usp_AZRCRV_DeleteDocAttachAttachments', N'P') IS NOT NULL
DROP PROCEDURE usp_AZRCRV_DeleteDocAttachAttachments
GO
CREATE PROCEDURE dbo.usp_AZRCRV_DeleteDocAttachAttachments
@iAge INTEGER = 7
AS
/*
Created by Ian Grieve of azurecurve | Ramblings of an IT Professional (http://www.azurecurve.co.uk)
This code is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0 Int).
*/
-- CREATE TEMPORARY TABLE
CREATE TABLE #AttachmentsToDelete(
Attachment_ID CHAR(37)
)
-- SELECT ATTACHMENTS OVER n YEARS OLD TO DELETE
INSERT INTO #AttachmentsToDelete
(Attachment_ID)
--VALUES
(
SELECT
Attachment_ID
FROM
CO00101
WHERE
CREATDDT < DATEADD(yyyy, -@iAge, GETDATE())
)
-- DELETE FROM Document Attachment Master (CO00101)
DELETE FROM
CO00101
WHERE
Attachment_ID IN (SELECT Attachment_ID FROM #AttachmentsToDelete)
-- DELETE FROM Document Attachment Reference (CO00102)
DELETE FROM
CO00102
WHERE
Attachment_ID IN (SELECT Attachment_ID FROM #AttachmentsToDelete)
-- DELETE FROM Document Attachment Properties (CO00103)
DELETE FROM
CO00103
WHERE
Attachment_ID IN (SELECT Attachment_ID FROM #AttachmentsToDelete)
-- DELETE FROM Document Attachment Status (CO00104)
DELETE FROM
CO00104
WHERE
Attachment_ID IN (SELECT Attachment_ID FROM #AttachmentsToDelete)
-- DELETE FROM Document Attachment Email (CO00105)
DELETE FROM
CO00105
WHERE
Attachment_ID IN (SELECT Attachment_ID FROM #AttachmentsToDelete)
-- DELETE FROM COATTACHMENTITEMS
DELETE FROM
coAttachmentItems
WHERE
Attachment_ID IN (SELECT Attachment_ID FROM #AttachmentsToDelete)
-- DROP TEMPORARY TABLE
DROP TABLE #AttachmentsToDelete
GO
SQL View to return Microsoft Dynamics GP Workflow step approvers
I was recently talking to a client who was looking at creating a SQL script which they could run for the auditors which shows the assigned approvers to the steps of a Microsoft Dynamics GP Workflow process.
I’d written similar code for others before so I was able to provide them with this view:
CREATE VIEW uv_AZRCRV_GetWorkflowSetupStepAssignment AS
/*
Created by Ian Grieve of azurecurve | Ramblings of an IT Professional (http://www.azurecurve.co.uk)
This code is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0 Int).
*/
SELECT
['Workflow Master'].Workflow_name
,['Workflow Master'].Workflow_Description
,CASE WHEN ['Workflow Master'].ACTIVE = 1 THEN 'Yes' ELSE 'No' END AS ACTIVE
,['Workflow Step Instance Table'].WF_Step_Predecessor
,['Workflow Step Instance Table'].Workflow_Step_Name
,['Workflow Step Instance Table'].WF_Step_Description
,['Workflow Step Instance Table'].EmailMessageID
,['Workflow Users'].ADLogin
,['Workflow Users'].ADDisplayName
FROM
WF100002 AS ['Workflow Master']
LEFT JOIN
WF100003 AS ['Workflow Step Instance Table']
ON
['Workflow Step Instance Table'].Workflow_Name= ['Workflow Master'].Workflow_Name
LEFT JOIN
WF40200 AS ['Workflow Users']
ON
['Workflow Step Instance Table'].Workflow_Step_Assign_To = ['Workflow Users'].UsersListGuid
GO
This can be deployed to a company database and a SmartList object created using either SmartList Designer or SmartList Builder.
Updated 27/2/2020 to add Active column
ClassicPress Development with GitHub: Sign up for GitHub
When I started developing plugins for ClassicPress I decided that I needed to be using source control. As ClassicPress is intending to use GitHub for their plugin directory, it made sense for me to use it as well. This post is part of a series on ClassicPress Development with GitHub.
The first step to using GitHub for developing with ClasssicPress, is to create a GitHub account; navigate to the landing page, enter a Username, Email and Password and click the large green Sign up for Github button:
Continue reading “ClassicPress Development with GitHub: Sign up for GitHub”
ClassicPress Development with GitHub: Series Index
I have been using ClassicPress to run this blog, and several other sites, since early last year. I have also created new versions of all of my plugins for ClassicPress.
When I was working with plugins for WordPress, I used their Plugin Repository for source control which was based off SVN. This wasn’t really the ideal way of doing things, as I should have had my own source control for development purposes.
At the start of 2019, GitHub announced new unlimited repositories (amongst some other changes) which made GitHub a viable source control tool for me.
The added bonus of using GitHub is that ClassicPress mean to use it for their Plugin Directory which is scheduled for inclusion in version 2. Development of this is in the early stages now, but using GitHub for my own development means I am at least part way to being compatible with the directory when it is launched.
I have over a hundred repositories now on GitHub (although you’ll see a much smaller number as quite a few are private). I took some screenshots when I started and meant to blog about it and then got sidetracked. In this series of posts I am going back to my intended posts, in which I am going to cover the basics of using GitHub for development of ClassicPress plugins.
Click to show/hide the ClassicPress Development with GitHub Series Index
This is a weekend series of posts with new posts going live over the next few weeks. If you’re reading this on azurecurve|Ramblings of a Dynamics GP Consultant the index will update automatically.
TLS causing a Microsoft Dynamics GP Workflow approval error
I have recently been doing some work with a client to enable the Web Services for Microsoft Dynamics GP for external approval. This requires a steps to configure them for secure external access; when it was configured we tested on afew devices including Android smart phones and iPhones.
We found that everything worked fine, except for the Android devices which returned the following error:
When I investigated the issue I recalled that I had seen references to this issue previously, but hadn’t realised the meaning. The problem is that the web services use an older version of TLS which has started to be deprecated and actually retired; this looks like it will be a much bigger problem starting very soon as the major browsers also remove support.
Continue reading “TLS causing a Microsoft Dynamics GP Workflow approval error”
Hands On with Microsoft Dynamics GP October 2019 Release New Features – Top Feature Requests: Paste from Excel in Web Client
This post is part of the Hands On with Microsoft Dynamics GP October 2019 Release New Features – Top Feature Requests series where I am going hands on with the top feature requests of the new version of Microsoft Dynamics GP; it is part of the larger Hands On with Microsoft Dynamics GP October 2019 Release New Features series.
The eighth, and final, new feature from the top user requests, is copy and paste from Excel in the web client. This has not worked since 2015 R2 with fixes promised always in the next version.
Again it has been included as a feature in the October 2019 release, but while it allows you to get the data from Ececl into the GL Transaction Entry window, but is instead an import. To import the journal lines in the web client, click the Paste button and then click Choose file:
You can browse to select a file to import as journal lines. The format is the same as when pasting in the desktop client.
It works, but it is not as nice and easy as the copy and paste possible in the desktop client and is not a copy and paste despite the announcement.
Hands On with Microsoft Dynamics GP October 2019 Release New Features
Hands On with Microsoft Dynamics GP October 2019 Release New Features – Top Feature Requests: Show the User ID in the Items SmartList
This post is part of the Hands On with Microsoft Dynamics GP October 2019 Release New Features – Top Feature Requests series where I am going hands on with the top feature requests of the new version of Microsoft Dynamics GP; it is part of the larger Hands On with Microsoft Dynamics GP October 2019 Release New Features series.
The seventh new feature from the top user requests, is the storage of the user ID who last modified an item record; this field has also been made available to SmartList:
Being able to see the last user to amend an item is a good addition and it is nice to see it made available within SmartList.
Hands On with Microsoft Dynamics GP October 2019 Release New Features
Hands On with Microsoft Dynamics GP October 2019 Release New Features – Top Feature Requests: Inactive field added to Item SmartList
This post is part of the Hands On with Microsoft Dynamics GP October 2019 Release New Features – Top Feature Requests series where I am going hands on with the top feature requests of the new version of Microsoft Dynamics GP; it is part of the larger Hands On with Microsoft Dynamics GP October 2019 Release New Features series.
The sixth top requested enhancement is the availability of a column in the Items SmartList showing if an item is active or inactive:
I was a little surprised to see this announced as a feature as I had assume this field was already available, but it seems that when an Inactive flag was added in Dynamics GP 2013 RTM, that was as far as the change went. Extra visibility is always a good thing, so nice to see this added.