Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Как автоматизировать импорт пользователей CSV на 1С-Битрикс?

+11 голос
1

Имеется штатный функционал (/bitrix/admin/user_import.php) по импорту пользователей из CSV (созданного по шаблону).

Действия такие:

  1. выбор файла с данными
  2. привязка импорта к группам пользователей
  3. и прочие настройки



Но это все вручную. Вопрос - как сделать это автоматически допустим раз в день?

спросил 05 Март, 18 от аноним

1 Ответ

00 голосов

Посмотрите файлик /bitrix/modules/main/admin/user_import.php -- непосредственно выполняющая импорт часть совсем небольшая, но придётся разобраться с параметрами.

if (is_file($csvFilePath) && is_readable($csvFilePath))
{
$csvImport = new CSVUserImport($csvFilePath, $arDelimeters[$delimeter]);
$csvImport->SetUserGroups($userGroups);
$csvImport->IgnoreDuplicate($ignoreDuplicate == "Y");
$csvImport->SetCallback("_OnUserAdd");
$csvImport->SetImageFilePath($pathToImages);
$csvImport->AttachUsersToIBlock($attachIBlockID);
 
$defaultUserEmail = $csvImport->GetDefaultEmail();
 
if ($ldapServer > 0 && $ldapExists)
{
$dbLdap = CLdapServer::GetByID($ldapServer);
if ($dbLdap->Fetch())
$csvImport->externalAuthID = "LDAP#".$ldapServer;
}
 
if ($csvImport->IsErrorOccured())
$strError = $csvImport->GetErrorMessage();
}
Как автоматически - проще всего будет этот код в отдельный php файл выделить, инициализировав необходимыми вам параметрами в начале, и запускать через cron.
ответил 05 Март, 18 от root (25,590 баллов)

Похожие вопросы

0 голосов
1 ответ
спросил 05 Дек, 17 от аноним
0 голосов
1 ответ
0 голосов
2 ответов
спросил 09 Фев, 15 от аноним
0 голосов
1 ответ