Google app maker 如何';相加/求和/合计/计算';GoogleAppMaker中的动态表

Google app maker 如何';相加/求和/合计/计算';GoogleAppMaker中的动态表,google-app-maker,Google App Maker,这可能是世界上最简单的事情,但我似乎无法在AppMaker中添加/求和/计算表格。我已附加了应用程序预览的图像。我会尽量保持简单。该页面有3个数据源,如下所示: var totals = {wholesale:0, retail:0, profit:0}; var records = app.models.autos.newQuery().run(); records.forEach(function( item ){ totals.wholesale += item.wholesale

这可能是世界上最简单的事情,但我似乎无法在AppMaker中添加/求和/计算表格。我已附加了应用程序预览的图像。我会尽量保持简单。该页面有3个数据源,如下所示:

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];
Apex\u customer\u po-这是我们员工输入客户采购订单的地方,包括采购订单编号(字符串)、采购订单总价值(编号)和详细信息(字符串)

Apex_客户_po_wo_详细信息我们的客户经常将采购订单分解为多个工作订单(wo),每个任务都有自己的值,包括日期(Date)、wo编号(string)、wo金额(number)、详细信息(string)

Apex_客户_po_wo_成本核算-这是我们跟踪我们完成了哪些工作以及每个工作订单的资金使用量的地方。这些字段包括参考编号(字符串)、零件价格(编号)、零件详细信息(字符串)、工时(编号)、人工费率(编号)、总人工(编号)、发票总额(编号)、工单所有发票的总金额(编号)

我的数据关系如下:

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];
  • Apex_客户_po
  • Apex_客户_po_wo_详情(一个Apex_客户_po到多个Apex_客户_po_wo_详情)
  • Apex_客户_po_wo_成本核算(一个Apex_客户_po_wo_详细信息到多个Apex_客户_po_wo_成本核算)
显示采购订单应用程序预览模式的常规配置。I包括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类型计算中。我在AppMaker方面没有太多经验,但我一直做得很好,而且很喜欢它。。。直到现在

更新001:

根据下面的博文,我已经设法获得了一个reduce函数来为我执行一个简单的表添加。blog.supportgroup.com/google-app-maker-cold-calculations-球又开始滚动了。现在我需要修改数据源的设置,将数字更改为字符串-

更新002:

我设法让reduce功能在我的应用程序中工作。但是,它会汇总数据源中选定单元格的值。例如,我有一个PO,我们称之为PO#1,共有5个项目,总共5美元。当我开始新的采购订单2时,它会结转采购订单1的总额。所以它计算整个数据源,不管它是两个不同的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查询代码的错误:

E Mon 11月18日13:38:49 GMT-700 2019异常:SQL格式错误。更多 信息:SQL语句出错:SQL语句中有错误 句法;检查与MySQL服务器版本对应的手册 对于使用near
var totals=(批发:0,零售:0,利润:0)的正确语法;第1行的var记录=app.models.autos.

E Mon Nov 18 13:38:49 GMT-700 2019正在执行数据源查询 总计:(错误):SQL格式错误。更多信息:SQL错误 语句:您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 近
var总计=(批发:0,零售:0,利润:0);风险值记录=
app.models.autos.
第1行

E Mon Nov 18 13:38:49 GMT-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


成功-数据源类型必须是“计算的”类型,而不是“计算的SQL”。现在我要看看我是否能把这种新的计算方法应用到我现有的问题上

这似乎是一条计算模型路线。我在更新003中链接的教程是一条坚实的路线。

您考虑过计算SQL数据源吗?您可以在SQL查询中进行计算。@MarkusMalessa我没有。我不知道我要去兔子洞那么远。我对这个平台没有太多的经验,而且似乎我缺少了一些简单的东西。我现在正在App Maker帮助文件中查看它。为了增加1+1更新,它看起来像一座山。根据下面的博文,我已经设法获得了一个reduce函数来为我执行一个简单的表添加。-球又开始滚动了。现在,我需要修改数据源的设置方式,将数字更改为stringsUpdate:我成功地使reduce函数在我的应用程序中工作。但是,它会汇总数据源中选定单元格的值。例如,我有一个PO,我们称之为PO#1,共有5个项目,总共5美元。当我开始新的采购订单2时,它会结转采购订单1的总额。因此,它计算整个数据源,而不考虑它是两个不同的PO,我不知道如何使它停止。因为您现在有一些实际的代码,您正在使用,我将编辑问题以包括您的代码。