Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Denis_ger

Страницы: [1] 2
1
Ваши вопросы / Re: Объединение отчетов
« : 10 Апреля 2024, 15:14:50 »
С SQL понятно. Но это источники по изменению из штатной базы скады. Один снимает данные в момент возникновения отхода, а другой в момент возникновения заготовки. Объединять в один источник который смотрит изменение того и другого я пробовал, выходит каша, потому что значения повторяются и нельзя посчитать сумму. И поделить на 2 нельзя, потому что один отход - это не обязательно одна заготовка, может 2 или 3.
Есть ли способ для штатных источников по изменению?

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

2
Ваши вопросы / Объединение отчетов
« : 09 Апреля 2024, 16:10:18 »
В отчетах не получается сделать объединение двух таблиц в одну. Опишу упрощенную структуру в Stimulsoft Reports:
Есть GroupHederBand1 в нем databand1 с именем матрицы и массой отхода, далее GroupFooterBand1 где эти данные группируются по имени матрицы. После этого идет GroupHederBand2  в нем databand2 с именем матрицы и массой заготовки, далее GroupFooterBand2 где эти данные группируются по имени матрицы. Имена матриц одинаковые для обоих databand, при этом databand1 и databand2 опираются на разные источники данных, так что объединить их до группировки, в один источник, я не могу.
Я хочу получить не 2 таблицы, а одну - с именем, отходом и заготовкой. Есть ли способ соединить 2 итога группы в один? Пробовал ставить оба databand в одну группировку, но итог тогда ничего вообще не отображает. Читал в www.stimulsoft.com/documentation про таблицы, связи, кросс-таблицы, вложенные отчеты и группы в группах, это все не помогло.
С какой стороны курить мануал? Каким путем решается такая задача?

3
Здравствуйте. Не первый раз замечаю, что в отчетах с источником данных "по изменению" могут появляться данные вне заданного временного интервала данного источника. А точнее выдает диапазон и добавляет к нему строку с самой свежей записью на момент построения отчета. К примеру в отчете за прошлый месяц, кроме строк за прошлый месяц будет еще одна, лишняя строка за сегодня.
Почему так происходит? как это исправить?
Вот пример:

4
Вот это помогает с ошибкой поврежденного файла:

5
Спасибо за помощь. Проблема, видимо, у меня с Экселем. Предпросмотр windows показывает содержимое, но Excel2013 ругается, что файл поврежден. После повторного отправления через любой сервис, открывает без проблем. Попробовал открыть файл с телеграма на другом компе с Excel2016 -- сразу открывается.
Вопрос решен.

6
Проверил. Вы правы, и это для меня еще более загадочно. После архивации файл каким то образом восстанавливается.
Прикладываю файл как он есть с телеграма

7
Убрал кирилицу из названия - помогло с названием файла. Но он все еще поврежден, даже если убрать кирилицу из содержимого.

Приложил в архиве 2 файла, тот что создается посредством "ReportBuild" и тот что приходит из телеграма.

8
Пытаюсь создать файл .xlsx, и отправить его через Telegram. Файл на клиенте создается корректно, его можно открыть. Однако с телеграм-бота этот файл приходит с кодированным (всегда одним и тем же) названием и файл поврежден. Если отправлять текстовые файлы - все работает. Полагаю дело в принудительной перекодировке любого файла в UTF-8, но как это отключить?
Как отправлять файлы .xlsx через Telegram?
Как заставить бота передавать файл с оригинальным названием?

Использую стандартный код для отправки файла (rep_filename - string):
Код: (delphi)
var
  aTelegram: TM_Telegram;

begin
  aTelegram := SendTelegram(rep_filename.value);  // создаем Telegram-сообщение
  aTelegram.AttachFile('D:\test\'+ rep_filename.value+'.xlsx');  // и прикрепляем файл
end;

9
Здравствуйте!
Есть ли возможность не только отправлять из Скады сообщения, но и получать их и обрабатывать текст в скрипте? Подскажите где об этом написано в руководствах если написано.
Общая задача: отправлять отчет по запросу без открытия клиента. Вижу возможность реализации через СМС, но хотелось бы через Telegram.

10
Спасибо за направление.
Проблема была в скрипте OnDoneSQL, там выполнялся запрос к несуществующей, в случае пустого результата, ячейке.

11
Мне необходимо в скрипте узнать когда выполнен запрос от таблицы. Результатом данного запроса может быть одна строка или данные по запросу могут быть не найдены. В первом случае результат успешно отображается в таблице, а так же выполняется скрипт по событию таблицы OnDoneSQL. В случае же пустого результата данное событие не выполняется, а сама строка перестает отображаться. При этом ячейки по запросу GetCell выдают последний успешный результат и RowCount выдает тот же результат (число строк не меняется). То есть строка продолжает существовать, просто ее не видно.
Как мне узнать, что запрос выполнен, а так же что пришел пустой результат?

12
Спасибо за оперативность. В голову не приходило, что ID из редактора переменных это ID БД. Еще и хороший инструмент добавили!

13
Напрашивается вариант использовать вместо стандартного источника данных источник "БД MySQL". И там уже запросом к таблице trends_data выбирать нужные переменные. В запросе уже можно дописать sum(value) и group by ID, тогда всё красиво объединится.
Этот вариант кажется удачным. Начал разбираться в нем и уперся в часть "выбирать нужные переменные". Дело в том, что в таблице trends_data нет колонки имени, есть только ID и значения. Как мне сопоставить ID данной таблицы с именами переменных из проекта в СКАДА? Смотрел таблицу variables_data, в ней есть имена, но не все, и их ID не соответствует ID из  trends_data. Пробую сейчас сопоставлять по значениям в определенные моменты, но это очень муторно и неоднозначно. Думается есть более адекватный способ.

ПС. Судя по этой теме на 2018 не было такого способа. Есть ли сегодня?

14
Скорее всего, служба MySQL в этот момент остановлена или имеются проблемы в ее работе, поэтому при попытке подключения к БД выдалась данная ошибка. Это одна из возможных причин, другие причины можно найти в интернете по ссылке.
Да я уже гуглил, спасибо. База то работает, я к ней подключаюсь спокойно остальными средствами, о чем я писал. Проблема была на стороне редактора отчетов. Помогло изменить форму записи порта.
Не работает:
Server=localhost:3307;

Работает:
Server=localhost;
Port=3307;

15
Попробовал создать источник данных MySQL, по инструкции "Отчет из своего источника данных" в "Примеры отчетов:" и не могу подключиться к БД из редактора отчетов.
Воркбенч подключается, редактор проектов (в настройках) тоже, сервер тоже, а редактор отчетов нет. Что может быть не так?
Моя строка соединения:
Server=localhost;
Database=MR_bd;
UserId=root;
Pwd=F67Mslreka76G;

Так же пробовал с указанием порта:
Server=localhost:3307;
Database=MR_bd;
UserId=root;
Pwd=F67Mslreka76G;

Пишет: Unable to connect to any of the specified MySQL hosts.

Где хранится файл куда сохраняются значения переменных при остановке проекта, и будут ли они потеряны если проект был закрыт некорректно (выключился свет)?

Страницы: [1] 2