Thursday, September 30, 2010

How to resize logo in Microsoft Dynamics GP Word Templates

Getting used to the new Word Templates functionality can be a bit challenging at times. One of those challenges came in the form or a simple question: "How to resize the logo on the template?". One thing to keep in mind is that most objects on a Microsoft Dynamics GP Word Template document live inside of content controls. With that said, here are the steps to achieve this, taking the SOP Blank Invoice Form Template* as an example:

1. Under Report Template Maintenance, select the SOP Blank Invoice Form template from the More Reports list.

2. Click the New button to create a new template. For this example, we will create the template based on the existing template and we will call it SOP Blank Invoice Form Icon. Click Ok to continue.



3. Highlight the newly created template, then click the Modify button to open Microsoft Word.



4. Click on the Picture content control to add a logo image.



Note: This image must also exist in the Image library under Template Configuration.

5. Select the logo, right-click, and chose Remove Content Control.



6. Highlight the image and resize accordingly. The following is a sample of the resized image with some extra text to go along:



NOTE: The logo is part of the Header section of the document.

7. Save the modified template to a different directory where it can be imported from later on, for example, My Documents. Close Microsoft Word.


8. Back to Report Template Maintenance, click the Add Template button and select the newly modified template from the My Documents folder. Replace the existing one when prompted.

9. Click the Assign button, then mark the company you want to assign the template to. Then, click on Set as Default to make the new template the default template for the company. Click Save to continue. Click Save to continue.


10. Back to the Report Template Maintenance window, highlight the original template and click the Assign button and choose Company. Unmark the company and choose Save.


NOTE: This will ensure that the copied version of the original template prints always.

11. To test, select a SOP invoice and print.


Hope you found these steps simple to follow and that you are enjoying the new Word Templates feature in Microsoft Dynamics GP 2010.

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/

Wednesday, September 29, 2010

My first post over at Dynamics Latam

My first post on COM interop and Dexterity is out over at Dynamics Latam! This will be an excellent venue for me to give back to Spanish speaking community Microsoft Dynamics GP in North, Central, and South America and will sure up other venues to spread the GP gospel.

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/

Tuesday, September 28, 2010

Debugging Microsoft Dynamics GP 2010 Word Templates

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/

Monday, September 27, 2010

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

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/

Sunday, September 26, 2010

The Dynamics GP Blogster changes its motto!

"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/

Thursday, September 23, 2010

Microsoft Dynamics GP 2010 Service Pack 1 now available!

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/

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



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/

Wednesday, September 22, 2010

Test-Driven Development with Dexterity

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/

Monday, September 20, 2010

Mass emailing customer documents with Microsoft Dynamics GP 2010

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/

Sunday, September 19, 2010

The Technology Corner: IE9 Beta Follow Up














In my previous article I talked about the recent launch of the new Internet Explorer 9 Beta. There are a couple of things I forgot to mention and I want to bring them along in this post for further clarification:

1. Microsoft Dynamics GP is currently NOT supported with Internet Explorer 9 Beta. If you decide to install IE9 Beta, do so in a test environment, not in production as you will not be able to receive support should you have any issues.

2. Internet Explorer 9 Beta will not be made compatible with Windows XP. The new Microsoft browser will run on Windows Vista, Windows 7, Windows 2003, and Windows 2008, but no plans for a Windows XP version.

3. You will continue to need the Microsoft Office Web Components to run the metrics on the home page, even with IE9 Beta.

Nonetheless, I have to say that my experience so far with the new browser and Microsoft Dynamics GP 2010 and Dynamics GP 10.0 has been very satisfactory. The home page seems to load faster and the metrics display much faster.

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/

Saturday, September 18, 2010

The Technology Corner: Microsoft Internet Explorer 9 Beta now available for download














If you keep up much with what's going on in the Microsoft world, you may have come across the new Internet Explorer 9 Beta. I have installed it and have to say that the performance is just plain superior to the prior two iterations (IE7 and IE8). In addition, I have not run across any issues with Microsoft Dynamics GP home page or any of the new features in GP 2010 not working as expected, for example, the Connect feature -- I must say though, that I continue to experience the pop ups I reported a few weeks ago, all before the upgrade.

If you are one of those who love to explore with new applications, this is certainly one of them you can try. IE9 continues to need some work as some fonts seem to be pretty rough around the edges, but other than that I love it.

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/

Thursday, September 16, 2010

Is the new "Remember User and Password" feature in Microsoft Dynamics GP 2010 safe?

Increasingly, a number of you have been asking about the security of the new "Remember User and Password" login feature in Microsoft Dynamics GP 2010. I will start with the short answer to this question...Yes! Very safe indeed.

Back in January, I posted an article about the new feature - see Microsoft Dynamics GP 2010 - Security Enhancements. In this article, I described the new automatic login capabilities in Microsft Dynamics GP 2010. As you may know by now, these settings are stored in the Windows Registry under the HKEY_CURRENT_USER registry hive as shown below:


HKEY_CURRENT_USER/Software/Microsoft/Dynamics GP


