Showing posts with label Customizations. Show all posts
Showing posts with label Customizations. Show all posts

Saturday, July 2, 2011

"Unknown error 0 - 800AC351 occurred saving the project file" - Error & Solution

0 Comments
My last post discussed about an error message faced by users once GP2010 R2 upgrade was over. This post gives you a solution for that.

The following error message was faced by users when they log off from GP:










Initially I thought it was occurring only on "sa" login. But couple of users today reported the same error when they logged off from GP.

When I analyzed this further, I realized that users who have access to Field Service processes in GP alone were getting this error message. Those who do not have access never reported this issue at all.

That made me to think about next step in solving this. No one has reported this issue yet, thus leaving me in the lurch.

I finally found a solution for this menace.

SOLUTION:

1. I logged off all users from GP environment, as it is Terminal Server environment for us.
2. Launched GP and opened Visual Basic editor.
3. Opened Field Service VBA project.
4. Did some harmless edits (like adding some comments, etc.).
5. Opened the "References" wizard.
6. Unselected all references and selected it back.
7. Compiled the entire project to check whether I am getting any error message.
8. Saved VBA project.
9. Logged off from GP.

Surprisingly (but expectedly) the error message never appeared again.

Those who are looking for some solution for this menace, here it is for you.

VAIDY

Unknown error 0 - 800AC351 occurred saving the project file - Error Message

0 Comments
Has anyone faced this error message?










I recently found this error message after upgrading to GP2010 R2, though it doesn't have any impact towards other users' sessions and even the customizations.

This happens only for an "sa" login. Very strange error message.

UPDATE 1: This is happening for all users who have access to Field Service module. If you see the above message, the error is thrown by Field Service VBA project.


UPDATE 2: Issue is resolved. Please read my next post to know better about this message.

VAIDY

Friday, July 1, 2011

Resizing left pane in Smartlist - Frank Hamelly

0 Comments
Frank, thank you very much for getting this from Microsoft Team. We all are grateful, as I know the pain in scrolling horizontally for each Smartlist item.

Alright, for all GP users and consultants out there. You all better download this from Frank's site. This is going to be most likable thing.

Here it is: Resize the left pane in Smartlist.

VAIDY

Tuesday, October 19, 2010

SOP Quotations Import - Issue & Solution

0 Comments
Recently, I had to integrate around 1000+ Sales Quotations which comprised of 10000+ Sales Item Lines. This had to be done in a seemingly impossible timeframe, as we were totally running out of schedule.

I devised a strategy to do an All-SQL work as follows:

1. First Export required SOP tables from source database and Import it as SOP TEMP tables to destination database. The Source & Destination databases denote GP Company Databases, of course.

2. Generate the SOP Number by taking the Number Sequence from destination GP Company SOP Quotation Setup.

3. Update all SOP TEMP tables with relevant new SOP Number.

4. Identity only those fields which are required and then do a direct INSERT INTO. This insertion, in my case, happened for SOP10100 (Header), SOP10200 (Detail) & SOP10106 (User-Defined).

5. Once the above is done, run a Reconcilation on all these inserted documents, to make sure that these documents got accepted by destination GP Company as valid SOP Quotations.

All above tasks took me 5 hours of time (including 2.5 Hours of Data Updates & Reconciliation).

Excellent, and I was so happy that I could meet the deadline. I intimated the users to verify and send me the feedback. Users reported back with positive feedback and I was relieved.

ISSUE FACED: Quotations were not getting converted to Orders. Transaction Edit List shown nothing. All looked perfect.

TROUBLESHOOTING RESULTS: 30mins of troubleshooting yielded me one very silly reason behind this issue. The field in SOP10100, USDOCID1, was an Empty String for all Quotations integrated thru' SQL. This field is the one which tells GP to which Order ID it is suppose to convert this quotation to.

SOLUTION: You all may know by now what the solution would be. Another SQL UPDATE which took the "Transfer To Order ID" value from SOP Quotation Setup and updated SOP10100 accordingly, did the trick.

