Wednesday, December 30, 2009

How to stop the transaction log of a SQL Server database from growing unexpectedly?

Great article by Microsoft Support, check it out here.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Sunday, December 27, 2009

Dynamics GP Manufacturing Integration with GL

Another useful article by Waqas, he did explain the manufacturing cycle on the GL part and the accounts affected per each transaction, he did cover both periodic (standard) and perpetual (actual) workflows.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Manufacturing Simple Workflow

Waqas posted a new article about Manufacturing, he did draw a simple workflow for manufacturing related modules in GP, checkout the workflow below or refer to this post for more details:

Manufacturing_Flow_Chart

Yes it needs some enhancements but indeed its useful.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Answers you must have before posting a question.

While reading in one of the application manuals, I found an interesting questions that we all must consider having its answers before calling the support specialist, it would be great if you could include those questions answers in your question posting to get a best reply:

 

“  Before you call support

If you are experiencing a problem when installing Microsoft Dynamics GP, have answers ready to the following questions to help your support specialist narrow down the source of the problem you’ve experiencing.

• What is the exact error message?

• When did the error first occur?

• What task were you attempting to perform at the time the error message was displayed?

• Has the task been completed successfully in the past?

• What is the name of the window you are you working in?

• What have you done so far to attempt to fix the problem?

• If you are using more than one company, does the problem occur in another company?

• Does the problem occur on another workstation?

• What versions of software are you using?

Verify the version numbers for Microsoft Dynamics GP, your Microsoft SQL Server, and Microsoft Windows®. Also note service packs for each product.

• Are you using an integrating product with Microsoft Dynamics GP?

• Does the problem occur for the sa or system administrator user?

• Does the problem occur at the database server?

• If you use Windows Server® 2003 Terminal Services or Windows Server 2008 Terminal Services, does the same issue happen at the Terminal Server?                                       

Hope that this helps.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Saturday, December 26, 2009

Business Portal Terminal Services Error: null-CWTSSession.openCannes:'oWTS' is null or not an object

After installing the business portal and configuring the terminal services for Dynamics GP, you might get the following error upon trying to open GP form:

"Null-CWTSSession.openCannes: 'oWTS' is null or not an object"

Through the business portal installation steps, you will need to adjust some settings on the internet explorer options as mentioned in the installation guide, below are the required steps, complete the steps and the error will no longer exist:

1. Start Internet Explorer and open the Internet Options window.
Tools > Internet Options

2. Click the General tab. Under browsing history, click Settings.

3. The Temporary Internet Files and History Settings window is displayed. Be
sure the Check for newer versions of stored pages option is not set to Never.

4. Click OK to close the settings window.

5. Click the Security tab, highlight Trusted Sites, and click Sites to open
the Trusted Sites window.
If Business Portal doesn’t use Secure Sockets Layer, you must clear the Require Server verification (https) for all sites in this zone check box. If you can’t clear the check box, you must change the security settings for the Local Intranet zone instead of adding Business Portal to your Trusted Sites list.

6. In Add this Web site to the zone, enter the Business Portal URL and click Add.

7. Click OK to close the Trusted Sites window.

8. In the Internet Options window, be sure Trusted Sites is still selected and click Custom Level to open the Security Settings window.

9. In the ActiveX controls and plug-ins section, select Enable for the following
settings:
• Download signed ActiveX controls
• Initialize and script ActiveX controls not marked as safe for scripting
• Run ActiveX controls and plug-ins

Changing these options will allow ActiveX controls to run automatically on all
web sites in your Trusted Sites zone. This zone contains sites that you
believe you can download or run files from without worrying about damage to your
computer or data. The security level for trusted sites is typically lower than the
general Internet or Intranet security level.

10. Click OK. An alert message will be displayed, asking if you’re sure that you want to change the security settings for the zone. Click Yes.

11. Click OK to close the Internet Options window.

Finally if you followed the above steps and still getting the problem, change the compatibility level in the internet explorer and it should no longer exist.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Friday, December 25, 2009

Holidays

Dear All,

This post is just to wish you a Merry Christmas and a happy new year!

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Wednesday, December 23, 2009

Password Expiration Prompt

MichaelJ2 posted a good solution for password expiration notifications in this post its a .net based customization that could handle this feature, you can download it for free.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Analytical Accounting Primary Key Problems

Personally I used to have allot of primary key issues when working with analytical accounting due to errors in the Analytical Accounting Index Master table in Dynamics database, and used to open this table manually and fill the correct indexes there.

Today @ Interesting Findings & Knowledge Sharing blog, “veeyeskay” posted an SQL script that updates this table Dynamically! Find the script below or visit the post for more information here.

