Отсутствует выражение

Пишу на сишарпе отчет. FastReport использует для отчета сишарп в связке с oracle. Не получается совсем добавить группировку выводимых данных, пишет что неверное значение аргументов.

Сама ошибка

сообщение: "ORA-00936: отсутствует выражение"
исключение: Oracle.ManagedDataAccess.Client.OracleException
источник: Oracle Data Provider for .NET, Managed Driver
   текст команды:  SELECT c.article, c.name  ,t_class.NormTree NormTree,t_class.Tree||' '||t_class.ClassName GroupName  FROM supermag.smcard c,        (select ost.article, sum(ost.quantity) qty           from supermag.smgoods ost          group by ost.article        ) ost,         (select distinct logi.article           from supermag.smcardsecuritylog logi          where logi.actioncode=1            and logi.eventtime>=current_date-180        ) clog,        (select distinct s.article           from supermag.smdocuments d, supermag.smspec s           where d.doctype in ('OR', 'WI', 'WO', 'IW', 'CS', 'CR', 'PO', 'PN', 'PE')            and s.doctype=d.doctype and s.docid=d.id            and d.createdat>=current_date-180            and d.docstate>=2        ) docs  WHERE c.accepted=1 AND c.datatype<>5     AND ost.article(+)=c.article     AND clog.article(+)=c.article     AND docs.article(+)=c.article     AND NVL(ost.qty, 0)=0      AND clog.article is null     AND docs.article is null  ORDER BY NormTree,
   тип команды: Text
