Microsoft Product Support

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Tuesday, 28 September 2010

Debugging Microsoft Dynamics GP 2010 Word Templates

Posted on 05:00 by Unknown
In my previous article I outlined a few steps to add a page of terms and conditions to an invoice form. However, these changes did not come without their challenges. When I initially started out working on this customized template, my "natural instinct" was to add a new section to the Word template and unlink the header and footer from the previous section, then add the text. To complicate matters a bit more, I had added this new template as a modified version of a modified report - SOP Blank Invoice Form Template (Modified). Typically this is what would be encountered in a GP environment anyways as most standard GP invoice forms were customized even before the Word Templates functionality even existed in GP.

Somehow, these changes managed to crash and display a message in the Template Processing Exceptions(TPE) window and I ended up with this error:


One or more templates could not be processed. View the exception log for more details.

Well, that was a good start... but, where was the exception log?

Of course, being the well connected individual that I am - Ehem! - I sent this one off to my good friend Rob Wagner over at Microsoft Business Division, who is also known as "The Word Templates God" in some circles. Rob pointed me to a new DEX.INI setting available for Word Templates:

TPELogging=TRUE

In Rob's own words, "FYI, dex.ini TPELogging=TRUE is used to gather where an exception has occurred. It points the combine process where I will go in and debug the TPE.".

The log is created in the %temp% directory where the actual Word document is rendered and its content looks something like this:

10 hours. 57 minutes.13 seconds. 901 milliseconds. :20050: Combine.Unhandled

TPE was indicating that there was an issue with an exception not being handled when the XML data from Report Writer was being combined with the actual Word template.

This allowed Rob and his team to start tracking down the issue with my template from the source code and provide me with an alternate route to solve my problem.

As a final note, it seems there is an issue as well with TPE not clearing some process after choosing to remove the exception from the Report Processing Status window. In turn, this prevents shutting down GP via the Exit option, having to use the Windows Task Manager to force the termination of the DYNAMICS.EXE process. Rob's team is on this too.

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/
Read More
Posted in DEX.INI, Dynamics GP 2010, Microsoft Office, Troubleshooting, Word Templates | No comments

Monday, 27 September 2010

How to add a "Terms and Conditions" page to a Microsoft Dynamics GP Word Template document

Posted on 11:51 by Unknown
It's officially Microsoft Office Word Templates week here at The Dynamics GP Blogster!

With the integration of Microsoft Word Templates into Microsoft Dynamics GP 2010, the possibilities of delivering professional looking business facing documents increased 1000-fold. Now, Microsoft Dynamics GP users want to take full advantage of Word's editing and document formating capabilities to introduce extra information in their business facing documents that was simply quite complex or impossible to achieve with Report Writer.

A common request among users is to add a Terms and Conditions page to a SOP invoice form. For this example, we will use the SOP Blank Invoice Form report. You can follow these steps to achieve just that:

1. If you haven't done so, enable the SOP Blank Invoice Form Template* report under the Template Configuration Manager window. Click Save to continue.



2.  Open the Report Template Maintenance window and choose the SOP Blank Invoice Form from the More Reports option.