USE [DYNAMICS]
GO
IF EXISTS ( SELECT *
FROM     sys.objects
WHERE   object_id =  OBJECT_ID(N'[dbo].[sp_FixAARecordCount]')
AND type IN (  N'P', N'PC' ) )
DROP PROCEDURE [dbo].[sp_FixAARecordCount]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE  PROCEDURE [dbo].[sp_FixAARecordCount]
AS
DECLARE @INTERID CHAR(5)
DECLARE @CMPANYID INT
DECLARE @SQL CHAR(8000)
DECLARE cr_Companies CURSOR
FOR SELECT  INTERID,
CMPANYID
FROM    DYNAMICS.dbo.SY01500
ORDER BY CMPANYID
OPEN cr_Companies
FETCH NEXT  FROM cr_Companies INTO @INTERID, @CMPANYID
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC
( 'UPDATE  DYNAMICS..AAG00102 SET aaRowID = (SELECT ISNULL(MAX(aaAcctClassID),0) FROM '
+ @INTERID
+ '..AAG00201) WHERE  aaTableID = 201 AND CMPANYID = '
+ @CMPANYID + ''
)
EXEC
( 'UPDATE  DYNAMICS..AAG00102 SET aaRowID = (SELECT ISNULL(MAX(aaDistrQueryID),0) FROM '
+ @INTERID
+ '..AAG00301) WHERE  aaTableID = 301 AND CMPANYID = '
+ @CMPANYID + ''
)
EXEC
( 'UPDATE  DYNAMICS..AAG00102 SET aaRowID = (SELECT ISNULL(MAX(aaMLQueryID),0) FROM '
+ @INTERID
+ '..AAG00310) WHERE  aaTableID = 310 AND CMPANYID = '
+ @CMPANYID + ''
)
EXEC
( 'UPDATE  DYNAMICS..AAG00102 SET aaRowID = (SELECT ISNULL(MAX(aaTrxDimID),0) FROM '
+ @INTERID
+ '..AAG00400) WHERE  aaTableID = 400 AND CMPANYID = '
+ @CMPANYID + ''
)
EXEC
( 'UPDATE  DYNAMICS..AAG00102 SET aaRowID = (SELECT ISNULL(MAX(aaTrxDimCodeID),0) FROM '
+ @INTERID
+ '..AAG00401) WHERE  aaTableID = 401 AND CMPANYID = '
+ @CMPANYID + ''
)
EXEC
( 'UPDATE  DYNAMICS..AAG00102 SET aaRowID = (SELECT ISNULL(MAX(aaTrxDimCodeNumID),0) FROM '
+ @INTERID
+ '..AAG00402) WHERE  aaTableID = 402 AND CMPANYID = '
+ @CMPANYID + ''
)
EXEC
( 'UPDATE  DYNAMICS..AAG00102 SET aaRowID = (SELECT ISNULL(MAX(aaTrxDimCodeBoolID),0) FROM  '
+ @INTERID
+ '..AAG00403) WHERE  aaTableID = 403 AND CMPANYID = '
+ @CMPANYID + ''
)
EXEC
( 'UPDATE  DYNAMICS..AAG00102 SET aaRowID = (SELECT ISNULL(MAX(aaTrxDimCodeBoolID),0) FROM  '
+ @INTERID
+ '..AAG00404) WHERE  aaTableID = 404 AND CMPANYID = '
+ @CMPANYID + ''
)
EXEC
( 'UPDATE  DYNAMICS..AAG00102 SET aaRowID = (SELECT ISNULL(MAX(aaDateID),0) FROM '
+ @INTERID
+ '..AAG00500) WHERE  aaTableID = 500 AND CMPANYID = '
+ @CMPANYID + ''
)
EXEC
( 'UPDATE  DYNAMICS..AAG00102 SET aaRowID = (SELECT ISNULL(MAX(aaTreeID),0) FROM '
+ @INTERID
+ '..AAG00600) WHERE  aaTableID = 600 AND CMPANYID = '
+ @CMPANYID + ''
)
EXEC
( 'UPDATE  DYNAMICS..AAG00102 SET aaRowID = (SELECT ISNULL(MAX(aaNodeID),0) FROM '
+ @INTERID
+ '..AAG00601) WHERE  aaTableID = 601 AND CMPANYID = '
+ @CMPANYID + ''
)
EXEC
( 'UPDATE  DYNAMICS..AAG00102 SET aaRowID = (SELECT ISNULL(MAX(aaOption),0) FROM '
+ @INTERID
+ '..AAG00700) WHERE  aaTableID = 700 AND CMPANYID = '
+ @CMPANYID + ''
)
EXEC
( 'UPDATE  DYNAMICS..AAG00102 SET aaRowID = (SELECT ISNULL(MAX(aaAliasID),0) FROM '
+ @INTERID
+ '..AAG00800) WHERE  aaTableID = 800 AND CMPANYID = '
+ @CMPANYID + ''
)
EXEC
( 'UPDATE  DYNAMICS..AAG00102 SET aaRowID = (SELECT ISNULL(MAX(aaBudgetTreeID),0) FROM '
+ @INTERID
+ '..AAG00900) WHERE  aaTableID = 900 AND CMPANYID = '
+ @CMPANYID + ''
)
EXEC
( 'UPDATE  DYNAMICS..AAG00102 SET aaRowID = (SELECT ISNULL(MAX(aaUDFID),0) FROM '
+ @INTERID
+ '..AAG01000) WHERE  aaTableID = 1000 AND CMPANYID = '
+ @CMPANYID + ''
)
EXEC
( 'UPDATE  DYNAMICS..AAG00102 SET aaRowID = (SELECT ISNULL(MAX(aaGLWorkHdrID),0) FROM '
+ @INTERID
+ '..AAG10000) WHERE  aaTableID = 10000 AND CMPANYID = '
+ @CMPANYID + ''
)
EXEC
( 'UPDATE  DYNAMICS..AAG00102 SET aaRowID = (SELECT ISNULL(MAX(aaSubLedgerHdrID),0) FROM '
+ @INTERID
+ '..AAG20000) WHERE  aaTableID = 20000 AND CMPANYID = '
+ @CMPANYID + ''
)
EXEC
( 'UPDATE  DYNAMICS..AAG00102 SET aaRowID = (SELECT ISNULL(MAX(aaGLHdrID),0) FROM '
+ @INTERID
+ '..AAG30000) WHERE  aaTableID = 30000 AND CMPANYID = '
+ @CMPANYID + ''
)
FETCH NEXT FROM cr_Companies INTO  @INTERID, @CMPANYID
END
CLOSE cr_Companies
DEALLOCATE cr_Companies
GO
GRANT EXECUTE ON sp_FixAARecordCount TO  DYNGRP

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Destroy a Check!

Frank in this post explained how to allocate unwanted check numbers without having actual effect on the financials.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Shipping Methods and Sales Tax Calculations

Frank has another great article about the effect of Shipping Method on the sales tax calculations, checkout his post here.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Internet Information Button

