tinkyyy
@tinkyyy
Study

Как удалить элемент множественного поля Email в Bitrix24?

Есть задача: Написать скрипт, который будет удалять определëнную почту в поле Email у контакта.

Все email'ы можно получить через класс FieldMultiTable. Если вызвать у него метод delete, то Email удалится, но если позже вбить email, который удалили в поиск контакта, то этот контакт будет показываться, хотя email уже был удалён.

Как удалить элемент правильно, чтобы он не показывался через поиск?
  • Вопрос задан
  • 212 просмотров
Решения вопроса 1
gromdron
@gromdron Куратор тега Битрикс24
Работаю с Bitrix24
Работать с таблицей значений мультиполей для записи/изменения или удаления напрямую нельзя.

Используйте методы CCrmLead или CCrmContact.

Например для контакта (взято отсюда):
$contactFields = [
    "FM"       => [
        "PHONE" => [
            // Телефон с ID 3567 будет изменен
            "3567" => [
                "VALUE"      => '+78889996644',
                "VALUE_TYPE" => "WORK",
            ],
            // Телефон в ID 1234 будет удален
            "1234" => [
                "VALUE"      => '',
                "VALUE_TYPE" => "HOME",
            ]
        ],
    ],
];

$contactEntity = new \CCrmContact(false);

$isUpdateSuccess = $contactEntity->Update($contactId);


А вот как раз 3567 и 1234 вы можете получить либо через GetList той же сущности, либо через FieldMultiTable.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы