/// <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) { // Range for Orderer, Requester, Approver, Assignee fields 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