Ввести в команде дату

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

    Собственно нюанс. Канал Calculated/Output имеет Формат Дата.
    Какие должны быть формулы для получения даты в канале?

    вот опять немного возвращаемся к формулам и их написанию…
    Мне кажется было бы более правильным не

    Функция _______ Тип данных ____ Описание
    SetVal(n, val) double ______Устанавливает текущее значение канала n

    а SetVal(n, val) ___ object __ Устанавливает текущее значение канала n

    И уже в зависимости от Типа данных, Формата делать соответствующие преобразования.

    #34384
    manjey73
    Участник

    Как ввести дату в канал по аналогии с формулами

    Val() — SetVal(CnlNum, Cmd) ???

    Уже второй день бьюсь. При выборе входной и выходной типах Date и указанных формулах получаю ошибку «Команда отменена» в WEB

    В Журнале
    Невозможно отправить команду: Команда отменена — ПОЧЕМУ ?

    В каком виде передается Серверу выбранная дата ?

    #34389
    manjey73
    Участник

    Предупреждать надо 🙂

    В общем при выставлении Формата канала и команды — Date команда отправляется в виде строки CmdDataStr.

    Зачем? если DateTime прекрасно преобразуется в double

    В общем в выходную формулу добавил SetVal(CnlNum, GetDT(CmdDataStr))
    где GetDt это скрипт

    public double GetDT(string cmdstr)
    {
    DateTime dt = DateTime.Parse(cmdstr);
    return EncodeDate(dt);
    }

    з.ы. Все же подумайте над типом объект для формул, чтобы спокойно можно было пользоваться одной формулой в каналах, а система, в зависимости от типа канала или команды самостоятельно преобразовывала в нужное.
    Типа SetVal(CmdNum, CmdObj) когда это не связано с цифрами, байтовыми массивами и строками. Для тех же Дат, Времени и чего там еще может добавиться.

    #34404
    Mikhail
    Модератор

    Формат канала влияет только на отображение данных и не влияет на их хранение и расчёт.
    Посмотреть, как кодирует значение команды веб-форма отправки команды можно здесь.

    #34410
    Mikhail
    Модератор

    От веб-формы приходит строка, поэтому как её интерпретировать, решать разработчику проекта с помощью формул.

    #34413
    manjey73
    Участник

    з.ы. ну штатные механизмы ядра это ведь должны понимать. я все про то же
    SetVal(CmdNum, Что-то) и мы получаем в нужном канале значение для формата Дата, если у нас есть команда на указанном канале для ввода даты, времени и т.д.

    а так, нажали, ввели дату, чета куда-то отправилось в неизведанные дали…

Просмотр 6 сообщений - с 1 по 6 (из 6 всего)
  • Для ответа в этой теме необходимо авторизоваться.