
Have you ever wondered what Independent Software Vendors (ISV's) have to do to achieve Certified for Microsoft Dynamics status?
If this is the case, read on....
This certification is for Partner solutions which have met the high standard for Customer trust, localization, and compatibility with Microsoft Dynamics in whatever flavor you prefer: Microsoft Dynamics AX, Microsoft Dynamics GP, Microsoft Dynamics NAV, Microsoft Dynamics SL or Microsoft Dynamics CRM.
Customers can use the Solution Finder (www.microsoft.com/dynamics/solutionfinder) to see the tested and referenceable solutions for their unique needs. These are solutions that were created by Partners with industry and regional expertise. The Certified for Microsoft Dynamics logo will only appear with solutions which are certified.
To achieve this august certification there are five requirements:
- Three solution specific requirements
- Two organizational requirements
The three solution specific requirements are as follows:
- Solution must pass the compatibility and development standards test “Software Solution test for Microsoft Dynamics”.
Note: See VeriTest web site for detailed information (http://www.lionbridge.com/lionbridge/en-US/services/software-product-engineering/testing-veritest/product-certification-services/microsoft.htm).
- Solution must have a minimum of ten (10) customer references.
Note: Customers must be on the current tested Microsoft Dynamics version or one version prior.
- Solution must be profiled in Solution Profiler as a “Software Offering” only, and profiled for the specific Product line.
And the two organizational requirements are as follows:
- The ISV must be a Gold Certified Partner in the Microsoft Partner Program.
- The ISV must be on a Partner Service Plan for Microsoft Dynamics.
The basic overview and a FAQ are at http://www.microsoft.com/dynamics/partners/cfmd.mspx. The FAQ document has information including version numbers and test components.
And details on the test for each product can be found under the Detailed Requirements heading on this web site:
http://www.lionbridge.com/lionbridge/en-US/services/software-product-engineering/testing-veritest/product-certification-services/microsoft/certified-for-dynamics/test.htm
Emily
This is just a quick note to mention the new blog by the Australian Partner Training team.
Some of the articles are of relevance to the global community and not just the Australian partners.
So, go have a look at http://blogs.technet.com/AusPartnerTraining/.
David
In the Dex - Identifying the build number of a Development Dictionary post, we covered using the Windows Explorer to get the dictionary version from the file properties. This only works if the .DIC extension is correctly associated with Dexterity as a Dexterity Dictionary.
On my system, I find that every time Windows Update installs updates to Microsoft Office, the .DIC extension is changed to be associated with Notepad as a Text Document.
Below are the steps to change the association back using the Registry Editor.
- Click Start >> Run..., type "RegEdit" and press Enter or if Run is not enabled, Click Start and in the Search field, type "RegEdit" and press Enter.
- Locate the Computer\HKEY_CLASSES_ROOT\.dic node.
- Change the string value for the Default registry key from txtfile to DIC_auto_file.
- Close the Registry Editor window.
DISCLAIMER: The Registry Editor should be used carefully and only if you are comfortable making registry changes. Use of the Registry Editor is not supported.
Attached to the bottom of this post is a zipped .reg file which can be double clicked on to make the same change to the registry.
Hope this helps.
David
If you haven't seen Windows 7 yet or you have the beta version installed, you are running out of time to download the Release Candidate version.
After the 1st July 2009, the Beta version will start rebooting every 2 hours and will stop working entirely on the 1st August 2009. If you want to keep working with Windows 7, you will need to upgrade to the Release Candidate as soon as possible.
After 15th August you will no longer be able to download the Release Candidate. See the post below for more information:
Windows 7 Release Candidate downloads will end August 15th
Try it now, Windows 7 is very cool.
David
In a recent post on the new Partner Forum, it was asked how to identify the build number and hence Service Pack/Hotfix number of a Dynamics.dic dictionary being used as a development dictionary for writing a Dexterity customization.
So, here are four possible methods you could use:
A: To check the build of a development dictionary from inside Dexterity.
From the Resource Explorer window:
- Click Application.
- Double click Install.
- Locate Module 066 and read the Build Number.
B: You can also go into Test Mode (Debug >> Test Mode) and the version is displayed on the bottom left corner of the User Login window. Use Ctrl-T to exit Test Mode.
C: From Test Mode (Debug >> Test Mode), If you log in, you can click Help >> About to open the About window and see the version number. Note that logging in with an incorrect build could update version tracking data in the system.
D: Since Version 9.0, you can locate the dictionary file with Windows Explorer, right click on it and select Properties. Then click on the Dictionary tab to see the version information. Mariano Gomez mentions this method in his Retrieving dictionary build numbers outside of Dynamics GP post.
Once you have the build number, you can look up the actual Service Pack or Hotfix release on the following CustomerSource pages:
Service Pack, Hotfix, and Compliance Update Patch Releases for Microsoft Dynamics GP 10.0 
Previous Service Packs, Hotfixes and Compliance Update Releases for Microsoft Dynamics GP 10.0 
Links for Service Packs of other versions can be found on the Developer Articles & Links blog page.
For example, my system has the build number 10.00.1193, which is v10.0 Service Pack 3.
David
It is definitely possible to use Web Services for Microsoft Dynamics GP to create large transactions. By large transactions I am referring to examples of where a sales invoice would have several thousands of lines on it. That's right, some companies are integrating transactions this large using our Web Services for Dynamics GP!
I had a recent support case where a business requirement was to create a sales invoice with 20,000 lines on it. The eConnect XML string that Web Services ultimately creates will be very large and several minutes can go by in this case. Depending on hardware and the environment it could take an hour for a transaction of that size to complete. This XML string is passed to the eConnect .Net API where the Microsoft Distributed Transaction Coordinator (MSDTC) is used to communicate with the SQL server and make sure it runs in one transaction. This is where the MSDTC timeout settings and other timeout values in the configuration files come into play. If the settings are not used the transaction will timeout from MSDTC and any eConnect stored procedures that have updated the database will rollback.
It's important to know that transactions of this size are not necessarily recommended when compared to the other option of sending in many smaller transactions with less lines associated to them. A smaller XML document will process faster. SQL locks associated to tables like the SY01500 and IV00102 tables will be let go quicker on smaller transactions. So sending in large transactions takes some consideration as to when to do it.
You may see one or more of the below errors in the Web Services Exception Console, eConnect Event Log, or the custom application using the Web Services when a timeout situation happens:
Microsoft Distributed Transaction Coordinator (MSDTC) has cancelled the transaction.
The operation has timed out.
Thread was aborted.
The operation is not valid for the state of the transaction.
To avoid these timeout errors, use the following strategy by making the changes below:
1. On the Web Services computer, set the MSDTC global transaction timeout value to 0. Make sure the eConnect COM+ application components Microsoft.Dynamics.GP.eConnect.eConnectInternalMiscMethods and Microsoft.Dynamics.GP.eConnect.eConnectMethods do not override it.
a. Go to Administrative Tools-Components Services-Expand My Computers and right click on My Computer and choose Properties. Set the Transaction Timeout field to 0.
b. Expand My Computer - COM+ Applications - eConnect 10 for Microsoft Dynamics GP - Components and right click on the Microsoft.Dynamics.GP.eConnect.eConnectInternalMiscMethods and choose Properties. Make sure the Override global transaction timeout value is not marked under the Transactions tab. Do the same for the Microsoft Dynamics.GP.eConnect.eConnectMethods component.
2. Add the following httpRuntime values between the </customErrors> and <webServices> sections in the web.config file. The default location for the web.config file is C:\Program Files\Microsoft Dynamics\GPWebServices\WebServices.
<httpRuntime maxRequestLength="81920" executionTimeout="300000"/>
3. Increase the TransactionTimeoutSeconds value from 60 to a larger number in the web.config file from step 2.
<add key="TransactionTimeoutSeconds" value="9999" />
4. Add the following <system.transactions> section to the machine.config file for the .Net Framework 2.0. The default location for the machine.config file is C:\Windows\Microsoft.NET\Framework\v2.0.50727\Config. You can place the section directly under </system.data>.
</system.data>
<system.transactions>
<machineSettings maxTimeout="0:00:00"/>
</system.transactions>
5. In the application code that calls the Web Services for Dynamics GP, set the Timeout property on the DynamicsGP object:
// Create an instance of the web service
DynamicsGP wsDynamicsGP = new DynamicsGP();
wsDynamicsGP.Timeout = System.Threading.Timeout.Infinite;
Hopefully these settings will help in your Dynamics GP Web Service or eConnect applications where the transaction is running into a timeout error.
Chris
The Microsoft Dynamics GP product management and marketing team are excited to announce the availability of a new DemoMate demonstration file for the new Microsoft Dynamics CRM 4.0 (BETA) Adapter for Microsoft Dynamics GP 10.0 SP4.
Effortlessly demonstrate the updating of customer information within Microsoft Dynamics CRM 4.0 and watch the customer information on the Customer Card within Microsoft Dynamics GP 10.0 automatically update with the changes entered within Microsoft Dynamics CRM 4.0. In addition, demonstrate additional changes to the same customer information with Microsoft Dynamics GP 10.0 and watch Microsoft Dynamics CRM 4.0 also capture these changes.
For more information and the link to the demo download, please see the post below:
Microsoft Dynamics CRM 4.0 (BETA) Adapter for Microsoft Dynamics GP 10.0 SP4 – Integration DemoMate File – NOW AVAILABLE!!
Enjoy.
David
In the previous article in this series, Microsoft Dynamics GP and Illegal Characters Part 1, we discussed how string delimiter or terminator characters can cause issues and need to be handled correctly. The article discussed the single quote (') and double quote (") characters. Sometimes we have seen a single quote (') character cause problems at the SQL level when it is included in a data field and not handled correctly by the code.
This article discusses a little known issue with the Report Writer which can cause the Microsoft Dynamics GP application to crash. It can be caused by including the back quote (`) character, which is usually found below the tilde (~) character on the keyboard.
The problem here has nothing to do with SQL Server. This time it is the Dexterity Report Writer that cannot handle the character. The back quote character is used internally by the Report Writer by the code that handles the break fields for Additional Headers and Footers.
The inclusion of the back quote character in a key field which is used as a break field in an Additional Header or Footer on a report can cause the Report Writer to interpret the data incorrectly and cause it to crash. This sounds like the issue in this forum post, which prompted me to write the two articles on the subject.
Finding the Offending Data
Below are example SQL Scripts that can be used to help find problem characters in the master and transactions records for Receivables Management and Payables Management.
SQL Script for Receivables Management
select
CUSTNMBR, CUSTNAME
from RM00101 C
where CUSTNMBR LIKE '%''%' or CUSTNMBR LIKE '%`%'
or CUSTNAME LIKE '%''%' or CUSTNAME LIKE '%`%'
select
CUSTNMBR, DOCNUMBR, RMDTYPAL, '1a' as MODE
from RM10301 WT
where CUSTNMBR LIKE '%''%' or CUSTNMBR LIKE '%`%'
or DOCNUMBR LIKE '%''%' or DOCNUMBR LIKE '%`%'
UNION
select
CUSTNMBR, DOCNUMBR, RMDTYPAL, '1b' as MODE
from RM10201 WP
where CUSTNMBR LIKE '%''%' or CUSTNMBR LIKE '%`%'
or DOCNUMBR LIKE '%''%' or DOCNUMBR LIKE '%`%'
UNION
select
CUSTNMBR, DOCNUMBR, RMDTYPAL, '2' as MODE
from RM20101 O
where CUSTNMBR LIKE '%''%' or CUSTNMBR LIKE '%`%'
or DOCNUMBR LIKE '%''%' or DOCNUMBR LIKE '%`%'
UNION
select
CUSTNMBR, DOCNUMBR, RMDTYPAL, '3' as MODE
from RM30101 H
where CUSTNMBR LIKE '%''%' or CUSTNMBR LIKE '%`%'
or DOCNUMBR LIKE '%''%' or DOCNUMBR LIKE '%`%'
SQL Script for Payables Management
select
VENDORID, VENDNAME
from PM00200 V
where VENDORID LIKE '%''%' or VENDORID LIKE '%`%'
or VENDNAME LIKE '%''%' or VENDNAME LIKE '%`%'
select
VENDORID, VCHRNMBR, DOCNUMBR, DOCTYPE, '1a' as MODE
from PM10000 WT
where VENDORID LIKE '%''%' or VENDORID LIKE '%`%'
or VCHRNMBR LIKE '%''%' or VCHRNMBR LIKE '%`%'
or DOCNUMBR LIKE '%''%' or DOCNUMBR LIKE '%`%'
UNION
select
VENDORID, VCHRNMBR, DOCNUMBR, DOCTYPE, '1b' as MODE
from PM10300 WCP
where VENDORID LIKE '%''%' or VENDORID LIKE '%`%'
or VCHRNMBR LIKE '%''%' or VCHRNMBR LIKE '%`%'
or DOCNUMBR LIKE '%''%' or DOCNUMBR LIKE '%`%'
UNION
select
VENDORID, VCHRNMBR, DOCNUMBR, DOCTYPE, '1c' as MODE
from PM10400 WMP
where VENDORID LIKE '%''%' or VENDORID LIKE '%`%'
or VCHRNMBR LIKE '%''%' or VCHRNMBR LIKE '%`%'
or DOCNUMBR LIKE '%''%' or DOCNUMBR LIKE '%`%'
UNION
select
VENDORID, VCHRNMBR, DOCNUMBR, DOCTYPE, '2' as MODE
from PM20000 O
where VENDORID LIKE '%''%' or VENDORID LIKE '%`%'
or VCHRNMBR LIKE '%''%' or VCHRNMBR LIKE '%`%'
or DOCNUMBR LIKE '%''%' or DOCNUMBR LIKE '%`%'
UNION
select
VENDORID, VCHRNMBR, DOCNUMBR, DOCTYPE, '3' as MODE
from PM30200 H
where VENDORID LIKE '%''%' or VENDORID LIKE '%`%'
or VCHRNMBR LIKE '%''%' or VCHRNMBR LIKE '%`%'
or DOCNUMBR LIKE '%''%' or DOCNUMBR LIKE '%`%'
Once you are able to find the offending data, you can usually edit it directly with SQL. If the data is in a key field, be sure to be sure to also edit all rows that refer to the data so you do not create orphan records. If you need assistance identifying the tables which will need updating you could use the script mentioned in the article below or you could log a support incident.
spSearchOnAllDB: SQL Stored Procedure to Search an Entire Database
Notes:
-
To get the spSearchOnAllDB script to work with a single quote ('), you will need to replace any single quotes in the search string parameter with 4 single quotes in a row (''''). This will allow the parameter to be passed and the dynamic scripts inside the stored procedure to work. You can also use this stored procedure to search for single quotes in any field using the syntax below:
exec spSearchOnAllDB '%''''%'
-
If you require assistance from support to actually fix the data, this will usually be a billable service.
-
Always have a backup of the data before attempting any back end manipulation.
Please let us know if you have seen these type of issues before.
David
24-Jun-2009: Added hint about searching for single quotes using spSearchOnAllDB stored procedure.
Michael Johnson (the MBS Guru) has posted a great article about removing invalid references from a Visual Basic for Applications (VBA) project. This has prompted me to revisit the topic and gather together all the relevant resources from a number of blog authors.
A few months back, Mohammad Daoud published a post on the same subject. His method of removing the window from VBA and re-adding the window and fields back to VBA is the supported method for removing references to fields that no longer exist on the window.
Below are the links to the his article and some of my thoughts at the time:
The Microsoft_Dynamics_GP.vba project references some objects that cannot be found. these objects are listed in the file: C:\Program Files\Microsoft Dynamics\GP\Dynamics.txt. (Mohammad Daoud's site)
Linking Field Prompts and fixing VBA Reference Errors (this site)
However, what happens when you have a VBA customization with many fields added to VBA and only one or two that have been removed and are now causing errors?
You might remember how the Action Button replaced a number of other buttons in the v10.0 Sale Transaction Entry window. This means that if the old Transfer, Delete, Post buttons etc. were previously added to VBA, they would now cause invalid reference errors. See the links are the bottom of this post for more information on the Action Button.
Michael recently faced this situation when upgrading a site to v10.0. There were over 60 other fields added to VBA. Using the method mentioned in the previous articles would have required a huge effort to manually add the 60 fields back to VBA. So Michael used a technique which has been mentioned before and manually edited the exported package file with Notepad.exe. For the details, please see his post:
Removing a Reference to a Field or Object in VBA (Michael Johnson's site)
NOTE: The technique described here directly modifies the contents of a customization package with Notepad. This technique is not supported by Microsoft Dynamics GP support.
For information on changing VBA or Dexterity code to work with the Action Button in the v10.0 Sales Transaction Entry (SOP_Entry) window, have a look at these related posts from Mariano Gomez and myself:
Upgrading SOP Entry VBA Customizations from Dynamics GP 9.0 to Dynamics GP 10.0 (Mariano Gomez's site)
Dex - Working with the Action Button on the SOP_Entry form (this site)
Hope you find this summary useful.
David
Over the years that I have worked with Microsoft Dynamics GP, there are been a few occasions where we have had issues with so called "illegal" characters.
While the use of these characters should work everywhere, there are times when the characters are not handled correctly by the system and so cause problems. The characters in question are the quote or apostrophe characters; the single quote ('), ASCII 39; the double quote ("), ASCII 34; and the back quote (`) ASCII 96.
Boring Theory Stuff
Those of you who have a development background would know that when the character used to delimit a string field needs to be included in a string field, you would usually need to use some sort of special handling to prevent the string field being terminated prematurely.
Here are some examples to demonstrate what I mean:
Dexterity uses a double quote (") as a string terminator. So to display a string including a double quote, I need to either use two double quotes, use the QUOTE constant, or use the char() function with the ASCII value of 34.
warning "This is a "" character";
warning "This is a " + QUOTE + " character";
warning "This is a " + char(34) + " character";
Visual Basic for Applications (VBA) also uses a double quote (") as a string terminator. So to display a string including a double quote, I need to either use two double quotes or use the chr() function with the ASCII value of 34.
msgbox "This is a "" character"
msgbox "This is a " + Chr(34) + " character"
Transact SQL uses a single quote (') as a string terminator. So to display a string including a single quote, I need to use two single quotes.
print 'This is a '' character'
This special handling for the string terminator character is usually handled during the development process and so usually does not cause any issues.
Also, the development environments usually will understand the special requirements for the string terminator and handle it appropriately.
For example: when Dexterity sends data to SQL Server it will automatically handle the conversion of a single quote in a string field to two single quotes to avoid early termination of the field.
The Real World
So when can these characters cause problems....
The problem occurs when code is built on the fly and the string terminator is not handled correctly. In Dexterity, we have the ability to create pass through sanScript Dexterity code that we can run with the execute() function. We also have the ability to pass code to SQL Server as part of a where clause or as pass through Transact-SQL code.
The following Knowledge Base (KB) article explains how to use the SQL_FormatStrings() function to ensure that any single quote characters in the data are handled correctly:
How to write "Passthrough" SQL statements and "Range Where" clauses in Microsoft Great Plains Dexterity (KB 910129) 
If a Dexterity developer writes code where the data from a string field is passed to SQL Server without using the SQL_FormatStrings() function, then the inclusion of a single quote into the data field can cause the code to fail. If this situation happens, it should be logged as a support case with the developer so they can find and fix the offending code.
Another situation that can cause issues is when a stored procedure in SQL Server uses dynamically built code to pass through SQL code using the exec command. This code also needs to handle the single quote correctly. A SQL User Defined Function (UDF) could be written to perform the same function as the SQL_FormatStrings() Dexterity function.
More information to come in the next post..... Microsoft Dynamics GP and Illegal Characters Part 2.
Also have a look at this related KB article for handling of dates and times.
How to pass dates and times to SQL Server from Dexterity in Microsoft Dynamics GP (KB 929786) 
Hope this information is useful.
David
This post contains information about an error you receive when you use the Fixed Asset Book destination in Integration Manager for Microsoft Dynamics GP.
Integration Manager for Microsoft Dynamics GP 9.0 Fixed Asset Book integration error:
DOC 1 ERROR: CORPORATE Book: If Depreciated to Date is later than Place in Service Date, LTD Depreciation must be entered.
This error is fixed in Integration Manager for Microsoft Dynamics GP 10.0 with the latest hotfix. Please refer to the link below:
Integration Manager 10.0 downloads for Microsoft Dynamics GP 10.0 
For version 9.0, here is a workaround:
- Do not map the following fields in the integration:
- LTD Depreciation
- YTD Depreciation
- Depreciate To Date
- Create an After Document script to update these fields in the FA00200 table.
Here is the After Document script (The connection string is hard-coded because most users integrating with SQL Optimized Adapters do not want to start into Microsoft Dynamics GP. See KB Article 874790
to use RetrieveGlobals9 instead of hard coding the connection string):
Integration Manager After Document Script
Dim LTDDepr
Dim YTDDepr
Dim DepToDate
Dim Asset
Dim Book
LTDDepr = SourceFields("MainFixedAssetCorpBook.LifeToDate Deprec")
YTDDepr = SourceFields("MainFixedAssetCorpBook.Current YTD Depr")
DepToDate = SourceFields("MainFixedAssetCorpBook.Deprec To Date")
Asset = SourceFields("MainFixedAssetCorpBook.AssetNo")
Book = SourceFields("MainFixedAssetCorpBook.BookID")
Set objRec = CreateObject("ADODB.Recordset")
Set objConn = CreateObject("ADODB.Connection")
objConn.ConnectionString = "Provider=MSDASQL;DSN=YOURGPDSN;Initial Catalog=ME;User Id=sa;Password=YOURPASSWORD"
objConn.Open
cmdString = "update a Set a.DEPRTODATE = '" & DepToDate & "' from FA00200 a,FA40200 b,FA00100 c where a.BOOKINDX = b.BOOKINDX and a.ASSETINDEX = c.ASSETINDEX and (b.BOOKID = '" & Book & "') and (c.ASSETID = '" & Asset & "')"
Set objRec = objConn.Execute(cmdString)
cmdString = "update a Set a.LTDDEPRAMT = '" & LTDDepr & "' from FA00200 a,FA40200 b,FA00100 c where a.BOOKINDX = b.BOOKINDX and a.ASSETINDEX = c.ASSETINDEX and (b.BOOKID = '" & Book & "') and (c.ASSETID = '" & Asset & "')"
Set objRec = objConn.Execute(cmdString)
cmdString = "update a Set a.YTDDEPRAMT = '" & YTDDepr & "' from FA00200 a,FA40200 b,FA00100 c where a.BOOKINDX = b.BOOKINDX and a.ASSETINDEX = c.ASSETINDEX and (b.BOOKID = '" & Book & "') and (c.ASSETID = '" & Asset & "')"
Set objRec = objConn.Execute(cmdString)
ObjConn.Close
The objConn.ConnectionString section must be your connection string. Replace the DSN (ODBC Data Source Name) with your DSN that you use to connect to Dynamics GP. You will also have to replace the password.
As soon as the asset is integrated, you have to reconcile Fixed Assets to update the YTD Depreciation Rate.
Create an Asset Group and then do a Mass Change.
- Start Microsoft Dynamics GP and then click Transactions, click Fixed Assets, and select Mass Change.
- Drill back on Asset Group ID.
- Create the Group.
- Make sure all the assets that are in the integration and you want to recalculate the YTD Depreciation Rate are assigned to this group.
- In the Fixed Assets Mass Change window, select the Group that you created and select the Book tab.
- Select the book from the integration and select the following:
Depreciation Method: Your depreciation method
Averaging Convention: Your Averaging Convention
Switchover: Your Switchover selection
Mark Calc Remaining
- Select Apply Changes.
Hope this helps.
Dawn
There is an issue with the Shift+F11 keyboard shortcut which is used by Visual Basic for Applications (VBA) to Add Fields to Visual Basic. I was asked about it again recently and so decided to post the details on the blog.
The issue is that Shift+F11 does not work on some systems. It usually works on some workstations and not others. The failure is quite often on workstations used by developers.
Most of the time you can just use the menus to select the Add Fields to Visual Basic choice and so it is not important that the keyboard shortcut is not working. However, when working with modal windows, you cannot get access to the menus and you need to use the keyboard shortcut.
So... what is happening?
The answer is fairly simple, but it did take a while to find when the issue was first discovered.
Many developers use the Script Debugger at runtime mode as described in the Knowledge Base (KB) article below:
Using the Script Debugger in runtime (KB 850487)
This turns on the Debug menu in the application and the Debug menu has Shift+F11 defined as Step Out. This choice on the Debug menu takes precedence over the VBA choice on the Tools >> Customize menu and prevents the keyboard shortcut working for VBA.
The solution is simple.... either manually edit the Dex.ini to change the setting to ScriptDebugger=FALSE or use the Dex.ini Settings window in the Support Debugging Tool for Microsoft Dynamics GP to make the same change.
While this issue can be frustrating, it is not high priority as the Debug menu should never be left enabled in a live environment on user's workstations.
Hope this explains it for you.
David
OK, this has nothing to do with Microsoft Dynamics GP, but it is soooo cool.
For anyone who has played computer games, either on a PC or on a game console, the Microsoft Project Natal program is showing us the future of interactive gaming.
Don't take my word for it, watch the video below:
For more information, check out the Xbox website at http://www.xbox.com/en-US/live/projectnatal. Make sure you scroll down and watch the other demo videos in the gallery section.
Also have a look at the Xbox Project Natal YouTube Channel.
Have fun.
David
18-Jun-2009: Added Xbox Project Natal YouTube Channel
A recent discussion on the new partner Online Technical Community (OTC) forum talked about the future of the Dynamics GP forums. The thread was started after the three public forums on the new forum site were locked to prevent further posting. This change was made to avoid fragmenting the Microsoft Dynamics GP community between too many public forums and newsgroups.
It was me (guilty as charged) who requested that the forums be locked for the moment. To explain why, I need to go through the history behind the newsgroups and forums:
We originally had two private partner newsgroups:
microsoft.private.certgcert.dynamics.gp
https://members.microsoft.com/communities/certgold/default.mspx?dg=microsoft.private.certgcert.dynamics.gp&lang=en
microsoft.private.directaccess.greatplains
https://members.microsoft.com/communities/partner/default.mspx?dg=microsoft.private.directaccess.greatplains&lang=en
and two public newsgroups:
microsoft.public.greatplains
http://www.microsoft.com/Businesssolutions/Community/Newsgroups/dgbrowser/en-us/default.mspx?dg=microsoft.public.greatplains
microsoft.public.dynamics.gp.developer
http://www.microsoft.com/Businesssolutions/Community/Newsgroups/dgbrowser/en-us/default.mspx?dg=microsoft.public.dynamics.gp.developer
Being based on internet Newsgroup technology, they could be accessed via the web pages above or any number of news reader tools and sites. However, the functionality offered was fairly limited as far as tracking, editing, marking as answer, etc.
Then a new public Community forum was created
https://community.dynamics.com/forums/32.aspx
So for a long time we had these 5 locations (2 private and 3 public). This was already breaking the community up and that does not include independent non-MS groups (such as the Tek Tips and Google Dynamics GP group).
Now the two private partner newsgroups have been consolidated to a new partner forum, see this post for details, New Microsoft Dynamics GP Partner Forum.
http://social.microsoft.com/Forums/en-US/partnerdynamicsgp/threads
The new forum site allows for greater functionality and a much friendlier environment. If you cannot access the forum link, have a look at the New Microsoft Dynamics GP Partner Forum post for instructions to associate your Live ID with your company's partner account.
When we looked at the new Social forums landing page
http://social.microsoft.com/Forums/en-US/category/dynamics
We noticed that three public Microsoft Dynamics GP related groups had already been created by someone but had not yet been used. These groups were not created by the product or support teams or the team that handles communities.
http://social.microsoft.com/Forums/en-US/gp/threads
http://social.microsoft.com/Forums/en-US/gpcustomization/threads
http://social.microsoft.com/Forums/en-US/gpdeployment/threads
Once people started using the new partner forum it was suspected that they would find and start using these three other forums. This is exactly what has happened.
The problem was that we now had six Microsoft public forums or newsgroups. This would fragment the Microsoft Dynamics GP community and weaken the benefits of all of them. You need to reach a "critical mass" of members on a forum or newsgroup for it to truly be a great resource. Dividing the membership across six locations would prevent that from happening.
I asked for clarification of the plan for the future of the public forums. We do plan to migrate the old public newsgroups to the new forums, but not yet. So in the meantime we will be locking down the three public forums.
I was hoping to have those forums hidden or locked before the partner forum came online, but it took a while to find the owner and decide what to do. There will be public forums based on this platform available sometime in the future, just not yet.
I hope this explains everything.
David
25-Jun-2009: Added information on associating Live ID.
The following is a situation that I have come across a couple of different times. What people want to do is set up a macro to run at night to generate their Safepay EFT file. They want to just set it up to run every night whether there are transactions to process or not. The problem comes in when there are no transactions to process.
- The user would record a macro to log into GP (see KB 855677
) and go to the Safepay Transactions Upload window.
- In the window, the macro would select the Bank ID and then click Load/Reload Transactions button to fill the window.
- Then the macro would click the Upload button to generate the EFT file. When there are transactions to upload, you receive a message that asks if you would like to upload transactions. The macro would click proceed and after the file is generated, you receive a warning statement that the file has been generated.
- The macro would then click ok. Another warning messge comes up that tells you to get a confirmation number. The macro would click ok there and then put in the confirmation number.
You get the idea here, the macro recorded deals with multiple warning dialogs on a successful upload, In the case where there are no transactions to upload, when the Upload button is clicked, you get a warning that there are no transactions to process and the upload aborts.
As you can see one macro won't work in both of the above scenarios. If there are no transactions to upload, the macro crashes and then will just sit logged into GP. So that's the situation we are trying to avoid.
When the Upload button script runs, it checks the '(L) Number of Checks' local field on the window ME_PP_Transactions of form ME_PP_Transactions and if that is zero, then it gives the warning that there are no transactions to upload. So what we can do to trick the system is put a focus trigger on the Upload button and if the field '(L) Number of Checks' is zero, just simply set it to 1. When you do that, all the windows come up as normally when there are transactions to process. The only difference is that you just get an empty text file. What this allows us to do now is have one macro log in and run at night and always work whether there are transactions to upload or not.
Here is the Dexterity code that I used to accomplish this and a partner also used VSTools to get the same result. VBA doesn't work because the '(L) Number of Checks' field is disabled on the window, unless you wanted to use the unsupported method of running sanScript from VBA.
Example Dexterity Code - This is the trigger processing procedure on a cross dictionary focus trigger on the Upload button in Safepay. This trigger runs before original.
Hope you find this useful.
Dave Dusek
Dynamics GP Developer Support