Components : do they delete data?

In regards to components, I thought their purpose was to add things to the Sage CRM interface. Can they also delete items?

For example, if work was done on a screen (adding fields) and then a component was run that modified the screen, can the component override the fields that were on the screen?

If so and the component can override...can I go back to the backup and grab the screen information from metadata?

  • 0

    Michele

    Components can change meta data. They can remove fields from screens, columns from lists and tabs from tab groups.

    The physical structures, the tables and fields will still be in the database and the data in those structures is safe.

    If you wanted to 'rebuild' another component that would replay and restore the original meta data then this could be done. But you'd need to have a secondary install of CRM. The whole database would need to be restored. In this second system you can then either

    1) run sql scripts that 'label' the records with the component name you wanted to use.

    or

    2) use the in built advanced component capability to create a component on changes made to the system within a date range.

    Once you create the component you can then rerun to create the screens again in the original system.

  • 0

    Thanks Jeff! I did find that the fields are still in the system so that is good. That was a concern because many of the screen fields were drop down lists.

    I guess I just did not realize that components would remove fields from the screen. That is good to know since different individuals may be doing some of the work and we won't want to wipe each others work out.

    This time, I think we might just manually put the items back on the screen since the drop down lists are intact in the field data. However, I like the thought of option 1 that you gave above.

    If I understand that method, I would go into the original database in the metadata tables and populate my rows with a component name. Since the "screen" did not go away....just the fields on the screen, is Custom_ScreenObjects the only table that I would need to do this to? With this method, how would I actually "create" the component?

    If I did not use the component method, could I use the same idea in option one and extract the data from my backup and then insert it into the new database in the Custom_ScreenObjects table?

    Thank you for your assistance, it is always greatly appreciated.

  • 0

    The fields on a screens are stored in the custom_screen table. The screen/list/tab group definition is stored in the custom_screenobjects table. The tabs are in the custom_tabs and the grid columns are in the custom_lists table.

    All the 'child' meta data would need to be included.

  • 0

    Thank you Jeff. This helps a lot. We ended up manually adding the fields back to the screen (with a component turned on!). However, I will run back through this to see where all that component hit the data tables in case something like this happens again.

    Thank you! As always your assistance is greatly appreciated!

  • 0

    Hmmm...I guess I don't know how to mark a question answered...Sorry! Consider me happily answered...thank you!