編集: 目的は、購買依頼に添付された見積ドキュメントを、購買依頼ドキュメント自体に戻ることなく、簡単な方法で直接発注書を処理するスタッフが利用できるようにすることです。
DocuRef::openDocHandling
購買依頼にリンクされた文書を複製せずに、購買発注画面内からメソッドを使用したいと考えています。注文書画面に追加するボタンからこれを実行したいと思います。注文書にリンクされている要求番号を知っています。
よろしくお願いします。
編集: 目的は、購買依頼に添付された見積ドキュメントを、購買依頼ドキュメント自体に戻ることなく、簡単な方法で直接発注書を処理するスタッフが利用できるようにすることです。
DocuRef::openDocHandling
購買依頼にリンクされた文書を複製せずに、購買発注画面内からメソッドを使用したいと考えています。注文書画面に追加するボタンからこれを実行したいと思います。注文書にリンクされている要求番号を知っています。
よろしくお願いします。
フォーム PurchTable で、データソース VendPurchOrderJour を (アクティブな) 購入要求とともに追加します。データソースのどのフィールドも表示する必要がないため、OnlyFetchActive プロパティを使用できます。次に、フォーム メソッド "docCursor" を作成して、どのレコードがアクティブなレコードであるかを DocuView フォームに伝えます。
public Common docCursor()
{
return reqDoc ? vendPurchOrderJour : purchTable;
}
「クリック」メソッドでボタンを作成します。
void clicked()
{
reqDoc = true;
if (!infolog.docu().isDocuViewSet())
infolog.docu().note(element);
else
infolog.docu().setActive();
}
PurchTable の「active」メソッドで「reqDoc」をクリアします。
このソリューションでは、購買明細行のドキュメントは許可されません。次のようにソリューションを拡張する必要がある場合があります (明細行はフォーム グループです)。
public Common docCursor()
{
return reqDoc ? vendPurchOrderJour :
line.contains(element.selectedControl()) ? purchLine :
purchTable;
}
開いていない場合はドキュメント ビューを開き、開いている場合はアクティブにするボタンが必要な場合、クリックしたメソッドは次のようになります。
void clicked()
{
if (!infolog.docu().isDocuViewSet())
infolog.docu().note(element);
else
infolog.docu().setActive();
}
あなたの質問はあなたの目的が不明確です。なんでしょう?広げてください。