18.02.2014, 07:01 | #1 |
Участник
|
Lookup с сотрудниками конкретного подразделения
Добрый день! Задача такая: нужно в лукапе вывести только тех сотрудников, которые работают в определенном подразделении. Написан такой код
X++: EmplTable tempEmplTableLookup, employees; DirPartyTable emplNames; RpayHrmOrganization HrmOrganization; SysTableLookup sysTableLookup; Query query = new Query(); QueryBuildDataSource queryBDS; ; //Делаем таблицу временной tempEmplTableLookup.setTmp(); //Выбираем из таблицы рейсов sysTableLookup = SysTableLookup::newParameters(tablenum(EmplTable), this); //Добавляем столбцы sysTableLookup.addLookupfield(fieldnum(EmplTable, EmplId)); sysTableLookup.addLookupfield(fieldnum(EmplTable, Del_Name)); sysTableLookup.addLookupfield(fieldnum(EmplTable, Title)); //Перебираем сотрудников и ищем там тех, кто в ЛО. При этом, они должны быть не уволенными ttsbegin; while select * from employees join emplNames join HrmOrganization where employees.PartyId == emplNames.PartyId && HrmOrganization.hrmOrganizationId == employees.PayHRMOrganizationId_RU && !employees.PayResignedDate_RU { if (HrmOrganization.parentOrganizationId like 'ЛО*') { tempEmplTableLookup.clear(); tempEmplTableLookup.data(employees); tempEmplTableLookup.DEL_Name = employees.name(); tempEmplTableLookup.insert(); } } ttscommit; //Добавляем сотрировку queryBDS = query.addDataSource(tablenum(EmplTable)); queryBDS.addSortField(fieldnum(EmplTable, DEL_Name), SortOrder::Ascending); sysTableLookup.parmQuery(query); //BP Deviation Documented sysTableLookup.parmTmpBuffer(tempEmplTableLookup); sysTableLookup.performFormLookup(); Запись уже существует. Что это значит? Может как-то по-другому можно реализовать данную операцию MS DAX 2009 |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|