1

我正在关注 Deluge 上的 Zoholics 视频,并使用此语句从库存中查找比萨饼价格:

colPizzaDetails = Inventory[Pizza == input.Pizza && Size == input.Pizza_Size];

尝试保存脚本时显示此错误:

In Criteria left expression is of type STRING and right expression is of type BIGINT and the operator == is not valid

在视频中,叙述者能够保存脚本。看起来 BIGINT 现在存储在 Lookup Dropdown 中,而不是视频中显示的文本。

您能告诉我如何更改代码语句,以便我可以更改 input.Pizza 以表示用户在屏幕上看到的实际 Pizza Name 文本吗?

4

2 回答 2

0

您应该使用 toNumber() 函数将输入结果转换为整数,如下所示:

colPizzaDetails = Inventory[Pizza == input.Pizza && Size == input.Pizza_Size.toNumber()];

于 2020-04-16T05:15:54.193 回答
0

它接缝库存表单将比萨字段作为字符串字段。

在当前表单中,它接缝 Pizza 字段是来自 Pizza Form 的查找。

因此,每当您尝试访问查找字段时,您都会得到记录 ID 作为回报,您可以通过使用警报或信息命令记录它来检查它,例如警报或信息 (input.Pizza) 以您当前的形式。

所以首先你需要从比萨表格中获取比萨名称,然后在你的查询中进行比较。

假设比萨表单中的比萨名称字段是 Pizza_Name;

所以这就是你的代码应该看起来的样子

pizza_name = Pizza[ID==input.Pizza].Pizza_Name; // fetch pizza_name : make sure you replace Pizza_Name by the deluge name of pizza name field in pizza form.
colPizzaDetails = Inventory[Pizza == pizza_name && Size == input.Pizza_Size]; // compare pizza_name with inventory pizza and fetch inventory data

这应该可以正常工作。

或者

你也可以试试

colPizzaDetails = Inventory[Pizza == input.Pizza.Pizza_Name && Size == input.Pizza_Size];

但这在某些情况下会给你这个错误。

Pizza 是查找字段,无法访问子字段

因此第一种方法适用于所有情况,并且从 zoho 标准的角度来看是首选方法。

于 2018-03-12T12:11:11.883 回答