Another good tip by Frank, he did post explanations about the internet information button and form and posted how to adjust fields names, read his article here.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

FRx 6.7 SP11 WAS available for download, but not anymore!

Mark in Dynamics Accounting blog posted that the SP11 for FRx 6.7 was pulled out due to a reported bug in the application, follow Mark post for updates.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Sunday, December 20, 2009

Saturday, December 19, 2009

Sure Step 2010

Sure Step 2010 was finally released! download your copy now.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Dynamics GP “11” (2010) Training Sessions for Partners are coming

Inside Microsoft Dynamics GP posted a new article, they are preparing for a partner training on the new features on Dynamics GP “11”, checkout the training dates and locations in this post.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

PURCH Account couldn’t be changed while receiving?!

I thought GP behaves like this from the earlier versions, but Frank in this post corrected me that this was on GP 9.0 SP3 and later versions, this change caused allot of requests from one of my clients after upgrading the GP 10.0, and the answer is below:

“This was a design change made to help with matching the value in the inventory account in the General Ledger to the value of inventory in the Inventory module.”

Checkout Frank post for more information.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

This Document has been posted – SOP Documents?!?

Vaidy been in this error and investigated the reasons and resolutions behind the issue, checkout this post in his blog.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Item Manufacturing Accounts

Another great article by WAQAS, he did deeply explain the needed accounts for items in a manufacturing firm, it really worth looking into this post if you are already running GP Manufacturing.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Mariano on the Press!!!

For those who do not really know Mariano Gomez the Dynamics GP MVP, Marianocheckout his interview with  DynamicsWorld.com here, great answers Mariano, wish you all the best.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

David Musgrave and Posting from the Past

David started his series of posts from the history, this series looks interesting, I am very excited to read those posts! Checkout his list of posts here.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Dynamics GP Date Tricks!!

Alice Newsam in the Developing for Dynamics GP Blog posted thumba new article about date configurations in DEX.ini that allows you to change the application’s date behavior, checkout her blog post here.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Saturday, December 12, 2009

Skipping Documents Numbers Randomly

Mariano posted a solution to the behavior of skipping PO number randomly, and interested to post more solutions upon request, find his post here.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Combine Data from Excel with your FRx GL Report

The subject describes the contents, yet another interesting article by Waqas, check it our here.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

FRx Reporting Portal

Intersting article by Waqas, he did cover installing FRx WebPort in details and examples, worth looking at the screenshots in this post.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Installing Service Packs on a specific GP instant

Frank has a new interesting post on this subject, founded in knowledgebase! Find out his post here.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Consultant VS Sales

Interesting article by Martin @ eOne blog, discussing the differences between the consultant and the salesman from the client prospective, find the complete article under “Consultant Sell” subject here.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Wednesday, December 9, 2009

Dynamics GP Receiving entry, Item line divided into two lines!?!?

Allot of questions were posted in the newsgroup about the behavior GP act when receiving items, sometimes the receiving divide the item into two lines, one with the original item cost and quantity – 1 and the other line with quantity 1 and different cost.

This behavior occurs when you have currency or quantity variances when the decimal places are not enough to cover the whole number decimals.

Frank Hamelly did explain this behavior with examples in this post.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Dynamics GP Bloggers

For those who’s trying to think that Mark Polino in Dynamics Accounting blog is not an active blogger! Please check the the analytics graph below in Janakiram M.P. blog:

Google 

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Yearend Closing Notes

Christina Phillips in the THIS post covered important points needed when performing yearend closing, you all guys must read it.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Overriding Credit Limit Password

Guys,

I found an interesting post in the newsgroup, the user wanted to override the credit limit password for predefined customers or classes using VBA, code below will run temporary runtime created macro to fill the password as required and proceed:

Private Sub ExtendedPrice_AfterLostFocus()

‘Fill you if condition here.
Set CompilerApp = CreateObject("Dynamics.Application")
Commands = ""
Commands = Commands & "local integer l_file_id; " & vbCrLf
Commands = Commands & "local string pathname; " & vbCrLf
Commands = Commands & "pathname = ""C:\CreditLimitPassword.mac""; " & vbCrLf
Commands = Commands & "l_file_id = TextFile_Open(pathname, 0, 0); " & vbCrLf

Commands = Commands & "TextFile_WriteLine(l_file_id, ""  Logging file 'macro.log' ""); " & vbCrLf

Commands = Commands & "TextFile_WriteLine(l_file_id, ""  NewActiveWin dictionary 'default' form DiaLog window DiaLog  ""); " & vbCrLf
Commands = Commands & "TextFile_WriteLine(l_file_id, ""  TypeTo field ANSWER , 'ACCESS' ""); " & vbCrLf
Commands = Commands & "TextFile_WriteLine(l_file_id, ""  MoveTo field OK  ""); " & vbCrLf
Commands = Commands & "TextFile_WriteLine(l_file_id, ""  ClickHit field OK   ""); " & vbCrLf
Commands = Commands & "TextFile_Close(l_file_id); " & vbCrLf
Commands = Commands & "if File_Probe(pathname) then " & vbCrLf
Commands = Commands & "  run macro pathname; " & vbCrLf
Commands = Commands & "end if; " & vbCrLf
'Execute SanScript
CompilerError = CompilerApp.ExecuteSanscript(Commands, CompilerMessage)
If CompilerError <> 0 Then
MsgBox CompilerMessage
End If
End Sub

Hope that this helps.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Tuesday, December 8, 2009

Tuesday, December 1, 2009

How to Generate Analytical Accounting Reports Using Inquiry

Go to “Inquiry >> Financial >> Analytical Accounting >> Distribution Query” and select “Query Maintenance”.

clip_image002

Click next and fill the ID and the name of the query:

clip_image004

Click next and select the needed columns:

clip_image006

