何か特別な開発をする必要があります。形式\Forms\DirPartyCheckDuplicate
は、1人のパーティー用に設計されています。
バッキングクラス\Classes\DirPartyCheckDuplicate
を使用して検索を行い、カスタムフォームを使用して結果を処理できます。
問題は、クラスがDirPartyTable
レコードを受け入れ、次にquery
の重複を返すように設計されていることです。
どこでも検索したい場合は、と入力してください。重複しているものを特定すると、何かを一緒にハックすることができます。私は、重複を返す2つのDirPartyTableレコードがあるこの簡単な仕事を書いて、チェックを2回実行して結果を結合して出力しました。
static void Job3(Args _args)
{
DirPartyTable dpt = DirPartyTable::findRec(22565431216);
DirPartyTable dpt2 = DirPartyTable::findRec(22565424587);
Query targetQuery;
Query otherQuery;
QueryRun qr;
DirPartyTable dirPartyTable;
DirPartyCheckDuplicate partyCheckDuplicate;
partyCheckDuplicate = DirPartyCheckDuplicate::construct();
partyCheckDuplicate.parmPartyRecord(dpt);
partyCheckDuplicate.parmCheckName(true);
partyCheckDuplicate.run();
targetQuery = partyCheckDuplicate.getQuery();
partyCheckDuplicate = DirPartyCheckDuplicate::construct();
partyCheckDuplicate.parmPartyRecord(dpt2);
partyCheckDuplicate.parmCheckName(true);
partyCheckDuplicate.run();
otherQuery = partyCheckDuplicate.getQuery();
SysQuery::mergeRanges(targetQuery, otherQuery);
qr = new QueryRun(targetQuery);
while (qr.next())
{
dirPartyTable = qr.get(tableNum(DirPartyTable));
info(DirPartyTable.Name);
}
}
ありがとう、これは素晴らしいアイデアです。しかし、私は識別するだけでなく、重複を削除する(私は私の質問でそれを修正する)したくない。これらのカスタムメイドのジョブでこれは可能ですか?私はこれらについて膨大な研究をしなければならないでしょう。 10000レコードをスキャンし、各レコードの重複をチェックし、10000クエリを結合し、最終的に30%重複レコードの結果を表示するためのパフォーマンス上の問題があると思いますか?どう思いますか?あなたのアプローチはまだ関連していますか、別のものを探すべきですか? – Vladislav
あなたがしたいことは複雑な作業であり、 'DirPartyCheckDuplicate'クラスにあるロジックに基づいてゼロから開発する必要があります。パフォーマンス上の問題があるかもしれませんが、一度の操作である可能性があるため、問題ではありません。また、Dev/Testで最初に行うなど、削除の履歴を確認するための履歴表を作成することもできます。 –