1

別のレポートクエリでもう一度私に...以前にこれに遭遇して問題を解決しましたが、既存のレポートを確認したところ、どこが間違っているのかがわからないため、これを見ている他の誰かが助けてくれることを願っています.. .

基本的に、2 つのヘッダーと本文セクション、およびプログラム可能なセクションとしていくつかの静的フィールドを備えた、他のレポートと同様のレポートがあります。ヘッダーとプログラム可能なセクションは問題なく、期待どおりに動作します。body セクション内のデータは、ProdBOM テーブル内のフィールドから取得されます。このテーブルと、データソースとして使用しているメイン テーブルとの間には関係があります。これらは両方とも私のレポートのデータソースです。

次のコードを fetch メソッドに入力しました。

public boolean fetch()
{
    ProdBom                 _prodBom;
    LogisticsControlTable   _logisticsControlTable;
    ;

    queryRun = new QueryRun(this);

    if (!queryRun.prompt() || !element.prompt())
    {
        return false;
    }

    while (queryRun.next())
    {
        if (queryRun.changed(tableNum(LogisticsControlTable)))
        {
            _logisticsControlTable = queryRun.get(tableNum(LogisticsControlTable));
            if(_logisticsControlTable)
            {
                element.newPage();
            }
            this.send(_logisticsControlTable);

            if(_logisticsControlTable.ProdId)
            {
                while select _prodBom where _prodBom.ProdId == _logisticsControlTable.ProdId
                {
                    element.send(_prodBom);
                }
            }
        }
    }
    return true;
}

その結果、最初のページの本文セクションにはデータがありませんが、次のページの本文にはデータがあります。これが発生する理由はありますか?

4

4 に答える 4

2

element.newPage()最初の の前に明示的に呼び出すとsend、空白のページが作成されます。

制御変数はトリックを行います:

boolean newPage = false;    
...    
if (newPage)
    element.newPage();
else
    newPage = true;
于 2012-05-01T21:26:24.713 に答える
0
//Started with Classdeclaration
Boolean = newpage;

/*Second step would be your after debugging it depends on your
  report/design which method is going to call. Mine was Fetch.
  So, take a look.*/

newpage = true,

/*Third step would be execution part; there you just need to put
  'if' condition.*/

If(newpage==false)
{
    element.newpage();
}
else
{
  newpage=false;
}

ほら、最初に関数が呼び出され、その後に続きelement.newpageます。

于 2016-11-18T11:01:25.643 に答える
0

QueryRun.Changed():

QueryRun.next メソッドへの最後の呼び出し以降、指定されたデータ ソースが新しい値をフェッチしたかどうかを判断します。

IF 句が原因で最初のパスがスキップされていませんか?

それとも、「element.newPage()」をすぐに呼んだからでしょうか?レポートが作成されたときに、新しいページを作成する前に最初にデータを入力する必要がある既存のページはありますか?

わからない場合は、AX でのレポートに弱いです。

于 2012-05-01T16:08:55.450 に答える