Microsoft Product Support

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

Friday, 6 August 2010

All About Dexterity OLE Container - Follow Up

Posted on 05:19 by Unknown
Mr. Steve Endow over at Dynamics GP Land managed to unearth my All about the Dexterity OLE Container article in response to a question he fielded from a user who no longer used GP, but wanted to know if they could extract the content embedded in the note files.

In my 2008 article I explained the intrinsic details regarding how OLE notes where created and stored in GP and promised a follow up with a way to automate or access these files externally from GP. During the past two years I have never stopped researching (on and off of course) how these files could possibly be accessed. At the end of the day, it comes down to identifying the actual storage compression algorithm used.

As part of this research, I tested a few tools including Corel's WinZip tool, which is often considered a very good tool for identifying obscure storage compression formats. However, I had no luck with WinZip. I also tried (successfully I may add) creating my own OLE container application, but failed to be able to open the Dexterity OLE Container files created by GP with it.

Over the course of my research, I came across an open source tool called 7-Zip written by Russian programmer Igor Pavlov. Pavlov managed to implement a number of compression algorithms in his tool, some even used in the early days of computing. So I decided to download 7-Zip, install it and give it a try.

To my surprise, 7-Zip was able to open a Dexterity OLE Container note file and display its content as shown below:


7-Zip shows a directory structure for the file including a contents file and an Embedding folder. I was then curious about the Embedding folder. As the name would suggest, it would probably hold the actual content of the notes itself. Earlier, I had attached a file called intellisense.txt to our favorite customer AARONFIT0001 to verify what I would see. So, on I went to open the Embedding folder, which now showed two files:


The larger file ( [1]OLE10Native ) seemed more promising than the smaller one, so I decided to edit it. All that's needed is to press F4 or go to the file menu to edit the file. Upon editing it, the file displayed in the traditional NOTEPAD.


Note that the [1]OLE10Native file displays the actual text stored in the IntelliSense.txt file. Since this file was directly embedded into the note not as a link, it would suggest that changes to this file would not affect the actual file stored on my desktop. In addition, it should be noted that the path to the actual file is stored at both the header and footer levels. This is crucial for those of you attempting to migrate your OLE files from one location to another.

I then decided to perform another test by attaching something a bit more complex, a PDF file. This time though, I decided I would attach the file as a link and would display as an icon. When a file is attached as a link, changes made to the actual file, are reflected automatically in the container.



In exploring each file, the [1]Ole file had all the information on where to find the actual link to the file:



Once again, these links can be edited if you must migrate your notes to another directory on your network.

But the question still looms -- What storage compression algorithm is used to store these files? Clearly, 7-Zip was able to open them and even expose the contents. I have a theory on the algoritm, but more on that in my next post -- and trust me, you won't have to wait 2 more years!

Until next post!

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

Sunday, 1 August 2010

DexSense: IntelliSense for Microsoft Dexterity

Posted on 21:00 by Unknown

In past weeks I posted an article explaining how Microsoft Dexterity could benefit from IntelliSense technology and enter a request for the community to vote on the Microsoft Connect product suggestion 570553 so the feature could be considered by Microsoft for introduction into a future release of Microsoft Dexterity. You can find the link to those articles, as follows:

Dexterity and IntelliSense
Dexterity and IntelliSense: It's time to vote!

A couple weeks later, the answer came from the Community after Tim Gordon, a software developer and consultant with Alpine Limited saw the post referencing my articles over at Developing for Dynamics GP. Tim contacted David Musgrave, who then copied me after the first couple exchanges they had. Tim had been working on a very rudimentary prototype of IntelliSense for Dexterity. His Visual Studio IntelliSense application sits in the Windows system tray "listening" for a Dexterity process. When Dexterity becomes available, the application attaches to the process. Tim's initial implementation used text files to store pre-loaded table and forms resources, but after a couple more exchanges with David and myself, Tim changed the implementation to use the Continuum Library with Dexterity and is now able to read resources in real time.

Over time, the exchanges grew from simple requests to more complex ones, each new request building on the previous implementations. This is how DexSense took on a life of it's own. After a good number of hours working with Tim, you can now reap the benefits of our collective effort by downloading the DexSense application here. The following is a list of current features:


  • Support for Microsoft Dexterity versions 9, 10, 11
  • IntelliSense support for tables, forms, reports, and scripts (functions and procedures) resources
  • Ability to toggle between physical table names and technical table names during intellisense, for example, get table RM20101 would translate automatically to get table RM_OPEN.
  • Predefined Dex constructs, if...then...else
  • Intellisense for get statement

As with all version 1 products, there's still long ways to go, but you have to start somewhere and the current build (DexSense 1.6) has sure started out with a huge leap forward. If you are one of those who love to criticize, make sure you do so constructively and after installing and working with the application for at least a couple weeks.

To enter your comments and/or suggestions, click on Tim's picture above.

Also, be sure to read David Musgrave's article on the subject:

IntelliSense for Dexterity - Ask and You Shall Receive

