我们做这个tickets系统, 需要把issue 分给相应的人员处理, 那么需要读取服务部门的员工列表,
功能是先有一个文本框,根据文本框里面的内容输入查询OFFICE 365list , 选到员工:
问题来了, 如何读取?
首先退一步讲,方法一,建立sharepoint 一个LIST 放置所有assign 的员工列表, 但是这个就无法做后期权限控制等。
还是回到本身的方法上来, https://docs.microsoft.com/en-us/power-apps/maker/canvas-apps/connections/connection-office365-users 提供了指南,
马上试一下,

但是它报错呀, 真是服了
原来是自己没仔细看, 下边还有个列子, 就是根据输入的文本框去查询OFFICE 365 用户信息, 然后把用户显示出来, 这样做


这里只是筛选创建人的ticket .
SortByColumns(
Filter(‘Sungiven Help Desk_1’,StartsWith(‘Created By’.DisplayName,TextInput1.Text)),
“Created”,
Descending)
如果查询OFFICE 365 怎么写?
在Gallery Items 里面写:
Office365Users.SearchUserV2({searchTerm:TextInput2.Text}).value
接着我们 对于筛选出来的员工, 分配TICKET 作为任务,
点击分配 的时候弹出窗口提示 , 参考 https://aaronsoo.com/?p=497

重点来了, 如何把OFFICE365里面的数据读出来, update 到sharepoint 里面的assigned to 字段?

Patch( ‘Sungiven Help Desk_1’, First( Filter( ‘Sungiven Help Desk_1’, ID = Gallery2.Selected.ID ) ), { AssignTo: Gallery3.Selected.Mail } );
UpdateContext({VarShowAssignScreen:false});
Navigate(AssignConfirmation);
这里用了patch 方法update , 其中第二部分是UPDATE 哪个ticket(where) ,第三部分{ AssignTo: Gallery3.Selected.Mail } 是UPDATE 的内容 , 多了一个GALLERY 因为是第二部从OFFICE 365选择用户的原因,这里防止重名,写入的Email.
变量 VarShowAssignScreen 的控制不多说了, 详见前文博客。