[NOTE: If you are working with a modified version of the SOP Blank Invoice Form created in Report Writer and exposed to Word Templates, then choose Modified from the Status drop-down list.

3.  Click the New button  on the Report Template Maintenance window to create a new template based on the existing one. For this example, we will call this template SOP Blank Invoice Form with Conditions. Click the Create button when finished.


You should now see the new template version in the Available Templates pane in the Report Template Maintenance window.

4. Click on the Modify button to open the SOP Blank Invoice Form Template with Conditions template in Microsoft Word. Position the cursor beneat the Total field and insert a 1 row by 1 column table.


Add the Terms and Conditions text inside the table as shown below.


5. Highlight the newly added table and its text, then click on the Paragraph expansion button under the Home ribbon to open the options window. Click on the Line and Page Breaks tab and mark the Keep Lines Together and Page Breaks Before check marks. Click Ok to continue.


Note that the table has now moved to a second page.

6. Save the modified Word template in your My Documents folder to avoid loosing your changes when you close Word then reimport the template in the Report Template Maintenance window. Assign the template to the company and make it the Default template.


NOTE: You can also choose to assign the template to specific customers if needed, however, for demo purposes, we are choosing to default the template.

7. Print a SOP invoice choosing the Blank form to ensure the template prints as expected.

NOTE: At the end of this article I realized I had modified the SOP Blank History Invoice Form Template. Print a historical invoice instead as the results should be the same.

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/
Read More
Posted in Dynamics GP 2010, Microsoft Office, Word Templates | No comments

Sunday, 26 September 2010

The Dynamics GP Blogster changes its motto!

Posted on 15:19 by Unknown
"Your Microsoft Dynamics GP World Without Barriers"

When I first created this site and posted my first article back in March of 2008, my original goal was to show you, the reader, a number of tips and tricks I had learned over the years from working with Microsoft Dynamics GP and developing international localizations and customizations, hence the initial site's motto "A comprehensive resource for technical and functional tips and tricks for the Microsoft Dynamics GP platform".

Since that very first article, this site has published over 475 articles that have ranged from SQL scripts, to VBA customizations, to conference sessions, to events, to topics covered by other bloggers, and heck, even some CRM stuff (as it relates to GP). Popular among readers are some of the specialized content like The Technology Corner, which outlines what going on outside of the Microsoft Dynamics GP world that will eventually impact how you work with Dynamics GP; and From the Newsgroups, which brings some of the most interesting questions asked by you in the Community forums. In addition, with the explosion  of Social Networks, The Dynamics GP Blogster now reaches you via Facebook, Twitter, the Microsoft Dynamics Community site, WordPress, and RSS. The site is visited by more than 1,000 of you a day from almost all corners of the world and features a new design with rotating backgrounds meant to summarize the mood of the week.

In short, you and I have moved way beyond the "tips and tricks" and are now exploring the Microsoft Dynamics GP world as a whole. Don't get me wrong! You will continue to receive your usual dose of tips and tricks as you always have, but in the spirit of building up the Community's knowledgebase, we will continue to explore those topics and point to those resources that have made Microsoft Dynamics GP the product it is today -- see, I believe Microsoft Dynamics GP to be more than just a software package. In fact, Microsoft Dynamics GP represents community.
 
As such, from today, the new motto at The Dynamics GP Blogster is "Your Microsoft Dynamics GP World Without Barriers". Thank you for your readership and please continue to help me tear down those barriers, and remember, you can always comment on those articles where you feel there is more to add, even if you don't agree with the views presented.

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/
Read More
Posted in Events | No comments

Thursday, 23 September 2010

Microsoft Dynamics GP 2010 Service Pack 1 now available!

Posted on 12:55 by Unknown
Over at Inside Microsoft Dynamics GP, Andy Westby has news on the release of Microsoft Dynamics GP 2010 Service Pack 1. Customers and Partners can now download the new service pack from these links:

CustomerSource: https://mbs.microsoft.com/customersource/downloads/servicepacks/mdgp2010_patchreleases.htm

PartnerSource:
https://mbs.microsoft.com/partnersource/downloads/servicepack/mdgp2010_patchreleases.htm

NOTE: As of the time of this post, I could not download the new service pack as it seems the download site is already extremely busy.

With the release of Service Pack 1, Microsoft will be launching 2 new online services. However, these have yet to be disclosed.

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/
Read More
Posted in Dynamics GP 2010, Installation, Troubleshooting | No comments

The Technology Corner: Linda Rosencrance looks at IE9 Beta across the CRM spectrum

Posted on 07:19 by Unknown


My friend, Linda Rosencrance over at MSDynamicsWorld takes a look at early attempts to run Microsoft Dynamics CRM 4 and 5 with the new Internet Explorer 9 Beta in her new article. She also features some of my earlier comments and findings with running Microsoft Dynamics GP 10.0 and Microsoft Dynamics GP 2010 with IE9 Beta. The bottom line is, IE9 Beta is not going to be supported by Microsoft whether you are running Microsoft Dynamics CRM or Microsoft Dynamics GP. Any attempts of running IE9 Beta should be conducted in a non-production environment.

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/
Read More
Posted in CRM, Dynamics GP 2010, Internet Explorer, The Technology Corner | No comments

Wednesday, 22 September 2010

Test-Driven Development with Dexterity

Posted on 12:39 by Unknown
Often, when speaking to Visual Studio developers I am introduced to some new (or not so new) software engineering technique available via the slur of tools provided by Team Foundation Server (TFS). One of such tools is the ability to write/implement in-line test cases along with the rest of your code. This is known in Software Engineering as Test-Driven development or is sometimes referred to as self-testing code.

Dexterity also has these capabilities, believe it or not. Sufficient to say, that the Dexterity development environment and the sanScript language were conceived by Software Engineering and Compiler purists who were way ahead of their time back in the 80s when the mid market ERP was racing towards identifying a clear leader -- see Microsoft Dynamics GP Architectural Foundations Series - featuring Microsoft's Tim Brookins.

To address this issue, the SanScript language implements assertions. See A Historical Perspective on Runtime Assertion Checking in Software Engineering. An assertion is a claim about the state of computation at the time the assertion is evaluated. Assertions are always written as statements the programmer believes to be true. You can make your code self-testing by adding assertions at different stages. When the assertion fails there may be a potential problem with the script you are writing.

In Dexterity, the assert statement is primarily used to implement these claims. When an assert statement is found, the Dex compiler will evaluate the boolean condition associated with the statement. If the condition turns out to be false, the compiler will display a message related to the assertion. As such, the assert statement is implemented as follows:


assert boolean_expression {, message}


The following code illustrates the implementation of an assertion:



In this case, our assertion or primary assumption is that the selling price of the item be greater than the item cost itself. If we attempt to execute this code with the values shown on the image, the following error will be produced.




Note that an assertion will not prevent the values entered from being saved, but Dexterity will provide the option of aborting the script execution, ignoring the assertion, or debugging the current code to examine other alternatives. For the example above, the developer can choose to implement additional code that will prevent the saving of a record if indeed the selling price must be always greater than the item cost.

The assert statement should be seen as a development and testing tool. The dialog box indicating an assertion failed should not be displayed to the users of your application. By default, the runtime engine will not display the dialog box, even though an assertion failed. To allow testing with the runtime engine, add the RuntimeAsserts=TRUE setting to the defaults file, DEX.INI. This forces the runtime engine to display the dialog box for any assertions that fail.

Since assertion dialogs should not be seen by users, and some overhead is involved in evaluating them, it is strongly recommended that you don’t compile assert statements for the final version of your product. To prevent assert statements from being compiled, don’t compile your application with debug information.



These compilation options can be found in Dexterity Utilities.

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/
Read More
Posted in Best Practices, Code, DEX.INI, Dexterity | No comments

Monday, 20 September 2010

Mass emailing customer documents with Microsoft Dynamics GP 2010

Posted on 04:00 by Unknown
In a previous article, I detailed the steps required to setup the email feature in Microsoft Dynamics GP 2010 - see Configuring Email for Sales and Purchasing Documents in Microsoft Dynamics GP 2010. Now, I will show you how to take advantage of a few Dynamics GP features to mass email customer documents. That's right! En mass, bulk, or simply a bunch of them at a time!

First up, is the Print Sales Documents window, Transactions > Sales > Print Sales Documents, or if you prefer, click Sales on the Navigation Bar, then click the Print Sales Documents link under the Transactions web part.




Use this window to mass email sales documents when your ranges are predictable, for example, when you are emailing documents that are in sequence, or belong to the same date or consecutive dates, or based on the batch number or batch status.

Second up is the Sales Navigation Lists. By clicking on Sales on the Navigation Bar, then choosing Sales Order Transactions, you can display all transactions. The beauty of the Navigation List is that you can print transactions in any sequence, for any customer, and for any document types.




In addition, you can apply specific filter criteria for submitting emails to customers.

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/
Read More
Posted in Best Practices, Dynamics GP 2010, Sales Order Processing | No comments
Newer Posts Older Posts Home
Subscribe to: Posts (Atom)

Popular Posts

  • The Dynamics GP Blogster's best articles of 2012
    It's that time of the year again! Time to say goodbye to the outgoing year, 2012, and receive the new one, 2013, making all sort of reso...
  • Resetting GP desktop position and size with the Support Debugging Tool
    Just recently I worked on an issue being experienced by several Microsoft Dynamics GP users in a Citrix environment. The users would report ...
  • Running Fixed Assets Depreciation causes Microsoft Dynamics GP to "hang"
    I just completed a full upgrade of Microsoft Dynamics GP from version 9 to version 2010 R2 for a client and they were going through their fi...
  • Microsoft Dynamics Convergence Atlanta 2011: Day 3
    Day 3: April 12, 2011 Today started with David and I meeting in the Speaker Room catching up on the previous days activities. Of course, if ...
  • Microsoft SQL Server performance boosting settings for Microsoft Dynamics GP - Part 1
    Part 1 of 2 - Microsoft SQL Server performance boosting settings for Microsoft Dynamics GP. Disclaimer: this is not a "one-size-fits-al...
  • Running Windows 8.x Business Analyzer app on a laptop with SQL Reporting Services
    If you are a consultant, chances are you run your Microsoft Dynamics GP application demo environment on a laptop along with Microsoft SQL Se...
  • Vote for your 2012 GPUG All Star
    The time has come again to vote for the next year's GPUG All Star awards. Surprisingly, I have been nominated to this award along with f...
  • Microsoft Dynamics GP Architectural Foundations Series - Built to Fit
    This is article 5 of 7 from the series Microsoft Dynamics GP Architectural Foundations Series - featuring Microsoft's Tim Brookins . Tim...
  • How to add a "Cover Letter" page to a Microsoft Dynamics GP Word Template document
    I wrote an article almost a year ago showing a simple technique to add a  Terms and Conditions page to a Microsoft Dynamics GP Word Templat...
  • "Unable to access SnapIn config data Store" accessing Web Management Console
    For quite some time I had been running into this error when attempting to access the Microsoft Dynamics GP 2013 Web Management Console appl...

Categories

  • Ad Campaigns
  • ADO
  • Adobe Acrobat
  • Analytical Accounting
  • Architecture
  • Around the Blogosphere
  • Article
  • Azure
  • Bank Reconciliation
  • Best of 2009
  • Best of Series
  • Best Practices
  • Bing Maps Enterprise
  • Books
  • Business Alerts
  • Business Analyzer
  • C#
  • Code
  • COM
  • Community
  • Compliance
  • Connect
  • Continuum
  • Convergence
  • Corporate Performance Management
  • CRM
  • Database Maintenance Utility
  • Decisions Conference
  • DEX.INI
  • DEXSQL
  • Dexterity
  • Discussions
  • Drill-Down Builder
  • Dynamics GP 10
  • Dynamics GP 11
  • Dynamics GP 12
  • Dynamics GP 2010
  • Dynamics GP 2010 R2
  • Dynamics GP 2013
  • eConnect
  • EFT
  • Electronic Banking
  • Encumbrance
  • Events
  • Extender
  • Field Services
  • Fixed Assets
  • Forecaster
  • From the Newsgroups
  • FRx
  • Functionality
  • General Ledger
  • GPUG
  • Home Page
  • Human Resources
  • Humor
  • IMHO
  • Installation
  • Integration
  • Integration Manager
  • Internet Explorer
  • Inventory
  • Kinnect
  • Maintenance
  • Management Reporter
  • Manufacturing
  • Menus for Visual Studio Tools
  • Microsoft Office
  • Modifier
  • Multicurrency Management
  • Multitenancy
  • MVP Summit
  • MVPs
  • Named Printers
  • Navigation Pane
  • Notes
  • ODBC
  • Office Web Components
  • OLE Container
  • Online Services
  • OpenXML
  • Partner Connections
  • Payables Management
  • Payroll
  • Performance
  • PO Commitments
  • Printer Compatibility
  • Product Feedback
  • Project Accounting
  • Purchasing
  • Receivables Management
  • RemoteApp
  • Report Writer
  • Reporting
  • Roadmap
  • SafePay
  • Sales Order Processing
  • Season Greetings
  • Security
  • Service Call Management
  • SharePoint
  • SmartList and SmartList Builder
  • SQL Reporting Services
  • SQL Scripting
  • SQL Server
  • Support Debugging Tool
  • Tax Updates
  • Technical Conference
  • The Partner Event
  • The Technology Corner
  • Training
  • Translation
  • Troubleshooting
  • Upgrades
  • VAT
  • VB.NET
  • VBA
  • VBScript
  • Visual Studio 2008
  • Visual Studio Tools
  • Web Client
  • Web Services
  • Windows 7
  • Windows 8
  • Word Templates
  • XBox
  • XBRL

Blog Archive

  • ▼  2013 (68)
    • ▼  December (2)
      • Visual Studio Tools for Microsoft Dynamics GP 2013...
      • Web Client Wednesday: Microsoft Dynamics GP on Azure
    • ►  November (8)
    • ►  October (5)
    • ►  September (5)
    • ►  August (3)
    • ►  July (8)
    • ►  June (5)
    • ►  May (5)
    • ►  April (2)
    • ►  March (11)
    • ►  February (6)
    • ►  January (8)
  • ►  2012 (101)
    • ►  December (8)
    • ►  November (6)
    • ►  October (15)
    • ►  September (16)
    • ►  August (9)
    • ►  July (4)
    • ►  June (4)
    • ►  May (6)
    • ►  April (4)
    • ►  March (11)
    • ►  February (4)
    • ►  January (14)
  • ►  2011 (158)
    • ►  December (7)
    • ►  November (17)
    • ►  October (7)
    • ►  September (8)
    • ►  August (8)
    • ►  July (12)
    • ►  June (12)
    • ►  May (13)
    • ►  April (23)
    • ►  March (21)
    • ►  February (10)
    • ►  January (20)
  • ►  2010 (168)
    • ►  December (15)
    • ►  November (11)
    • ►  October (12)
    • ►  September (24)
    • ►  August (13)
    • ►  July (12)
    • ►  June (8)
    • ►  May (17)
    • ►  April (14)
    • ►  March (9)
    • ►  February (16)
    • ►  January (17)
  • ►  2009 (5)
    • ►  December (5)
Powered by Blogger.

About Me

Unknown
View my complete profile