

Необходимо сделать импорт пользователей из CSV в Список пользователей портала.
Таблица будет в CSV,
- Нужно получить массив полей по каждому пользователю из CSV,
- Сформировать массив к добавлению пользователя
- Произвести проверку по имени фамилии и email, если все три в отношении какого-нибудь пользователя найдены, то такого пользователя не добавляем.
- Произвести определение в какое подразделение нужно добавить пользователя и присвоить соответствующий ID в полях
- Если валидация пройдена, всё получено, найдено итп : добавляем пользователя методами битры (желательно D7, но можно и старым API, без разницы)
- Если не пройдена проверка, или ошибка, закинуть пользователя в массив "не пройденных"
- На финише создать файл лога с информацией хода импорта (на своё усмотрение)
- Опционально: создать файлы CSV с импортированными и не импортированными пользователями
- Файл CSV может быть разной кодировки, соответственно если грузим файл в CP-1251 он не должен пойти крякозябрами
- Поля будут помимо стандартных, NAME, SECOND_NAME, LAST_NAME не стандартные UF_LOCATION к примеру
- Нужно предусмотреть, чтобы пользователь добавлялся сразу в нужное подразделение, в файле указан "Отдел" и "Подотдел", нужно находить их в системе, получить ID шник. В качестве теста не принципиальны конкретные данные, можешь взять наобум к примеру
//А для Локации (это кастомное поле UF_LOCATION, к примеру
$arLocation ["1"=>"Локация 1","2"=>"Локация 2"];
//В ключи = IDшники, значение = имя используемое в XLS
- Нужно предусмотреть, чтобы весь код был красиво упакован в класс CustomUserImport, у него были методы AddUser, ValidUser, CreateReport, при констракте соответственно задается константа или переменная с путем и именем файла лога итп.
- Нужно предусмотреть отдачу команд по GET, чтобы было к примеру одной папке файл import.php и data.csv и загрузка шла вызовом import.php/?action=addUser
- Нужно предусмотреть запись в файл /home/bitrix/www/__LOG_EXPORT.log лога о том, какие пользователи были добавлены, какие пропущены, т.к они уже есть или не добавлены из за ошибки. Формат лога на своё усмотрение
- Если по факту импорта, будет формироваться не только лог файла но и csv отдельно по категории пользователь создан / пользователь не создан.
- Прогресс бар импорта пользователей с выводом сообщения в конце, сколько времени занял импорт
- Оформить всё компонентом с файлом component.php и class.php
Расчетное время тестового задания до 6 часов.
Высылать тест никуда не нужно. Достаточно продемонстрировать на экране по зум/мит/тимвивер/энидеск.
В целом и тестовое задание "от и до" делать тоже не нужно ) Достаточно продемонстрировать, что с ним справиться МОЖЕШЬ, продемонстрировав хотя бы общий каркас и словами дополнив не достающие элементы и их архитектуру.
для кандидатов
условия сотрудничества
Оклад + KPI + премии: от 70 000 до 150 000 руб.
Работа полностью удаленная 5/2
Раз в месяц или квартал возможны общие сборы в Москве или Питере. Планерки раз в неделю или встречи по необходимости в формате онлайн, поэтому веб-камера обязательный атрибут.
Full-time с гибким графиком
В пределах 8 часового рабочего дня, когда он начинается, и когда заканчивается специалист, решает сам.
Первые 3 месяца оформление по ГПД как самозанятый или ИП, далее по ТК
Работа в системе по задачам, без лишней суеты
Таск-менеджер на базе коробки битрикс. Общая методика работы в рамках SCRUM. При необходимости улучшений или доработок таск-менеджера, для удобства использования, всё возможно.
Интересные кейсы, которые можно положить в копилку портфолио
о компании
итоговый офер обсуждается индивидуально
ЗАПОЛНИТЕ АНКЕТУ ДЛЯ начала ОБСУЖДЕНИЯ и интервью