Archiving

sabzamsabzam Member Posts: 1,149
Is it possible to archive in some way or another Customers, Vendors and Items? For example rather than simply blcoking a customer I want it to be removed from all reports and list.

Comments

  • matttraxmatttrax Member Posts: 2,309
    Not through Navision.

    We routinely archive information into a separate database through data exports and sql, though. Items that haven't been sold or purchased in years, customers that haven't bought anything.

    It's tricky, though. You have to know all the tables to hit. Like archiving customers, you need to check customer ledger entries, detailed customer ledger entries, etc. It can throw things off if it's not done right.
  • ara3nara3n Member Posts: 9,256
    Hello

    You can use the following tool to do this.

    viewtopic.php?t=15580&highlight=merge+customer


    This allows you to merge the customer into one customer
    Ahmed Rashed Amini
    Independent Consultant/Developer


    blog: https://dynamicsuser.net/nav/b/ara3n
  • Alex_ChowAlex_Chow Member Posts: 5,063
    sabzam wrote:
    Is it possible to archive in some way or another Customers, Vendors and Items? For example rather than simply blcoking a customer I want it to be removed from all reports and list.

    The best way to go about it is to modify the reports and forms so blocked customer does not display.
  • SavatageSavatage Member Posts: 7,142
    What we did on the lists (Customer Example)

    Add A VAriable "Form Filters" type option
    Options are: All Accounts,Active Accounts,Blocked Accounts

    Now add a textbox at the bottom right of the form.
    remember...Change Glue To BOTTOM

    Sourceexp of the textbox willbe "Form Filters"
    add the code to the textbox (you can use a case statement too)
    OnAfterValidate()
    IF "List Filters" = "List Filters"::"All Accounts" THEN BEGIN
      RESET;
    END;
    IF "List Filters" = "List Filters"::"Active Accounts" THEN BEGIN
      RESET;
      SETRANGE(Blocked,FALSE);
    END;
    IF "List Filters" = "List Filters"::"Blocked Accounts" THEN BEGIN
      RESET;
      SETRANGE(Blocked,TRUE);
    END;
    CurrForm.UPDATE;
    

    Most list forms are uneditable so to get around that..
    add this to the textbox triggers.
    OnActivate()
    CurrForm.EDITABLE(TRUE);
    
    OnDeactivate()
    CurrForm.EDITABLE(FALSE);
    

    Save->Complie->Enjoy
  • ara3nara3n Member Posts: 9,256
    Alex Chow wrote:
    sabzam wrote:
    Is it possible to archive in some way or another Customers, Vendors and Items? For example rather than simply blcoking a customer I want it to be removed from all reports and list.

    The best way to go about it is to modify the reports and forms so blocked customer does not display.


    make sure you add indexes, otherwise you will run into performance issues.
    Also the users will need to get trained on how to change keys when they start adding additional filters.

    Merging customers I would say is a better solution. You can have one generic customer called Archived, and merge all the other customers into it.
    Ahmed Rashed Amini
    Independent Consultant/Developer


    blog: https://dynamicsuser.net/nav/b/ara3n
  • matttraxmatttrax Member Posts: 2,309
    Can't say that I like the merging idea. Certainly it's easier, but what about historical data? You're basically wiping out the whole history of that customer (or vendor, item, whatever). And once it's merged there's no going back.

    I guess it's a trade off, though. If your company will NEVER need that data again (mine always needs old data for something) then it's fine.
  • Alex_ChowAlex_Chow Member Posts: 5,063
    matttrax wrote:
    I guess it's a trade off, though. If your company will NEVER need that data again (mine always needs old data for something) then it's fine.

    If that's true, why archive in the first place?
  • matttraxmatttrax Member Posts: 2,309
    I agree that there's really no need for it, but it started before I came on board at my company. I have not yet been able to convince them that they don't need to.

    But their argument is that they still need that data, just not in every report or view they have. So we basically only keep 4-5 years worth of data in our production database (been on NAV for 10+). And every few months or so we'll have to pull some of that data from another database for them.
Sign In or Register to comment.