Until next post!

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

Friday, 30 July 2010

From the Newsgroups: What are those GL entries with reference SALESASMxxxx?

Posted on 10:59 by Unknown
Welcome to another edition of From the Newsgroups.

The Microsoft Dynamics GP Online Partner Technical Community forum is one of those virtual places where you get to see and experience it all. One gets to become familiar with real life issues experienced by us partners keen enough to share our implementation and support issues. The following is a thread from the Online Partner Technical Community:

Good afternoon. Our customer keeps getting these "mystery" GL postings [SALESASMxxxx] and wants to know why they are being generated but I cannot find any article or search that shows this document prefix for GP. Does anyone know what type of doc this is and why it may be generated automatically into GL?


The answer comes courtesy of Tristan Thor Clores, a Microsoft Support Engineer.

For transactions that have the SALESASM prefix in their description: These may mean that a sales invoice with a shortage override of a top level BOM (also known as finished good) was posted at one cost. Then when the BOM that fulfilled the shortage was posted its unit cost was different from what the invoice held.

------------------------------------------------------------------------------------
Example:
Let's pretend that we have a $0.00 balance in the Inventory-Finished Goods account. An invoice was posted with a shortage override for 10 units of finished good item HARD DISK. Its unit cost is $10.00 and its unit price is $20. Its journal entry will look like the following:

Debit: Accounts Receivables $200.00
Debit: Cost of Sales $100.00

Credit: Sales $200.00
Credit: Inventory-Finished Goods $100.00

However, when a BOM assembly was posted for 10 units of HARD DISK, its unit cost was actually at $12.00 per base unit. Let's pretend that it has the following account distributions:

Debit: Inventory-Finished Goods $120.00

Credit: Inventory-Assembly Component #1 $50.00
Credit: Inventory-Assembly Component #2 $70.00

This journal entry will result in you having 0 units On Hand for the item but with a debit balance of $20.00 in the General Ledger. So now, Microsoft Dynamics GP will create the following cost variance journal entry to remove this balance and help your GL recognize the true cost of the sale. This change though will never hit Sales Order Processing history and so the SOP Document Analysis report will not print this additional cost and will then print an incorrect profit margin afterwards:

Debit: Cost of Sales $20.00
Credit: Inventory $20.00
------------------------------------------------------------------------------------

I would also like to share the following list with you. It is a list of the transaction reference prefixes that Microsoft Dynamics GP support engineers have encountered with cost variance journal entries so far:

1. BOM – assembly transaction
2. INV – invoice from the Invoicing module
3. IVT – inventory transfer
4. IVA – inventory adjustment
5. IVV – inventory variance
6. SALES – sales invoice from Sales Order Processing
7. PRTN – purchase return
8. MCTE – for a transaction that originated in Manufacturing Component Transaction Entry
9. MRCT – manufacturing receipt
10. MCLS – manufacturing close, including regular close and Quick MO
11. STCK – stock count variance
12. FSSC – field service Service Call
13. FSRMA – field service RMA
14. FSRTV – field service RTV
15. FSWO – field service Work Order
16. PA – project accounting
17. POP – close a PO line in Edit PO Status
18. RECON – created by Inventory Reconcile
19. CONV - created by an upgrade conversion
20. MCTERCT - If the items were issued in the Component Transaction Entry window and then the invoice is completed the adjustment will have a prefix of MCTERCT
21. MRCTRCV - If the items were issued in Mo Receipt Entry (they are "backflushed") and then the invoice is complete the adjustment will have a prefix of MRCTRCV.
22. MCLSRCV - If the items were issued in the MO Close process (the MO was partially received and more "backflushed" items were issued during the close) and then the invoice is completed the adjustment will have a prefix of MCLSRCV.

I recommend going through KB Article 869470 - "Cost Variance for Inventory," "Sales Order Processing," and "Purchase Order Processing" for mor details regarding cost variance in the system.

Let me know how this goes.


I hope you find this article very interesting.

Related Articles

What do those strage reference codes in GL mean?

Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/
Read More
Posted in From the Newsgroups, General Ledger, Inventory, Sales Order Processing | No comments

Dex - Ctree temp tables versus SQL Server temp tables

Posted on 05:13 by Unknown
For many of you who have been in the channel long enough, whether as developers, partners, or customers and have been using GP for that long, you may still be able to remember the days of c-tree and Btrieve.

Just recently, a developer approached my good friend David Musgrave with a question on a product they had created and been using since the days of GP 6.0. This product makes extensive use of c-tree temp tables and the developer wanted to know whether it was still ok to continue using c-tree tables or convert those to SQL Server temp tables. He received the following answer:


There is nothing wrong with c-tree temp tables. They are faster. SQL Temp tables take a bit of work to create so ctree has less overhead.

The only reasons to change them back to Default or SQL are:

1) You are using them on a report. This allows SQL optimization when generating the report with a single SQL Joined query.
2) You want to use SQL optimized functions such as range where clauses or range copy.
3) The number of records being placed in the temp table is huge and it could cause a local workstation’s hard disk to fill up.

