Инструкция по импорту для внутреннего пользования из csv

Инструкция по импорту для внутреннего пользования 

 

Перед тем как начать делать импорт, переходим в расширения-плагины.Включаем если не включен плагин RealtyParsed

Готовим файл для импорта, для этого смотрим инструкцию  https://crmnedv.ru/nodes/nodes/view/type:answers/slug:trebovaniya-k-importu-iz-fayla

Описывающую основные требования к файлу.

Когда файл готов переходим на вкладку импорт-импорт wizard /

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

Тип Upload File Type-csv

Шаблон-новый

Уникальное имя на английском языке-Каждый раз при импорте это имя должно быть УНИКАЛЬНЫМ.

Заголовок заполнять не обязательно.

Модель

ОбъектЫ-Agency.Advertisement

Заявки-Agency.Bid

Контрагенты-Contractors.Contractor

Пользователи-Users.User

Фото-Agency.AdvertisementPicture

В итоге у нас страница должна выглядеть следующим образом 

Нажимаем начать импорт.

Видим следующее окно 

Разделитель позволяет определить как будут обрабатываться заголовки.

В зависимости от файла можно варьировать вариант- ; : ,

В данном случае у нас все как надо, отмечает чекбокс 

“Разбивать данные в соответствии с заголовком”

И нажимаем сохранить.

После обновления страницы справа мы видим что все выглядит корректно, тоесть сначала идёт заголовок, а потом его значение 

Ниже у нас указаны поля для констант.

К примеру если в файле не указана категория, но мы понимаем, что все объекты являются квартирами.

В константам мы пишем Advertisement.category_id и указываем,в нашем случае 7.

Посмотреть номер категории можно на вкладке настройки категорий  admin/complex_categories/categories

 

И выглядеть это будет так

 




 

Таким же образом можем прописать тип сделки;

Прописываем в следующем поле Advertisement.rent и в поле ниже 1 для аренды 0 для продажи

Есть возможность сразу назначить ответственного-Advertisement.rieltor_id и ниже номер пользователя.

Или сразу отправить объект в архив-Contractor.deleted ниже дату архивирования 

Когда все нужные константы проставлены, нажимаем начать импорт.

Первый заголовок имеет значение внешнего идентификатора объекта, он уникален.

В поле мы выбираем-внешний идентификатор ,setter-Внешний идентификатор. Сопоставляет объект в файле и в базе. Защищиает от дублирования объектов Записывает идентификатор из импортируемого файла в выбранное поле. Если в базе находится объект с этим внешним идентификатором, то он подставляется в данные.

Нажимаем добавить

Категория-поле категория(из словаря) setter данные из словаря

Откроется окно сопоставления категорий

Цена-поле цена setter нет

Тип сделки- поле аренда(1)/Продажа(0) seter перевод 

Откроется окно перевода 

Как известно аренда у нас это 1, соответственно продажа будет 0


 

Регион-поле регион setter привязка местоположений

Используем такие сеттеры для всей географии объекта меняя только поля(населенный пункт, район, микрорайон, улица)

Дом-поле номер дома setter нет

Фио контрагента-поле Контрагент 1Фио(если больше одного контргента то есть контрагент2 ) setter нет

Телефон контрагента- контрагент 1 телефон setter обработка телефона в контрагенте

Текстовые поля в зависимости от названия можем определить как заголовок, описание на рекламу, примечание. setter нет

Риелтор-поле id ответственного setter данные из словаря.

В открывшемся окне по аналогии с категорией сопоставляем пользователя.

Если такого пользователя нет, его добавление только по согласование с менеджером.

Значение основных полей говорит само за себя 

Например дата создания, источник, комиссия и т д.

Вводим в поле поиска название заголовка и выбираем соответствующее. setter нет

Если вдруг нужного поля нет, а информация важна, то в правой части есть функционал добавления параметров.

Например , нужно добавить доп информацию 

Мы вводим алиас, на английском, без точек.

Название параметра и тип, в нашем случае строкой, для текста.

 

При необходимости можно выбрать числовое значение.

При выборе внешнего ключа, мы привязываем параметр в какому либо словарю.

Например словарь “булевый” имеет два значения да и нет.

Соответственно этот параметр будет передаваться этими значениями 

Фото-поле ссылки на фото setter нет

Бывает так что все фото находятся в одном поле в таблице, тогда мы смотрим что между ними стоит например запятая , -ссылка на фото, ссылка на фото, ссылка на фото 

В таком случае мы выбираем setter разделитель, в открывшемся поле указываем его

Тогда обработка пойдет по каждому фото разделяя их указанным символом.

Если мы указали неверное значение и импорт остановился.

Вверху есть кнопка Конфигурация, нажимаем крестик напротив того значения которое неверно

Страница обновляется, делаем это ещё раз и переходим обратно в импорт, он предложит нам задать значение полю заново.

Иногда в файле если его не обработать вручную перед использвоанием, бывают ненужные поля, например мы ипортируем квартиры, но в файле есть заголовок Площадь участка, естественно к квартире это не относится и нам ненужно.

Тогда в поле мы ничего не выбираем , setter-нет   и просто нажимаем добавить поле, таким образом оно пропускается без добавления.

 

 

Бывает такое, что при сопоставлении категории, пользователей, в словарях нет нужной строчки, отображается следующее окно

Название поля на русском в соответствии с данными

тип список

данные

Users.User-пользователи

ComplexCategories.Category-категория

Agency.BidStatus-статус заявки

Contractors.Contractor-контрагент

Agency.Bid-заявки

Когда все поля будут обработаны, увидим следующую картину, это нормально .

В конце импорта увидим 

Переходим в список объектов, в фильтре указываем источник-импорт

Сопоставляем заявленное кол-во объектов и кол-во которое перенеслось.

НАличие и корректность информации, если каких то данных нет, возможно выбран неверный сеттер.

При наличии фото в импорте, обязательно 

После идем Редактор cron ов -> Асинхронные задачи - /admin/crontab_editor

  1. Создаем поочередно три команды, model - CronTabShellCommand

  2. Agency.AdPictures downloads_set 0

  3. Agency.AdPictures downloads_set 1

  4. Agency.AdPictures downloads

  5. Все три команды предназначены для скачивания картинок!

  6. Каждые 10 минут запускает cron который выполняет эти команды, если через 20 минут данные команды не исчезли из списка, пишите программисту!

  7. После выполнения команд, проверяем скачались ли фото на наш сервер, для этого наводим курсором на фото объекта, в нижнем левом углу появится ссылка на фото, смотрим что бы был указан домен проекта, если указан другой домен, значит фото не скачалось .

Основные вышеперечисленные действия продемонстрированы на видео по ссылке https://youtu.be/gbvbyDND0dc

 

 

Сопутствующую информацию можно найти на вики 

http://wiki.is2b.ru/index.php/%D0%9F%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD_%22%D0%98%D0%BC%D0%BF%D0%BE%D1%80%D1%82%22_(Import)