WARNINGS:

1. Though I had mentioned that I followed ALL-SQL approach, it's not supported by Microsoft.

2. I have not shared the SQL Scripts here, as it completely depends on the particular scenario and the way SOP Quotations are used by clients.

3. This post is intended to explain two things:
3.1. There are several successful & time saving approaches that we can follow, even if it's unconventional.
3.2. With each unconventional approach, there lies a risk which cannot be foreseen. Unless, you are dead sure about your GP Technical & Database Skills, you are NOT suppose to tread any such approach.

4. I just wanted to highlight how one single field (which in our perception may look simple) may cause a critical consequence.

VAIDY

Saturday, August 28, 2010

Lock PO Number Field in PO Entry

0 Comments
There are several reasons for GP Users to disable PO Number field in PO Entry, in order to not override the Next PO Number sequence in POP Setup.

And there are several methods and tools (Dex, VBA, etc) in accomplishing that. I have tried my bit in getting this functionality extended in PO Entry form.

Please find & download the chunk here: Disable PO Number in PO Entry

PRODUCT DETAILS:
1. Version: 10.4.4
2. Name: PO Number Disable
3. Product ID: 1983
3. Dictionary: POD.DIC
4. Forms Dictionary: F1983.DIC
5. Reports Dictionary: R1983.DIC

COMPATIBILITY:
1. Compatible GP Version: Dynamics GP 10.0 SP4

IMPORTANT:
1. This chunk is not a part of Microsoft Dynamics GP Products. This is a Custom Chunk developed by me.
2. I will be more than happy to improve this based on Users Feedback, but I cannot assure that all feedbacks would be met immediately or within a desired time.
3. This particular functionality works only in PO Entry Form.
4. Test this once in your Test Environment before using it on your Live Environment.
5. Please make sure that you have read the Limitations section in this post completely and you have understood that.

FUNCTIONALITY:
1. Once user selects a PO Type (Standard, Blanket, etc) and bring the focus to PO Number field, this chunk will allow GP to generate the Next PO Number from the POP Setup.
2. Then it immediately locks the PO Number field.
3. Then it takes the focus back to Buyer ID field.
4. Once you save the PO, it again releases the field.

LIMITATIONS:
1. Since the PO Number field had to be locked from user changing the PO Number value, users won't be able to enter any PO Number directly on the PO Number field.
2. For instance, if a user wants to open an existing PO Number which he/she knows readily and does not require a Lookup, this functionality may prevent them from entering that PO Number.
3. In a nutshell, to edit an existing PO, user must use PO Number Lookup at all times.

I will update this post with an upgraded chunk as and when a feedback is addressed. I will also update the link above by adding a Readme File explaining the removal of this product from GP Folder and Dynamics.set.

VAIDY

Tuesday, August 24, 2010

Solution to "File not found: VBA6.DLL" Error Message

4 Comments
The File Not Found: VBA6.DLL issue which I had explained in my previous post has got a solution.

Thanks to Japheth Nolt, who pointed me to this Partner Forum post.

The following are the steps to fix this issue, taken directly from Dynamics GP Partner Forum Post (Link To the Original Post: File Not Found: VBA6.dll):

----------
Important This article contains information about how to modify the registry. Make sure to back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base: 

1. Export all customizations to a .package file.

2. Close Microsoft Dynamics GP.

3. Make a backup of the system registry.

4. Change the following key in the system registry:

KEY_CLASSES_ROOT\TypeLib\{000204EF-0000-0000-C000-000000000046}\4.0\9\win32

to have the path of this: C:\Program Files\Common Files\microsoft shared\VBA\VBA6\VBE6.dll

Note, if on a Windows 2008 Server R2 install the key was this: HKEY_CLASSES_ROOT\TypeLib\{000204EF-0000-0000-C000-000000000046}\4.1\9\win32

5. Delete all VBA files with a file size of 4KB.

6. Rename all VBA files with a file size greater than 4KB.

7. Start GP.

