/// <summary>
/// Adds ranges to the form datasource.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
[FormDataSourceEventHandler(formDataSourceStr(VendPurchOrderJournal, VendPurchOrderJour), FormDataSourceEventType::QueryExecuting)]
public static void VendPurchOrderJour_OnQueryExecuting(FormDataSource sender, FormDataSourceEventArgs e)
{
ICH_HcmWorkerSite workerSite;
QueryBuildDataSource qbds_PurchTable;
QueryBuildDataSource qbds_PurchTableExtended;
HcmWorker currentWorker;
QueryBuildRange qbr_PurchTableExtended;
QueryBuildRange qbr_PurchTable;
Array purchSecRoleIds;
boolean isUserInRole;
purchSecRoleIds = ICH_PurchSecRoleTable::getSecurityRoles();
if (purchSecRoleIds)
{
isUserInRole = SysUserInfo::ICH_IsUserInRole(purchSecRoleIds, curUserId());
if (isUserInRole)
{
qbds_PurchTable = sender.query().dataSourceName(sender.name()).addDataSource(tableNum(PurchTable));
qbds_PurchTable.joinMode(JoinMode::InnerJoin);
qbds_PurchTable.relations(true);
qbds_PurchTableExtended = qbds_PurchTable.addDataSource(tableNum(ICH_PurchTableExtended));
qbds_PurchTableExtended.joinMode(JoinMode::InnerJoin);
qbds_PurchTableExtended.relations(true);
qbr_PurchTableExtended = SysQuery::findOrCreateRange(qbds_PurchTableExtended, fieldNum(ICH_PurchTableExtended, RecId));
qbr_PurchTableExtended.status(RangeStatus::Hidden);
qbr_PurchTableExtended.value(strFmt('((PurchOrderer == %1) || (PurchRequester == %2) || (PurchApprover == "%3") || (PurchAssignee == "%4"))',
HcmWorkerLookup::currentWorker(),
HcmWorkerLookup::currentWorker(),
curUserId(),
curUserId()));
}
}
}
No comments:
Post a Comment