//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
} // getJournals /// <summary> /// Copy Journal/Lines from other Journal Batch /// </summary> /// <param name="jb">Journal Batch</param> /// <returns>number of journals + lines copied</returns> public int CopyDetailsFrom(MJournalBatch jb) { if (IsProcessed() || jb == null) { return(0); } int count = 0; int lineCount = 0; MJournal[] fromJournals = jb.GetJournals(false); for (int i = 0; i < fromJournals.Length; i++) { MJournal toJournal = new MJournal(GetCtx(), 0, jb.Get_TrxName()); PO.CopyValues(fromJournals[i], toJournal, GetAD_Client_ID(), GetAD_Org_ID()); toJournal.SetGL_JournalBatch_ID(GetGL_JournalBatch_ID()); toJournal.Set_ValueNoCheck("DocumentNo", null); // create new //Manish 18/7/2016. C_Period_ID was Null.. But column is mandatory in database so value can't be null. toJournal.Set_ValueNoCheck("C_Period_ID", fromJournals[i].GetC_Period_ID()); // end toJournal.SetDateDoc(GetDateDoc()); // dates from this Batch toJournal.SetDateAcct(GetDateAcct()); toJournal.SetDocStatus(MJournal.DOCSTATUS_Drafted); toJournal.SetDocAction(MJournal.DOCACTION_Complete); toJournal.SetTotalCr(Env.ZERO); toJournal.SetTotalDr(Env.ZERO); toJournal.SetIsApproved(false); toJournal.SetIsPrinted(false); toJournal.SetPosted(false); toJournal.SetProcessed(false); if (toJournal.Save()) { count++; lineCount += toJournal.CopyLinesFrom(fromJournals[i], GetDateAcct(), 'x'); } } if (fromJournals.Length != count) { log.Log(Level.SEVERE, "Line difference - Journals=" + fromJournals.Length + " <> Saved=" + count); } return(count + lineCount); } // copyLinesFrom