8. Open VBA editor.

9. Check the VBA reference to ensure the path is to the C:\Program Files\Common Files\microsoft shared\VBA\VBA6\VBE6.dll file.

10. Add a window and field to VBA and test the message box code.

11. Verify the message box works.

12. Import all customizations.

13. Verify more than one customization works.

Note, this has only been tested on an Office 32-bit installation. If you have an Office 64-bit installation, you will need to uninstall it and then install the 32-bit version. This will not affect Outlook user profiles.
----------

What I did is the following:

1. I removed all the VBA files from GP Folder in my 32 Bit machine.

2. I performed the steps listed above from #1 to #4 (modifying the registry entry).

3. I launched GP and opened the VBA Editor, to make sure that the Visual Basic for Applications Reference is pointing to the path C:\Program Files\Common Files\microsoft shared\VBA\VBA6\VBE6.DLL.

4. Closed GP. Relaunched it.

5. Imported the VBA Customizations that were exported from 64 Bit machine.

6. My customizations started working.

IMPORTANT NOTE: You must re-reference any 3rd Party plugin references after importing the VBA Packages, in case these 3rd Party plugins sit in Program Files (x86) folder in 64 Bit machine.

Hope this is helpful for people who face this issue.

VAIDY

Monday, August 23, 2010

Are you importing VBA Customizations from 64 Bit to 32 Bit? Beware

2 Comments
This one's quite baffling. The scenario is this:

1. I have my VBA Customizations on a 64 Bit Live Environment.
2. I wanted to setup a Dev Environment so that I can work on Enhancements and Additions. The Dev Environment is nothing but my laptop and it's quite obviously 32 Bit.
3. I had DBs restored from Live and GP installed with necessary addons on my laptop.
4. Imported Modifier/VBA Customizations from Live to my laptop. There we go with an error message, which I am yet to solve:

















And it took me to the VBA Editor. Since it said "VBA6.DLL is not found", I wanted to check whether all References are proper. And below is what I found:




















See the highlighted path and filename. It's completely different from what it has to be "VBA6.DLL".

Excellent and a pat on my back. Now why this is happening. I found the reason when I cross checked Live Environment VBA References:




















Alright, the issue is this:

1. On a 64 Bit Server, GP and VBA Files are installed on Program Files (x86) folder.
2. Whereas on a 32 Bit machine, GP and VBA Files are installed directly on Program Files folder.

That's the difference. Once you import and start GP it does work for the first time. Once you close GP and reopen it, it refers to (x86) folder. Since it's not found, it starts throwing this message.

The sad parts: Firstly, I won't be able to change the path back to Program Files folder manually by clicking on BROWSE in the References window. Secondly, I won't be able to remove the reference by unselecting it and then reattach the VBA6.DLL reference. It will always throw me an error message like this:














I am in a fix now. We may have some other ways to handle this. I am working on that. There may be a followup post which will explain the methods that can be used to fix this issue.

Meanwhile, if anyone has faced this issue, do share your ideas and how you fixed it. It would save me some time.

UPDATE - 1: The reason explained above is substantiated, when I did another test. I imported 64 Bit Server VBA Customizations onto another 64 Bit Environment, it works. I imported a 32 Bit Server VBA Customization onto another 32 Bit Environment, and it works.

UPDATE - 2: The reason that I had explained in this article, is only partial. There are more to this issue. My next article explains the solution and also contains a link to Dynamics GP Partner Forum post, which led to a fix. Read it here: Solution to "File Not Found: VZBA6.DLL" Error Message.

VAIDY

Friday, February 5, 2010

Editing VBA Code With Only Customization Site License - In Touch With Dynamics (GP)

0 Comments
Another informative and hidden tip from In Touch With Dynamics (GP) blog.

I myself got enlighten after reading this article: How to edit VBA when client only has Customization Site License.

I had never thought this was possible and it is.

Must read for all Dex/Modifier/VBA Developers out there.

VAIDY

Blog has moved, searching new blog...