2017-11-12 4 views
0

私はすでに入力済みの電子メールを作成しようとしています。電子メールを作成するには、CREmailActivityMaintのグラフインスタンスを作成しています。私は値を設定することができるようにCREmailActivityMaint.CurrentMessageまたはCREmailActivityMaint.Messageオブジェクトに新しいオブジェクトを割り当てるしようとするたびに、オープニングページが編集不可能になり、隠されて送信します。またプリプチプールされた値で編集可能で送信可能な電子メール画面を開くにはどうすればよいですか?

enter image description here

私は値を入力するとき、ありませんすべてが表示されます。ここでは、To、From、Subject、Summary、Bodyに入力しましたが、BodyとSummaryには何も表示されません。私が保存しようとする場合にも、私はに、その概要を示すエラーを取得し、件名空白です:働い enter image description here

答えて

1
CREmailActivityMaint graph = CreateInstance<CREmailActivityMaint>(); 
    graph.Message.Current = graph.Message.Insert(); 
    graph.Message.Current.MailTo = "[email protected]"; 
    graph.Message.Current.MailCc = "[email protected]"; 
    graph.Message.Current.MailBcc = "[email protected]"; 
    graph.Message.Current.Subject = "Subject"; 
    graph.Message.Current.Body = "Body"; 
    graph.Message.Cache.IsDirty = false; 
    PXRedirectHelper.TryRedirect(graph, PXRedirectHelper.WindowMode.NewWindow); 

enter image description here

+0

おかげで、! .Current = .Insert()と.Current = new object()のどちらを使うべきかを知っていますか? –

+0

insertを使用して、キーフィールドの初期化とテーブル間の親子関係(Identity、RecordNo、Segmentend Keysなど)をシステムが処理できるようにします。新しいオブジェクトを作成した場合、これらのフィールドは永続化すると空白のままになりますので、手動で入力する必要があります。そうしないと、キーが空になることはありません。 –

+0

ほとんどの画面では、プライマリDataViewカレントレコードのキーが正しく入力されている必要があります。そのため、手動でキーを設定したい場合にのみ挿入して新しいオブジェクトを使用することをおすすめします。 –

関連する問題