The ProtectedValueA and ProtectedValueB keys correspond to the user Id and password values respectively and are stored as REG_BINARY values. You may be thinking, it would be simple enough to get a cracker from any website that decodes the value into a readable string. Even if you did, the development team has taken extra precautions to introduce an entropic encryption key to prevent user Ids and passwords from being decoded with external applications.

The entropic encryption key is passed to Dexterity's new Registry_SetProtectedKeyString() function to ensure maximum encryption and no, you cannot see it with Script Profiler. Now, don't ask me about the algorithm used by the Dexterity function or the entropic encryption key, because I simply don't know the former or don't have the latter, just know your user Id and passwords are completely safe!

Related Articles

Why does Microsoft Dynamics GP encrypt passwords @ Developing for Dynamics GP
Microsoft Dynamics GP Application Password System @ Developing for Dynamics GP
The Scoop On Dynamics GP’s Application Password System @ Inside Microsoft Dynamics GP

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/

Wednesday, September 15, 2010

Configuring Email for Sales and Purchasing Documents in Microsoft Dynamics GP 2010

Recently, I have been receiving a number of questions on the new Sales documents email functionality in Microsoft Dynamics GP 2010 and how to get it configured and working adequately. If you know me by now, I love to translate those questions into useful articles for the Microsoft Dynamics GP community at large.

Fortunately enough, the configuration process is not that difficult. Microsoft Dynamics GP 2010 allows this feature to be configured in a top-down approach which in turn ensures that all related areas of the application are email-aware.

As a first step, there is a setup needed to be done at the company level - MSDGP > Setup > Company > E-mail Settings, or if you prefer, click on Administration on the Navigation Bar, then locate the E-mail Settings link under the Setup web-part:



The first settings you will be able to configure is whether you want the actual document embedded as part of the email body or as an attachment to the email itself. My preference is the latter as it allows for a cleaner look when the email is received by the recipient. Microsoft Dynamics GP supports 4 different attachment formats, DOCX, HTML, PDF and XPS.

Since Microsoft Word and Adobe Acrobat are widely available and have been around for a while, I strongly suggest selecting at least these 2 options. XPS has only been around as a document standard since 2009 (released in 2006) and has native support on Windows Vista and Windows 7, hence recipients running Windows XP may experience some difficulty opening attachments in this format, especially if they are unaware of the XPS viewer's download location.

NOTE: The IE-hosted XPS viewer and the XPS Document Writer are also available to Windows XP users with the download and installation of Microsoft .NET Framework 3.0.

Once you have defined the initial settings, you may then proceed to enable the email documents that can be submitted from your Microsoft Dynamics GP application. You will be able to define settings for both the Sales and the Purchasing series, as shown below:

Sales E-mail Setup


Purchasing E-mail Setup


The Sales E-mail Setup and Purchasing E-mail Setup windows can also be accessed under the respective series setup menus.

Of special importance is to setup the different labels for each document that will be enabled for submission. Also, if you are expecting the recipient to reply to your emails, select the mail boxes to which replies will be delivered using the Select Names button. My personal preference is to setup general mailboxes on your Microsoft Exchange Server or any other email hosting application. For example, your sales orders can have a general mailbox such as orders@fabrikam.com, or accounts_receivable@fabrikam.com if you are expecting replies to things like AR credit memos or debit memos from the recipients Accounts Payable team. You may do the same for purchasing. This overall approach ensures that emails are delivered to one location or an individual in charge of monitoring these replies.

Finally, you may further tailor specific settings for customer and vendor records, which will allow you to define at a granular level wheter the recipient will receive multiple attachments per email and the specific format for each document that will be attached to the email. You may also choose to enable or disable specific documents that may be submitted to the recipient.

Customer E-mail Options



Vendor E-mail Options


A feature I find particularly useful is, if you have customers or vendors that have size limits to their mailboxes, you can tailor Microsoft Dynamics GP to not allow file sizes above those limits.

I hope this review of the email capabilties of sales and purchasing documents has been useful. Please drop your comments and let me know whether you are using these features today in your business and if it has aliviated any of the past pains you've experienced by not having the functionality or in turn has created new problems.

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/

Monday, September 13, 2010

Dynamics Latam Blog

No, it's not a new Salsa group, but they will sure write to the tune of it. It's actually the brand new Microsoft Dynamics Latin American blog, Dynamics Latam, featuring my buddy Francisco Hillyer and Betrand Desmarest (left to right) showcasing content for the Spanish speaking Dynamics community around the world.

I have been in touch with Francisco for the past 3 years. He just recently moved from California to become a part of Microsoft's Mexico's support team. Chances are you will see future contributions of mine added to this new blog - ehem!

Muchos exitos compadres,

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/

Nigel Frank's Microsoft Dynamics 2010 Salary Survey







Microsoft Dynamics specialist recruiter, Nigel Frank International launches its 2010 Microsoft Dynamics salary survey. Fill out the survey and in the process enter your name to win a brand new Apple iPad.

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/