Thursday, December 20, 2018

Bulk Export Dynamics GP Document Attachments using .NET

By Steve Endow

1/23/2019 UPDATE:  Version 1.20 released


A user on the GPUG Open Forum asked if there was a way to export all of the documents that are attached to Dynamics GP customers.

I previously wrote a blog posts showing how to export a single document attachment using BCP:

https://dynamicsgpland.blogspot.com/2017/05/extract-dynamics-gp-document-attach.html


And another showing how to export a single document attachment using .NET:

https://dynamicsgpland.blogspot.com/2017/05/extract-and-save-dynamics-gp-document.html


But the BCP solution is only for a single attachment, and the .NET solution didn't have any features for filtering or organized export of attachments.

So today I updated the .NET solution to allow the user to select a Database, Record Type, and indicate whether Deleted attachments should be exported.



Once those options are selected, the user can retrieve a list of all of the attachments, which shows the type, the associated record number, the file name, and file size.

The user can then select an export path and click a button to export all of the attachments to disk.


The application and full source code can be downloaded here:

       Version 1.20:  https://1drv.ms/u/s!Au567Fd0af9TpRUtDRq_heyOh50p


Version 1.20 includes several enhancements:

-Login dialog allows you to specify SQL Server, username, and password for SQL login
-Support named system databases
-Config file allows you to add additional document types
-Added PM and POP document types


New record types can be added by editing the SaveDocAttachFiles.exe.config file. Locate the RecordTypes setting at the bottom of the file and add new name + code pairs to the list.


Please note that this .NET application was assembled in a few hours, and is not a refined, polished, commercial software release.  It does not have lots of configuration options or error handling, so you will want to test it in a TEST environment and be aware that it may need some modifications to work in your environment.


Steve Endow is a Microsoft MVP in Los Angeles.  He is the owner of Precipio Services, which provides Dynamics GP integrations, customizations, and automation solutions.

You can also find him on Twitter and YouTube





2 comments:

  1. Hey there,

    I work as IT within a company that uses the Key2Act/Signature products. These have their own modules within GP and from what I can tell these products utilize the same 'Document List' window for their attachments. What would be the best way to configure your tool to include these document types?

    ReplyDelete
  2. Hi,

    I would start by querying the CO00101 table and looking at the value in the ODESCTN field for records related to Signature Series attachments.

    In this post, I list the 'record type' codes used by standard GP document attachments:

    https://blog.steveendow.com/2019/01/dynamics-gp-document-attach-record-type.html


    Once you verify that the Signature Series attachments are listed in that table, identify the different ODESCTN values used by Signature Series.

    Once you have those, open the SaveDocAttachFiles.exe.config file in Notepad. Locate the "RecordTypes" setting near the bottom and add the new name + code pairs for the Signature Series record types.

    The name and code values are separated by a comma, and each pair is separated by a semi-colon.

    If you have any questions, post a reply here, or email me at steveendow /at/ gmail /dot/ com

    ReplyDelete

All comments must be reviewed and approved before being published. Your comment will not appear immediately.

Dynamics GP: Does GL batch size affect posting performance? Yes, it does.

By Steve Endow If you need to post 50,000 journal entries in Dynamics GP, should you create one batch with 50,000 JEs?  Or should you crea...