Click Next and filter your data as needed, you could select any column to filter except the date which will be filtered later.

clip_image008

Click next and insert the order of the data sorting if you have a special sort order:

clip_image010

Now you are ready to filter your data based on the date or period and generate the report, just make sure you checked “Execute Query” and your report will be generated:

clip_image012

Next time you need to run this report, just select “Execute Existing Query” option from the first screen:

image

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Wednesday, November 25, 2009

Changing the Column Names in Smart-List

If you normally exports data from Smart-List to excel and do not like the names of the default smart-list columns, you might need to take a look to THIS post by Mark Polino @ DynamicsAccounting blog before changing the columns headers in your excel.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Posting Transactions that has document date in unopened period.

First, checkout below a conversation between me and one of my clients:

Client : “We need option to void invoice recorded at a vendor account with a date in unopened period.”

Me     : “Unfortunately the only available option is to open the year!”

Client : “Let us wait until year end, but the question is why would GP allow this in the beginning??

In fact, GP allows such operation, it allows setting the Document Date to unopened period and the posting date to the current period, which logically couldn’t be correct.

image

The big problem right now is when trying to void this invoice, using “Void Open Payables Transactions” form, GP will not allow to have the Void Date before Document Date, neither having the Void Date in an unopened period check messages below:

image

image

Today, Frank Hamelly in one of his great tips pointed us to a “free” tool developed by the MBS team to prevent such operation, the tool is called “Document Date Verify Tool”, just contact MBS Professional Services and they will send it to you.

Summery about the tool from its documentation:

“When a document date is entered in the following windows, a check will be performed to determine if the document date is in a fiscal period. If the date does not fall within a valid fiscal period, a message will be issued and the user will not be allowed to continue until the date is in a valid period.

 

Payables Transaction Entry

Receivables Transaction Entry

Invoice Entry PM

Manual Payment Entry

SOP Entry

IV Transaction Entry

Cash Receipts Entry

POP PO Entry

Receiving Entry

POP Invoice Entry

 

This customization will also do a validation if the period is closed. If the Document Date falls in a period that is closed, a message will be issued that will allow the user to correct the date or continue on leaving the date.”

Hope that helps.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Monday, November 23, 2009

Integrating Microsoft Dynamics GP With SQL Reporting Services

Interesting method in GP 10.0 to have customized reports developed on SQL Reporting Services launched from GP, follow steps below to complete the installation:

1. First you need to run the Reporting Services setup wizard from GP CD2:

image

2. After having the wizard installed, we need to define the reports and web services path in “Microsoft Dynamics GP menu >> Tools >> Setup >> System >> Reporting Tools Setup”:

Fields need to be set as documented in Help:

Report manager URL

Enter the Report Manager URL for SQL Server Reporting Services. Report Manager is a report server administrative web page that enables you to manage (create, edit, delete) data sources.

The URL should follow this general syntax:

http://<<server>>/<<ReportsFolder>>/Pages/Folder.aspx

If you do not know this information, contact your system administrator.

Report Server URL

Enter the Report Server URL for SQL Server Reporting Services. This is the location of the reporting server site that hosts the Web Service. You specified this location when you installed SQL Server Reporting Services.

The URL should follow this general syntax:

http://<<server>>/ReportServer/reportservice.asmx

image

3. Go to Administration tab and find “Custom Report List”:

image

4. Enjoy having your reports in the list:

image

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Sunday, November 22, 2009

Different Errors for One Reason!!!

Sometimes you finds your self in a very deep technical investigations looking for the cause of a very stupid error message or behavior that does not represents the actual cause of the message, such as situations below:

1. “All Call Stack in use. Cannot Start Script” When opening GL Transaction Entry From.

callstackserror

2. Smart-list has no objects and tree view that holds the smart-lists is empty.

https://community.dynamics.com/forums/p/25304/43005.aspx

3. Smart-lists returns no data, smart-lists are exist but no data are shown in the lists.

http://www.eggheadcafe.com/forumarchives/greatplains/Feb2006/post25875635.asp

4. On checkbook reconciliation, no data is presented on transactions preview to be reconciled.

Go to Reconcile Bank Statement>> Select your checkbook>> Click on Transactions>> No data!!

5. Smart-list exports unknown letters when exporting non-English characters to Excel.

6. Integration Manager integrates question marks “???” instead of the original non-English text upon importing any kind of transactions.

All the above point became well known behaviors to the collation conflict for non-Unicode characters, the simple solution for all the above errors is to Set the language to English under “Advanced” tab in Regional and Language options.

Hope that helps.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Saturday, November 21, 2009

Smart-lists and Reminders

Mark post a good article about creating Reminders in Microsoft Dynamics GP, checkout his post here.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Microsoft Dynamics GP Manufacturing for Chemicals Industry

Nancy Phillippi, Custom Information Services post a great article at the ERP Software Blog about Microsoft Dynamics GP Manufacturing and Chemicals Industries, checkout the article HERE.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Selecting the right ERP Partner!!!

Julie Stankey, Socius at the ERP Software Blog posted an interesting article about selecting the right partner under the subject “8 Tips for Picking the Right ERP Software Partner Without Pulling Your Hair Out”! points are summarized below:

Do your research on prospective partners

Conduct an interview

Determine training and support options and resources

Discuss implementation resources and availability and the experience of personnel

View a demo, but not before you’re ready.

Request an initial estimate and require revisions as requirements are determined or changed

Request references.

Steer clear of RFPs (regardless of what you’ve heard). 

Checkout the complete blog post with the details for each point HERE.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Microsoft Dynamics GP – CRM Integrator

Anya Ciecierski, CAL Business Solutions posted more information about the Microsoft Dynamics GP – CRM Integrator, checkout the complete article HERE.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Microsoft Dynamics GP VS QuickBooks

Ann Haucke posted a good article about the first 3 differences you will face when migrating from QB to GP, checkout the complete post HERE.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Batch Approval

