Skip to content

Konfiguracja

Konfiguracja komponentów Flexible Team Share, synchronizacji właściciela i zaplanowanych zadań.

Konfiguracja komponentu

Komponent Object Team Member można skonfigurować bezpośrednio w Lightning App Builder za pomocą następujących właściwości:

WłaściwośćTypDomyślnieOpis
Card TitleStringTeam MembersTytuł wyświetlany na karcie komponentu
Max Displayed MembersInteger5Maksymalna liczba członków zespołu wyświetlanych przed zwinięciem. Ustaw na 0, aby wyświetlić wszystkich

Gdy liczba członków zespołu przekroczy skonfigurowany limit, lista jest zwijana i wyświetla przycisk “Show all (X more)”. Kliknięcie go rozwija pełną listę, z przyciskiem “Show less”, aby zwinąć ją ponownie. Właściciel rekordu zawsze pojawia się jako pierwszy na liście, niezależnie od limitu wyświetlania.

Zwinięta lista członków zespołu

Lightning App Builder — właściwości komponentu

Zachowanie limitu wyświetlania

UstawienieZachowanie
Max Displayed Members = 5 (domyślnie)Pokazuje pierwszych 5 członków, “Show X more” dla pozostałych
Max Displayed Members = 0Wszyscy członkowie zespołu widoczni, bez zwijania/rozwijania
Max Displayed Members = 3 (niestandardowe)Pokazuje pierwszych 3 członków, “Show X more” dla pozostałych

Role członków zespołu

Dodając użytkowników do zespołu, przypisujesz im jedną z następujących ról:

RolaOpisMożliwości
OwnerWłaściciel rekorduAutomatycznie przypisywana przy tworzeniu rekordu. Nie można jej ręcznie przypisać ani usunąć. Ma pełny dostęp do zarządzania członkami zespołu. Usuwana automatycznie, gdy w zespole nie ma innych użytkowników.
ManagerAdministrator zespołuMoże dodawać, edytować i usuwać członków zespołu. Użyj tej roli dla użytkowników, którzy muszą zarządzać składem zespołu.
UserStandardowy członek zespołuMoże przeglądać listę członków zespołu, ale nie może jej modyfikować. Użyj tej roli dla użytkowników, którzy potrzebują tylko dostępu do rekordu.

Komponent Team Members pokazujący role

Synchronizacja zmiany właściciela

Gdy właściciel rekordu się zmienia (np. konto jest przypisane do innego przedstawiciela handlowego), członek zespołu Owner NIE jest automatycznie aktualizowany. System tworzy rekord Owner, gdy dodawany jest pierwszy członek zespołu, ale nie śledzi późniejszych zmian właściciela w rekordzie nadrzędnym.

Aby synchronizować właściciela zespołu z właścicielem rekordu, należy utworzyć Record-Triggered Flow.

Konfiguracja za pomocą Flow (zalecane)

  1. Przejdź do Setup > Flows
  2. Kliknij New Flow > Record-Triggered Flow
  3. Wybierz obiekt (np. Account)
  4. Skonfiguruj trigger: “A record is updated”
  5. Dodaj warunek wejścia: Formula > ISCHANGED({!$Record.OwnerId}) jest równe true
  6. Ustaw “When to Run the Flow” na “After the record is saved”
  7. Dodaj element Action
  8. Wyszukaj “Sync Team Member Owner”
  9. Ustaw parametr “Record ID” na {!$Record.Id}
  10. Pozostaw “Object API Name” puste (automatycznie wyprowadzane z Record ID)
  11. Zapisz i aktywuj Flow

Flow Builder - Flow synchronizacji właściciela Konfiguracja akcji Sync Team Member Owner

Konfiguracja za pomocą triggera Apex

trigger AccountOwnerSync on Account(after update) {
  List<tucariofts.SyncOwnerInvocable.SyncOwnerRequest> requests =
    new List<tucariofts.SyncOwnerInvocable.SyncOwnerRequest>();

  for (Account acc : Trigger.new) {
    Account oldAcc = Trigger.oldMap.get(acc.Id);
    if (acc.OwnerId != oldAcc.OwnerId) {
      tucariofts.SyncOwnerInvocable.SyncOwnerRequest req =
        new tucariofts.SyncOwnerInvocable.SyncOwnerRequest();
      req.recordId = acc.Id;
      requests.add(req);
    }
  }

  if (!requests.isEmpty()) {
    tucariofts.SyncOwnerInvocable.syncOwners(requests);
  }
}

