Pola wielokrotne — telefony, adresy e-mail, tagi — przechowują kilka wartości naraz, a roboty też zwracają listy: na przykład części rozbitego ciągu. Gotowe akcje procesów biznesowych Bitrix24 z listami radzą sobie słabo: podstawienie skleja wszystkie wartości w jeden ciąg, a zapis do pola wielokrotnego nadpisuje to, co w nim było. Pięć robotów zamyka pracę z tablicami: pobrać element po indeksie, policzyć elementy, sprawdzić obecność wartości, dodać i usunąć wartość pola wielokrotnego.
Skąd w procesie biznesowym biorą się tablice?
Trzy źródła. Wielokrotne pola obiektów: telefony i adresy e-mail kontaktu, pola użytkownika ze znacznikiem „wielokrotne" — tagi, kategorie, lista oddziałów. Wielokrotne zmienne procesu, w których wartości gromadzą się w trakcie gałęzi. Oraz wyniki innych robotów: rozbicie ciągu po separatorze zwraca listę części, wyciąganie według wzorca — listę dopasowań. Standardowo z taką listą można zrobić niewiele: podstawienie do tekstu sklei wartości przecinkiem, warunek sprawdzi wystąpienie po sklejeniu. Pobrać właśnie drugi telefon, policzyć tagi lub starannie dopisać wartość, nie ruszając pozostałych — to już zadania dla robotów poniżej.
Jak pobrać pierwszy, ostatni lub N-ty element?
Robot „Pobierz element tablicy po indeksie" przyjmuje tablicę wartości i indeks: 0 — pierwszy element, 1 — drugi, −1 — ostatni, −2 — przedostatni. Wyjście: element i znacznik „Element istnieje" (Y/N); jeśli indeks jest poza granicami tablicy, zwrócona zostanie pusta wartość i znacznik N — proces się nie zatrzyma, a gałąź warunku obsłuży brak danych. Typowe połączenia: rozbiłeś ciąg z imieniem i nazwiskiem po spacji — wziąłeś pierwszy element jako nazwisko; rozbiłeś adres po przecinku — wziąłeś ostatni element jako numer domu; z listy dopasowań wyrażenia regularnego wziąłeś pierwsze. Wynik zapisuje się do zwykłego pojedynczego pola lub zmiennej do kolejnych kroków.
Jak policzyć elementy i sprawdzić obecność wartości?
Dwa roboty-pytania. „Rozmiar tablicy / liczba elementów" zwraca liczbę i znacznik „Tablica pusta" (Y/N); puste ciągi domyślnie nie są liczone — przypadkowa pusta pozycja w polu wielokrotnym nie zepsuje liczenia. „Sprawdź obecność wartości w tablicy" szuka dokładnego dopasowania elementu — nie podciągu — bez uwzględnienia wielkości liter, a opcją włącza się porównanie ścisłe. Wyjście: znacznik „Znaleziono" (Y/N) i indeks pierwszego dopasowania, minus jeden, jeśli dopasowań nie ma. Zastosowanie w warunkach procesu: „deal ma już tag VIP — pominąć udzielenie rabatu", „kontakt ma zero telefonów — zadanie dla menedżera o uzupełnienie karty przed przekazaniem do obdzwonu".
Jak dodać wartość do pola wielokrotnego, nie nadpisując pozostałych?
Główny ból pól wielokrotnych: standardowa zmiana dokumentu zapisuje pole w całości i, dodając jeden tag, łatwo skasować istniejące. Robot „Dodaj wartość do pola wielokrotnego" dopisuje wartość starannie: odczytuje bieżącą zawartość pola obiektu i dodaje nową do istniejących. Wejście: typ obiektu — deal, kontakt, firma lub lead — ID obiektu przez podstawienie z bieżącego dokumentu, kod pola (na przykład UF_CRM_TAGS lub PHONE) i samą wartość. Opcja „nie dodawać, jeśli już jest" jest włączona domyślnie: ponowne uruchomienie procesu nie namnoży duplikatów wartości. Wyjście: znacznik „Sukces" (Y/N) i końcowa liczba elementów w polu.
Jak usunąć wartość z pola wielokrotnego?
Operacja odwrotna — zdjąć tag, usunąć nieaktualny telefon. Ręcznie oznacza to otwarcie karty i poprawienie pola; standardową akcją — przepisanie pola w całości ze wszystkimi ryzykami. Robot „Usuń wartość z pola wielokrotnego" przyjmuje typ obiektu, ID, kod pola i usuwaną wartość. Usuwane są wszystkie wystąpienia tej wartości, pozostałe elementy zostają na miejscu. Wyjście: znacznik „Sukces" (Y/N), ile wystąpień usunięto i końcowa liczba elementów w polu. Przepis: deal zamknięty pomyślnie — proces zdejmuje z firmy tag „w pracy" i sąsiednim robotem dodawania dopisuje tag „klient"; karta zawsze odzwierciedla aktualny status bez ręcznej poprawki.
Podsumowanie
Pięć robotów obejmuje cykl życia tablicy: pobrać element — „Pobierz element tablicy po indeksie", policzyć — „Rozmiar tablicy / liczba elementów", sprawdzić — „Sprawdź obecność wartości w tablicy", zmienić pole wielokrotne — „Dodaj wartość do pola wielokrotnego" i „Usuń wartość z pola wielokrotnego". Wszystkie są w katalogu Roboteki, bezpłatnie z Bitrix24.Market. Nie ma potrzebnej operacji na tablicach — opisz zadanie, zrobimy robota bezpłatnie.