Применил кавычки - не получилось. Вообще, filterString получается такой:
(EmploymentAssessment == "") || ("EmploymentAssessment" == "-") || ("EmploymentAssessment" == "н\а")
Здесь "н\а" и "-" - какие-то оценки, имеющие ценность 0 .
Расскажу подробней:
Есть, табель учета, сформированный по штатному расписанию. Есть список сотрудников магазина. В общем случае, список сотрудников магазина больше штата (временные работники, штат другого магазина и пр.). Сотрудник из штата может не выйти на работу - для этого предуссмотрен инструмент, позволяющий выбрать из списка доступных сотрудников ему замену.
Было желание в этом инструменте на лукап выводить список только тех сотрудников, которым еще не проставлены оценки занятости в табеле учета, чтобы исключить возможные махинации работников магазина. Но с другой стороны, в этот лукап должны попадать и сотрудники не входящие в штат.
Отсюда и получается outer join табеля учета по отношению к полному списку сотрудников. В результате запроса получим такие элементы, где табличная переменная табеля будет не определена: (!TimeSheetTable) - временные работники,
и те, где она определена, но оценка не выставлена: (EmploymentTable::find(TimeSheetTable.EmploymentAssessment).Value == 0) - свободные работники.
В реализации этого кода лукап получается пустой.
PS. Допустил в тексте ошибку:
filterString = StrFmt('(%1 == "")', fieldStr(TimeSheetTable, EmploymentAssessment));
while select tEmploymentTable...
|