Frank posted an article about batch approval setup, check out his post here.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Add Distribution Reference Field to Smart-lists and Reports

Another post from Liane McIlraith about the distribution reference field of Journal Entry and how to include this field in smart-lists and reports, checkout the complete post below:

http://www.rosebizinc.com/gpblog/2009/11/confusing-nametitle-of-distribution.html

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Remove Discontinued Items

Liane McIlraith highlighted the risks behind the Remove Discontinued Items in Inventory yearend closing below:

Yearend Close window

Checkout the post below':

http://www.rosebizinc.com/gpblog/2009/11/removing-discontinued-items-during.html

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Client Relationship!!!?!

Very much interesting posts by Dwight Specht at The Death Of Reason blog, about the relationship between the consultant and the client, by his words:

“I came down hard on consultants who hide behind the phrase “I did my job” when, at the end of the day, we have a seriously damaged client relationship.  But, in that post, I ignored one precious and important fact of life:

Some people are assholes.  And some of them are your clients.”

Checkout below his both posts about this subject:

http://thedeathofreason.wordpress.com/2009/08/25/i-did-my-job-yeah-but-we-suck/

http://thedeathofreason.wordpress.com/2009/08/26/what-to-do-when-you-have-an-incorigble-client/

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Microsoft Dynamics GP Inventory Average Costing

Mariano has explained the whole cycle of inventory average costing techniques under the name “Why is my inventory-related transaction posting so slow?”, checkout his post below:

http://dynamicsgpblogster.blogspot.com/dyn-why-is-my-inventory-related.html

I used to hear “Microsoft Dynamics GP does not calculate items average cost correctly” here in Middle East! Those are consultants who does not understand the cycle and answer “No” for things that they cannot understand! For those who believe in this, I suggest you must go and read the following interesting Knowledgebase Article pointed at Mariano post in addition to the post above:

https://mbs.microsoft.com/knowledgebase/KBDisplay.aspx?scid=kb$en-us$923960&wa=wsignin1.0

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Microsoft Dynamics GP White Papers

WAQAS posted the location of an interesting white papers, detailed below:

Creating a Dynamics GP DSN Manually on 64-bit Windows

Strategies for Multi-Entity Environments in Microsoft Dynamics GP 10

Help Achieving Compliance Objectives in Microsoft Dynamics GP 10

White Paper for Microsoft Dynamics GP and Microsoft SQL Server 2008

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Microsoft Dynamics GP Manufacturing Costing Implementation for Chemicals Manufacturing In 3 Days!!!

Yes indeed, last week I been in manufacturing implementation with one of my existing clients, they wanted to implement BOM and Manufacturing order processing modules of the GP Manufacturing, they had every thing ready (Bill of materials, Standard Costs, and all other related issues).

Their policies are clear, to use Periodic costing for all material and overheads. First day I did imported the Bill of Materials, virtual routings (as the client is handling the overheads as items with variables in the bill of materials), and finally adjusted the initial standard costs for all items using macros.

Manufacturing setup in the second day took no longer than 2 hours to adjust all the parameters and defaults, then I started testing the functionality, I tested as much as requested and compared the results with their current calculations and all was completely matched.

As the client accountants and IT department were all professionals and aware of all GP processes (they are GP customers since GP 7.0!) the training delivered within 6 hours of the third day and the guys started the manufacturing process directly.

Well it could not be considered a “manufacturing implementation” as they only implemented the financial side of the manufacturing (BOM and MO modules), but it was the fastest implementation I ever made!

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Multilingual Checks

Waqas detailed how to install multilingual checks and activate Arabic checks in his post below:

http://waqasb.blogspot.com/2009/11/computer-check-in-arabic-language-in.html

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Debug Integration Manager Process

Another interesting post from WAQAS, about integration manager debugging, check it out below:

http://waqasb.blogspot.com/2009/11/integration-manager-10-debugging.html

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Level of posting from Series

Waqas Butt who was active the last few weeks detailed the level of posting to GL in post below:

http://waqasb.blogspot.com/2009/11/level-of-posting-from-series-option-in.html

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

What’s new in Microsoft Dynamics GP 11?

Good post by Bryn Forrest at InterDyn blog about this subject:

http://interdynaka.blogspot.com/2009/11/whats-new-in-dynamics-gp-110.html

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Wednesday, November 18, 2009

Automatically Set the Correct Distribution Accounts when Creating Inventory Transfer

I got a good question from one of my friends, they have allot of daily transfers between their inventories and they used to set the line item distribution for the transfer transaction manually, which is not practical.

To automate this I used one of Frank tips and followed steps below:

First of all, you will need to validate your inventory setup, and check the Segment ID for sites, in this Example, the segment ID for sites is Segment 1:

image

Now I have the following accounts setup in my COA (Chart of Accounts):

1. Account 000-1300-00 is the main inventory account.

2. Account 001-1300-00 represents “Warehouse” site account.

3. Account 002-1300-00 represents “North Regional” site account.

image

In item card, I set the inventory account for “100XLG” Item to the main inventory account “000-1300-00”:

image

Now you need to adjust the Account for Segment in the Site Card to the corresponding account number as shown below, in our example, the corresponding GL account for Warehouse site is “001-1300-00”, so segment 1 of this account is “001”:

image

And the same for the other site:

image

Go ahead and proceed with Inventory Transfer Entry and enjoy having the distribution filled automatically:

image

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Tuesday, November 17, 2009

Inventory Site Segment

Frank posted another great article about inventory site segment.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Smart-list: Change the default Go To

New tip from Frank, change the default Go To for smart-list, check his post below:

http://gp2themax.blogspot.com/2009/11/gptip42day-changing-default-goto-in.html

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Understanding the Difference Between the 4 Microsoft Dynamics ERP’s

