2011-08-02 1 views
2

저널의 유효성을 검사 할 때 저널의 각 바우처에 대해 LedgerJournalEngine ErrorExists를 사용합니다. 어떤 이유로 든 코드의 모든 오류를 포착하지는 않지만 클라이언트의 유효성 검사 단추를 사용하면 오류가 정보 로그에 나타납니다.LedgerJournalEngine.errorExists (voucherNumber) 오류를보고하지 않습니다.

저널에서 바우처의 유효성을 검사하는 더 좋은 방법이 있습니까?

changecompany(ledgerJournalTable.dataAreaId) 
{ 
    ledgerJournalCheckPost = LedgerJournalCheckPost::newLedgerJournalTable(ledgerJournalTable,NoYes::Yes,NoYes::No); 
    lje = LedgerJournalEngine::construct(ledgerJournalTable.JournalType); 
    lje.newJournalActive(ledgerJournalTable,true); 
    ledgerJournalCheckPost.parmLedgerJournalEngine(lje); 
    try 
    { 
     ledgerJournalCheckPost.run(); 
    } 
    catch 
    { 
     ledgerJournalCheckPost.validate(); 
     while select ledgerJournalTrans where ledgerJournalTrans.JournalNum == ledgerJournalTable.JournalNum 
     { 
      if(lje.errorExists(ledgerJournalTrans.Voucher)) 
      { 
       errors.addError(lje.errorLog(ledgerJournalTrans.Voucher),ledgerJournalTrans.RecId); 
      } 
     } 
    } 
} 

답변

2

그래서 내가 예상했던대로 지금까지 예상대로 작동하는 것 같습니다. 누구든지 더 나은 방법이 있다면 알려주십시오.

changecompany(ledgerJournalTable.dataAreaId) 
{ 
    ledgerJournalCheckPost = LedgerJournalCheckPost::newLedgerJournalTable(ledgerJournalTable,NoYes::No); 
    lje = LedgerJournalEngine::construct(ledgerJournalTable.JournalType); 
    lje.newJournalActive(ledgerJournalTable,true); 
    ledgerJournalCheckPost.parmLedgerJournalEngine(lje); 
    try 
    { 
     ledgerJournalCheckPost.run(); 
     while select ledgerJournalTrans where ledgerJournalTrans.JournalNum == ledgerJournalTable.JournalNum 
     { 
      if(lje.errorInJournal() || ledgerJournalCheckPost.numOfErrorsInList()>0) 
      { 
       errors.addError(lje.errorLog(ledgerJournalTrans.Voucher),ledgerJournalTrans.RecId); 
      } 
     } 
     ledgerJournalCheckPost.parmPost(NoYes::Yes); 
     ledgerJournalCheckPost.run(); 
    } 
    catch 
    { 
     ledgerJournalCheckPost.validate(); 
     while select ledgerJournalTrans where ledgerJournalTrans.JournalNum == ledgerJournalTable.JournalNum 
     { 
      if(lje.errorInJournal() || ledgerJournalCheckPost.numOfErrorsInList()>0) 
      { 
       errors.addError(lje.errorLog(ledgerJournalTrans.Voucher),ledgerJournalTrans.RecId); 
      } 
     } 
    } 
    ledgerJournalCheckPost = null; 
    lje = null; 
    ledgerJournalTrans = null; 
    ledgerJOurnalTable = null; 
} 
return errors; 
관련 문제