|
![]() |
#1 |
Участник
|
Query-ик я проверил через инфолог всё там нормально.
а код полностью это X++: private static void updateEmplGroup(RPayGroupTable _rPayGroupTable, Common _common) { EmplTable emplTable; RHRMVirtualNetworkTable virtualNetworkTable; QueryRun queryRun; EmplId emplId; int line; ; //BP Deviation Documented emplTable.setTmp(); //BP Deviation Documented virtualNetworkTable.setTmp(); ttsbegin; switch (_common.TableId) { case tablenum(EmplTable): emplTable.data(_common); emplTable.doInsert(); virtualNetworkTable.data(RHRMVirtualNetworkTable::findEmplId(emplTable.EmplId)); virtualNetworkTable.doInsert(); break; case tablenum(RHRMVirtualNetworkTable): virtualNetworkTable.data(_common); virtualNetworkTable.doInsert(); emplTable.data(EmplTable::find(virtualNetworkTable.EmplId)); emplTable.doInsert(); break; } ttscommit; emplId = emplTable.EmplId; if (emplId && _rPayGroupTable.hasQuery()) { queryRun = new QueryRun(new Query(_rPayGroupTable.Query)); queryRun.setRecord(virtualNetworkTable); queryRun.setCursor(emplTable); line = infolog.line(); try { // info(queryRun.query().DataSourceNo(1).toString()); if (queryRun.next()) { if (! RPayGroupMember::memberByGroup(emplId,_rPayGroupTable.PayGroup)) { RPayGroupMember::addMember(_rPayGroupTable.PayGroup,emplId); } } else { if (RPayGroupMember::memberByGroup(emplId,_rPayGroupTable.PayGroup)) { RPayGroupMember::deleteMember(_rPayGroupTable.PayGroup,emplId); } } } catch(Exception::Error) { infolog.clear(line); warning(strfmt("@HRP2195", _rPayGroupTable.PayGroup)); } } } |
|