2017-12-13 11 views
0

데이터베이스에있는 사용자 지정 DAC 레코드를 추가하려고했습니다. 하지만 지금은 효과가 있습니다. 다음은 내가 성취하려는 방법입니다.사용자 지정 테이블 레코드 추가

public class SquarePOSTransactionInquiry : PXGraph<SquarePOSTransactionInquiry> 
{ 

    public PXSave<MasterTable> Save; 
    public PXCancel<MasterTable> Cancel; 


    public PXFilter<MasterTable> MasterView; 
    public PXSelect<INSquarePOSTransaction> INSquarePOSTransactions; 

    public PXAction<MasterTable> calc; 

    [PXUIField(DisplayName = "Sync Square Transactions")] 
    [PXProcessButton()] 
    protected virtual IEnumerable Calc(PXAdapter adapter) 
    { 
     PXLongOperation.StartOperation(this,() => 
     { 
      using (var scope = new PXTransactionScope()) 
      { 
       INSquarePOSTransaction trans = new INSquarePOSTransaction(); 
       trans.TransacationCD = "new"; 
       trans.Description = "Another new"; 
       var test = this.INSquarePOSTransactions.Insert(trans); 
       this.INSquarePOSTransactions.Cache.IsDirty = true; 
       //this.INSquarePOSTransactions.Update(trans); 
       this.Actions.PressSave(); 
       scope.Complete(); 
      } 

     }); 
     return adapter.Get(); 
    } 

    public SquarePOSTransactionInquiry() 
    { 

    } 

    [Serializable] 
    public class MasterTable : IBqlTable 
    { 

    } 
} 

캐시 IsDirty 속성을 false로 설정하려고했지만 너무 도움이되지 않았습니다. 그러나 이상한 부분은 DAC가 작동 중임을 업데이트하는 것입니다. 다른 페이지에서 다른 비즈니스 로직 코드를 살펴 보았습니다. 위와 같은 시도를 한 것처럼 보입니다. 제가 누락 된 부분을 말씀해 주시겠습니까?

감사합니다.

답변

1

StartOperation()에 전달하는 메서드 내에서 을 사용하려면 그래프의 새 인스턴스를 만들고 해당 인스턴스에서 처리 메서드를 호출해야합니다.

+0

감사합니다. 그것은 효과가 있었다. 이것이 지금 코드를 작성한 방법입니다. 'INSquarePOSTransaction trans = new INSquarePOSTransaction(); trans.TransacationCD = "new new"; trans.Description = "또 다른 새로운 기능"; var graph = PXGraph.CreateInstance (); var res = graph.INSquarePOSTransactions.Insert (trans); graph.Actions.PressSave(); scope.Complete(); graph.INSquarePOSTransactions.View.RequestRefresh(); ' 그러나 데이터베이스 테이블에 새 레코드를 포함하지만 이상한 부분이있다 : https://www.screencast.com/t/aTaMfa3Ta4a Acumatica 페이지 : 은 https ://www.screencast.com/t/cd0sh1b6ZV –