Hi,
I made a workflow and it is working correctly. but i have an issue the comments we put in the configuration like place holder or any word are not appearing when i click the submit or approve. What could be missing?
here this screenshot shows that i made a comment in the basic settings, i also put comments in the approval step but i can't see them when i click the submit
Here is the code that i used in "Submit Manager" Class
/// <summary>
/// The WorkflowTypeSubmitManager menu item action event handler.
/// </summary>
class WorkflowTypeSubmitManager
{
//The submission manager class is responsible for creating the dialog for submitting a document to the workflow.
private Table1 document;
private WorkflowVersionTable versionTable;
private WorkflowComment comment;
private WorkflowWorkItemTable workItem;
private SysUserId userId;
private boolean isSubmission;
private WorkflowTypeName WorkflowType;
public static void main(Args _args)
{
// TODO: Write code to execute once a work item is submitted.
if (_args.record().TableId != tableNum(Table1 ))
{
throw error('Error attempting to submit document');
}
Table1 document = _args.record();
FormRun caller = _args.caller() as FormRun;
boolean isSubmission = _args.parmEnum();
MenuItemName menuItem = _args.menuItemName();
WorkflowTypeSubmitManager manager = WorkflowTypeSubmitManager::construct();
manager.init(document, isSubmission, caller.getActiveWorkflowConfiguration(), caller.getActiveWorkflowWorkItem());
if (manager.openSubmitDialog(menuItem))
{
manager.performSubmit(menuItem);
}
caller.updateWorkflowControls();
}
/// <summary>
/// Construct method
/// </summary>
/// <returns>new instance of submission manager</returns>
public static WorkflowTypeSubmitManager construct()
{
return new WorkflowTypeSubmitManager();
}
/// <summary>
/// parameter method for document
/// </summary>
/// <param name = "_document">new document value</param>
/// <returns>current document</returns>
public Table1 parmDocument(Table1 _document = document)
{
document = _document;
return document;
}
/// <summary>
/// parameter method for version
/// </summary>
/// <param name = "_versionTable">new version table value</param>
/// <returns>current version table</returns>
public WorkflowVersionTable parmVersionTable(WorkflowVersionTable _versionTable = versionTable)
{
versionTable = _versionTable;
return versionTable;
}
/// <summary>
/// parameter method for comment
/// </summary>
/// <param name = "_comment">new comment value</param>
/// <returns>current comment value</returns>
public WorkflowComment parmComment(WorkflowComment _comment = comment)
{
comment = _comment;
return comment;
}
/// <summary>
/// parameter method for work item
/// </summary>
/// <param name = "_workItem">new work item value</param>
/// <returns>current work item value</returns>
public WorkflowWorkItemTable parmWorkItem(WorkflowWorkItemTable _workItem = workItem)
{
workItem = _workItem;
return workItem;
}
/// <summary>
/// parameter method for user
/// </summary>
/// <param name = "_userId">new user value</param>
/// <returns>current user value</returns>
public SysUserId parmUserId(SysUserId _userId = userId)
{
userId = _userId;
return userId;
}
/// <summary>
/// parameter method for isSubmission flag
/// </summary>
/// <param name = "_isSubmission">flag value</param>
/// <returns>current flag value</returns>
public boolean parmIsSubmission(boolean _isSubmission = isSubmission)
{
isSubmission = _isSubmission;
return isSubmission;
}
/// <summary>
/// parameter method for workflow type
/// </summary>
/// <param name = "_workflowType">new workflow type value</param>
/// <returns>current workflow type</returns>
public WorkflowTypeName parmWorkflowType(WorkflowTypeName _workflowType = workflowType)
{
workflowType = _workflowType;
return workflowType;
}
/// <summary>
/// Opens the submit dialog and returns result
/// </summary>
/// <returns>true if dialog closed okay</returns>
protected boolean openSubmitDialog(MenuItemName _menuItemName)
{
if (isSubmission)
{
return this.openSubmitDialogSubmit();
}
else
{
return this.openSubmitDialogResubmit(_menuItemName);
}
}
/// <summary>
/// Open submission dialog
/// </summary>
/// <returns>true if dialog closed okay</returns>
private boolean openSubmitDialogSubmit()
{
WorkflowSubmitDialog submitDialog = WorkflowSubmitDialog::construct(this.parmVersionTable());
submitDialog.run();
this.parmComment(submitDialog.parmWorkflowComment());
return submitDialog.parmIsClosedOK();
}
/// <summary>
/// Open resubmit dialog
/// </summary>
/// <returns>true if dialog closed okay</returns>
private boolean openSubmitDialogResubmit(MenuItemName _menuItemName)
{
WorkflowWorkItemActionDialog actionDialog = WorkflowWorkItemActionDialog::construct(workItem, WorkflowWorkItemActionType::Resubmit, new MenuFunction(_menuItemName, MenuItemType::Action));
actionDialog.run();
this.parmComment(actionDialog.parmWorkflowComment());
this.parmUserId(actionDialog.parmTargetUser());
return actionDialog.parmIsClosedOK();
}
/// <summary>
/// initializes manager
/// </summary>
/// <param name = "_document">document</param>
/// <param name = "_menuItem">calling menu item</param>
/// <param name = "_versionTable">workflow version</param>
/// <param name = "_workItem">workflow item</param>
protected void init(Table1 _document, boolean _isSubmission, WorkflowVersionTable _versionTable, WorkflowWorkitemTable _workItem)
{
this.parmDocument(_document);
this.parmIsSubmission(_isSubmission);
this.parmVersionTable(_versionTable);
this.parmWorkItem(_workItem);
this.parmWorkflowType(this.parmVersionTable().WorkflowTable().TemplateName);
}
/// <summary>
/// perform workflow submission
/// </summary>
protected void performSubmit(MenuItemName _menuItemName)
{
if (isSubmission)
{
this.performSubmitSubmit();
}
else
{
this.performSubmitResubmit(_menuItemName);
}
}
/// <summary>
/// perform workflow submit
/// </summary>
private void performSubmitSubmit()
{
if (this.parmWorkflowType() && Table1 ::findRecId(document.RecId).WorkflowStatus == SalesWorkflowState::Draft)
{
Workflow::activateFromWorkflowType(workflowType, document.RecId, comment, NoYes::Yes);
Table1 ::updateWorkflowStatus(document.RecId, SalesWorkflowState::Submitted);
}
}
/// <summary>
/// perform workflow resubmit
/// </summary>
private void performSubmitResubmit(MenuItemName _menuItemName)
{
if (this.parmWorkItem())
{
WorkflowWorkItemActionManager::dispatchWorkItemAction(workItem, comment, userId, WorkflowWorkItemActionType::Resubmit, _menuItemName);
Table1 ::updateWorkflowStatus(document.RecId, SalesWorkflowState::Submitted);
}
}
}