Houston Neal posted a great topic about differences between the 4 Microsoft Dynamics ERP’s, check his blog post below:

http://www.softwareadvice.com/articles/manufacturing/understanding-the-difference-between-gp-nav-sl-ax-1111709/

Good job Houston!

On the other hand, this subject now is under discussion, check the community posts about this:

Mark Polino: http://msdynamicsgp.blogspot.com/2009/11/differences-between-dynamics-products.html

Jivtesh:http://www.jivtesh.com/2009/11/comparing-dynamics-gp-nav-ax-sl.html

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Saturday, November 14, 2009

Substitute Items

Frank completely covered this subject, checkout his blog post below:

http://gp2themax.blogspot.com/2009/11/gptip42day-item-substitution.html

Good job Frank, keep it up!

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Friday, November 13, 2009

Dynamics GP Work, Open and History

Checkout Leslie post on this subject:

http://dynamicsconfessions.blogspot.com/2009/11/moving-from-work-to-open-to-history.html

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Dex.ini New Switches!

Guys,

Checkout Leslie post on this subject:

http://dynamicsconfessions.blogspot.com/2009/11/dexini-switches-part-3.html

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

FRx Installation Error (Setup has experienced an Error)

Vaidy faced error while installing his FRx on windows 7, checkout his post below:

http://www.vaidy-dyngp.com/2009/11/frx-installation-error-windows-updates.html

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

My Trip to “Palestine”

It was long time since my last post, that was due to my trip to http://www.expotech.ps/, I spent a very nice 8 days in Palestine having fun in Ramallah and joining conferences in Expotech.

Expotech was the first 3 days of my trip! But the remaining days was @ a village in Ramallah called Kharbata, very much away of the available technologies! I spent the remaining days just enjoying the countryside time of tranquility and self-composure, you all guys must get out of your Technology for a week and visit one of the villages around for relaxation week.