Wywołanie z kodu Apex (pojedynczy rekord)

tucariofts.SyncOwnerInvocable.SyncOwnerRequest request =
    new tucariofts.SyncOwnerInvocable.SyncOwnerRequest();
request.recordId = accountId;

List<tucariofts.SyncOwnerInvocable.SyncOwnerResult> results =
    tucariofts.SyncOwnerInvocable.syncOwners(
        new List<tucariofts.SyncOwnerInvocable.SyncOwnerRequest>{ request }
    );

if (results[0].success) {
    System.debug('Owner synced: ' + results[0].oldOwnerId +
                 ' → ' + results[0].newOwnerId);
} else {
    System.debug('Sync failed: ' + results[0].message);
}

Obiekt wyniku

PoleTypOpis
successBooleanCzy synchronizacja się powiodła
messageStringKomunikat wyniku lub szczegóły błędu
oldOwnerIdIdPoprzedni User ID właściciela
newOwnerIdIdNowy User ID właściciela

Scenariusze błędów

ScenariuszWynik
Brak członków zespołu w rekordziesuccess = false, “No Owner team member found”
Właściciel bez zmiansuccess = true, “Owner unchanged, no update needed”
Record ID nullsuccess = false, “Record ID is required”
Nieprawidłowy record IDsuccess = false, komunikat błędu

Ważne ograniczenia

Właściciele w postaci kolejek nie są obsługiwani — Flexible Team Share nie obsługuje kolejek jako właścicieli zespołów. Gdy rekord jest własnością kolejki:

  • System używa bieżącego użytkownika (osoby, która jako pierwsza dodaje członka zespołu) jako właściciela w zespole
  • Jeśli później zmienisz właściciela rekordu z kolejki na użytkownika, uruchom akcję Sync Owner, aby zaktualizować zespół
  • Jeśli zmienisz właściciela z użytkownika na kolejkę, właściciel zespołu pozostanie jako poprzedni użytkownik

Flow musi być utworzony dla każdego obiektu — należy utworzyć oddzielny Record-Triggered Flow dla każdego typu obiektu, dla którego chcesz synchronizacji właściciela. Invocable Action działa z dowolnym obiektem, ale Salesforce wymaga oddzielnych Record-Triggered Flows dla każdego obiektu.

Dostęp czasowy z datą końcową

Dodając członka zespołu, możesz opcjonalnie ustawić datę końcową, aby przyznać tymczasowy dostęp do rekordu. Jest to przydatne w przypadku:

  • Współpracy projektowej z określonymi ramami czasowymi
  • Konsultantów lub wykonawców tymczasowych
  • Pokrycia urlopu lub delegowania odpowiedzialności
  • Okresów audytu lub przeglądu

Jak to działa

  1. Dodając lub edytując członka zespołu, ustaw pole End Date na ostatni dzień, w którym powinien mieć dostęp
  2. Członek zespołu zachowuje pełny dostęp do końca tego dnia
  3. Po upływie daty końcowej zaplanowane zadanie czyszczenia automatycznie usuwa członka zespołu i cofa jego dostęp

Członek zespołu z datą końcową

Proces automatycznego czyszczenia

  • Zaplanowane zadanie wsadowe uruchamia się codziennie (domyślnie o 2:00) w celu usunięcia wygasłych członków zespołu
  • Gdy członek zespołu jest usuwany, jego rekord udostępnienia jest również usuwany, cofając dostęp do rekordu
  • Zadanie czyszczenia można zarządzać z Configuration Wizard

Zarządzanie zaplanowanym zadaniem

Zaplanowane zadanie

Flexible Team Share zawiera automatyczne zadanie czyszczenia, które usuwa wygasłych członków zespołu. To zadanie jest automatycznie planowane podczas instalacji pakietu.

Weryfikacja zadania

  1. Przejdź do Setup > Scheduled Jobs
  2. Poszukaj Flexible Team Share - Expired Member Cleanup
  3. Zweryfikuj, że zadanie jest zaplanowane na codzienne uruchomienie

