这可能是世界上最简单的事情,但我似乎无法在App中添加/和/计算表。我已经附上了应用程序预览的图片。我会尽量保持简单。该页面有以下3个数据源:
Apex_customer_po --这是我们员工输入客户采购订单的地方,包括PO号码(字符串)、PO (编号)的总价值和细节(string)。
Apex_customer_po_wo_details -采购订单通常被我们的客户分解成多个工作订单( WO ),每个任务都有自己的值,包括日期(日期)、WO号(字符串)、WO数量(编号)、详细信息(字符串)。
Apex_customer_po_wo_costing --我们在这里记录我们做了什么工作,以及每个工作订单中我们使用了多少钱。这些字段包括参考编号(字符串)、零件价格(编号)、部件详细信息(字符串)、劳动小时(编号)、劳动率(编号)、总劳动(编号)和发票总数(编号),工作订单所有发票的总总数(编号)。
我的数据关系如下:
显示PO应用程序预览模式的一般配置。我包括2份工作订单,每一份都附有相关发票。

显示应用程序页的布局视图的一般配置。

我想出了如何计算我的劳动成本:
@datasource.item.Labour_total = @datasource.item.Labour_time * @datasource.item.Labour_rate我想出了如何计算每一张发票的总数:
@datasource.item.Invoice_total = @datasource.item.Parts_amount + (@datasource.item.Labour_time * @datasource.item.Labour_rate)但在我的一生中,我无法弄清楚如何从每个工作订单中“加/和/总计/计算”单个发票来获得总价值。
我尝试过使用reduce和其他一些方法,但是即使在基本的1+1类型计算中,我似乎也无法获得正确的语法。我在应用程序开发方面的经验不多,但我一直做得很好,而且很喜欢.直到现在。
更新001:
根据下面的博客文章,我成功地获得了一个约简函数来为我执行一个简单的表添加。blog.supportgroup.com/google-app-maker-cold-calculations --球又开始滚动了。现在我需要重新设计我的数据源是如何设置的,把数字转换成字符串-
更新002:
我设法在我的应用程序中实现了减少功能。但是,它汇总来自数据源中所选单元格的值。例如,我有一个PO,我们称它为PO#1,总共有5个项目,共计$5。当我启动一个新的PO#2时,它会将整个数据源计算出来,而不管它是2个不同的PO#,我不知道如何使它停止。
@datasource.item.Total = getFormatMoney((@datasources.Apex_customer_po_wo_costing.items).reduce((b,a) => Number(a.Parts_amount) + (Number(a.Labour_rate) * Number(a.Labour_time))+ Number(b) , 0 ),2,",",".")getFormatMoney(),2,",",".")是一个客户端java脚本,用于格式化货币。
提前感谢您的帮助。
更新003:
我现在正尝试用一个计算的数据源以一种不同的方式来完成这个任务,并且我正在遵循本教程:
我已经一步一步地重新创建了这个应用程序,但是我得到了关于我的SQL查询代码的以下错误:
月18日13:38:49格林尼治时间-700 2019年例外:格式错误的SQL。更多信息:使用SQL语句出错:您的SQL语法出现了错误;请检查与您的MySQL服务器版本对应的手册,以便在第1行
var totals = (wholesale:0, retail:0, profit:0); var records = app.models.autos.附近使用正确的语法。 E 11月18日13:38:49 GMT-700 2019执行数据源总计查询:(错误):格式错误的SQL。更多信息:使用SQL语句出错:您的SQL语法出现了错误;请检查与您的MySQL服务器版本对应的手册,以便在第1行var totals = (wholesale:0, retail:0, profit:0); var records = app.models.autos.附近使用正确的语法。 E星期一11月18日13:38:49格林尼治时间-700 2019年执行数据源总数查询失败。
我的数据源中的代码如下:
var totals = {wholesale:0, retail:0, profit:0};
var records = app.models.autos.newQuery().run();
records.forEach(function( item ){
totals.wholesale += item.wholesale;
totals.retail += item.retail;
totals.profit += (item.retail - item.wholesale);
});
var record = app.models.totals.newRecord();
record.wholesale = totals.wholesale;
record.retail = totals.retail;
record.profit = totals.profit;
return [record];有人对这个错误有什么想法吗?
更新004
成功-数据源类型需要是"Calculated"类型,而不是“计算的SQL"。现在我要看看是否可以将这种新的计算方法应用到我现有的问题上。
https://stackoverflow.com/questions/58867149
复制相似问题