Adding Workflow Capability to a Secondary or Custom Entity

Hints, Tips and Tricks

Technical Hints Tips and Tricks that cover customization and development using Sage CRM. API usage and coding are covered.

Adding Workflow Capability to a Secondary or Custom Entity

  • Comments 3
  • Likes
It is possible to take an existing entity,either one that you have added to the system or an existing table such as notes, and allow it to be workflowed. The technique below will be effective for both custom tables and existing system tables.

Using the Library table as an example
  1. Add a libr_workflowid column to the table. This should be done in the database and be datatype "integer".
  2. Update the meta data table "custom_tables" so the bord_workflowidfield is filled in for the Library table.
select * from custom_tables where bord_name='library'

update custom_tables
set bord_workflowidfield = 'libr_workflowid'
where bord_name='library'
  • Refresh the system Meta Data
  • The Library table should appear in your list of available tables when you add a new workflow rule.

Note: The screens for existing system entities do not check for workflow. Therefore this technique is only useful for entities that will either wholly or partially be managed by custom application extensions (ASP pages or .NET).
Comments
  • I enabled the workflow for the custom entity using the above technique, but the workflow buttons do not appear in the summary asp page of the custom entity, even after writing the following code.

        if( true )

        {

          Container.ShowWorkflowButtons = true;

          Container.WorkflowTable = "VisaCancel";

        }

    Thanks in advance,

    Shruti

  • with(myBlock)

    {

     //This will only work when entrygroup block uses record object as execute method parameter.

     WorkflowTable = "MyTable";

     //show the "new" buttons for workflow.

     ShowWorkflowButtons = true;

    }

    Have you passed the record object into the Execute method?

    CRM.AddContent(myBlock.Execute(myrecord));

    Response.Write(CRM.GetPage());

  • problem was with the parameters in SetWorkFlowInfo in the new asp page. its fine after corrections..