我在office 365中创建了一个Power应用程序,允许用户从azure AD中搜索用户,并显示一些信息,如姓名、头衔、直接经理、电子邮件等。在他们选择了所有想要的人后,有一个按钮可以通过电子邮件将其发送到特定地址。
我还想显示员工编号,这是一个从我们的内部部署AD同步的自定义属性,但据我所知,PowerApps目前还不支持自定义属性,所以我不得不添加一个带有文本输入的新字段,以便用户可以手动输入他们选择的每个用户的员工编号。
问题是收到的电子邮件包含列表中所有人的相同号码。实际上,它从列表中最后一个用户的文本输入中获取数字,并仅将其用于所有选定的用户。
这是";提交";按钮:
If(
!IsBlank(PeopleAddedGallery1),
Office365Outlook.SendEmailV2(
"XXX@YYYY.com",
"Employee Termination Form",
"Hello:" & "<br>" & "<br>" & User().FullName & " is requesting the following employees to be terminated:" & "<br>" & "<br>" & "<br>" & Concat(
MyPeople,
"Name: " & DisplayName & "<br>" & "Title: " & JobTitle & "<br>" & "Employee Number: " & EmployeeNumber_input.Text & "<br>" & "Email Adress: " & Mail & "<br>" & "<br>"
)
));RemoveIf(
MyPeople,
DisplayName in MyPeople.DisplayName)
引起该问题的文本输入是";雇员编号输入。文本";。列表中每个用户的其他属性都在更改。只有数字是相同的(列表中的最后一个(,所有的。
示例邮件输出:
Hello:
XXXX is requesting the following employees to be terminated:
Name: name1
Title: title1
Employee Number: 567
Email Address: name1@YYYY.com
Name: name2
Title: title12
Employee Number: 567
Email Address: name2@YYYY.com
我认为您必须为MyPeople表中的employee number文本字段添加一个新列。concat函数将为MyPeople表循环,并准备好表单上的最后一个员工编号。通过将新列添加到员工表的列表中,将为每个员工记录读取该列。