Anyway.. as expected, I am still catching up the work and following what I missed and might be slow in posts :(

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Thursday, October 29, 2009

Print Crystal Report Directly to the printer using VBA

One of my friends asked me about how to directly print the crystal report to the printer using VBA on pressing a button on any of Microsoft Dynamics GP Windows, and I thought I should share this tip:

First, on your VBA project, go to Tools>> References and add a reference to

"Crystal Reports ActiveX Designer Design and Runtime Library"

image

Place your report in an accessible location to be loaded, then place code below where you need to print the report:

Dim CRApp As New CRAXDDRT.Application
Dim CRReport As New CRAXDDRT.Report
Set CRReport = CRApp.OpenReport("C:\rptAccounts.rpt", 1)

Dim CP As CRAXDDRT.ConnectionProperties
For Each tbl In CRReport.Database.Tables
    Set CP = tbl.ConnectionProperties
    CP.Item("User ID") = "sa"
    CP.Item("Password") = "123"
    CP.Item("Data Source") = ".\SQL2005"
    CP.Item("Initial Catalog") = "TWO"
Next tbl
CRReport.PrintOut False

Change "C:\rptAccounts.rpt" to your actual report path and enjoy!

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Wednesday, October 28, 2009

How to change item quantity from a Type to another??

I got a question from one of my clients wondering how to change the item quantity type from On Hand/Returned/In Use/ In Service/ Damaged to any other type, the answer is simply by navigating to: Transactions >> Inventory >> Transfer Entry, fill the same Site ID in both From/To fields and select your item, then press on "Quantity Type" as shown below:

image

Select the quantity type that you are interested to use and proceed, post the transaction and validate your voucher.

image

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Tuesday, October 27, 2009

Analysis Cubes for Dynamics GP Configuration Wizard

Error:

Dynamics GP Professional is required to proceed.

Strange error upon trying to configure Analysis Cubes using wizard.

Cause:

SQL Server doesn't have Analysis Services Installed.

Resolution:

Install SQL Server Analysis Services and the wizard will proceed.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

How to Create a New Report Using Report Writer and open it inside Microsoft Dynamics GP?

In this post, I will explain how to create a NEW report using Report Writer and open this report inside Microsoft Dynamics GP using Custom Reports form.

First, we'll be creating a simple report that displays a list of accounts exists in the system and print the report within GP, as a start, open Report Writer and click on NEW as shown below:image

Name the report "Accounts List" under Financial Series and select "Account Master" as the main table, then press on Layout:

image

On the layout window, drag the fields from the left panel and drop it in the body section, choose "Account Number", "Account Description", and "Account Alias":

image

Save and get back to Microsoft Dynamics GP, and go to "Reports>>Customized":

image

You will find your new report added under Custom Reports List, print it and enjoy!

image

image

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Saturday, October 24, 2009

Using Microsoft Dynamics GP Rapid Implementation Tools to Export/Copy/Backup Setup Between Companies

Guys,

I got an interesting question from one of my friends about this subject and thought its good to share how to utilize such feature in Microsoft Dynamics GP.

First of all you will need to download and install the tool using the link below, you can also download the installation and user manual PDF's:

http://www.microsoft.com/downloads/details.aspx?FamilyID=D9DFA747-63DA-4CAC-B92D-28BB24192C1D&displaylang=en

After installing the tools, you will have two shortcuts installed at your start menu:

1. Rapid Configuration Tool: what we will currently explain.

2. Rapid Migration Tool: Which used to migrate your data from Quickbooks to GP.

To start, you will need to start "Rapid Configuration Tool" From start menu as shown below:

image

The application will start in an easy wizard mode, just press on Next:

image

We will need to choose "Export Data From GP to Excel 2007", Choose the export location and click on Next:

image

Fill your database login information and press on Next:

image

Select your company and Next:

image

Click on export and enjoy having your company setup on your desktop available to be imported to any other company using the same wizard!

image

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Thursday, October 22, 2009

Tuesday, October 20, 2009

Management Reporter for Microsoft Dynamics

One day this might be our new FRx reporter, you never know! The beta version of this application will be released parallel to GP "11" in Jan 2010, if you are interested those guys are looking for Microsoft Dynamics GP users be their "Beta Testers" checkout post below:

http://blogs.msdn.com/dynamicscpm/archive/2009/09/30/announcing-management-reporter-beta.aspx

Thank Mark for pointing us to this post.

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Sunday, October 18, 2009

Father of my baby boy!

A new candle just born to light on my life, my first baby boy is now out and crying for milk!

Believe me guys I will make sure that upon his first school year my son "Rida" will be certified in GP Financial and will have the ability to create COA!

100_2397 (Large)

Regards,
--
Mohammad R. Daoud
MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS
CTO
+962 - 79 - 999 65 85
Dynamics Innovations
daoudm@dynamicsinnovations.com
http://www.dynamicsinnovations.com

Thursday, October 15, 2009

Practical Example on Dynamics Continuum Integration Library: GL Transaction Entry Integration

I got allot of questions on how to use Dynamics Continuum API for Microsoft Dynamics GP, so I decided to post this practical lesson on how to perform forms level integration between any application or data source and GL Transaction Entry form:

References:

In order to start working on the API, we need first to add Reference to Dynamics Continuum Integration Library to our application:

image

Now we have three main functions/methods that we need to use:

 

Functions/Methods:

1. ExecuteSanscript: Function executes Dexterity code and return the result, expects two parameters and returns integer that the status was successfully completed or not:

ExecuteSanscript("Script" as String, ByRef "ErrorMessage" As String)

2. SetDataValue: Function sets value in any "fully qualified" field name, expects two parameters and returns integer that the status was successfully completed or not:

SetDataValue("Field Name" as String, Value as String)

3. MoveToField: Moves the cursor to the field, expects only the field name as the parameter, almost equivalent to "focus field" command in Dexterity:

MoveToField("Field Name" as String)

 

Concept:

To proceed with our task, we'll need first to understand how it works, we'll need to imagine that a user is working on the form and follow all the steps need to be done, for example, the user will go to date field, fill the date and leave the field so the system run all validations on date field leave, technically speaking "MoveToField" will need to be called first, then "SetDataValue" and finally "ExecuteSanScript" to run the required scripts on leaving the field.

 

Code Snippets:





 




'Define the main object


Dim objGPApp As New Dynamics.Application


 


'Variable to Handle Returned Errors Flag


Dim intErrorValue As Integer


'Variable to Handle Returned Errors Messages


Dim strErrorMessage As String


 


'Other Needed Variables


Dim strBatchID As String = "Dataset Name"


Dim SourceDocument As String = "Source Document"


Dim TrxDate As String = "01012009"


Dim ReferenceID As String = "Sample"


Dim dsDetails As DataSet


'------------------------------------------------------------------------------


'Open the GL Transaction Entry Form


intErrorValue = objGPApp.ExecuteSanscript("open form 'GL_Transaction_Entry';", strErrorMessage)


 


'------------------------------------------------------------------------------'


'Add/Update Batch to make sure its exist


'Open Batch Entry Form


intErrorValue = objGPApp.ExecuteSanscript("run script  'Expansion Button 1' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry';", strErrorMessage)


 


'Fill Batch Number


intErrorValue = objGPApp.SetDataValue("'Batch Number' of window 'GL_Batch_Entry' of form 'GL_Batch_Entry'", strBatchID)


 


'Run Batch Number Script


intErrorValue = objGPApp.ExecuteSanscript("run script 'Batch Number' of window 'GL_Batch_Entry' of form 'GL_Batch_Entry';", strErrorMessage)


 


'Fill Origin


intErrorValue = objGPApp.SetDataValue("'Origin' of window 'GL_Batch_Entry' of form 'GL_Batch_Entry'", 1)


 


'Go To Batch Comment Field


intErrorValue = objGPApp.MoveToField("'Batch Comment' of window 'GL_Batch_Entry' of form 'GL_Batch_Entry'")


intErrorValue = objGPApp.ExecuteSanscript("run script 'Batch Comment' of window 'GL_Batch_Entry' of form 'GL_Batch_Entry';", strErrorMessage)


 


'Save Batch


intErrorValue = objGPApp.ExecuteSanscript("run script 'Save Button' of window 'GL_Batch_Entry' of form 'GL_Batch_Entry';", strErrorMessage)


 


'Close form


intErrorValue = objGPApp.ExecuteSanscript("close form 'GL_Batch_Entry';", strErrorMessage)


' End Batch


'------------------------------------------------------------------------------'


 


'Add/Update Source Document  to make sure its exist


'Open Source Document Form


intErrorValue = objGPApp.ExecuteSanscript("open form 'SY_Source_Document_Setup';", strErrorMessage)


 


'Move to Source Document Field


intErrorValue = objGPApp.MoveToField("'Source Document' of window 'Source_Document_Setup' of form 'SY_Source_Document_Setup'")


 


'Set Field Value


intErrorValue = objGPApp.SetDataValue("'Source Document' of window 'Source_Document_Setup' of form 'SY_Source_Document_Setup'", SourceDocument)


 


'Run Field Script 


intErrorValue = objGPApp.ExecuteSanscript("run script 'Source Document' of window 'Source_Document_Setup' of form 'SY_Source_Document_Setup';", strErrorMessage)


 


'Go To Description Field


intErrorValue = objGPApp.MoveToField("'Source Document Description' of window 'Source_Document_Setup' of form 'SY_Source_Document_Setup'")


'Set Data Value in Description Field


intErrorValue = objGPApp.SetDataValue("'Source Document Description' of window 'Source_Document_Setup' of form 'SY_Source_Document_Setup'", SourceDocument)


 


'Run Field Script 


intErrorValue = objGPApp.ExecuteSanscript("run script 'Source Document Description' of window 'Source_Document_Setup' of form 'SY_Source_Document_Setup';", strErrorMessage)


'Save 


intErrorValue = objGPApp.SetDataValue("'Save Button' of window 'Source_Document_Setup' of form 'SY_Source_Document_Setup'", 1)


'Close Form


intErrorValue = objGPApp.ExecuteSanscript("close form 'SY_Source_Document_Setup';", strErrorMessage)


'End Source Document Adding


'------------------------------------------------------------------------------'


 


'Now we are sure that the batch number and source document are both exist, 


'so we can use both of them in our form 


intErrorValue = objGPApp.MoveToField("'Batch Number' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry'")


intErrorValue = objGPApp.SetDataValue("'Batch Number' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry'", strBatchID)


intErrorValue = objGPApp.ExecuteSanscript("run script 'Batch Number' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry';", strErrorMessage)


 


intErrorValue = objGPApp.MoveToField("'Source Document' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry'")


intErrorValue = objGPApp.SetDataValue("'Source Document' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry'", SourceDocument)


intErrorValue = objGPApp.ExecuteSanscript("run script 'Source Document' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry';", strErrorMessage)


'------------------------------------------------------------------------------'


'Proceed with Journal Header Fill


'Reference


intErrorValue = objGPApp.MoveToField("'Reference' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry'")


intErrorValue = objGPApp.SetDataValue("'Reference' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry'", ReferenceID)


intErrorValue = objGPApp.ExecuteSanscript("run script 'Reference' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry';", strErrorMessage)


 


'Transaction Date -You need to make sure that you passed the date 


'in the correct format-


intErrorValue = objGPApp.MoveToField("'TRX Date' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry'")


intErrorValue = objGPApp.SetDataValue("'TRX Date' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry'", TrxDate)


intErrorValue = objGPApp.ExecuteSanscript("run script 'TRX Date' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry';", strErrorMessage)


'End of Journal Header


'------------------------------------------------------------------------------'


'Journal Details: in this example, I considered the data is already filled in 


'a dataset called dsDetails with the following columns:


'(AccountNumber, AccountType ('Credit', 'Debit'), AccountAmount, LineDescription)


'------------------------------------------------------------------------------'


'Loop through all details


For Counter As Integer = 0 To dsDetails.Tables(0).Rows.Count - 1


    With dsDetails.Tables(0).Rows(Counter)


'Start with Account Number


intErrorValue = objGPApp.ExecuteSanscript("focus field 'Account Number' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry';", strErrorMessage)


intErrorValue = objGPApp.MoveToField("'Account Number' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry'")


intErrorValue = objGPApp.SetDataValue("'Account Number' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry'", .Item("AccountNumber"))


intErrorValue = objGPApp.ExecuteSanscript("run script 'Account Number' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry';", strErrorMessage)


 


'Check the account type, credit or debit


If Trim(.Item("AccountType")).ToLower = "Debit".ToLower Then


'Incase of Debit, fill debit with the amount 


intErrorValue = objGPApp.ExecuteSanscript("focus field 'Debit Amount' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry';", strErrorMessage)


intErrorValue = objGPApp.MoveToField("'Debit Amount' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry'")


intErrorValue = objGPApp.SetDataValue("'Debit Amount' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry'", .Item("AccountAmount"))


intErrorValue = objGPApp.ExecuteSanscript("run script 'Debit Amount' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry';", strErrorMessage)


intErrorValue = objGPApp.ExecuteSanscript("focus field 'Credit Amount' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry';", strErrorMessage)


intErrorValue = objGPApp.MoveToField("'Credit Amount' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry'")


 


Else


'Incase of credit, fill credit field with the amount 


intErrorValue = objGPApp.ExecuteSanscript("focus field 'Credit Amount' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry';", strErrorMessage)


intErrorValue = objGPApp.MoveToField("'Credit Amount' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry'")


intErrorValue = objGPApp.SetDataValue("'Credit Amount' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry'", .Item("AccountAmount"))


intErrorValue = objGPApp.ExecuteSanscript("run script 'Credit Amount' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry';", strErrorMessage)


End If


 


'Fill the distribution reference field 


intErrorValue = objGPApp.ExecuteSanscript("focus field 'Description' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry';", strErrorMessage)


intErrorValue = objGPApp.MoveToField("'Description' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry'")


intErrorValue = objGPApp.SetDataValue("'Description' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry'", .Item("LineDescription"))


intErrorValue = objGPApp.ExecuteSanscript("run script 'Description' of window 'Transaction_Scroll' of form 'GL_Transaction_Entry';", strErrorMessage)


 


'Move the scrolling window to the next line


intErrorValue = objGPApp.ExecuteSanscript("Window_ScrollScrollingWindow(window 'Transaction_Scroll' of form 'GL_Transaction_Entry', SCROLLTYPE_NEXT);", strErrorMessage)


 


End With


Next


 


'Save the Journal


intErrorValue = objGPApp.ExecuteSanscript("run script 'Save Button' of window 'GL_Transaction_Entry' of form 'GL_Transaction_Entry';", strErrorMessage) 


 


'Close GL Transaction Entry Form


intErrorValue = objGPApp.ExecuteSanscript("close form 'GL_Transaction_Entry';", strErrorMessage)


'------------------------------------------------------------------------------'


 



That's it! Let me know if you have any issues or inquiries about the above code, I will be more than happy to help.


Regards,

--


Mohammad R. Daoud


MVP, MCP, MCT, MCBMSP, MCTS, MCBMSS


CTO


+962 - 79 - 999 65 85


Dynamics Innovations


daoudm@dynamicsinnovations.com


http://www.dynamicsinnovations.com

Related Posts:

Related Posts with Thumbnails