Форум OlegON > Программы и оборудование для автоматизации торговли > Системы автоматизации торговли > Супермаг Плюс (Супермаг 2000)

Oracle reports использование supermag.RepTools.LoadClass : Супермаг Плюс (Супермаг 2000)

22.11.2024 15:34


26.09.2023 12:06
Здравствуйте.

Что-то тоже не получается в отчёте fastreports добиться работы с отбором по поставщику.
Но ситуация немного не такая..

При выборе любого контрагента/группы контрагентов на печать выходит всегда:
Контрагенты: все
понять не могу, где ошибка..

фильтры по группам товаров, по МХ нормально работают и отображаются..

в теле отчёта:
Код:
      // фильтр по поставщикам
      RepOracleRunner.ExecuteProcedure(host.Connection,"Supermag.RepTools.LoadCompanies", 
        Report.GetParameterValue("P_SUPPALL"),
        Report.GetParameterValue("P_SUPPPAGE"),
        Report.GetParameterValue("P_SUPPID")); 
      // подзаголовок отчета: поставщики
      sClientName = RepOracleRunner.ExecuteScalar<string>(host.Connection, "select supermag.RepTools.CompaniesString(10) from dual");



(0.01Мб)



(0.03Мб)



(0.03Мб)

что не так?
26.09.2023 12:19
попробовал так

Код:
      // фильтр по поставщикам
      RepOracleRunner.ExecuteProcedure(host.Connection,"Supermag.RepTools.LoadSuppl", 
        Report.GetParameterValue("P_SUPPALL"),
        Report.GetParameterValue("P_SUPPID")); 
      // подзаголовок отчета: поставщики
      sClientName = RepOracleRunner.ExecuteScalar<string>(host.Connection, "select supermag.RepTools.SupplString(10) from dual");
поменялось только
Контрагенты на Поставщики



(0.01Мб)

Но всё равно только для всех выходит
26.09.2023 12:19
А параметры в отчете у тебя есть? P_SUPPALL, P_SUPPPAGE, P_SUPPID?



(0.02Мб)
26.09.2023 12:27
Mtirt, Спасибо!
Да ...там то и не было... )))
добавил - заработало




(0.01Мб)
26.09.2023 14:03
эхх поторопился )

Если выбирать только конкретных контрагентов (список листов), то нормально отрабатывает.
А если выбрать любую Группу Контрагентов, то валится с ошибкой...

грандов что ли каких то не хватает? (только вот каких..)




(0.03Мб)



Код:
2023.09.26 (Tuesday) 13:56:09 1.50.0.0 sp1  Sm.Main ( NREPOR )
----- Прерывание работы программы -----
сообщение: "Адресат вызова создал исключение."
исключение: 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 -----
сообщение: "ORA-01403: данные не найдены
   ORA-06512: на  "SUPERMAG.REPTOOLS", line 1070
   ORA-06512: на  "SUPERMAG.REPTOOLS", line 908
   ORA-06512: на  "SUPERMAG.REPTOOLS", line 941
   ORA-06512: на  line 1"
исключение: Oracle.ManagedDataAccess.Client.OracleException
источник: Oracle Data Provider for .NET, Managed Driver
данные:   соединено с: База данных=RRRRCO; Пользователь=rrr
   текст команды: Supermag.RepTools.LoadCompanies
   тип команды: StoredProcedure
   параметры: PCOMPANIESALL=«2»; PCOMPANIESPAGE=«2»; PLIST=«2»
метод: Int32 VerifyExecution(Int32 ByRef, Boolean, OracleInternal.Common.SqlStatementType, Int32, Oracle.ManagedDataAccess.Client.OracleException ByRef, Boolean ByRef, Boolean)
   в OracleInternal.ServiceObjects.OracleConnectionImpl.VerifyExecution(Int32& cursorId, Boolean bThrowArrayBindRelatedErrors, SqlStatementType sqlStatementType, Int32 arrayBindCount, OracleException& exceptionForArrayBindDML, Boolean& hasMoreRowsInDB, Boolean bFirstIterationDone)
   в OracleInternal.ServiceObjects.OracleCommandImpl.ExecuteNonQuery(String commandText, OracleParameterCollection paramColl, CommandType commandType, OracleConnectionImpl connectionImpl, Int32 longFetchSize, Int64 clientInitialLOBFS, OracleDependencyImpl orclDependencyImpl, Int64[]& scnFromExecution, OracleParameterCollection& bindByPositionParamColl, Boolean& bBindParamPresent, OracleException& exceptionForArrayBindDML, OracleConnection connection, OracleLogicalTransaction& oracleLogicalTransaction, Boolean isFromEF)
   в Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteNonQuery()
   в Sm.Server.Database.OracleSafeCommand.ExecuteNonQuery()
   в Sm.FastReports.Server.FastReportBO.ExecuteProcedure(BusinessOperation businessOperation, String procedureName, Object[] parameters, OracleParameterValue[]& outParameters)
   в Sm.FastReports.Server.FastReportBO.Sm.FastReports.Link.IFastReportBO.ExecuteProcedureBegin(BusinessOperation businessOperation, String procedureName, Object[] parameters, OracleParameterValue[]& outParameters)
   в Sm.FastReports.SupermagFastReportConnection.<>c__DisplayClass10.<ExecuteProcedure>b__a(IFastReportBO bo)
   в Sm.BusinessServer.LocalServer.LocalClient`1.Do(Action`1 action)
   в Sm.FastReports.SupermagFastReportConnection.TransactedBusinessObject.Do(Action`1 action)
   в Sm.FastReports.SupermagFastReportConnection.ExecuteProcedure(String procedureName, Object[] parameters)
   в Sm.FastReports.RepOracleRunner.ExecuteProcedure(SupermagFastReportConnection connection, String procedureName, Object[] parameters)
   в FastReport.ReportScript._StartReport(Object sender, EventArgs e)
26.09.2023 15:06
похоже на глюк..
По умолчанию в параметрах опций диалога по Контрагентам стоит
SUPP;1;3
Так отчёт валится с вышеуказанной ошибкой при выборе группы

Изменил на
SUPP;1;6

И всё нормально заработало ...




(0.02Мб)



(0.01Мб)



(0.08Мб)
Часовой пояс GMT +3, время: 15:34.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.