在此文中
预算表的公式列可以使用以下功能。
示例文件
为了找到有关使用公式的更多信息,请访问以下页面:
Javascript中的计算公式
-
该公式必须使用Javascript语言表示(不要与Java语言混淆)。
-
如果有公式(或任何文本),则根据公式结果设置金额列中的值。
-
您可以使用Javascript语言的所有功能,以及Banana软件提供的API。
小数点分隔符
作为小数点分隔符,JavaScript仅使用该点"."。
如果使用其他分隔符(用于本地格式数字的分隔符),则该数字可能会被截断。
计算顺序和未来价值不足
有关计算顺序的更多信息,参见财务计划。
-
这些行按日期排序并从最低的位置开始排列。
-
如果有相同日期的行,则顺序为插入顺序。
-
当一行被解析并且随后的几行尚未处理时,使用公式,您将只能访问该时刻的数据。
金额 = 最后一条指令的结果
在Javascript中,分号";" 用于分隔表达式。
如果Javascript公式包含多个用分号 ";"分隔的表达式,则金额列的值将是最后执行的表达式的结果。
-
10*3 //则30 将返回
-
如果有一系列由分号";"分隔的操作序列,则最后一次操作将继续。
10*3;7; //则7 将返回 -
如果有返回值,则该值将在返回后继续。
返回 10; // 则10 将返回
变量
您可以直接在行中定义和使用变量。
该变量必须预先定义。
价格 = 10;
总计 = 价格 * 5;
自动变量
-
当前预算
该表包含重复创建后的预算行。
这些用于与JRepeatNumber一起记录值。 -
调试 可以是为 "true" 或 “false”的变量。
如果为"true",则在消息中显示所有公式的结果。 -
行
是引用当前行的javascript对象。-
可以使用值函数 ("columnNameXml").row.value("date") 返回到发生业务日期来检索单元格的值。
-
row.value ("JRepeatNumber")返回重复的进度。
第一次重复是0。
-
预算功能
除了会计类API中定义的预算API外,还有一些特定功能。
budgetExchangeDifference (account, [date, exchangeRate])
该公式唤起了 Banana.document.budgetExchangeDifference 的功能。
BudgetGetPeriod(tDate, period)
此功能与重复使用功能结合使用。
当定义重复时,建议参考计算期间而不是精确的日期。
-
日期参数
计算期间的日期,通常是记录行的日期。 -
期间参数
首字母缩写-
"MC", "QC", "YC" 代表当前月,当前季度,当前年。
-
"MP", "QP", "YP" 代表之前月,之前季度,之前年。
-
-
返回值
由两个日期组成的对象-
开始日期
-
结束日期
-
// 示例 t = BudgetGetPeriod ('2015-01-01', 'MP') returns t.startDate // 2014-12-01 t.endDate // 2014-12-31
特定预算功能
以下内容与Banana.document可用的内容相似,但可以在不指定Banana.document对象的情况下使用。
要考虑在内:
-
您可以使用budgetGetPeriod中解释的缩写形式"MC", "QC", "YC", "MP", "QP", "YP"代替开始日期参数
-
如果将期间指定为日期,则使用当前录入的日期。
-
只有在结束日期早于行日期时使用结束日期才有意义。
如果它等于或更高,则没有效果,因为它们尚未被处理,所以当前行之后的值尚不可用。
budgetBalance(account, startDate, endDate, extraParam)
余额到当前行。
budgetBalance('1000', 'MP'); //returns the balance of 1000 at the end of the previous month
budgetOpening(account, startDate, endDate, extraParam)
期初余额。
budgetTotal(account, startDate, endDate, extraParam)
该期间的借方和贷方变动之间的差异。
budgetTotal('1000', 'MC'); //returns the total movement of the 1000 account for the current month
budgetInterest( account, interest, startDate, endDate, extraParam)
在指定期间内(最大当前日期)计算账户的利息
如果您使用它来计算期末账户的利息,则显示公式的行应始终是该日期的最后一行。
-
账户参数
这将是计算其变动利息的账户号码 -
利息参数
以百分比表示利率-
正数 (2.5, 4, 10) 计算账户借方变动的利息
-
负数 (-2.5, -4, -10) 计算账户贷方变动的利息
-
贷方(金额)
-
如果金额参数为负,则返回正数。
贷方(-100) // 返回 100 -
如果金额参数为正,则返回0。
贷方(100) // 返回 0
此功能与其他budgetBalance功能结合使用,仅在您需要的余额上可用。
如果要计算销售百分比,则使用此功能会更容易。
credit(budgetTotal('1000')) // 仅当它为负时才输入值
借方(金额)
-
如果金额参数为正,则返回金额
debit(100) //返回 100 - 则返回0
debit(-100) //返回 0
如果您只需要使用借方金额进行计算而避免使用贷方金额,则很有用。
包含(Include)
包含并执行一个 javascript文件,并可能创建自己的函数和变量,这些函数和变量可以在脚本中调用。
-
include "file:test.js"
执行了指定文件的内容,该名称是指正在使用的文件。 -
include "documents:test.js"
执行了文件中包含的文本文件的内容。
这必须是"text/javascript" 类型的文件。
多币种会计功能
它们也可以不用于多币种会计,在这种情况下,账户始终使用基本货币。
budgetBalanceCurrency(account, startDate, endDate, extraParam)
当前行账户货币余额。
budgetOpeningCurrency(account, startDate, endDate, extraParam)
期初账户货币余额。
budgetTotalCurrency(account, startDate, endDate, extraParam)
用户定义的功能
用户可以使用JavaScript语言定义个人功能,然后再公式中调用它们。
可以定义以下功能:
-
直接在公式中
-
在JavaScript编码的附件中;此附件必须具有"_budget.js"名称作为行id
-
在文档表的文本中,需要包含在Include命令中
function Taxcalculation(profit) { var percentage = 10; if (profit > 50000) percentage = 10; else if (profit > 100000) percentage =20; return profit * percentage / 100; }