我正在尝试在CSS代码中使用脚本来计算小计。不幸的是,JSON / XML提要并没有给我我想要的小计。
<MetaData>
<labor currency="CAD">0</labor>
<parts currency="CAD">1234</parts>
<discount currency="CAD">246.8</discount>
<tax currency="CAD">147.8332</tax>
<total currency="CAD">1135.0332</total>
</MetaData>
我要计算PARTS-DISCOUNT,需要将元数据的内容解析为浮点数以进行计算,然后将其转换为字符串以显示它。
<script>
var subtotalbeforediscount = parseFloat(Workorder.MetaData.parts, 10);
var discounttotal = parseFloat(Workorder.MetaData.discount, 10);
var subtotalfinal = subtotalbeforediscount - discounttotal;
var subtotalfinaltxt = subtotalfinal.toString();
</script>
当然,此脚本不起作用,因为未解析MetaData,仅解析字母。
如何在显示之前进行这样的计算?
这是CSS部分,我只想显示计算结果:
<tr>
<td>Sub-total final</td>
<td id="subtotalfinal" class="amount">
{{subtotalfinaltxt|money}}
</td>
</tr>
谢谢。
答案 0 :(得分:0)
我想您需要向LightSpeedHQ寻求支持-如果不支持,那么JavaScript / jQuery可以做到这一点:
var WorkorderString = `<MetaData>
<labor currency="CAD">0</labor>
<parts currency="CAD">1234</parts>
<discount currency="CAD">246.8</discount>
<tax currency="CAD">147.8332</tax>
<total currency="CAD">1135.0332</total>
</MetaData>`
var oParser = new DOMParser();
var $Workorder = $(oParser.parseFromString(WorkorderString, "application/xml")).find("MetaData");
var subtotalbeforediscount = parseFloat($Workorder.find("parts").text(), 10);
var discounttotal = parseFloat($Workorder.find("discount").text(), 10);
var subtotalfinal = (subtotalbeforediscount - discounttotal).toFixed(2);
var subtotalfinaltxt = subtotalfinal.toString();
$("#subtotalfinal").text(subtotalfinaltxt);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<tr>
<td>Sub-total final</td>
<td id="subtotalfinal" class="amount">
</td>
</tr>
</table>
答案 1 :(得分:0)
最后,Lightspeed非常友善,可以花一些时间来找到解决方案。
这是脚本中计算字段的最后部分。该脚本中还有更多条件,但基本上,它们能够使用元数据并执行计算。
sub notset()
dim ws as worksheet
set ws = thisworkbook.sheets("master sheet")
with ws
.range("Z2:Z" & range("Z" & row.count).end(xlup).row).formula =_
"=if((Z2 = '0'),"NOT SET"")"
end sub
希望可以帮助别人。