2017-07-29 12 views
0

私は、プロジェクトの作成後、私は次のエラーAcumaticaプログラムでプロジェクト活動を作成する方法は?

ProjectTaskIDが見つからなかったアイテムを取得していますアクティビティを作成しようとしていますが(制限付き:、偽外部:真、値:管理)
アイテムがのContractIDがされ(制限付き:False、外部:False、値:2285)

コードプロジェクトが既に作成された後のRowUpdatingの場所。

    var projTask = (PMTask)PXSelect<PMTask, 
        Where<PMTask.taskCD, Equal<Required<PMTask.taskCD>>, 
       And<PMTask.projectID, Equal<Required<PMTask.projectID>>>>> 
        .SelectSingleBound(Base, new object[] { }, "Management", Base.Project.Current.ContractID); 
       int projTID = projTask.TaskID.Value; 
         CRActivityMaint ent1 = PXGraph.CreateInstance<CRActivityMaint>(); 
         CRActivity fold1 = new CRActivity(); 
         fold1 = ent1.Activities.Insert(fold1); 
         fold1.Subject = "Drawings"; 
         fold1.Type = "FC"; 

         fold1.ContactID = Base.Project.Current.ContractID; 
         ent1.Activities.Update(fold1); 
         PMTimeActivity t1 = new PMTimeActivity(); 
         t1.ContractID = Base.Project.Current.ContractID; 
         t1.Summary = "Drawings"; 

         t1.TrackTime = true; 
         t1.ProjectID = Base.Project.Current.ContractID; 
         t1.ProjectTaskID = projTID; 


         ent1.TimeActivitiesOld.Insert(t1); 
         ent1.TimeActivity.Current = t1; 

         ent1.Actions.PressSave(); 
+0

私はどうなるのか初期化されていなかったので、問題は、Visual StudioからデバッグセッションがPressSaveにブレークポイントを入れて実行して、あなたが一致している場合、それはチェック打ったときにされました。 SQL Server Management Studioのようなデータベース管理ユーティリティを使用して、データベース内のProjectTaskIDとContractIDを取得します。 –

答えて

0

TimeActivityが正しく

     CRActivityMaint ent1 = PXGraph.CreateInstance<CRActivityMaint>(); 
         CRActivity fold1 = new CRActivity(); 
         fold1 = ent1.Activities.Insert(fold1); 
         fold1.Subject = "Drawings"; 
         fold1.Type = "FC"; 
         fold1.OwnerID = Base.Project.Current.CreatedByID; //change to proj manager item.UsrProjectMan get guid 
         ent1.Activities.Update(fold1); 
         ent1.TimeActivity.Current.Summary = "Drawnings"; 
         ent1.TimeActivity.Current.TrackTime = true; 
         ent1.TimeActivity.Current.IsBillable = false; 
         ent1.TimeActivity.Current.ProjectID = Base.Project.Current.ContractID; 
         ent1.TimeActivity.Current.ProjectTaskID = projTID;   
         ent1.Actions.PressSave(); 
関連する問題