Показать сообщение отдельно
Старый 12.10.2020, 05:52   #40
ViS
Senior Member
 
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили: 15 раз(а) в 12 сообщениях
По умолчанию Ответ: Косяки, непонятки и хотелки по историческим данным

И снова я со всякой фигней по историческому графику Смарта.

Для начала снова вернусь к хотелке отключения масштабирования и двигания графика пальцами на экране. Туда же отключение вывода кнопок масштабирования.
Задачка напрашивается, как бы, сама собой при наличии такого функционала, как исторический тренд.
Простое, казалось бы, действие - поелозить пальцем по экрану, чтобы выставить рулеры и посмотреть значение в нужной точке. Ставим блок Touch, пересчитываем координаты касания и отправляем нужные значения на входы рулеров блока. Но нет - ведь у нас при этом график ездит туда-сюда, и попасть на его нужное место тот еще квест. Особенно при выставлении горизонтального рулера, когда график за одно движение тупо уезжает за пределы экрана и его просто нет в обозримом пространстве.
Начинаем опять же лепить рекомендованные Арсением костыли по контролю диапазонов шкал и кидать их на входы блока. Получаем постоянные прыжки графика на экране. Красота - неописуемая, удобство работы - феноменальное. А ведь всего один вход у блока, разрешающий/запрещающий все эти двиганья - масштабирования пальцами снял бы массу проблем и в разы повысил бы юзабилити и снял гемор с программиста.. Да просто, в конце концов, отключать этим входом полностью обработку тача блоком и все, делов-то..
По ходу придется обломать заказчика и отказаться от использования рулеров. Вряд ли он захочет видеть эту дерготню. А целый день, в общей сложности, потрачен на всякие "исторические" телодвижения...

Дальше сами рулеры и управление ими.
Тоже полная катавасия с этим.
Пока у нас на всех их входах нули - их нет, красота. А дальше начинается.
Подаем значение на вход любого рулера - включаются все три. Зачем все три-то сразу? По уму бы надо отобразить только тот, для которого задано значение. Ну или отдельные входы "Видимость" для каждого рулера надо. Так было бы лучше всего.
Это если график у нас статичен, когда не идет записи истории. А когда он у нас динамически меняется в процессе записи, то выставление значения только на входе второго горизонтального рулера, при нулях на остальных входах, дает нам кратовременное появление всех рулеров на долю секунды и все - нет рулеров.
Дальше.
Возможно все дело в моей тупости, но я так и не понял - что и как с ними можно делать, если в Смарте отключено управление ими из ФБД? Поставил на них галочки в Смарте, галочки управления из ФБД сняты - и? В смарте они нарисовались на экране, а на живом контроллере их нет. Да хоть в Смарте как их поставить на нужное мне место, а не куда они сами встали? Вот у меня шкала значений до 200, мне надо горизонтальные линейки на 130 и на 180, сами они встали на 60 и 141 (тоже странное кривое число, кстати). Задать нужные мне значения негде, для них есть только настройки цвета и стиля.. Разъясните, пожалуйста.

Немного о работе с экраном исторического графика в Смарте.
Вот лежит у меня на экране этот график. Снял галочки Панели управления и Легенды, не нужны они мне, ну совсем не нужны в данном проекте. Начинаю менять размер элемента, уменьшая его от полного экрана - бац!, включилась и Панель, и Легенда. С какого перепугу-то? Да, если уменьшаю еще больше - они опять скрываются, как и написано в справке, растягиваю обратно - опять появляются. Галочки, заботливо мою выключенные - включены. С какой радости??
Секция "Масштаб".
Задаем начальное значение Период, Смарт пишет на экране "Масштаб ***" строго в полтора раза больше заданного значения? Почему, зачем эти полтора раза?
ViS вне форума   Ответить с цитированием