locked
create "Report wizard Type" Report RRS feed

  • Question

  • Hi all
    I want to create a report in "Report Wizard" report type, programmatic (C#).
    How can i do this??
    I have just tried to create it. But it is throwing me exception.
    I am putting my code here.

      public bool CreateReportWizardReport(string szReportName, string szUser, string szSite)
            {
                bool bResult = false;
                m_CrmService = m_DCRM4ServiceEgine.Service;

                # region "Report Creating"
                try
                {
                    report Report = new report();
                    Report.name = szReportName;
                    Report.description = "Hi this is SQLReport1";
                    Picklist pList = new Picklist();
                    pList.Value = 1;
                    pList.name = "Report Wizard";
                    
                    Report.filename = szReportName;
                  
                    Report.bodytext = "TestReport";
                    CrmNumber crmNum = new CrmNumber();
                    crmNum.Value = 1033;
                    Report.languagecode = crmNum;
     
                    Report.parentreportid = null;
                    Picklist pList1 = new Picklist();
                    pList1.Value = 1;
                    Report.reporttypecode = pList1;                

                    Guid reportId = m_CrmService.Create(Report);    // Here it is throwing me Exception "Unhandled Exception"
                    Lookup lookUp = new Lookup();
                    lookUp.Value = reportId;
                    lookUp.name = "report";               

                    reportcategory rc = new reportcategory();
                    rc.reportid = lookUp;
                    Picklist pcklist = new Picklist();
                    pcklist.Value = 4;
                    rc.categorycode = pcklist;

                    reportentity re = new reportentity();
                    re.reportid = lookUp;
                    EntityNameReference entNameRef = new EntityNameReference();
                    entNameRef.Value = "account";
                    re.objecttypecode = entNameRef;                
                    m_CrmService.Create(re); 

                    TargetCreateReport target = new TargetCreateReport();
                    target.Report = Report;

                    CRMServer.CreateRequest create = new CRMServer.CreateRequest();
                    create.Target = target;

                    CRMServer.CreateResponse created = null;

                    try
                    {
                        created = (CRMServer.CreateResponse)m_CrmService.Execute(create);
                        if (created != null)
                        {
                            bResult = true;
                            reportvisibility rv = new reportvisibility();
                            rv.reportid = lookUp;
                            Picklist pL2 = new Picklist();
                            pL2.Value = ReportVisibilityCode.Grid;
                            rv.visibilitycode = pL2;
                            m_CrmService.Create(rv);
                            rv = new reportvisibility();
                            rv.reportid = lookUp;
                            Picklist pL1 = new Picklist();
                            pL1.Value = ReportVisibilityCode.Form;
                            rv.visibilitycode = pL1;
                            m_CrmService.Create(rv);
                            rv = new reportvisibility();
                            rv.reportid = lookUp;
                            Picklist pL3 = new Picklist();
                            pL3.Value = ReportVisibilityCode.ReportsGrid;
                            rv.visibilitycode = pL3;
                            m_CrmService.Create(rv);

                        }
                    }

                    catch (SoapException sexc)
                    {
                        throw new Exception(sexc.Detail.InnerText);
                    }
                #endregion
                }

                catch (SoapException sexc)
                {
                    throw new Exception(sexc.Detail.InnerText);
                }
              

                return bResult;
            }



    The exception i was facing is at this line

      Guid reportId = m_CrmService.Create(Report);


    Kindly try to sort it out
    Any little help will be greatly Appreciated

    Thanks in advance

    Regards
    Sohaib Qazi
    Wednesday, December 16, 2009 9:55 AM

Answers

All replies

  • Hi all
    I want to create a report in "Report Wizard" report type, programmatic (C#).
    How can i do this??
    I have just tried to create it. But it is throwing me exception.
    I am putting my code here.

      public bool CreateReportWizardReport(string szReportName, string szUser, string szSite)
            {
                bool bResult = false;
                m_CrmService = m_DCRM4ServiceEgine.Service;

                # region "Report Creating"
                try
                {
                    report Report = new report();
                    Report.name = szReportName;
                    Report.description = "Hi this is SQLReport1";
                    Picklist pList = new Picklist();
                    pList.Value = 1;
                    pList.name = "Report Wizard";
                    
                    Report.filename = szReportName;
                  
                    Report.bodytext = "TestReport";
                    CrmNumber crmNum = new CrmNumber();
                    crmNum.Value = 1033;
                    Report.languagecode = crmNum;
     
                    Report.parentreportid = null;
                    Picklist pList1 = new Picklist();
                    pList1.Value = 1;
                    Report.reporttypecode = pList1;                

                    Guid reportId = m_CrmService.Create(Report);    // Here it is throwing me Exception "Unhandled Exception"
                    Lookup lookUp = new Lookup();
                    lookUp.Value = reportId;
                    lookUp.name = "report";               

                    reportcategory rc = new reportcategory();
                    rc.reportid = lookUp;
                    Picklist pcklist = new Picklist();
                    pcklist.Value = 4;
                    rc.categorycode = pcklist;

                    reportentity re = new reportentity();
                    re.reportid = lookUp;
                    EntityNameReference entNameRef = new EntityNameReference();
                    entNameRef.Value = "account";
                    re.objecttypecode = entNameRef;                
                    m_CrmService.Create(re); 

                    TargetCreateReport target = new TargetCreateReport();
                    target.Report = Report;

                    CRMServer.CreateRequest create = new CRMServer.CreateRequest();
                    create.Target = target;

                    CRMServer.CreateResponse created = null;

                    try
                    {
                        created = (CRMServer.CreateResponse)m_CrmService.Execute(create);
                        if (created != null)
                        {
                            bResult = true;
                            reportvisibility rv = new reportvisibility();
                            rv.reportid = lookUp;
                            Picklist pL2 = new Picklist();
                            pL2.Value = ReportVisibilityCode.Grid;
                            rv.visibilitycode = pL2;
                            m_CrmService.Create(rv);
                            rv = new reportvisibility();
                            rv.reportid = lookUp;
                            Picklist pL1 = new Picklist();
                            pL1.Value = ReportVisibilityCode.Form;
                            rv.visibilitycode = pL1;
                            m_CrmService.Create(rv);
                            rv = new reportvisibility();
                            rv.reportid = lookUp;
                            Picklist pL3 = new Picklist();
                            pL3.Value = ReportVisibilityCode.ReportsGrid;
                            rv.visibilitycode = pL3;
                            m_CrmService.Create(rv);

                        }
                    }

                    catch (SoapException sexc)
                    {
                        throw new Exception(sexc.Detail.InnerText);
                    }
                #endregion
                }

                catch (SoapException sexc)
                {
                    throw new Exception(sexc.Detail.InnerText);
                }
              

                return bResult;
            }



    The exception i was facing is at this line

      Guid reportId = m_CrmService.Create(Report);


    Kindly try to sort it out
    Any little help will be greatly Appreciated

    Thanks in advance

    Regards
    Sohaib Qazi
    Wednesday, December 16, 2009 9:56 AM
  • I've never tried anything like this, but I'm pretty sure the bodytext property will need to be valid RDL, rather than just any text
    Microsoft CRM MVP - http://mscrmuk.blogspot.com  http://www.excitation.co.uk
    Monday, January 11, 2010 5:09 PM
    Moderator