метод: Boolean ReadBuffer(System.Collections.ObjectModel.ReadOnlyCollection`1[TRecord] ByRef)
   в Sm.BusinessServer.BackgroundReaderBase`1.ReadBuffer(ReadOnlyCollection`1& result)
   в Sm.FastReports.Server.FastReportBO.Sm.FastReports.Link.IFastReportBO.FillTableDataNext(BusinessOperation businessOperation, ReadOnlyCollection`1& dataTable)
   в Sm.FastReports.SupermagFastReportConnection.<>c__DisplayClass8.<FillTableData>b__5(IFastReportBO bo)
   в Sm.BusinessServer.LocalServer.LocalClient`1.Do(Action`1 action)
   в Sm.FastReports.SupermagFastReportConnection.TransactedBusinessObject.Do(Action`1 action)
   в Sm.FastReports.SupermagFastReportConnection.FillTableData(DataTable table, String selectCommand, CommandParameterCollection parameters)
   в FastReport.Data.DataConnectionBase.FillTable(TableDataSource source)
   в FastReport.Data.TableDataSource.LoadData(ArrayList rows)
   в FastReport.Data.DataSourceBase.Init(Relation relation, String filter, SortCollection sort, Boolean useAllParentRows)
   в FastReport.Data.DataSourceBase.Init(DataSourceBase parentData, String filter, SortCollection sort, Boolean useAllParentRows)
   в FastReport.DataBand.InitDataSource()
   в FastReport.GroupHeaderBand.InitDataSource()
   в FastReport.Engine.ReportEngine.RunGroup(GroupHeaderBand groupBand)
   в FastReport.Engine.ReportEngine.RunBands(BandCollection bands)
   в FastReport.Engine.ReportEngine.RunReportPage(ReportPage page)
   в FastReport.Engine.ReportEngine.RunReportPages()
   в FastReport.Engine.ReportEngine.RunReportPages(ReportPage page)
   в FastReport.Engine.ReportEngine.Run(Boolean runDialogs, Boolean append, ReportPage page)
   в FastReport.Report.Prepare(Boolean append)
   в Sm.FastReports.Domain.FastReportDomainModel.ExecuteReport(Report report, String reportFile, ReportParametersList commonParameters, ReportParametersList objectParameters, Int32 moduleRole, Int32 functionRole)
   в Sm.FastReports.Domain.FastReportDomainPanel.Report_DoWork(Object sender, TaskWorkEventArgs`3 e)
   в Sm.Core.TaskWorker`3.OnDoWork(DoWorkEventArgs e)
   в Sm.Core.TaskWorkerBase.InternalBackgroundWorker.OnDoWork(DoWorkEventArgs e)
   в System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)

Код

<?xml version="1.0" encoding="utf-8"?>
<Report ScriptLanguage="CSharp" ReferencedAssemblies="System.dll&#13;&#10;System.Drawing.dll&#13;&#10;System.Windows.Forms.dll&#13;&#10;System.Data.dll&#13;&#10;System.Xml.dll&#13;&#10;System.Data.OracleClient.dll&#13;&#10;Sm.Objects.dll&#13;&#10;Sm.Interfaces.dll&#13;&#10;Sm.Core.dll&#13;&#10;Sm.Forms.dll&#13;&#10;Sm.AppServer.Interfaces.dll&#13;&#10;Sm.AppServer.Link.dll&#13;&#10;Sm.FastReports.dll&#13;&#10;Sm.FastReports.Link.dll" ConvertNulls="false" StartReportEvent="_StartReport" ReportInfo.Created="06/22/2010 10:01:00" ReportInfo.Modified="04/20/2017 21:51:26" ReportInfo.CreatorVersion="1.9.2.0">
  <ScriptText>
  using System;
  using System.Collections;
  using System.Collections.Generic;
  using System.Collections.ObjectModel;
  using System.ComponentModel;
  using System.Windows.Forms;
  using System.Drawing;
  using System.Data;
  using FastReport;
  using FastReport.Data;
  using FastReport.Dialog;
  using FastReport.Table;
  using FastReport.Utils;
  using FastReport.Format;

  using Sm.FastReports;
  using Sm.FastReports.Link;
  using Sm.Interfaces;
  using Sm.Objects;
  using Sm.Core;
  
  namespace FastReport
{
  public class ReportScript
  {
    RepHost host;
  
  // название отчета
    private string sRepName = &quot;Какой то отчет&quot;;
    // подзаголовок отчета: места хранения
    private string sLocName;
    // подзаголовок отчета: группы товаров
    private string sGroupName;
    // подзаголовок отчета: период отчета
    private string sDateName;
    // контрагент &quot;От имени&quot;
    private string sUserName;

    
    private void _StartReport(object sender, EventArgs e)
      {
        // Хост отчёта даёт доступ к полезным сервисам
        host = new RepHost(Report);
        // Стартуем транзакцию
        RepTransaction transaction = new RepTransaction(host.Connection);
        
        // контрагент &quot;От имени&quot;
      sUserName = RepClientInfo.GetClientName(host.Connection, Report.GetParameterValue(&quot;P_USER_ID&quot;));
      // заголовок отчета
      sRepName = &quot;Остатки по состоянию на &quot; + ToString(Report.GetParameterValue(&quot;P_DATE&quot;));

       // фильтр по местам хранения
      RepOracleRunner.ExecuteProcedure(host.Connection,&quot;Supermag.RepTools.LoadLoc&quot;, 
        Report.GetParameterValue(&quot;P_STORED_ALL&quot;),
        Report.GetParameterValue(&quot;P_STORED_NAME&quot;),
        Report.GetParameterValue(&quot;P_PARTNER&quot;),
        null); 
      // подзаголовок отчета: места хранения
      sLocName = RepOracleRunner.ExecuteScalar&lt;string&gt;(host.Connection, &quot;select supermag.RepTools.LocString(10) from dual&quot;);
             
      // фильтр по группам товаров
      RepOracleRunner.ExecuteProcedure(host.Connection,&quot;Supermag.RepTools.LoadClass&quot;, 
        Report.GetParameterValue(&quot;P_GROUP_ALL&quot;),
        Report.GetParameterValue(&quot;P_BGROUP&quot;),
        Report.GetParameterValue(&quot;P_GROUP_TREE&quot;));
      // подзаголовок отчета: группы товаров
      sGroupName = RepOracleRunner.ExecuteScalar&lt;string&gt;(host.Connection, &quot;select supermag.RepTools.ClassString(10) from dual&quot;);
      
      // подзаголовок отчета: период отчета
      string sFirstDate = ToString(Report.GetParameterValue(&quot;P_FIRSTDATE&quot;));
      string sLastDate = ToString(Report.GetParameterValue(&quot;P_LASTDATE&quot;));
      int iCountDay = (RepConvert.ToSmDate(sLastDate)-RepConvert.ToSmDate(sFirstDate)).Days;
      string sCountDay = Safe.ToSqlNumber( iCountDay );
      sDateName = &quot;с &quot;+sFirstDate+&quot; по &quot;+sLastDate+&quot; ( &quot;+sCountDay+&quot; дн. )&quot;;
   
 // данные отчета
    string sSQL = 
    SqlFormat(&quot; SELECT c.article, c.name  &quot;+
            &quot;,{0:U} NormTree&quot;+
            &quot;,{1:U} GroupName&quot;+
&quot;  FROM supermag.smcard c, &quot;+
&quot;       (select ost.article, sum(ost.quantity) qty &quot;+
&quot;          from supermag.smgoods ost &quot;+
&quot;         group by ost.article &quot;+
&quot;       ) ost,  &quot;+
&quot;       (select distinct logi.article &quot;+
&quot;          from supermag.smcardsecuritylog logi &quot;+
&quot;         where logi.actioncode=1 &quot;+
&quot;           and logi.eventtime>=current_date-180 &quot;+
&quot;       ) clog, &quot;+
&quot;       (select distinct s.article &quot;+
&quot;          from supermag.smdocuments d, supermag.smspec s  &quot;+
&quot;         where d.doctype in ('OR', 'WI', 'WO', 'IW', 'CS', 'CR', 'PO', 'PN', 'PE') &quot;+
&quot;           and s.doctype=d.doctype and s.docid=d.id &quot;+
&quot;           and d.createdat>=current_date-180 &quot;+
&quot;           and d.docstate>=2 &quot;+
&quot;       ) docs &quot;+
&quot; WHERE c.accepted=1 AND c.datatype<>5 &quot;+
&quot;    AND ost.article(+)=c.article &quot;+
&quot;    AND clog.article(+)=c.article &quot;+
&quot;    AND docs.article(+)=c.article &quot;+
&quot;    AND NVL(ost.qty, 0)=0  &quot;+
&quot;    AND clog.article is null &quot;+
&quot;    AND docs.article is null &quot;+
 &quot; ORDER BY NormTree,&quot;
      , RepOracleRunner.ExecuteScalar&lt;string&gt;(host.Connection,&quot;Select supermag.RepTools.ClassString(0) from dual&quot;)
      , RepOracleRunner.ExecuteScalar&lt;string&gt;(host.Connection,&quot;Select supermag.RepTools.ClassString(14) from dual&quot;)
    );



      host.TableDataSourcePreInit(&quot;RepData&quot;, sSQL);     
      }
  } 
}  
  
</ScriptText>
  <Dictionary>
    <SupermagFastReportConnection Name="Connection" LoginPrompt="true">
      <TableDataSource Name="Table2" Alias="RepData" DataType="System.Int32" Enabled="true" SelectCommand="SELECT &#13;&#10; NORMTREE&#13;&#10;,'' GROUPNAME &#13;&#10;,'' ARTICLE&#13;&#10; '' NAME&#13;&#10;''">
        <Column Name="NORMTREE" DataType="System.String"/>
        <Column Name="GROUPNAME" DataType="System.String"/>       
       <Column Name="ARTICLE" DataType="System.String"/>
        <Column Name="NAME" DataType="System.String"/>
      </TableDataSource>
    </SupermagFastReportConnection>
    <Relation Name="DocSpec_DocSpecScale" ParentDataSource="Table2" ChildDataSource="null" ParentColumns="SPECITEM" ChildColumns="SPECITEM" Enabled="true"/>
    <Parameter Name="P_STORED_ALL" DataType="System.Int32"/>
    <Parameter Name="P_STORED_NAME" DataType="System.String"/>
    <Parameter Name="P_PARTNER" DataType="System.Int32"/>
    <Parameter Name="P_BGROUP" DataType="System.Int32"/>
    <Parameter Name="P_GROUP_ALL" DataType="System.Int32"/>
    <Parameter Name="P_GROUP_TREE" DataType="System.String"/>
    <Parameter Name="P_FIRSTDATE" DataType="System.String"/>
    <Parameter Name="P_LASTDATE" DataType="System.String"/>
    <Parameter Name="P_SURNAME" DataType="System.String"/>
    <Parameter Name="P_USER_ID" DataType="System.Int32"/>
    <Parameter Name="P_DATE" DataType="System.String"/>
  </Dictionary>
<ReportPage Name="Page1" RawPaperSize="9" FirstPageSource="15" OtherPagesSource="15" Fill.Color="White" TitleBeforeHeader="false"  PaperWidth="280">
    <PageHeaderBand Name="PageHeader" Width="800.06" Height="40.12" CanGrow="true">
     
      
     
    </PageHeaderBand>
    

      <GroupHeaderBand Name="GroupHeaderClass" Top="199.51" Width="718.2" Height="22.68" CanGrow="true" KeepWithData="true" Condition="[RepData.NORMTREE]" SortOrder="None">
        <TextObject Name="Text140" Top="3.78" Width="710.64" Height="18.9" CanGrow="true" CanBreak="false" Text="[RepData.GROUPNAME]" VertAlign="Center" Font="Arial, 10pt, style=Bold"/>
    <DataBand Name="DataSpec" Top="167.1" Width="718.2"  CanGrow="true" DataSource="Table2" PrintIfDetailEmpty="true" PrintIfDatasourceEmpty="true" >
      <TextObject Name="txtArticle" VertAlign="Center"  Width="100" Height="29.00" CanGrow="true" CanBreak="false" Text="[RepData.ARTICLE]" HorzAlign="Left" Font="Arial, 8pt" Border.Lines="Right, Bottom, left,top" Border.Width="0.3" />
      <TextObject Name="txtNAME"  VertAlign="Center" Left="100" Width="700" Height="29.00" CanGrow="true" CanBreak="false" Text="[RepData.NAME]" Font="Arial, 8pt" Border.Lines=" Bottom, left, right,top" Border.Width="0.3"/>
    </DataBand>
        <GroupFooterBand Name="GroupFooterClass" Top="246.8" Width="718.2" Height="18.9" CanGrow="true">

        </GroupFooterBand>
      </GroupHeaderBand>
    
    
</ReportPage>
</Report>

Пытался сначала просто завести убрав параметры

<Parameter Name="P_STORED_ALL" DataType="System.Int32"/>
<Parameter Name="P_STORED_NAME" DataType="System.String"/>
<Parameter Name="P_PARTNER" DataType="System.Int32"/>
<Parameter Name="P_BGROUP" DataType="System.Int32"/>
<Parameter Name="P_GROUP_ALL" DataType="System.Int32"/>
<Parameter Name="P_GROUP_TREE" DataType="System.String"/>
<Parameter Name="P_FIRSTDATE" DataType="System.String"/>
<Parameter Name="P_LASTDATE" DataType="System.String"/>
<Parameter Name="P_SURNAME" DataType="System.String"/>
<Parameter Name="P_USER_ID" DataType="System.Int32"/>
<Parameter Name="P_DATE" DataType="System.String"/>

Выдает ошибку

сообщение: "Адресат вызова создал исключение."
исключение: System.Reflection.TargetInvocationException
источник: mscorlib
метод: System.Object InvokeMethod(System.Object, System.Object[], System.Signature, Boolean)
   в System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   в System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   в System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   в System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   в FastReport.Code.ExpressionDescriptor.Invoke(Object[] parameters)
   в FastReport.Code.AssemblyDescriptor.InvokeEvent(String name, Object[] parms)
   в FastReport.Report.OnStartReport(EventArgs e)
   в FastReport.Engine.ReportEngine.Run(Boolean runDialogs, Boolean append, ReportPage page)
   в FastReport.Report.Prepare(Boolean append)
   в Sm.FastReports.Domain.FastReportDomainModel.ExecuteReport(Report report, String reportFile, ReportParametersList commonParameters, ReportParametersList objectParameters, Int32 moduleRole, Int32 functionRole)
   в Sm.FastReports.Domain.FastReportDomainPanel.Report_DoWork(Object sender, TaskWorkEventArgs`3 e)
   в Sm.Core.TaskWorker`3.OnDoWork(DoWorkEventArgs e)
   в Sm.Core.TaskWorkerBase.InternalBackgroundWorker.OnDoWork(DoWorkEventArgs e)
   в System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
----- Причина исключения, уровень вложения 1 -----
сообщение: "Неверное значение аргумента: 
   Имя параметра: source"
исключение: System.ArgumentException
источник: Sm.FastReports
метод: System.DateTime ToSmDate(System.String)
   в Sm.FastReports.RepConvert.ToSmDate(String source)
   в FastReport.ReportScript._StartReport(Object sender, EventArgs e)

И куда и как вставить try catch чтобы увидеть ошибки?

UPD по совету сделал правки, теперь такая ошибка

сообщение: "ORA-00904: "T_CLASS"."NORMTREE": недопустимый идентификатор"
исключение: Oracle.ManagedDataAccess.Client.OracleException
источник: Oracle Data Provider for .NET, Managed Driver
данные:   соединено с: База данных=CO; Пользователь=Павлов
   текст команды:  SELECT c.article, c.name  ,t_class.Tree||' '||t_class.ClassName NormTree,t_class.NormTree GroupName  FROM supermag.smcard c,        (select ost.article, sum(ost.quantity) qty           from supermag.smgoods ost          group by ost.article        ) ost,         (select distinct logi.article           from supermag.smcardsecuritylog logi          where logi.actioncode=1            and logi.eventtime>=current_date-180        ) clog,        (select distinct s.article           from supermag.smdocuments d, supermag.smspec s           where d.doctype in ('OR', 'WI', 'WO', 'IW', 'CS', 'CR', 'PO', 'PN', 'PE')            and s.doctype=d.doctype and s.docid=d.id            and d.createdat>=current_date-180            and d.docstate>=2        ) docs  WHERE c.accepted=1 AND c.datatype<>5     AND ost.article(+)=c.article     AND clog.article(+)=c.article     AND docs.article(+)=c.article     AND NVL(ost.qty, 0)=0      AND clog.article is null     AND docs.article is null  ORDER BY NormTree 
   тип команды: Text

Ответы (0 шт):