You’re correct that Self.Text is text, while ThisItem is a record. Rather than replacing the record with text, use the text value to find the corresponding SharePoint record.
For example, if CurrentSN.Text contains the SN and the SharePoint Title column contains that SN:
Set(
SNKitViewRecord,
LookUp(
'Your SharePoint List',
Title = Self.Text
)
)
Then SNKitViewRecord will still be a SharePoint record, so the rest of your app can continue using it exactly as before.
You can also keep your existing gallery logic:
UpdateContext({SNKitView: ThisItem});
Set(SNKitViewRecord, SNKitView);
And on the Excel button:
Set(
SNKitViewRecord,
LookUp(
'Your SharePoint List',
Title = Self.Text
)
)
If the Excel SN and SharePoint Title don't match exactly, adjust the LookUp condition accordingly.
The {Title: Self.Text} approach creates a record with only a Title field, but it isn't the same schema as your SharePoint record, which is why it can cause problems later when you reference other fields.