在此文中
下面我们来解释为了在BananaApps(应用程序)上创建一个日记账报表时所需考虑的问题。
- 检索交易数据。
- 使用Banana APIC提供的功能创建特定的报告。
文档
示例文件
- 示例文件在 github/General/CaseStudies/JournalReport 是可用的。
- 使用日记账 API 的解决方案:
发生业务表
下表是一个发生业务的例子:
我们看到以上不同类型的发生业务。发生业务可以发生在单独的一行或者多行上,可以含也可以不含增值税。
要打印含有所有账户和发生业务的日记账报表,如下所示:
Javascript API 等效
要检索一个包含账户表中所有金额的 目标表格 , 我们使用 日记账 API:
var journal = Banana.document.journal(Banana.document.originType, Banana.document.accountType);
在这里
原始类别 指定要过滤的行。可以是以下之一:
- ORIGINTYPE_NONE 不应用过滤器并返回所有的行 (当前和预算)
- ORIGINTYPE_CURRENT 只返回正常发生业务
- ORIGINTYPE_BUDGET 只返回预算发生业务
账户类别 指定要过滤的行。可以是以下之一:
- ACCOUNTTYPE_NONE 不应用过滤器并返回所有的行
- ACCOUNTTYPE_NORMAL 仅返回一般账户的行
- ACCOUNTTYPE_CC1 仅返回成本中心 1 的行
- ACCOUNTTYPE_CC2 仅返回成本中心 2 的行
- ACCOUNTTYPE_CC3 仅返回成本中心 3 的行
- ACCOUNTTYPE_CC 成本中心的行与使用 (ACCOUNTTYPE_CC1 | ACCOUNTTYPE_CC2 | ACCOUNTTYPE_CC3) 相同返回
返回的表格包含 发生业务表 的所有列,以及其他许多列 (请访问 日记账 API 以获取更多信息)。
代码示例
通常用以下方法来创建和使用日记账表检索发生业务数据:
// Create the journal table var journal = Banana.document.journal(Banana.document.ORIGINTYPE_CURRENT, Banana.document.ACCOUNTTYPE_NORMAL); // Read the table row by row and save some values for (var i = 0; i < journal.rowCount; i++) { var tRow = journal.row(i); // From the journal table we take only the transactions rows if (tRow.value('JOperationType') == Banana.document.OPERATIONTYPE_TRANSACTION) { // Save some column values var jContraAccountGroup = tRow.value('JContraAccountGroup'); var jRowOrigin = tRow.value('JRowOrigin'); var jDate = tRow.value('JDate'); var jAccount = tRow.value('JAccount'); var jContraAccount = tRow.value('JContraAccount'); var jDescription = tRow.value('JDescription'); var jAccountDescription = tRow.value('JAccountDescription'); var jAmount = tRow.value('JAmount'); //... } }
每个发生业务在日记账表中的结果
以上的日记账表对于更好的理解日记账工作原理是非常有用的。
一般来说:
- 对于发生业务表中使用的每个账户 (借方,贷方,成本中心1, 成本中心2, 成本中心3) ,程序会生成一个日记账行,其中日记账账户列设置了特定账户。
- 对于使用借方,贷方,增值税账户,成本中心1,成本中心2,成本中心3 的复式记账发生业务,日记账将包含六行。如果发生业务只有借方和贷方,则会生成两行。
所有特定的发生业务:
- 记账凭证号01-02 – 不含增值税的单行发生业务
分期日记账:
一行日记账账户为 6602.02
一行日记账账户为 1002.02
- 记账凭证号 01-03 – 含增值税的单行发生业务
分期日记账:
一行日记账账户为 1405
- 记账凭证号码 01-04 – 含负增值税的发生业务
分期日记账:
一行日记账账户为 1002.01
一行日记账账户为 6001。由于增值税金额在贷方,因此为负值,是必须向税务机关缴纳的。
- 记账凭证号 01-09 – 含增值税的多行发生业务
分期日记账:
一行日记账账户为 1002.01
一行日记账账户为 6602.02
一行日记账账户为 6602.06