如何仅在列表数据移动到第二页时调用第二页

时间:2015-02-11 15:56:05

标签: cognos cognos-10

我正在创建客户发票声明。客户有时会收到大量发票。该报告有两个部分。第一部分是标题,包含公司和客户地址信息等。第二部分是包含发票的列表。

如果客户有大量发票,则会创建第二页,即第一页的副本。由于它是一个副本,它具有我不想要的所有标题信息。此外,在第1页的末尾,我想添加一些文字,如"发票继续下一页"或类似的。

如何告诉列表在页面底部中断并继续第二页?

2 个答案:

答案 0 :(得分:2)

这可以使用Page Set对象完成。以下是步骤:

  1. 使用客户端表创建页面(前面称为Page1)
  2. 使用发票清单创建另一个页面(称为Page2继续)
  3. 点击'Page Explorer'
  4. 中的'报告页面'
  5. 拖动'Page Set'对象(前面称为'Page Set1')
  6. 将“Page Set1”的“查询”属性设置为您正在使用的查询
  7. 点击'分组&排序'Page Set1'的属性
  8. 拖动标识唯一客户端的数据项(例如客户端密钥,客户端代码等)并将其放在“组”文件夹中,然后单击“确定”。
  9. 拖动“Page1”并将其放在页面集
  10. 下的“详细信息页面”文件夹中
  11. 拖动新的“网页设置”对象并将其放在“网页设置1”下的“详细信息页面”文件夹中(前面称为“网页设置2”)
  12. 将“Page Set2”的“查询”属性设置为您正在使用的查询
  13. 点击“Page Set2”
  14. 的“主要明细关系”属性上的省略号按钮
  15. 在出现的对话框中,点击“新建链接”按钮
  16. 在两个列表中选择代表唯一客户端数据项的列,然后单击“确定”
  17. 将“Page2”拖放到“Page Set2”
  18. 下的“详情页面”文件夹中

    您的“报告页面”对象最终应该看起来像这样:

    Page Set Hierarchy

    该技术创建了一个页面层次结构,可以有效地将客户端级别的页面与发票级别的详细页面进行交错,这些页面与关联的前一个客户端相匹配。由于较高级别和较低级别的页面是独立呈现的,因此不会为每个发票页面重复客户端详细信息。

答案 1 :(得分:2)

要在多页报告的第一页上显示标题,您必须采用一种新技术来欺骗Cognos,而不是重复标题。

以下是步骤:

  1. 关闭实际页面标题
  2. 在现有列表上方添加新列表
  3. 选择列表对象并更改'列标题'将属性列为'隐藏'
  4. 在Size&中设置Width属性。对列表对象进行Overlflow至100%
  5. 进入与新列表绑定的新查询
  6. 拖动数据项对象
  7. 在新数据项表达式中输入由引号括起的标题文字(例如' Bob Smith')。
  8. 对要显示的所有独立数据标题重复步骤7(例如' ABC公司')
  9. 返回报告页面
  10. 拖动其中一个新数据项并将其放在新列表中
  11. 选择列表对象并添加标题。这可以通过Headers& amp;页脚工具栏按钮或菜单项结构>标题&页脚>创建标题
  12. 解锁报告
  13. 删除页眉
  14. 中的默认文本项
  15. 可选:向组织的页眉添加所需大小的表
  16. 拖动在步骤7和步骤7中创建的所有数据项。 8并按照您希望的方式对它们进行排列和设计
  17. 在列表主体中选择一个单元格。确保属性表类型为' List Column Body'
  18. 清除属性表中的Classes属性
  19. 点击新页面标题。确保属性表类型为List Cell
  20. 清除属性表中的Classes属性
  21. 删除您在步骤10中添加的数据项(Cognos不允许您将标题添加到没有列的列表中)
  22. 按照这些步骤操作后,您应该能够运行报告,其标题仅显示在列表的开头。

    备注:

    该技术有效,因为Cognos不会重复分页的数据容器,即列表和交叉表。相比之下,每页都会重复单身。通过添加一个新列表并将我们的标题文本放入其中并删除正常的列表样式,我们可以欺骗Cognos,而不是重复每页上的信息。

    您可以避免将文本放在查询中的数据项中。您可以尝试将文本项添加到列表标题中。我没有机会测试这个,因为我的系统崩溃了我的测试报告,但它应该有效。