} // reverseAccrualIt /// <summary> /// Reverse Accrual. Flip Dr/Cr - Use Today's date /// </summary> /// <param name="GL_JournalBatch_ID">reversal batch</param> /// <returns> journal or null </returns> public MJournal ReverseAccrualIt(int GL_JournalBatch_ID) { log.Info(ToString()); // Journal MJournal reverse = new MJournal(this); reverse.SetGL_JournalBatch_ID(GL_JournalBatch_ID); reverse.SetDateDoc(DateTime.Now); reverse.Set_ValueNoCheck("C_Period_ID", null); // reset reverse.SetDateAcct(reverse.GetDateDoc()); // Reverse indicator String description = reverse.GetDescription(); if (description == null) { description = "** " + GetDocumentNo() + " **"; } else { description += " ** " + GetDocumentNo() + " **"; } reverse.SetDescription(description); if (!reverse.Save()) { return(null); } // Lines reverse.CopyLinesFrom(this, reverse.GetDateAcct(), 'R'); // SetProcessed(true); SetDocAction(DOCACTION_None); return(reverse); } // reverseAccrualIt
//Added by Arpit on 15th Dec,2016 public static MJournal CopyFrom(Ctx ctx, int GL_Journal_ID, DateTime?dateDoc, Trx trxName) { MJournal from = new MJournal(ctx, GL_Journal_ID, trxName); if (from.GetGL_Journal_ID() == 0) { throw new ArgumentException("From Journal Batch not found GL_JournalBatch_ID=" + GL_Journal_ID); } // MJournal to = new MJournal(ctx, 0, trxName); PO.CopyValues(from, to, from.GetAD_Client_ID(), from.GetAD_Org_ID()); to.Set_ValueNoCheck("DocumentNo", null); // to.Set_ValueNoCheck("C_Period_ID", null); to.SetDateAcct(dateDoc); to.SetDateDoc(dateDoc); to.SetDocStatus(DOCSTATUS_Drafted); to.SetDocAction(DOCACTION_Complete); to.SetIsApproved(false); to.SetProcessed(false); from.GetType(); // if (!to.Save()) { throw new Exception("Could not create GL Journal "); } if (to.CopyJLines(from, dateDoc) == 0) { throw new Exception("Could not create GL Journal Details"); } return(to); } // copyFrom
} // reverseCorrectIt /// <summary> /// Reverse Correction.As if nothing happened - same date /// </summary> /// <param name="GL_JournalBatch_ID">batch</param> /// <returns>reversed journal or null</returns> public MJournal ReverseCorrectIt(int GL_JournalBatch_ID) { log.Info(ToString()); // Journal MJournal reverse = new MJournal(this); reverse.SetGL_JournalBatch_ID(GL_JournalBatch_ID); reverse.SetDateDoc(GetDateDoc()); reverse.SetC_Period_ID(GetC_Period_ID()); reverse.SetDateAcct(GetDateAcct()); // Reverse indicator String description = reverse.GetDescription(); if (description == null) { description = "** " + GetDocumentNo() + " **"; } else { description += " ** " + GetDocumentNo() + " **"; } reverse.SetDescription(description); if (reverse.Get_ColumnIndex("ReversalDoc_ID") > 0 && reverse.Get_ColumnIndex("IsReversal") > 0) { // set Reversal property for identifying, record is reversal or not during saving or for other actions reverse.SetIsReversal(true); // Set Orignal Document Reference reverse.SetReversalDoc_ID(GetGL_Journal_ID()); } // for reversal document set Temp Document No to empty if (reverse.Get_ColumnIndex("TempDocumentNo") > 0) { reverse.SetTempDocumentNo(""); } if (!reverse.Save()) { return(null); } // Lines reverse.CopyLinesFrom(this, null, 'C'); // SetProcessed(true); SetDocAction(DOCACTION_None); return(reverse); } // reverseCorrectionIt