У меня есть запрос AOT в Dynamics AX 2012, который состоит из таблиц HcmWorker и HcmEmployment (среди прочих). Моя проблема в том, что когда я создаю отчет (не SSRS) или иным образом использую этот запрос, я получаю только сотрудников с допустимым временным состоянием в HcmEmployment.
Я хотел бы получить всех сотрудников, у которых есть запись в этой таблице, даже если у них нет текущей работы - и только один раз. Оптимальное решение - получить запись от HcmEmployment для текущей занятости, если она существует, а в противном случае - последнюю запись с датой начала до «сейчас». Однако я могу согласиться с решением, в котором оно присоединяется к последней дате начала.
Я бы предпочел решение, в котором мне не нужно добавлять код каждый раз, когда я его использую (т.е. решаю его в запросе AOT).
Я попытался установить свойство validTimeStateDateTimeRange в запросе из кода, что привело к дублированию строк, если у сотрудника несколько должностей.
Если я установлю для источника данных HcmEmployment значение ExistsJoin и firstOnly, тогда он будет работать в представлении, но не в отчетах (все еще повторяющиеся записи) :( Использование этого представления в отчетах не вариант, потому что пользователи должны иметь возможность фильтровать по DefaultDimension от HcmEmployment.
Как я могу решить эту проблему?