[Form]public class EHIGeneralPurchase extends FormRun{ void editRecord() { ; if(EHIGeneralPurchase.WorkflowState == EHIWorkflowState::Draft || EHIGeneralPurchase.WorkflowState == EHIWorkflowState::Rejected || EHIGeneralPurchase.WorkflowState == EHIWorkflowState::ChangeRequested) { EHIGeneralPurchase_ds.allowEdit(true); } else { EHIGeneralPurchase_ds.allowEdit(false); } } public void initValue() { super(); element.editRecord(); } public void init() { super(); element.editRecord(); } public void cursorNotify(int _event) { super(_event); element.editRecord(); } }
WorkflowWorkItemTable workflowWorkItemTable; SysWorkflowTable sysWorkflowTableHeader, sysWorkflowTableLine; WorkflowCorrelationId correlationId; if(EHIGeneralPurchase.WorkflowState == EHIWorkflowState::InReview) { select firstonly WorkflowCorrelationId from sysWorkflowTableHeader where sysWorkflowTableHeader.ContextTableId == tableNum(EHIGeneralPurchase) && sysWorkflowTableHeader.ContextRecId == EHIGeneralPurchase.RecId; correlationId = sysWorkflowTableHeader.WorkflowCorrelationId; if (!SysWorkflowTable::isRootWorkflow(correlationId) && !sysWorkflowTableHeader) { select firstonly WorkflowCorrelationId from sysWorkflowTableLine where sysWorkflowTableLine.ParentCorrelationId == correlationId; correlationId = sysWorkflowTableLine.WorkflowCorrelationId; } select firstonly RecId from workflowWorkItemTable where workflowWorkItemTable.CorrelationId == correlationId && workflowWorkItemTable.Status == WorkflowWorkItemStatus::Pending && workflowWorkItemTable.UserId == curUserId(); if(workflowWorkItemTable.RecId) { EHIGeneralPurchase_DTPurchId1.allowEdit(true); } else { EHIGeneralPurchase_DTPurchId1.allowEdit(false); } } else { EHIGeneralPurchase_DTPurchId1.allowEdit(false); }