Zaplanowane zadania w Setup

Ręczne zarządzanie zadaniem

Administratorzy mogą zarządzać zadaniem czyszczenia z Configuration Wizard:

  • Schedule Job — ręcznie zaplanuj, jeśli nie jest uruchomione
  • Unschedule Job — zatrzymaj automatyczne czyszczenie
  • Run Now — wykonaj czyszczenie natychmiast

Rozwiązywanie problemów

Ostrzeżenie “Configuration Not Found”

Objaw: pojawia się okno ostrzegawcze informujące, że nie istnieje konfiguracja dla tego obiektu.

Przyczyna: komponent Team Member został dodany do strony rekordu przed skonfigurowaniem obiektu w Configuration Wizard.

Rozwiązanie:

  1. Przejdź do Configuration Wizard (aplikacja Flexible Team Share > Configuration)
  2. Dodaj i wdróż konfigurację dla tego obiektu
  3. Wróć do strony rekordu — komponent powinien teraz działać poprawnie

Ostrzeżenie Configuration Not Found

Błąd “No Access”

Objaw: komponent wyświetla komunikat “No Access” z ikoną kłódki zamiast członków zespołu.

Przyczyna: bieżący użytkownik nie ma przypisanego wymaganego Permission Set Group.

Rozwiązanie:

  1. Przejdź do Setup > Permission Set Groups
  2. Przypisz Admin lub User Permission Set Group do użytkowników, których to dotyczy
  3. Użytkownicy mogą potrzebować wylogowania i ponownego zalogowania, aby zmiany weszły w życie

Błąd No Access

Błąd “This operation requires the FTS Admin permission set” nie znika

Objaw: podczas wdrażania konfiguracji w Configuration Wizard (po wybraniu obiektu i kliknięciu Deploy Settings) pojawia się błąd “This operation requires the FTS Admin permission set” — mimo że Permission Set Flexible Team Share - Admin został już przypisany użytkownikowi.

Przyczyna: jest to specyfika buforowania uprawnień w Salesforce. Po przypisaniu Permission Set, Salesforce czasami nadal ocenia uprawnienia na podstawie poprzedniego stanu uprawnień użytkownika w aktywnej sesji, przez co nowo przyznany dostęp nie jest rozpoznawany od razu.

Rozwiązanie:

  1. Zweryfikuj, że Permission Set Flexible Team Share - Admin (lub Admin Permission Set Group) jest przypisany użytkownikowi w Setup > Permission Set Groups / Permission Sets
  2. Wykonaj twarde odświeżenie w przeglądarce, aby wymusić ponowną ocenę uprawnień przez Salesforce:
    • Windows: Ctrl + Shift + R
    • Mac: Cmd + Shift + R
  3. Jeśli błąd nadal występuje, wyloguj się i zaloguj ponownie, aby rozpocząć nową sesję
  4. Ponów akcję Deploy Settings — operacja powinna teraz zakończyć się powodzeniem

Ostrzeżenie “Limit Reached”

Objaw: przycisk “Add Team Member” jest wyłączony i komunikat wskazuje, że osiągnięto limit.

Przyczyna: osiągnięto maksymalną dozwoloną liczbę członków zespołu.

Rozwiązanie: usuń nieaktywnych lub niepotrzebnych członków zespołu, aby zwolnić miejsca.

Członkowie zespołu w limicieCzłonkowie zespołu poza limitem
W limiciePonad limit

Szczegóły ostrzeżenia o osiągnięciu limitu

Udostępnianie nie działa

Objaw: członkowie zespołu są pomyślnie dodawani, ale nie mogą uzyskać dostępu do rekordu.

Przyczyna: Organization-Wide Default (OWD) obiektu jest ustawione na Public Read/Write.

Rozwiązanie:

  1. Przejdź do Setup > Sharing Settings
  2. Zmień OWD obiektu na Private lub Public Read Only
  3. Uwaga: zmiana ustawień OWD może wpłynąć na dostęp innych użytkowników — skonsultuj się z administratorem Salesforce

Wsparcie

W przypadku pytań lub problemów prosimy o kontakt na adres [email protected].