Стартовая страница › Форумы › Понять, как работает ПО › Ввод даты в версии 5 (и мжет быть 6)
- В этой теме 7 ответов, 3 участника, последнее обновление 7 месяцев, 3 недели назад сделано
Mikhail.
-
АвторСообщения
-
15.09.2025 в 14:52 #40377
a80808УчастникКоллеги, задача посчитать разность дат, причем одна из них вводится вручную.
Сделал как учили (Val() во входном канале, SetVal(CnlNum, Cmd) в выходном) единственная «отсебятина» — это во входном канале Формат = Дата. Ввод запускается, вводить дает…но на все пишет «Некорректное значение команды.» При попытках нагло ввести что то типа «12345» пишет «Команда отклонена сервером». Перепробовал всякие разделители и порядок день-месяц-год…Кто знает, как вводить нужно и можно ли? боюсь предположить, что там UnixTimeStamp….
15.09.2025 в 15:18 #40378
manjey73УчастникКогда вы выставляете в Формат — Дата, Дата и Время или Время у вас для формулы используется не Cmd а CmdDataString — используйте это в формуле для парсинга даты.
15.09.2025 в 15:22 #40379
manjey73УчастникСоврал малость. вот какие-то скрипты есть
public byte[] GetDateStr(int mn) { string s = Encoding.UTF8.GetString(CmdData); DateTime dt = DateTime.Parse(s); SetVal(mn, EncodeDate(dt)); return null; } public double GetStrDt(string dt) { SetVal(CnlNum, EncodeDate(DateTime.Parse(dt))); return EncodeDate(DateTime.Parse(dt)); } public double GetStrDtToUtc(string dt) { SetVal(CnlNum, EncodeDate(DateTime.Parse(dt).ToUniversalTime())); return EncodeDate(DateTime.Parse(dt).ToUniversalTime()); } public double ConvertToUtc(double val) { DateTime dt = DateTime.FromOADate(val).ToUniversalTime(); return dt.ToOADate(); }15.09.2025 в 15:28 #40382
MikhailМодераторКогда пользователь вводит дату, то в канал приходит строка, которую можно считать в переменной CmdData. Нужно её преобразовать в дату. Могу ошибаться.
16.09.2025 в 23:28 #40401
manjey73УчастникCmdDataStr — в выходной формуле указываем GetStrDtToUtc(CmdDataStr), при команде вызывается календарь для ввода даты.
17.09.2025 в 09:49 #40402
a80808УчастникGetStrDtToUtc отсутствует в текущем контексте
Может это только для в.6?17.09.2025 в 13:32 #40404
manjey73УчастникGetStrDtToUtc — это мои формулы, которые необходимо добавить в скрипты. (нужную из приведенных)
И это только для v6, в 5-й я формулы уже не изобретаю… 🙂
Кстати открытие календаря насколько помню реализовано только в версии 6, при указании Формата команды «Дата и время»
-
Ответ изменён 7 месяцев, 3 недели назад пользователем
manjey73.
17.09.2025 в 14:00 #40406 -
Ответ изменён 7 месяцев, 3 недели назад пользователем
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.