0

BS サーバー スクリプトを使用して新しいレコードを作成しようとしています。

プロセスは BS 内で行われているため、Parent のコンテキストが存在しないため、表示のために作成されている子レコードに対して明示的にスタンプする必要がある Parent Row_Id を取得できません。

最初に、アプレットから親の Row_Id をプロファイルとして渡そうとしましたが、子アプレットにレコードがない場合、つまり this.BusComp().ParentBusComp().GetFieldValue は「レコードがない場合、この操作は無効です」を返します。 「this」コンテキストが使用できないため、「present」。

助言がありますか?

4

2 に答える 2

1

以下のコードで目的を達成できました

    sId = TheApplication().ActiveBusObject().GetBusComp("Q").ParentBusComp().GetFieldValue("Id");
    if(this.BusComp().CountRecords() > 0)
    {
        sA = TheApplication().ActiveBusObject().GetBusComp("Q").GetFieldValue("A");
        sB = TheApplication().ActiveBusObject().GetBusComp("Q").GetFieldValue("B");
    }
    sEntity = TheApplication().ActiveBusObject().GetBusComp("Q").Name();
于 2016-02-16T09:25:31.783 に答える
0

これらの理由により、Siebel はビジネス コンポーネント フィールド レベルで Pre-Default 設定を提供します。これを完全にスクリプトで行う場合は、Active コンテキストを見つける必要があり、どの BC が親であるかを知る必要があります。

親 BC が Account でなければならないことを知っているとしましょう。そう

ActiveBusObject().GetBusComp("Account").GetFieldValue("Id") は、現在選択されている Account BC レコードの行 ID を提供します。ただし、このスクリプトがこのコンテキストでのみ起動することを確認してください。したがって、これを確認するには ActiveViewName を確認してください。

if(TheApplication().GetProfileAttr("ActiveViewName")=="Custom View")
{
//put the scripting here.
}
于 2016-02-14T22:58:41.540 に答える