PowerApps数据源更改为存储过程



PowerApps画廊中的数据源是SQL视图。

Search('[dbo].[vwCandidate]', textSearchCandidate.Text, "NameLast", "NameFirst", "MiscellaneousTags", "EmailAddress", "PhoneNumber")

所选记录填充了表单项目的全局变量。

Set(varCandidate, gallerySearchResults.Selected)

一切都按预期工作。然后,我更改了数据源以使用存储过程将搜索从PowerApps移至SQL Server。这样做之后,我收到了错误消息

"不兼容类型。我们无法评估您的公式,因为上下文 可变类型与其他值类型不兼容 您的应用中的位置"

我无法恢复在没有遇到相同错误的情况下工作的视图。我希望我的唯一选择是不要使用新变量,并更改表单/应用中的每个发生。如果可能的话,我想避免。

我无法查看表格,因此我不确定如何正确调试。我的直觉是通过流返回的日期字段正在引起问题。它们是" SmallDateTime"类型,即使请求" date",该流量正在返回字符串' yyyy-mm-ddThh:mm:ss.000'。

"PhoneNumber": {
  "type": "string"
},
"CandidateStatus": {
  "type": "string"
},
"DateApplied": {
  "type": "string",
  "format": "date"
},

Flow JSON这里似乎不喜欢其他任何"日期"格式类型。

流量有任何解决方法吗?设置全局变量时,我应该重新格式化日期值吗?建议?

事实证明,我在正确的轨道上,认为日期数据类型来自流程作为字符串。原因是:

设置全局变量时,使用补丁功能创建了一个新记录:

Set(varCandidate, Patch('[dbo].[candidate]', Defaults('[dbo].[candidate]'), {DateApplied: DateTimeValue(Text(Now())), CreatedDate:DateTimeValue(Text(Now())), CreatedBy:varUser.Email}))

" dateApplied"字段是SQL表中的"日期"类型,它以字符串为单词" 2019-03-13T17:40:52.000"。当我想编辑记录

时,Flow的记录集已设置为同一全局变量。
Set(varCandidate, gallerySearchResults.Selected)

错误"不兼容类型"(有关完整错误消息,请参见问题)是由于该字段是新记录中的"日期值",而编辑记录中的" string"。

我的修复程序是从补丁中删除此"日期"类型字段,并修改流程以检索新创建的记录,iD。

  1. 重置所有内容,包括数据源,然后完全保存并关闭应用程序,重新测试。

  2. 删除任何流连接,然后完全保存并关闭应用程序,重新测试,然后重新添加流量连接。

我不是为什么,但是PowerApp有时会持续存在数据连接错误,直到您关闭应用程序。

只是为了确认PowerApps不支持存储过程作为数据源,而只是使用补丁功能等编写等。

最新更新