Страница 1 из 2

DaData - выбор полей организации и ИП

Добавлено: 15 июн 2019, 11:57
ChernetsovMikhail
Здравствуйте, Сергей и все, все, все.
Не нашел на форуме. Может есть уже решение.
При запросе должности и ФИО руководителя у организации всё ищется отлично.
Для ИП этих полей нет форма дает ошибку.
Если пропустить ошибку, то ничего не рушится. Но не уютно.
Как можно добавить условие и обойти не найденное поле для ИП?
Кстати, для КПП ошибка не появляется. его тоже нет у ИП.
1. http://prntscr.com/o25jci
2. http://prntscr.com/o25ji1
3. http://prntscr.com/o25ki6
4. http://prntscr.com/o25jx4

Re: DaData - выбор полей организации и ИП

Добавлено: 15 июн 2019, 16:25
Develop-Soft
А это так и должно быть?:
Изображение
Думается, правильнее "..management.post"

Re: DaData - выбор полей организации и ИП

Добавлено: 15 июн 2019, 16:45
ChernetsovMikhail
Да. Действительно.
В данном случае загнался.
В одном случае так:
http://prntscr.com/o27tha

В другом так.
http://prntscr.com/o27uj1

Вы исправили правильно.
НО! Сути вопроса это не меняет. Озвученное окно, при пустом значении появляется.
Может есть условие выбора разных реквизитов для ООО и ИП?
Например: в ООО
http://prntscr.com/o27w2m

а в ИП
http://prntscr.com/o27wf6

Может есть пример работы с условиями. Если ООО, то, если ИП, то....

Re: DaData - выбор полей организации и ИП

Добавлено: 15 июн 2019, 17:09
Develop-Soft
Я сталкивался с аналогичной ошибкой когда писал плагин DaData для другого проекта. Там я решил задачу простой проверкой: "если указанный объект существует, тогда назначаем объект иначе идем дальше". В вашем случае ошибка выдается из-за прямого обращения к javascript-объекту, которого не существует. К сожалению у меня нет дополнения к Руководителю и нет обширных познаний javascript, поэтому более врядли что-то подскажу :( . Нужно либо обращение вида "объект1['имя_объекта2']" либо try..cath с отбрасыванием ошибки.

Изображение

P.S.
ChernetsovMikhail писал(а): 15 июн 2019, 16:45 В другом так.
Изображение
Здесь вы отобразили указатель на массив (кажется из платного тарифа DaData). Это не то же самое, о чем спрашивали выше. Данные из массива можно получить так:

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

data.managers[0].fio
data.managers[1].fio
//...

Re: DaData - выбор полей организации и ИП

Добавлено: 15 июн 2019, 18:34
support
Доработал модуль. Теперь ошибка посылается в консоль браузера и не видна для пользователя. Если какое то поле отсутствует, то работа модуля не прекращается, просто это поле пропускается.
Файл из архива замените \plugins\ext\smart_input_modules\dadata\
Сообщите результат.

Re: DaData - выбор полей организации и ИП

Добавлено: 15 июн 2019, 20:28
ChernetsovMikhail
Сергей, СПАСИБО! Работает. Вопрос закрыт.

Develop-Soft -
Спасибо. Про [] "массив" понял. И про "платный" сразу не обратил внимание. Но там не страшные деньги.
Обращу внимание на imgur.com
С PrntScrin - исторически работаю очень давно. Не подводил.

Re: DaData - выбор полей организации и ИП

Добавлено: 15 июн 2019, 21:01
ChernetsovMikhail
Чуть спрошу про массивы в dadata.ru...
Задача
Поле "ОКВЭД" заполняется кодом ОКВЭД.
Есть желание показать расшифровку в дополнительном поле.
Но расшифровка только в массиве. Надо выбрать первое значение из массива.
http://prntscr.com/o2a65y

Сейчас реализовал так:
https://youtu.be/BZ1tI3hH70k
Но это, как-то, неправильно. Возможно сразу реализовать?

Re: DaData - выбор полей организации и ИП

Добавлено: 15 июн 2019, 22:12
support
А что мешает выбрать значение из массива?

Re: DaData - выбор полей организации и ИП

Добавлено: 15 июн 2019, 23:23
ChernetsovMikhail
Видимо так?
[...] = data.okveds[1].name

Не получилось.

Re: DaData - выбор полей организации и ИП

Добавлено: 16 июн 2019, 08:06
support
А так?

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

[...] = data.okveds["name"]