Power Apps中使用Patch函数添加用户全名时出现报错求助
问题原因及解决方法
你这个报错的核心原因是:数据源Order Form Data里的Created by字段大概率是用户/人员类型(Person),而非普通文本类型。直接赋值User().FullName(字符串)和字段要求的数据类型不匹配,因此触发报错。
解决步骤
- 先确认字段类型:打开你的数据源(比如SharePoint列表),查看
Created by字段的类型,如果是「人员或组」类型,按下面的方法修改代码。 - 改用符合Person类型的赋值方式:
方法1:直接传入完整的User对象(推荐,Power Apps会自动映射必要属性)
方法2:手动构造Person类型需要的核心属性记录(如果不需要User()对象的全部属性)ForAll(Gallery3.AllItems, Patch('Order Form Data', Defaults('Order Form Data'), { Title: Item, 'Item code': 'Item Code', Description: Description, Quantity: Quantity, Date: Today(), 'Created by': User() } ) );ForAll(Gallery3.AllItems, Patch('Order Form Data', Defaults('Order Form Data'), { Title: Item, 'Item code': 'Item Code', Description: Description, Quantity: Quantity, Date: Today(), 'Created by': { Claims: "i:0#.f|membership|" & Lower(User().Email), FullName: User().FullName, Email: User().Email } } ) ); - 如果
Created by确实是文本类型:检查字段名称是否和数据源完全一致(包括空格、大小写),比如有没有把Created By写成Created by,或者存在其他拼写差异。
内容的提问来源于stack exchange,提问作者Vipin
相关产品推荐
相关产品推荐