Otherwise, just leave them as is. My policy is to use ctree unless one of the points above says that SQL would be better.

To add to this response, c-tree temp tables are still supported by Microsoft and are used extensively throughout the Microsoft Dynamics GP application. In the end, this may be one of those cases of "if it ain't broken don't fix it".

Until next post!

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

Friday, 23 July 2010

GPWindow: The next best thing after the Microsoft Dynamics GP 2010 Cookbook

Posted on 08:20 by Unknown
I have to give credit where credit is due. MVP Mark Polino may have the hottest summer read (see my article Cookbooks), but my good friend and fellow blogger Jivtesh Singh has the mother of all blog sites... literally! Jivtesh is one of those die hard and passionate about Dynamics GP individuals. He probably saw the same problem many of you have seen with the proliferation of Microsoft Dynamics GP blogs and asked himself the same set of questions you may be asking yourself: "how the heck do I keep up with all these blogs?", "I saw an article on [some topic here], where did I read it?".

Jivtesh now provides an answer to these questions with his new GPWindow platform, which aggregates every single blog article, video, and resource about Microsoft Dynamics GP.








C'mon, you know there's absolutely no reason to do this! For all I know, Jivtesh could be home writing cool articles for his own blog... but that's not how we Microsoft Dynamics GP advocates and evangelists feel about the subject. We always need to go the extra mile. Jivtesh has spent a considerable amount of time (over 1 year!) categorizing all these articles and topics and in his own words "Categorization is a work in progress, about 5000 links have been categorized and about 1000 more to go. It’s a very time consuming, but enjoyable process, which I do after my work hours or over the weekend. I enjoy organizing information, so I don't mind all the time this has taken me.".

It's time for you to do your part. Visit GPWindow and at least take the time to play around, but more importantly, let Jivtesh know what you think about this site.

Until next post!

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

Monday, 19 July 2010

Microsoft Dynamics GP 2010 Architecture Whitepaper available for download

Posted on 04:30 by Unknown
Microsoft Dynamics GP 2010 Architecture Whitepaper is now available for download from Microsoft Download Center. Architecture is something dear to my heart so please be sure to download this document and read up. The document discusses the following topics:

  • The structure of the Microsoft Dynamics GP application, which is composed of the Dexterity runtime engine, the Dynamics application dictionary, and the Microsoft SQL Server database.

  • How Microsoft Dynamics GP efficiently uses system resources for both client workstations and servers.

  • The customization tools that are built into the software and are accessible to all users, and the tools that system administrators can use to customize Microsoft Dynamics GP, such as Modifier, Report Writer, and Visual Basic for Applications (VBA).

  • The tools that are available for importing and exporting Microsoft Dynamics GP data, such as eConnect, Web Services, and Integration Manager.

  • The features that provide platform enhancements, such as flexible account numbers, lists, data-driven scrolling windows, security, international support, macro capabilities, named printers, the mail API, and error reporting.

  • The reporting and analytics tools that are available for Microsoft Dynamics GP, including Report Writer, SmartList, Management Reporter, SQL Reporting Services, and Excel Reports

  • How the workflow capabilities in Microsoft Dynamics GP control the flow of documents through the accounting system

  • The architecture and features of Business Portal, which you can use as your company intranet or as an extension to it to provide Web-based access to Microsoft Dynamics GP data.

  • The additional industry- or market-specific capabilities that are included with Microsoft Dynamics GP, such as multidictionary architecture, the trigger system, and available development options.
Hope you find this whitepaper useful and certainly a gem to have in your product documentation arsenal.

Related Articles

Microsoft Dynamics GP Architectural Foundations Series - featuring Microsoft's Tim Brookins

Until next post!

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

Friday, 16 July 2010

Cookbooks

Posted on 13:36 by Unknown
Summer is just getting sizzly here in the United States and as a customary tradition, we begin rolling out our grills and dusting off our cookbooks, but this time around, my wife had me ordered two new cookbooks from Mark Bittman, an American food journalist and author of some of the best cookbooks in the market today. Here is my grill and the cookbooks to go with it.


Webber One Touch Gold



Mark Bittman's How to cook everything series


I am among other things an avid cook, so I was trying to find something productive to do while the stakes were on the grill. I had to decide between the usual and traditional ales (while I wait for the food) or, well more cookbooks. I figured I would log into Amazon and see what was hot. Two weeks later my shipment arrived, and I just could not wait to get my hands on it -- just in time for the summer!



I could not wait to open the box to get my hands on this new cookbook that would revolutionize my downtime while steaks and veggies were on the grill.



This was the ultimate cookbook!



The Marks have just made my summer all the more entertaining! Now, let's get grilling!



What are you waiting on? Order your Microsoft Dynamics GP 2010 Cookbook now by Mark Polino, MVP!



Until next post!

MG.-
Mariano Gomez, MVP
Maximum Global Business, LLC
http://www.maximumglobalbusiness.com/
Read More
Posted in Books, Humor | 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