Вложенная формула If в формуле forAll в формуле forAll PowerApps - PullRequest
0 голосов
/ 06 октября 2018

У меня есть кнопка в приложении PowerApps, которая пытается записать данные о выборах (в данном случае клиенты) в таблицу для определенных пользователей, которые были выбраны.Я могу выбрать несколько пользователей и выбрать несколько клиентов.когда они выбраны, они попадают в коллекцию (с соответствующим названием selectedClients и SelectedUsers) с некоторой дополнительной информацией.Я хочу, чтобы код сначала проверил и увидел, существует ли комбинация клиент / пользователь в таблице, а если нет, то запишите ее в таблицу.В настоящее время формула выглядит следующим образом:

ForAll(SelectedClients,
ForAll(selectedUsers,
If(LookUp('[dbo].[ClientAssignment]_2', UserPrincipalName in ADUserEmail || 
SelectedClient in ClientNameAssigned,"OK") <> "OK", Patch('[dbo]. 
[ClientAssignment]_2',Defaults('[dbo].[ClientAssignment]_2'), 
{ADUserEmail:UserPrincipalName},{Priority:1},{AddedDate:Today()}, 
{ClientNumberAssigned:SelectedClientNumber}, 
{ClientNameAssigned:SelectedClient}))));

она прекрасно работает без вложенной части if(lookup)), она просто записывает запись, даже если она уже существует, чего мне следует избегать.Выполнение этого кода в настоящее время приводит к странным результатам, которые я даже не могу найти шаблон.Интересно, является ли это моим вложением или это функция ForAlls (я прочитал в документации, что делегирование - это проблема, и я недостаточно знаю, что это значит, но я понял, что это порядок, в котором он проверяетотдельные элементы в цикле).Также это может быть что-то маленькое, поскольку вы все знаете, каково это вкладывать все глубже и глубже в формулу, это как черная дыра путаницы.

Любое понимание будет оценено!дайте мне знать, если мне нужно добавить больше информации.

...