1

I have a Microsoft Power App that I'm currently developing for my company to keep track of contacts for different projects. One thing that's crucial to this is being able to input new contacts to the dataset, as it's constantly changing and expanding.

The main issue I'm running into with this (which may be due to me only being able to access the web app, not the full desktop app) is that when I try to send the 'person' type to the List using the Patch() function as such:

Patch(
    ListName,
    Defaults(ListName),
    {
        Person: ComboBox2.Selected
    }
)

I get the following errors:

Invalid argument type. Expecting a record value, but of a different schema.
- And -
Missing column. Your formula is missing a column 'Claims' of type 'Text'.

I looked into this because surely I wasn't actually missing this 'Claims' column, as it's nowhere in any of my datasets or the app. However, I came to find out that apparently the 'person' type has a hidden Claims column in each entry. I tried adding records manually like this:

Person: {
            Claims: LookUp(Office365Users.SearchUserV2({searchTerm: ComboBox2_1.Selected.Email}), 
            Value = ComboBox2_1.Selected.Email).Claims,
            DisplayName: ComboBox2_1.Selected.DisplayName,
            Email: ComboBox2_1.Selected.Email
        }

To which I received the following error:

Incompatible type. The 'claims' column in the data source you're updating expects a 'text' type and you're using a 'error' type

Meaning I couldn't actually retrieve claim information, so it's not there for the person I'm fetching (I think). I'm assuming there are mismatched types here because I'm on the web app or something like that, but I would like to see if anyone has similar experience with this issue to say for sure. I'm thinking this may also be the reason for the first error, 'Invalid argument type,' suggesting I am giving it a record, but it needs to be formatted differently to work properly. Any help is tremendously appreciated, I've been going in a circle all day trying to get this to work.

3
  • What is the data source/items property of your ComboBox control? Try using items property to Choices('ListName'.Person). Then your first formula should work for you. Let me know if it works. Jul 12, 2023 at 10:18
  • @GaneshSanap I currently have the following: Office365Users.SearchUserV2({searchTerm: ComboBox2.SearchText, top:50}).value The reason for this is because I need to search through my company's entire list of employees to make sure the person I'm submitting to the list exists. Does your method still allow for this, or is there a way to modify it so that it does?
    – Jeff Aubé
    Jul 12, 2023 at 12:44
  • Try my solution given below. let me know if it works for you. Jul 12, 2023 at 13:25

1 Answer 1

0

Try this:

Set items property of ComboBox control to:

Office365Users.SearchUserV2({searchTerm: Self.SearchText, top:50}).value

Then you can Patch person column in SharePoint list using formula:

Patch(
    ListName,
    Defaults(ListName),
    {
        Title: TextInput1.Text,
        Person: {
            '@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser",
            Claims: "i:0#.f|membership|" & ComboBox2.Selected.Mail,
            Department: "",
            DisplayName: ComboBox2.Selected.DisplayName,
            Email: ComboBox2.Selected.Mail,
            JobTitle: "",
            Picture: ""
        }
    }
)
5
  • 1
    This works perfectly! Thank you.
    – Jeff Aubé
    Jul 12, 2023 at 13:57
  • You're welcome, glad it worked for you! Keep using this platform to asking any queries/questions. Jul 12, 2023 at 13:59
  • I do have one more question actually. I have another combobox that pulls data from a column of type 'Choice' in the same List. The box is populated using Distinct(ListName, Application) which works fine, the issue is I want the user to have the ability to type text into the combobox and add it as an option in the list. I believe this is possible in the desktop app but I'm not sure how to do it in the web app with the method I'm currently using
    – Jeff Aubé
    Jul 12, 2023 at 14:05
  • Can you please Ask new question by adding more details and requirements? In SharePoint, you can allow fill-in choices which allows users to add extra inputs which are not predefined options in choice column settings. Jul 12, 2023 at 14:33
  • Yup, I just asked a new question. Thank you for any help you can provide!
    – Jeff Aubé
    Jul 12, 2023 at 14:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.