DaData.ru

Ответить
Serdobolniy
Сообщения: 107
Зарегистрирован: 03 мар 2016, 23:01
Имя: Сергей

DaData.ru

Сообщение Serdobolniy »

В подключаемом модуле DaData закралась ошибка с датами
data.state — Состояние
└ actuality_date — дата актуальности сведений
└ registration_date — дата регистрации
└ liquidation_date — дата ликвидации
0.png
точнее с её отображением в "Руководителе". Какое бы поле не выбрал: "Поле ввода" (на скриншоте - "Пустое"), "Поле для текста", подумалось, что может быть "Дата с календарём,
3.png
но всё равно выдаётся числовое значение, но ни как не дата -
1.png
И ещё, DaData отображает адрес: "Город Санкт-Петербург...", а в строку попадает "ГОРОД САНКТ-ПЕТЕРБУРГ..." и это только с адресом.

Это свойство модуля, и к "Руководителю" никакого отношения это не имеет, или всё таки поля не приспособлены в самом "Руководителе"?
Аватара пользователя
support
Техническая поддержка
Сообщения: 9348
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: DaData.ru

Сообщение support »

"Руководитель" никакого отношения это не имеет, данные подставляются такие, как возвращает сервис. У них в документации не указано, что за тип данных возвращается в registration_date, полагаю что timestamp и в таком случае нужно добавлять обработчик. Вы там потестируйте, может еще что найдется.
Валерия Таныгина
Сообщения: 1
Зарегистрирован: 04 июн 2018, 16:20
Имя: Валерия Таныгина
Откуда: Москва, Россия
Организация: DaData
Контактная информация:

Re: DaData.ru

Сообщение Валерия Таныгина »

Добрый день!

Меня зовут Валерия, я занимаюсь поддержкой пользователей Дадаты.

Формат даты в ответе — не ошибка. Даты регистрации и ликвидации — количество миллисекунд от 01.01.1970. Хранится в UTC.

Для JavaScript преобразуется в дату так:

Код: Выделить всё

var ticks = 989784000000;
var date = new Date(ticks);
Для PHP:

Код: Выделить всё

$ticks = 989784000000;
$sec = $ticks / 1000;
echo date("d.m.Y", $sec);
Для Java:

Код: Выделить всё

long ticks = 989784000000;
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(ticks);
Для C#:

Код: Выделить всё

long ticks = 989784000000;
DateTime date = (new DateTime(1970, 1, 1)).AddMilliseconds(ticks);
Мы написали об этом в подробной документации для Подсказок. Дополнительно опишем формат даты на странице Подсказок. Спасибо, что обратили наше внимание!

Вы всегда можете обратиться в нашу службу поддержки, если что-то в работе Дадаты оказалось непонятным.
Аватара пользователя
support
Техническая поддержка
Сообщения: 9348
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: DaData.ru

Сообщение support »

Валерия, благодарю за разъяснения, разобрался.

Сергей, замените прикрепленный файл в plugins\ext\smart_input_modules\dadata\
И даты должны заработать корректно.

Сообщите результат.
Вложения
dadata.php
(5.19 КБ) 533 скачивания
Serdobolniy
Сообщения: 107
Зарегистрирован: 03 мар 2016, 23:01
Имя: Сергей

Re: DaData.ru

Сообщение Serdobolniy »

Работает, спасибо

Вот только формат отображения: 1998-06-17, а хочется 17-06-1998
Аватара пользователя
support
Техническая поддержка
Сообщения: 9348
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: DaData.ru

Сообщение support »

Формат отображения в поле ввода нельзя изменить. Вы можете настроить формат вывода в настройках поля.
Ответить