V18にてサブフォームのソートができない

Product :4D - 4D Server
OS : Windows

4D V18にての事になります
従来のform set inputでの詳細フォーム上に請求書印刷ボタンを配置して
下記のようなコードで印刷をかけていましたが
form set output(印刷用フォーム)
print record(請求テーブル)
form set output(表示用フォーム)

印刷用フォームメソット内に
下記の様にサブフォーム内のソートをかけると
case of
:(form event code=on load)
order by([請求テーブル];[明細テーブル]行番号;>)
else
end case

サブフォーム内の明細テーブルが消えてしまい表示印刷ともにされず
に困っています

ソートを外すと順は狂っていますが表示、印刷はできます

これまでのバージョンでは問題なく出来ていたのですが
どなたか教えて教えていただけますでしょうか

再現サンプルアプリケーションがあれば,
もっと状況が理解できると思うのですが,
引用されているコードだけでは,
憶測に基づく返信となります。
その点をご容赦ください。

ORDER BY([請求テーブル];[明細テーブル]行番号;>)

テーブルをまたいだORDER BYを実行されているようですが,

ORDER BY([明細テーブル];[明細テーブル]行番号;>)

とされていないのはなぜでしょうか。

「請求テーブル」と「明細テーブル」
どちらが1テーブルでどちらがNテーブルなのでしょうか。

常識的に考えれば,請求(1)明細(N)になるかと思いますが,
その場合,「請求テーブル」の詳細フォームを実行中に,
「請求テーブル」のカレントセレクションとカレントレコードを変更している,
という「禁じ手」にはならないでしょうか。

あるいは,このボタンが配置された「詳細フォーム」は,
「請求テーブル」でも「明細テーブル」でもない第3のテーブル,
または,プロジェクトフォームなのでしょうか。

「サブフォーム内の明細テーブルが消えてしまい」とありますが,
カレントセレクションが0件になるということでしょうか,
それともサブフォームそのものが表示されない,ということでしょうか。

「リレーションについて」の項で解説されているように,

https://doc.4d.com/4Dv18/4D/18/About-Relations.300-4505065.ja.html

テーブルをまたいだORDER BYは,
「N対1」のリレーションを暗黙的に使用し,
「1対N」のリレーションは自動リレーションを明示的に有効化されていれば使用します。

「明細テーブル」がNテーブル,「請求テーブル」は1テーブルだとすると,
「1対N」のリレーションは自動に設定されている(ストラクチャあるいはSET FIELD RELATION)

https://doc.4d.com/4Dv18/4D/18/SET-FIELD-RELATION.301-4505055.ja.html

かと思いますが,「請求テーブル」をマスターにしたORDER BYで
「明細テーブル」のカレントセレクションが変化している(空になっている)のであれば,
「N対1」のリレーションも自動に設定されている,ということはないでしょうか。

一番良いのは,現象が再現できる最小限のストラクチャファイル
(コピーを作成し,無関係な部分をすべて削除するか,
4Dを同時に起動してデザインモード間でドラッグ&ドロップする)
を提供していただくことだと思います。

それがご無理あれば,
せめて,関係するテーブル,リレーション,リレーション設定(自動または手動)
各フォームのマスターテーブル,タイプ(詳細またはリスト)をはっきりとお書きいただけないでしょうか。
お手数ですがよろしくお願いします。

ご返信ありがとうございます

請求テーブルが1で明細がnになっています

ご指摘の通り
請求テーブル印刷詳細フォームinputp2のメソッドに下記のコードを入れてみました
ORDER BY([明細テーブル];[明細テーブル]行番号;>)

1対nのリレーションには双方向自動リレーションが有効にしてあります

サンプルのストラクチャを送らせていただきます