} // createFromTable /// <summary> /// Create MPrintFormat for ReportView /// </summary> /// <param name="ctx">context</param> /// <param name="AD_ReportView_ID">AD_ReportView_ID</param> /// <param name="ReportName">optional Report Name</param> /// <returns>print format</returns> static public MPrintFormat CreateFromReportView(Ctx ctx, int AD_ReportView_ID, String ReportName) { int AD_Client_ID = ctx.GetAD_Client_ID(); MPrintFormat pf = new MPrintFormat(ctx, 0, null); pf.SetAD_ReportView_ID(AD_ReportView_ID); // Get Info String sql = "SELECT t.TableName," + " (SELECT COUNT(*) FROM AD_PrintFormat x WHERE x.AD_ReportView_ID=rv.AD_ReportView_ID AND x.AD_Client_ID=c.AD_Client_ID) AS Count," + " COALESCE (cpc.AD_PrintColor_ID, pc.AD_PrintColor_ID) AS AD_PrintColor_ID," + " COALESCE (cpf.AD_PrintFont_ID, pf.AD_PrintFont_ID) AS AD_PrintFont_ID," + " COALESCE (cpp.AD_PrintPaper_ID, pp.AD_PrintPaper_ID) AS AD_PrintPaper_ID," + " t.AD_Table_ID " + "FROM AD_ReportView rv" + " INNER JOIN AD_Table t ON (rv.AD_Table_ID=t.AD_Table_ID)," + " AD_Client c" + " LEFT OUTER JOIN AD_PrintColor cpc ON (cpc.AD_Client_ID=c.AD_Client_ID AND cpc.IsDefault='Y')" + " LEFT OUTER JOIN AD_PrintFont cpf ON (cpf.AD_Client_ID=c.AD_Client_ID AND cpf.IsDefault='Y')" + " LEFT OUTER JOIN AD_PrintPaper cpp ON (cpp.AD_Client_ID=c.AD_Client_ID AND cpp.IsDefault='Y')," + " AD_PrintColor pc, AD_PrintFont pf, AD_PrintPaper pp " + "WHERE rv.AD_ReportView_ID='" + AD_ReportView_ID + "' AND c.AD_Client_ID='" + AD_Client_ID + "'" + " AND pc.IsDefault='Y' AND pf.IsDefault='Y' AND pp.IsDefault='Y'"; bool error = true; IDataReader dr = null; try { dr = SqlExec.ExecuteQuery.ExecuteReader(sql); while (dr.Read()) { // Name String name = ReportName; if (name == null || name.Length == 0) { name = dr[0].ToString(); // TableName } int count = Utility.Util.GetValueOfInt(dr[1].ToString()); if (count > 0) { name += "_" + count; } pf.SetName(name); // pf.SetAD_PrintColor_ID(Utility.Util.GetValueOfInt(dr[2].ToString())); pf.SetAD_PrintFont_ID(Utility.Util.GetValueOfInt(dr[3].ToString())); pf.SetAD_PrintPaper_ID(Utility.Util.GetValueOfInt(dr[4].ToString())); // pf.SetAD_Table_ID(Utility.Util.GetValueOfInt(dr[5].ToString())); error = false; } dr.Close(); } catch (Exception e) { if (dr != null) { dr.Close(); } s_log.Severe(e.ToString()); //log. if any } if (error) { return(null); } // Save & complete if (!pf.Save()) { return(null); } // pf.dump(); pf.SetItems(CreateItems(ctx, pf)); // return(pf); } // createFromReportView