SAP打印不完整(不能横向打印)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SAP打印不完整(不能横向打印)相关的知识,希望对你有一定的参考价值。

如题,打印别的内容都是可以横向打印的(图片,WORD,EXCEL等)就是SAP不能横向打印,方向和纸张都调整过还是不行。请各位大虾帮忙分析一下是什么原因这么解决吧。

在SAP中,某些业务对象会有状态的属性,用来控制和约束该业务当前的操作。
比如PM模块的工单和PS模块的项目定义,状态这个属性并不存放在各个业务的业务表中,而是由SAP统一管理。

【系统状态】
以I开头,主数据表是TJ02,描述表TJ02T
表TJ04可以据业务对象号(如WBS是PRN),可以查出所有相关的状态

【用户状态】
以E开头,每个用户状态都关联一个用户参数文件,相同的状态编码在不用的参数文件下意义不用,
主数据表为TJ30, 文本表是TJ30T

对于每笔业务,都有一个唯一的对象编号,字段名一般为OBJNR,存在在业务表中(AUFK, PROJ...)
JEST:存放了该对象编号的当前状态
JCDS:存在对象状态修改的历史记录

Function module: STATUS_READ 读出某个业务对象的当前状态(注意包括业务进行中BUFFER的状态)
STATUS_UPDATE 修改状态(批量新增或者修改状态)
I_CHANGE_STATUS 状态更新(取消一个当前状态,激活一个新的状态)
补充一点,还有一个取项目的状态描述的FUNCTION是:STATUS_TEXT_EDIT在【ABAP】项目相关开发中的一些经验总结里有详细的用法介绍。追问

呵呵,你说这么多,原因和对策是什么?

参考技术A 电脑打印机里的纸的格式选下追问

设置过了!跟打印机没有关系,我用的虚拟打印机另存成ODF都是纵向的!

WPF:如何在横向模式下打印?

【中文标题】WPF:如何在横向模式下打印?【英文标题】:WPF: How do you print in Landscape mode? 【发布时间】:2011-03-14 15:35:34 【问题描述】:

在网上找到了this function,效果很好……除了我不知道如何将其默认为横向打印。

private void PrintClick(object sender, RoutedEventArgs e)

  PrintDialog dialog = new PrintDialog();
  if (dialog.ShowDialog() == true)
   dialog.PrintVisual(_PrintCanvas, "My Canvas"); 

如何将我的 wpf 内容的默认设置设置为横向模式?

【问题讨论】:

【参考方案1】:

编辑:固定变量名,@SHIN JaeGuk 提到

private void PrintClick(object sender, RoutedEventArgs e)

    PrintDialog dialog = new PrintDialog();
    if (dialog.ShowDialog() == true)
     
        //Set PageOrientation to Landscape
        dialog.PrintTicket.PageOrientation = PageOrientation.Landscape;
        dialog.PrintVisual(_PrintCanvas, "My Canvas"); 
    

【讨论】:

【参考方案2】:

原答案 这已经回答了: Setting PageOrientation for the Wpf DocumentViewer PrintDialog

结束原始答案

编辑:

PrintTicket 和打印视觉效果似乎存在问题,请查看: Same question on MSDN

MSDN 论坛上的原始发帖人在上一篇文章中说他们使用的解决方法是基本上捕获视觉并转换为 xps 文档进行打印,这将允许使用 PrintTicket 设置打印文档的方向.

【讨论】:

我不是要打印文档,而是要打印一段内容。例如,现在我将(Visual)mytabs.SelectedContent 传递到我的print.printVisual() 方法中。在您指出的答案中,我究竟会将mytabs.SelectedContent 贴在哪里?【参考方案3】:
private void PrintClick(object sender, RoutedEventArgs e)

   PrintDialog dialog = new PrintDialog();
   if (dialog.ShowDialog() == true)
       
         dialog.PrintTicket.PageOrientation=System.Printing.PageOrientation.Landscape;
         dialog.PrintVisual(this, "First LandScape"); 
      
 

您需要分别添加对 ReachFramework.dll 和 System.Printing.dll 的引用。

【讨论】:

以上是关于SAP打印不完整(不能横向打印)的主要内容,如果未能解决你的问题,请参考以下文章

java调用jasper文件直接打印,怎么设置横向或纵向打印。

横向打印的媒体查询?

如何以横向模式打印 PDF

用html横向、多页的分页打印,打印不出来,怎么办?

Lodop扁宽横向241mm*93mm这种怪异的纸张如何设置

使用ScriptX控件进行横向打印