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

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

Wednesday, October 14, 2009

Why Microsoft Dynamics Partners Begin with Big Advantages Over Competitors?!?

Great article BY Raman Dhooria, IT Consultant, Microsoft India @ MSDynamicsWorld, two simple questions from his post are below:

Simple questions -


Can any other company, including SAP, pay out equal to Microsoft in R&D? In short can they spend around $9 billion on R&D investments? The answer is NO...and the result is quite evident - SAP/Oracle can't come close.


Do SAP partners enjoy flexibility to create vertical solutions and own them?
Again NO - SAP/Oracle wants the whole share of Pie and leave only implementation to the partners. Plainly, the model is archaic and needs to evolve.

Check 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

Extended Pricing

Steve @ Rose Business Solutions Blog explained the extended pricing in few images, worth to 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

Auto-hold Over Credit Limit Customers Orders

Frank detailed the steps on how to use Process Hold to hold orders that exceeds customer credit limit, check 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

Report Writer: Totals when sections are suppressed

David has a new tip about totaling a field when section is conditionally suppressed, worth to look if you are interested in report writer modifications, check his 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

Tuesday, October 13, 2009

Microsoft Dynamics Salary Survey 2009

Nigel Frank International would like to invite you to complete what is to be our annual survey of Microsoft Dynamics salaries worldwide.

The survey will only take a couple of minutes to complete and your response and any personal details will be kept strictly confidential. The survey is available in the following languages for your convenience; English, German, French, Dutch, Danish, Spanish, Italian, Norwegian, and Finnish.

As a thank-you for your contribution they will send you a PDF report of the results once they have been compiled. This will give you an insight into the salaries, opinions and demographics of your Microsoft Dynamics counterparts worldwide.

Please find a link to the Microsoft Dynamics Salary Survey 2009 below:

http://www.surveymonkey.com/s.aspx?sm=zslxztKj8a611SJDPFQ2cQ_3d_3d

Your response will be greatly appreciated and will help to give everyone in the Microsoft Dynamics community a greater understanding of their profession.

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, October 9, 2009

Sneak peak to Office 2010 and GP 2010

I like this guy posts, he brings every thing you want to know in one post with a simple and friendly way, checkout this post as example:

http://dynamicsgpblogster.blogspot.com/2009/10/technology-corner-microsoft-office-2010.html

Thanks Mariano! Looking to meet you in the upcoming MVP Summit.

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/ CRM Adapter Issues

Guys in Rose Business Solutions were excited about the CRM adapter and went direct for the testing upon the release! they have few comments that worth being in your mind next time you need to install and test the adapter, checkout Steve post below:

http://www.rosebizinc.com/gpblog/2009/10/lessons-learned-crm-40-adapter-for-gp.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

Running JD Edwards and Interested in Microsoft Dynamics?!? Its Your time!!!

Guys,

As usual, Merit Solutions announce Microsoft promotions upon getting it launched! Few weeks ago Microsoft promoted 50% discount for current Sage Customers, and today Microsoft has a new promotion for customers running JD Edwards and interested in switching to Microsoft Dynamics GP or AX, a special discount of 50% is available on licensing price in addition to huge discounts in implementations from Microsoft partners.

Checkout this site @ Microsoft portal that developed specially for this promotion:

http://www.microsoft.com/dynamics/rightchoice/default.aspx

Checkout this article in Merits Solutions blog for more details:

http://meritsolutions.com/meritmatters/index.php?/archives/271-JDEdwards-Was-Right-Then,-Microsoft-Dynamics-AX-Is-Right-Now.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

Microsoft Dynamics CRM - GP Adapter Released

The official blog of Microsoft Dynamics GP was officially released the CRM adapter for GP, as per their description to the implementation they have informed as that its "Wizard driven installation", check the complete information about the adapter 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

Thursday, October 8, 2009

Business Portal KPI's

Guys,

Checkout below post about business portal KPI's and how to create list of KPI's:

http://www.rosebizinc.com/gpblog/2009/10/key-performance-indicators-kpi-types-in.html

Very much interesting, well done Steve.

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

MVP Summit 2010

Guys,

Yesterday I received the recommendation letter from Microsoft to start processing my B-1 visa to the US, I am very much excited to attend the MVP Summit 2010 in Feb, and meet the elders in our field.

Looking to meet you there!

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

Year End Closing

Frank around to finalize his series of posts about year end closing, for the time being he covered the following module:

Purchasing

Inventory

Sales

Updated:

Fixed Assets

Finally the big one:

Financial

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

Visual Studio & GP Security

David has information and thoughts about integrating GP security with the forms developed using the .Net toolkit and the Menus, checkout his post below:

http://blogs.msdn.com/developingfordynamicsgp/archive/2009/10/07/visual-studio-tools-and-dynamics-gp-security.aspx

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 4, 2009

Accountant, Consultant and Developer Life

Bill Kennedy posted the life cycle for most of the people in our career, he clearly well explained the situation we are in and asked him self why we are in such situation!!!

Check his interesting 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

Customer Vendor Consolidation

More about customer and vendor consolidation @ Frank blog, 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

Debugging SQL Triggers

Well, I am SQL triggers expert and love to work on it, but it's my first time I know that triggers could be debugged! Thanks the Steve Endow on pointing us to this in his post below:

http://dynamicsgpland.blogspot.com/2009/10/using-and-debugging-sql-triggers-with.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, October 3, 2009

Year End Closing

Frank started his series about year end closing, started by the post below:

http://gp2themax.blogspot.com/2009/10/gptip42day-year-end-closing-procedures.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

Include SP's in GP Package

Geoffrey Wayong has an interesting post about including service packs in the installation package, checkout his post below:

http://amllp.blogspot.com/2009/10/dynamics-gp-client-installs-with.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

OLE Notes

David posted an interesting article about OLE Attachments and how it works, 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

Thursday, October 1, 2009

Microsoft Dynamics GP in 1980?!?!?!

Did you know that Doug Burgun who did earn him BC's Degree in 1978 was the first founder of the product we currently call Dynamics GP in 1980? I got shocked when I read the complete history of Microsoft Dynamics, enjoy reading the history of Great Plains history in article below @ Dynamics World:

http://www.dynamicsworld.co.uk/Dynamics-GP-Timeline.php

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