簡體   English   中英

Acumatica如何以編程方式創建項目活動?

[英]Acumatica How to programmatically create Project Activity?

創建項目后,我試圖創建一個活動,出現以下錯誤

找不到項目ProjectTaskID(限制:False,外部:True,值:Management)
找不到項目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();

問題是因為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();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM