Форум
да.. через итератор тоже пробовал получать список сотрудников. но не пойму как удалить нужное значение?
Заглянувший
Сообщений: 23 Баллов: 2 Регистрация: 01.05.2018
29.09.2020 14:41:57
Замудрить, сравнивать переменные и записывать если требуется в новую переменную, то что не нужно не записывать.
Но проще будет если у вас коробка, то есть активити PHP-код.
$root = $this->GetRootActivity();
$array1 = $root->GetVariable(‘Users’); — переменная из которой нужно удалить
$array2 =$root->GetVariable(‘Users_delete’); — те кого надо удалить из переменной выше
$result = array_diff($array1, $array2);
$root->SetVariable(«Users», $result); — записываем новое значение оставшихся сотрудников
Страницы: 1
Центр поддержки
Продукты
Управление сайтом
Битрикс24
Интернет-магазин + CRM
Решения
Для интернет-магазинов
Каталог готовых решений
Внедрение
Выбрать партнера
Проверить партнера
Стать партнером
1С-Битрикс http://www.1c-bitrix.ru Общие вопросы info@1c-bitrix.ru Приобретение и лицензирование продуктов : sales@1c-bitrix.ru Маркетинг/мероприятия/PR marketing@1c-bitrix.ru Партнерская программа partners@1c-bitrix.ru Мы работаем с 10:00 до 19:00 по московскому времени. Офис в Москве 127287 Россия Московская область Москва 2-я Хуторская улица дом 38А строение 9 Офис в Калининграде +7 (4012) 51-05-64 Офис в Калининграде 236001 Россия Калининградская область Калининград Московский проспект 261 Офис в Киеве ukraine@1c-bitrix.ru Телефон в Киеве +3 (8044)221-55-33 Офис в Киеве 01033 Украина Калининградская область Киев улица Шота Руставели 39/41 офис 1507
© 2001-2023 «Битрикс», «1С-Битрикс». Работает на 1С-Битрикс: Управление сайтом. Политика конфиденциальности
Форум
Уже долго мучаюсь, может кто подскажет как изменить поле «Телефон» в документе, в частности лиде.
Цель данной задачи — привести номер телефона к нужному формату.
На текущий момент код выглядит так:
$rootActivity = $this->GetRootActivity(); $documentId = $rootActivity->GetDocumentId(); $documentService = $this->workflow->GetService("DocumentService"); $fieldValue = $documentService->GetDocument($documentId); foreach ($fieldValue as $key => $value) < if ($key == "PHONE") < foreach ($value as $key2 =>$value2) < foreach ($value2 as $key3 =>$value3) < if ($key3 == "VALUE") < $fieldValue[$key][$key2][$key3] = preg_replace("/[^0-9]/", '', $value3); >> > > > $documentService->UpdateDocument($documentId, $fieldValue);
Но если с обычными полями их изменение не составляет труда, то для телефона метод UpdateDocument добавляет новый телефон вместо замены старого.
Как обойти эту проблему или просто удалить значение поля PHONE?
Заглянувший
Сообщений: 8 Регистрация: 06.05.2014
21.12.2015 15:10:35
Спасибо Василию.
Заглянувший
Сообщений: 2 Регистрация: 08.01.2016
08.01.2016 10:54:57
У меня такая-же ситуация, но использую REST API, поэтому мне вообще не понятен ответ Василия.
Я обновляю лид через crm.lead.update . С мульти полями возникает проблема, добавления, а не изменения.
Например: У лида телефоны 111111 и 222222, а я передаю новые телефоны 111111 и 333333, а в итоге у лида вместо двух номеров — все четыре (111111, 222222, 111111 и 333333)
Как исправить ситуацию, как менять данные, а не добавлять новые?
Заглянувший
Сообщений: 8 Регистрация: 06.05.2014
09.01.2016 05:42:12
Из ответа — для работы со множественным полем, нужно использовать другой объект.
В коробке это CCrmFieldMulti();
Для Rest API есть http://dev.1c-bitrix.ru/rest_help/crm/auxiliary/multifield/multifield_fields.php правда он вроде только возвращает данные.
Попробуйте написать в поддержку — там приветливые ребята.
Заглянувший
Сообщений: 4 Баллов: 1 Регистрация: 26.08.2015
16.08.2018 09:48:51
Рабочий вариант
BX24.callMethod( 'crm.lead.update', < id: id, // ID лида fields: < PHONE : [ < ID : 123456, // ID значения множественного свойства PHONE. Можно получить из crm.lead.list VALUE : '80123456789', >, ], >, >, function(result) < if(result.error()) console.error(result.error()); else < console.info(result.data()); >> );
Страницы: 1
Центр поддержки
Продукты
Управление сайтом
Битрикс24
Интернет-магазин + CRM
Решения
Для интернет-магазинов
Каталог готовых решений
Внедрение
Выбрать партнера
Проверить партнера
Стать партнером
1С-Битрикс http://www.1c-bitrix.ru Общие вопросы info@1c-bitrix.ru Приобретение и лицензирование продуктов : sales@1c-bitrix.ru Маркетинг/мероприятия/PR marketing@1c-bitrix.ru Партнерская программа partners@1c-bitrix.ru Мы работаем с 10:00 до 19:00 по московскому времени. Офис в Москве 127287 Россия Московская область Москва 2-я Хуторская улица дом 38А строение 9 Офис в Калининграде +7 (4012) 51-05-64 Офис в Калининграде 236001 Россия Калининградская область Калининград Московский проспект 261 Офис в Киеве ukraine@1c-bitrix.ru Телефон в Киеве +3 (8044)221-55-33 Офис в Киеве 01033 Украина Калининградская область Киев улица Шота Руставели 39/41 офис 1507

© 2001-2023 «Битрикс», «1С-Битрикс». Работает на 1С-Битрикс: Управление сайтом. Политика конфиденциальности
Как удалить бизнес-процесс
Чтобы найти все задания перейдите во вкладку Бизнес-процессы и выберите нужный процесс.

В фильтре выберите все группы стадий — Успех, Провал и В работе. В этом случае вы увидите все задания в бизнес-процессе.

Удалить задание можно простым перетаскиванием мышкой.

Если в процессе не осталось заданий, перейдите во вкладку Роботизация бизнеса и удалите его.
Удаление элемента массива через бизнес процессы
Для владельцев коммерческих тарифов уже доступны от 2 до 10 приложений в рамках интеграционного пакета. Подробно изучить возможности полного каталога готовых решений Битрикс24 Маркет Плюс вы можете в бесплатном 15-дневном демо-режиме.
Удаление элемента массива через бизнес процессы
По подписке
Установить
Информация
Опубликовано : 08.12.2022
Установок : 32
Другие приложения разработчика
Элемент массива для бизнес процессов
По подписке

Крестики-нолики
По подписке






Данное приложение позволяет упростить работу с удалением элементов во множественных переменных.
Кому это надо?
Если вы настраиваете роботов или бизнес-процессы — это приложение для вас.
Для чего это надо?
При настройке роботов или бизнес-процессов вы наверняка сталкивались с задачей выборки и удалением определенного значения.
Конечно, это можно обойти рядом условий и итератором, но данное приложение позволяет сделать выборку и удаление в одно действие.
Другие наши приложения
Разберем пример:
У нас есть CRM-форма, в которой мы просим написать адрес посетителя в определенном формате.
Например: 119609, г.Москва, ул.Парковая 9, д.34
Из этого адреса нам надо поймать индекс и в зависимости от его расположения добавить нашего посетителя в определенный рекламный сегмент.
Цель — поймать и удалить индекс из адреса.
Разберем это на бизнес процессе.
Выглядит он так.
Для простоты считаем, что мы уже достали наш адрес из поля, сейчас он у нас находится в переменной (блок 1)
Напоминаю, что нам надо удалить город.Разбираем этот адрес на части в блоке два
В результате этого действия мы разделяем наш адрес на части используя «запятую», как разделитель.
И в нашей переменной «Variable2», которая является множественной, мы получаем набор элементов из частей адреса.
Применяем наше приложение
Важными параметрами тут являются:
- Входящий массив — сюда мы передаем нашу множественную переменную;
- Операция – здесь мы выбираем способ вычисления как нужно удалить «по индексу» или « по значению»
«по индексу» — сюда пишем индекс элемента массива, это может быть как число, для числовых массивов, напоминаю, что в числовых массивах нумерация начинается с нуля, поэтому у нас стоит единица, чтобы взять второй элемент нашего адреса.
«по значению» — подойдет в случае, если нужно удалить конкретное значение, например все варианты со значением «г.Ижевск». - Удаляемые данные – индекс элемента или конкретное значение которое мы удаляем.
- Если вы сомневаетесь в значении индекса, то можно включить отладку , чтобы вывести весь массив данных с индексами.
Запустим наш бизнес-процесс на сделке, а в данном примере мы делали бизнес-процесс именно на сделке, и вот что у нас получилось.
Лог бизнес-процесса в сделке
Т.к. мы включили отладку, то во-второй строке мы видим начальный массив с исходными данными.
А в третьей строке, наше значение с уже удаленным элементом.
У нас еще было уведомление, выглядит оно так
Верхняя строка, начальные данные.
А вторая строка — наше полученное значение.
Видим, что мы все сделали правильно и получили нужные данные.
А как вы используете наше приложение?
Напишите нам в обратную связь и мы разместим ваш вариант у себя на сайте.
Рекомендуем использовать данное приложение в комплексе с приложением
Элемент массива в бизнес процессах
Версия 1
Удаление элемента массива через бизнес процессы — это приложение, дающее возможность возможность удаления элемента множественной переменной как по индексу, так и по значению этого элемента. Поддерживает множественное удаление.
Контакты технической поддержки
1. Установите приложение. Никаких дополнительных требований нет.
2. В роботах и бизнес-процессах появится дополнительный робот (активити).
3. Добавьте его в свой процесс (автоматизацию).
4. Настройте робот (активити) в соответствии со своим процессом.
