1
現時点では表IDだけが使用できますが、数値なので意味がありません。少しのコード例が本当に素晴らしいでしょう。Axapta:テーブル名ではなく、テーブルIDをデータベースログレポートの選択ダイアログで選択として使用するにはどうすればよいですか?
現時点では表IDだけが使用できますが、数値なので意味がありません。少しのコード例が本当に素晴らしいでしょう。Axapta:テーブル名ではなく、テーブルIDをデータベースログレポートの選択ダイアログで選択として使用するにはどうすればよいですか?
RunBaseReport
クラスを新規に作成し、の方法でレポートにSysDatabaseLog
という名前を付けることを忘れないでください。
dialog
メソッドでテーブル名を要求します。ルックアップを有効にするには、TableName
拡張データ型を使用します。
Object dialog()
{
DialogRunbase dlg = super();
;
dialogTableName = dlg.addFieldValue(typeId(TableName),tableId2Name(tableId));
return dlg;
}
super()
を呼び出した後getFromDialog
方法でqueryRun.query()
のテーブルIDの範囲を更新します。テーブルidに変換するには、tableName2Id
関数を使用します。
boolean getFromDialog()
{
boolean ret = super();
;
tableId = tableName2Id(dialogTableName.value());
this.queryrun().dataSourceNo(1).findRange(fieldNum(SysDatabaseLog,Table)).value(queryValue(tableId));
return ret;
}
はvalidate
方法において、そのテーブル名が有効である(テーブルIDではない0、テーブルないTEMPなど)を検証します。
最後に、レポートではなくクラスを指すように出力メニュー項目を変更します。
警告:コードはテストされていません!
"super()を呼び出した後にgetFromDialogメソッドのqueryRun.query()のテーブルID範囲を更新します。tableName2Id関数を使用してテーブルIDに変換してください。 私は上記のことにちょっと固執しています。あなたは私のためにもう少し明確にすることができますか? - お返事ありがとうございました。 –
回答が更新されました。 –
ありがとうございます - 私はあなたが提供したすべての助けを借りて少しでもハッキングすることによってそれを稼働させました。 –