Инструкция по импорту для внутреннего пользования из 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
-
Создаем поочередно три команды, model - CronTabShellCommand
-
Agency.AdPictures downloads_set 0
-
Agency.AdPictures downloads_set 1
-
Agency.AdPictures downloads
-
Все три команды предназначены для скачивания картинок!
-
Каждые 10 минут запускает cron который выполняет эти команды, если через 20 минут данные команды не исчезли из списка, пишите программисту!
-
После выполнения команд, проверяем скачались ли фото на наш сервер, для этого наводим курсором на фото объекта, в нижнем левом углу появится ссылка на фото, смотрим что бы был указан домен проекта, если указан другой домен, значит фото не скачалось .
Основные вышеперечисленные действия продемонстрированы на видео по ссылке 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)