Выполнение [DECODEUNIXTIME] после [HANDLEJSON]

Тема в разделе "Шаблон вывода", создана пользователем Bureau, 15 июн 2021.

  1. Bureau

    Bureau Member Пользователи

    Регистрация:
    2 июн 2021
    Сообщения:
    24
    Есть конструкция вида:
    Код:
    [HANDLEJSON]
    {OUT_TEMPLATE}
    {LIST()}
    INSERT INTO `answers` (`qaid`, `qid`, `description`, `votes`, `userid`, `on`) VALUES
    ({KEY(id)} ,    <CD_GRAN_1!>,    '{KEY(text)}',    [RANDOM(1|5{unique})],    {KEY(user>id)},    '[DECODEUNIXTIME(YYYY-MM-DD HH:NN:SS)]{KEY(dateCreate)}[/DECODEUNIXTIME]');
    {/LIST}
    {/OUT_TEMPLATE}
    {VALUES_REPLACE}{/VALUES_REPLACE}
    {PARAMS}values_json_decode{/PARAMS}
    {LIST_SEP}{br2}{/LIST_SEP}
    {JSON_DATA}
    {<CD_GRAN_9!>
    {/JSON_DATA}
    [/HANDLEJSON]
    
    В которой {KEY(dateCreate)} - это штамп в формате unixtime. Необходимо его перекодировать в формат 2019-01-26 13:20:43. Однако, [DECODEUNIXTIME], если посмотреть по логу, запускается раньше [HANDLEJSON] и не успевает перекодировать штамп. На выходе выплевывает в код просто 1548508843. Использование [CD_DATE({KEY(dateCreate)}|0|{YYYY}-{MM}-{DD} {HH}:{NN}:{SS})] и [CD_DATE2({KEY(dateCreate)}|0|{YYYY}-{MM}-{DD} {HH}:{NN}:{SS})] также не приносят пользы - Content Downloader выводит ошибку о неверном формате даты ([CD_DATE] (входящая дата указана в неверном формате)!) в итоговом документе.

    Как быть? Спасибо!
     
  2. Bureau

    Bureau Member Пользователи

    Регистрация:
    2 июн 2021
    Сообщения:
    24
    Попробовал еще вот так:
    Код:
    [REPLACE({KEY(dateCreate)}|[DECODEUNIXTIME(YYYY-MM-DD HH:NN:SS)]{KEY(dateCreate)}[/DECODEUNIXTIME])]{KEY(dateCreate)}[/REPLACE]
    
    И даже так:
    Код:
    [FINAL_REPLACE({KEY(dateCreate)}|[DECODEUNIXTIME(YYYY-MM-DD HH:NN:SS)]{KEY(dateCreate)}[/DECODEUNIXTIME])]{KEY(dateCreate)}[/FINAL_REPLACE]
    
    Все равно выплевывает в 1548508843.
     
  3. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Здравствуйте.

    Добавил обработчик макроса [DECODEUNIXTIME] в макрос [HANDLEJSON].

    Замените файл Content Downloader.exe (в папке с программой) этим файлом:
    Скрытое содержимое:
    **Скрытое содержимое: доступно при наличии 10 постов.**
     
    Bureau нравится это.
  4. Bureau

    Bureau Member Пользователи

    Регистрация:
    2 июн 2021
    Сообщения:
    24
    А в одной сборке с [RANDOM] можно? Или это уже включено?
     
  5. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Ответил в вашей второй теме.
     
    Bureau нравится это.
  6. Bureau

    Bureau Member Пользователи

    Регистрация:
    2 июн 2021
    Сообщения:
    24
    Оперативно, и как всегда по существу. Благодарю!
     
    Root нравится это.

Поделиться этой страницей