AndreyV

Ответы в темах

Просмотр 15 сообщений - с 1 по 15 (из 16 всего)
  • Автор
    Сообщения
  • AndreyV
    Участник

    @andreyv, обновите ScadaReport.dll в директории ScadaWeb. Ссылка
    Помогло ли обновление избавиться от ошибки?

    Обновление 6.3.0 помогло. Отчет выводится! Спасибо большое!
    Ссылка: http://192.168.1.136/ElasticReport/Print/PrintReport2?reportID=11&period=-1&unit=Month&archive=Min&format=Html

    Потестил и на несколько периодов назад, и с разными архивами, работает.
    Заметил только неточность в выводе, иногда в отчет не включаются данные за 31-е число:
    при period=-1 вывелся отчет с 1.01.25 по 31.01.25;
    при period=-2 вывелся отчет с 1.12.24 по 30.01.25 (! пропало 31.01.2025); https://ibb.co/yFqkNdGT
    при period=-3 вывелся отчет с 1.11.24 по 31.01.25.
    https://ibb.co/qYFF029g

    AndreyV
    Участник

    Ставишь 1 и Day получаешь данные за сегодня. Ставишь -1 получаешь данные за вчера.

    Это побочный эффект, но как оказалось полезный 🙂
    Тогда нужен не period, а ещё один параметр offset. Например, чтобы получить отчёт за период длительностью 2 дня с датой начала 3 дня назад. Запишу пожелание.

    Это побочный эффект очень полезный!!! И хотельсь бы данный функционал иметь. А то не совсем понятно, зачем выводить отчет за период вперед, если дату его начала задать нельзя??? От текущей даты вперед в рабочих системах всегда не будет данных. А вот быстро вывести данные за предыдущий день, неделю, месяц на любом объекте пригодится.

    AndreyV
    Участник

    @andreyv, в дополнение к часовому поясу пользователя напишите часовой пояс серверов. Возможно, ошибка возникает, если часовой пояс сервера отличается от часового пояса пользователя. Нужно это проверить.

    Михаил на всех ПК часовой пояс стоит (UTC+03:00) Москва, Санкт-Петербург.
    Скрины с сервера:
    https://ibb.co/pB15HSF3
    https://ibb.co/wZL3sf2N
    Версия dotnet сервера: https://ibb.co/tTtjw1NB

    С домашнего ПК только позно вечером смогу скинуть.

    @andreyv, в дополнение к часовому поясу пользователя напишите часовой пояс серверов. Возможно, ошибка возникает, если часовой пояс сервера отличается от часового пояса пользователя. Нужно это проверить.
    На серверном ПК один пользователь Admin. Ошибка возникает и при выводе месячного отчета под этим пользователем. Пробовал даже в адресе вместо IP писать localhost, реакция таже.

    AndreyV
    Участник


    Mikhail

    Попробуйте как в примере выше (только со своим IP)

    https://www.rapidscada.net/scada/ElasticReport/Print/PrintReport2?reportID=1&period=1&unit=Month&archive=Hour&format=Html

    Также укажите, какая ОС на тестовом сервере и на рабочем сервере.

    Протестировал ссылку на домашнем компе и на 1 рабочем сервере.
    На домашнем компе работает. https://ibb.co/XdW0hzY
    Данные по ОС:
    Выпуск Windows 10 Pro
    Версия 22H2
    Сборка ОС 19045.4780

    Rapid SCADA 6.4.0 (в версиях 6.2.1 и 6.3.0 ссылки с месячными отчетами так же работали)
    AspNetCoreModuleV2 18.0.24201.8
    Ссылка:
    http://localhost:10008/ElasticReport/Print/PrintReport2?reportID=1&period=1&unit=Month&archive=Hour&format=Html

    На сервере не работает. https://ibb.co/rRfMJhpQ
    Данные по ОС:
    Edition Windows 11 Pro
    Version 22H2
    OS build 22621.3155
    Experience Windows Feature Experience Pack 1000.22684.1000.0

    Rapid SCADA 6.3.0
    AspNetCoreModuleV2 18.0.24201.8
    Ссылка:
    http://192.168.1.136/ElasticReport/Print/PrintReport2?reportID=1&period=1&unit=Month&archive=Hour&format=Html

    В обеих системах тест проводил на исходном конфиге ElasticReport1.xml (даже номера каналов не менял).

    AndreyV
    Участник

    Не вижу в переписке, какая ссылка у отчёта была?

    В моем случае ссылка такая:
    http://10.7.70.31/ElasticReport/Print/PrintReport2?reportID=1&period=-1&unit=Month&archive=Hour&format=Html

    AndreyV
    Участник

    Хорошо. Ошибка

    System.ArgumentException: The conversion could not be completed because the supplied DateTime did not have the Kind property set correctly. For example, when the Kind property is DateTimeKind.Local, the source time zone must be TimeZoneInfo.Local. (Parameter ‘sourceTimeZone’)
    at System.TimeZoneInfo.ConvertTime(DateTime dateTime, TimeZoneInfo sourceTimeZone, TimeZoneInfo destinationTimeZone, TimeZoneInfoOptions flags, CachedData cachedData)
    at System.TimeZoneInfo.ConvertTimeToUtc(DateTime dateTime, TimeZoneInfo sourceTimeZone)
    at Scada.Report.ReportUtils.GetUtcStartTime(DateTime utcNow, TimeZoneInfo timeZone, PeriodUnit unit)
    at lambda_method18(Closure, Object, Object[])
    записывается в каком именно файле журнала?

    В файле ScadaWeb.log

    Вот полная запись с момента перезапуска сервера:

    ———————————————————————————
    2025-01-28 14:55:46 [RUSTP-SCADA][RUSTP-SCADA$][ACT] Вебстанция 6.2.0.3 запущена
    2025-01-28 14:55:46 [RUSTP-SCADA][RUSTP-SCADA$][ACT] Хранилище FileStorage 6.2.0.0 загружено из файла C:\Program Files\SCADA\ScadaWeb\FileStorage.dll
    2025-01-28 14:55:46 [RUSTP-SCADA][RUSTP-SCADA$][ACT] Плагин PlgChart 6.1.0.0 загружен из файла C:\Program Files\SCADA\ScadaWeb\PlgChart.dll
    2025-01-28 14:55:46 [RUSTP-SCADA][RUSTP-SCADA$][ACT] Плагин PlgMain 6.1.0.1 загружен из файла C:\Program Files\SCADA\ScadaWeb\PlgMain.dll
    2025-01-28 14:55:46 [RUSTP-SCADA][RUSTP-SCADA$][ACT] Плагин PlgScheme 6.1.0.0 загружен из файла C:\Program Files\SCADA\ScadaWeb\PlgScheme.dll
    2025-01-28 14:55:47 [RUSTP-SCADA][RUSTP-SCADA$][ACT] Плагин PlgSchBasicComp 6.1.0.0 загружен из файла C:\Program Files\SCADA\ScadaWeb\PlgSchBasicComp.dll
    2025-01-28 14:55:47 [RUSTP-SCADA][RUSTP-SCADA$][ACT] Плагин PlgStore 6.1.0.1 загружен из файла C:\Program Files\SCADA\ScadaWeb\PlgStore.dll
    2025-01-28 14:55:47 [RUSTP-SCADA][RUSTP-SCADA$][ACT] Плагин PlgWebPage 6.1.0.0 загружен из файла C:\Program Files\SCADA\ScadaWeb\PlgWebPage.dll
    2025-01-28 14:55:47 [RUSTP-SCADA][RUSTP-SCADA$][ACT] Плагин PlgChartPro 6.1.0.0 загружен из файла C:\Program Files\SCADA\ScadaWeb\PlgChartPro.dll
    2025-01-28 14:55:47 [RUSTP-SCADA][RUSTP-SCADA$][ACT] Плагин PlgDashboard 6.1.0.0 загружен из файла C:\Program Files\SCADA\ScadaWeb\PlgDashboard.dll
    2025-01-28 14:55:47 [RUSTP-SCADA][RUSTP-SCADA$][ACT] Плагин PlgElasticReport 6.1.0.0 загружен из файла C:\Program Files\SCADA\ScadaWeb\PlgElasticReport.dll
    2025-01-28 14:55:47 [RUSTP-SCADA][RUSTP-SCADA$][ACT] Плагин PlgSchExtraComp 6.1.0.0 загружен из файла C:\Program Files\SCADA\ScadaWeb\PlgSchExtraComp.dll
    2025-01-28 14:55:47 [RUSTP-SCADA][RUSTP-SCADA$][ACT] Плагин PlgScheme: Извлечение компонентов схем из установленных плагинов
    2025-01-28 14:55:47 [RUSTP-SCADA][RUSTP-SCADA$][ACT] Плагин PlgScheme: Добавлены компоненты из плагина PlgSchBasicComp
    2025-01-28 14:55:47 [RUSTP-SCADA][RUSTP-SCADA$][ACT] Проверка регистрации PlgSchExtraComp: Регистрационный ключ действителен.
    2025-01-28 14:55:47 [RUSTP-SCADA][RUSTP-SCADA$][ACT] Плагин PlgScheme: Добавлены компоненты из плагина PlgSchExtraComp
    2025-01-28 14:55:47 [RUSTP-SCADA][RUSTP-SCADA$][ACT] Проверка регистрации PlgChartPro: Регистрационный ключ действителен.
    2025-01-28 14:55:47 [RUSTP-SCADA][RUSTP-SCADA$][ACT] Проверка регистрации PlgDashboard: Регистрационный ключ действителен.
    2025-01-28 14:55:47 [RUSTP-SCADA][RUSTP-SCADA$][ACT] Проверка регистрации PlgElasticReport: Регистрационный ключ действителен.
    2025-01-28 14:55:47 [RUSTP-SCADA][RUSTP-SCADA$][ACT] Приём базы конфигурации
    2025-01-28 14:55:50 [RUSTP-SCADA][RUSTP-SCADA$][ACT] База конфигурации получена успешно
    2025-01-28 14:55:50 [RUSTP-SCADA][RUSTP-SCADA$][INF] Приложение готово к работе
    2025-01-28 14:55:56 [RUSTP-SCADA][RUSTP-SCADA$][ERR] Необработанное исключение:
    System.ArgumentException: The conversion could not be completed because the supplied DateTime did not have the Kind property set correctly. For example, when the Kind property is DateTimeKind.Local, the source time zone must be TimeZoneInfo.Local. (Parameter ‘sourceTimeZone’)
    at System.TimeZoneInfo.ConvertTime(DateTime dateTime, TimeZoneInfo sourceTimeZone, TimeZoneInfo destinationTimeZone, TimeZoneInfoOptions flags, CachedData cachedData)
    at System.TimeZoneInfo.ConvertTimeToUtc(DateTime dateTime, TimeZoneInfo sourceTimeZone)
    at Scada.Report.ReportUtils.GetUtcStartTime(DateTime utcNow, TimeZoneInfo timeZone, PeriodUnit unit)
    at lambda_method63(Closure, Object, Object[])
    at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncActionResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
    — End of stack trace from previous location —
    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
    — End of stack trace from previous location —
    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
    — End of stack trace from previous location —
    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
    at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
    at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
    at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
    at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
    at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
    at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.<Invoke>g__Awaited|10_0(ExceptionHandlerMiddlewareImpl middleware, HttpContext context, Task task)

    AndreyV
    Участник

    Обновите Rapid SCADA до версии 6.4.0 и плагин до самой свежей доступной версии. Поиск ошибок выполняется на свежих версиях ПО. От того, используется временный ключ или постоянный, возникновение ошибок не зависит.

    По поводу постоянного и временного ключей я понимаю что не должно быть разницы, просто уже больше зацепиться не зачто. Вот и спрашиваем, в какую сторону далее смотреть для поиска решения.

    • Ответ изменён 1 год, 5 месяцев назад пользователем AndreyV.
    AndreyV
    Участник

    Михаил. Отчет ElasticReport1.xml на домашнем ноуте работает, а на серверах нет. Отчет ElasticReport1.xml выдает ровно такую же ошибку на обоих серверах. Я даже номера каналов не менял!

    AndreyV
    Участник

    Михаил! Вот в этом то и вопрос!!!
    Отчет-пример на вашей демо версии скады работает по прямой ссылке с месячным периодом. У меня на домашнем ноутбуке (использую пробный ключ) работает этот отчет по такой же ссылке и другие отчеты работают с месячным периодом. А на реальных серверах (проверили на 2-х) с рабочими проектами и купленными лицензиями те же самые отчеты не работают. Ошибка одна и таже, уже неоднократно выкладывалась на форуме.
    И не ясно, что не так и как это исправить.
    Для справки: на одном сервере стоит Win10, Rapid SCADA 6.3.1, на другом сервере Win11, Rapid SCADA 6.3.1., на обоих серверах куплены постоянные ключи — отчеты за месячный период не работают; у меня на ноутбуке Win10, Rapid SCADA 6.2.0, ключ пробный — те же отчеты работают; вчера обновил Rapid SCADA до версии 6.3.1 — те же отчеты работают! Куда копать???

    в ответ на: Плагин Гибкий отчет #36512
    AndreyV
    Участник

    Если указывать положительный период то считается он от текущего времени вперед. И получаем пустые строки, т.к. данных в архивах естественно нет.
    Вот пример отчета по прямой ссылке: http://192.168.1.136/ElasticReport/Print/PrintReport2?reportID=21&period=3&unit=Day&archive=Hour&format=Html

    https://ibb.co/b6ML1gV

    в ответ на: Плагин Гибкий отчет #34934
    AndreyV
    Участник

    Добрый день! Я так понимаю, что данные в дневной архив пишутся 1 раз в сутки и видимо в 00:00 часов:минут. Если выставить месячный интервал с дневным архивом и задать еще смещение времени в конфиге отчета, то данных и не будет (получаем — ).
    Попробуйте задать месячный интервал, а архив часосой.

    в ответ на: Плагин Гибкий отчет #34921
    AndreyV
    Участник

    Запустил, и у меня туже ошибку выдает. Не понятно. Вечером попробую на домашнем ПК, где тестовый отчет работал.

    в ответ на: Плагин Гибкий отчет #34917
    AndreyV
    Участник

    А какое смещение у Вас установлено в параметрах отчета?
    <DataOptions>
    <PrependTime>00:00:00</PrependTime>
    <AppendTime>00:00:00</AppendTime>
    </DataOptions>
    Попробуйте выставить для начала 00:00:00.

    Если можно, пришлите свой конфиг отчета, попробую у себя запустить.

    • Ответ изменён 1 год, 8 месяцев назад пользователем AndreyV.
    • Ответ изменён 1 год, 8 месяцев назад пользователем AndreyV.
    в ответ на: Плагин Гибкий отчет #34893
    AndreyV
    Участник

    А если выполнить запрос с параметром period=-1:
    http://localhost:10008/ElasticReport/Print/PrintReport2?reportID=1&unit=Month&period=-1&archive=Day&format=Html
    то выведутся данные за предыдущий месяц. https://ibb.co/pjrH9zy
    Правда почему-то в данный период попало лишний день (31.08), надо разбираться.

    в ответ на: Плагин Гибкий отчет #34890
    AndreyV
    Участник

    Согласно документации:
    «Генерацию отчёта можно запустить по прямой ссылке. При этом вход пользователя в систему должен быть выполнен. Примеры ссылок приведены ниже. Обратите внимание, что наборы параметров запроса для адресов PrintReport1 и PrintReport2 различаются.

    Пример 1:
    http://localhost:10008/ElasticReport/Print/PrintReport1?reportID=1&startTime=2024-05-28&endTime=2024-05-29&archive=Hour&format=Html

    Пример 2:
    http://localhost:10008/ElasticReport/Print/PrintReport2?reportID=1&period=1&unit=Day&archive=Hour&format=Html&#187;

    Если выводишь отчет за конкретный временной промежуток, то в запросе надо ставить PrintReport1 и соответственно задавать параметры startTime и endTime. Если выводишь отчет за временной интервал, то в запросе надо ставить PrintReport2 и соответственно задавать параметр period.

    Сейчас попробовал выполнить запрос http://localhost:10008/ElasticReport/Print/PrintReport2?reportID=1&unit=Month&period=1&archive=Day&format=Html с тестовой конфигурацией отчета, все вывелось без ошибок (правда данных нет, т.к. 1- число)).
    https://ibb.co/Zm4M3nk

Просмотр 15 сообщений - с 1 по 15 (из 16 всего)