【问题标题】:DOORS DXL Recreating the Main ColumnDOORS DXL 重建主柱
【发布时间】:2020-08-17 08:24:44
【问题描述】:

我想在 DOORS 中创建一个 DXL 属性,该属性包含与主列相同的信息。 在属性中保持与主列中相同的标题字体样式很重要,因为这用于在 DOORS Publish 之后在 Word 文档中自动创建“目录”。

我在互联网上找到了下面的 dxl-script,但 getCanvas 似乎不起作用。 所有文本都很好地传递给我的新属性,但标题的字体样式与普通文本相同。

if (obj."对象标题" "" != "") { 字体(getCanvas,级别(obj),HeadingsFont) displayRich(number(obj) " " obj."对象标题" "") }

if (obj."对象文本" "" != "") { 字体(getCanvas,级别(obj),TextFont) displayRich(richTextWithOle(obj."对象文本")) }

谁能帮忙?

韩语 克劳斯

【问题讨论】:

    标签: ibm-doors


    【解决方案1】:

    对我来说,代码实际上在 Layout-DXL 列(不是 DXL 属性)中工作。

    if (obj."Object Heading" "" != "") {
        DBE dbCanvas = getCanvas()
        font(dbCanvas, level(obj), HeadingsFont)
        displayRich(number(obj) " " obj."Object Heading" "")
    }
    

    我的 DOORS 版本是 9.6,虽然方法似乎不是那么新,所以 DOORS 版本似乎不是问题。

    如果对 DXL 代码没有其他帮助,我建议您查看目标 word 文档。在那里,您应该能够在后处理步骤中控制通过 VBA 代码粘贴到文档中的任何内容。尽管我并没有真正明白,为什么您要避免将主列用于源内容。您是否尝试显示链接或引用模块的内容?

    【讨论】:

      【解决方案2】:

      非常感谢您的回答。它以某种方式帮助了我。

      我的问题是我试图在属性中输入 dxl 代码。我按照您的建议制作了一个 Layout-DXL 列,它几乎立即起作用:-) 我最终得到了如下所示的 dxl 代码。

      if (obj."Object Heading" "" != "")
      {
          DBE dbCanvas = getCanvas()
          if( dbCanvas != null )
              font(dbCanvas, level(obj), HeadingsFont)
          displayRich(number(obj) " " obj."Object Heading" "")
      }
      else
      {   // insert rest of text
          if ( probeAttr_(obj, "Requirement") == "Requirement" ) 
          {   // insert requirement text from DT module
              displayRich(richText(obj."DXL to DT - ID & Object Text"))
          }
          else
          {   // insert rest of text from this module
              displayRich(richTextWithOle(obj."Object Text"))
          }
      }
      

      我希望发布测试程序,其中每个测试用例都以需求文本开头,然后是执行测试所需的测试步骤,如图 1 所示。 Test Procedure Publish view

      DOORS 中的视图现在看起来如我所愿,但在 DOORS 中发布时出现错误。

      DOORS publish error

      因此,我保护了“font(dbCanvas, level(obj), HeadingsFont)”这一行,但现在 Word 文档中没有标题,并且目录为空。

      Word snip

      有解决办法吗?

      韩语 克劳斯

      【讨论】:

      • 请定义“发布时”。你叫什么/你用什么代码来“发布”?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多