2019-06-27 02:37:16
Краткое описание :
Использовать сервис https://dadata.ru в ГалактикеОписание :
* Предложение по новой функциональности модуля "Управление персоналом"Что измененно :
Необходимо реализовать поиск адресов с помощью сервиса "DaData.ru" в Галактике.
Как измененно :
* Реализован интерфейс поиска адресов с помощью сервиса "DaData.ru". Данный интерфейс открывается по кнопке в поле "Полный адрес" в окне ввода адресов.
Интерфейс состоит из области поиска (строка поиска и кнопка "Получить координаты") и области результата в виде табличного редактора.
* При первом входе в интерфейс необходимо настроить поиск. Настройки открываются по пункту "Параметры" контекстного меню.
Параметры:
- API-ключ (высылает сервис DaData.ru после регистрации),
- Максимальное число результатов (по умолчанию 10).
Параметры хранятся в системе на уровне текущего пользователя.
* Поиск осуществляется нажатием кнопки "Enter" в поисковой строке. Если запрос выполнен успешно, результаты отобразятся в табличном редакторе.
Сообщения об ошибках, выдаваемые сервером DaData.ru в случае неудачного запроса:
- 'Некорректный запрос (невалидный JSON или XML)';
- 'В запросе отсутствует API-ключ';
- 'В запросе указан несуществующий API-ключ. Или не подтверждена почта. Или исчерпан дневной лимит по количеству запросов';
- 'Запрос сделан с методом, отличным от POST';
- 'Слишком большая длина запроса или слишком много условий';
- 'Слишком много запросов в секунду';
- 'Произошла внутренняя ошибка сервиса во время обработки';
- 'Произошла неизвестная ошибка'.
* Получение координат возможно по одной из записей результата поиска. Осуществляется по кнопке "Получить координаты". После успешного получения координат, они отображаются (поля "Широта" и "Долгота") в области поиск рядом с кнопкой "Получения координат".
* По нажатию кнопки "Enter" в табличном редакторе, если выбрана запись результата, интерфейс закрывается, данные о полученном адресе синхронизируются с базой данных (осуществляется поиск элементов АТД в текущем справочнике и найденные элементы модернизируются, при необходимости, берутся в исходном виде или создаются новые) и записываются в адрес. Поскольку адрес представляет собой иерархию из элементов АТД, может быть создано несколько различных элементов связанных друг с другом, однако поля "ОКТМО", "ОКАТО", "Широта", "Долгота", "Индекс" записываются только в последний элемент. В случае, если последним элементом является дом, то в адрес записывается так же "HouseID" дома.
* В интерфейс ввода адресов добавлены поля "Широта" и "Долгота". Отображаются в случае, если заполнены.
* В справочнике АТД, если объект добавлен или модифицирован сервисом DaData.ru, в нижнем правом углу окна редактирования отображается сноска "DADATA".
Дополнительно: Обращаю внимание, что кол-во запросов в сутки ограничено условиями DaData.ru на уровне регистрационного ключа.