Skip to main content
Отображайте данные из связанных записей прямо в ваших записях — например, показывайте численность сотрудников из компании в её сделках. Этот обходной путь с рабочим процессом полезен, пока вложенные поля не поддерживаются нативно.

Типичные случаи использования

Базовое копирование полей

Пример: копирование Email контакта в сделку

Цель: При указании контактного лица в сделке скопируйте его email в сделку для быстрого доступа.

Предварительное условие

Создайте целевые поля в Settings → Data Model → Opportunities перед созданием рабочего процесса:
  • Email контакта (тип: Email)
  • Телефон контакта (тип: Phone)

Настройка

  1. Триггер: Запись обновлена (Сделки, поле Контактное лицо)
  2. Фильтр: Проверьте, что поле Контактное лицо не пустое
  3. Поиск записей: найдите связанного контакта
    • Объект: Контакты
    • Фильтр: ID равен {{trigger.object.pointOfContact.id}}
  4. Обновление записи:
    • Объект: Сделки
    • Запись: {{trigger.object.id}}
    • Email контакта: {{searchRecords[0].email}}
    • Телефон контакта: {{searchRecords[0].phone}}

Копирование нескольких полей

Пример: синхронизация данных компании со всеми связанными сделками

Цель: Когда данные компании меняются, обновляйте все связанные сделки.

Настройка

  1. Триггер: Запись обновлена (Компании)
    • Поля: отрасль, размер компании, годовой доход
  2. Поиск записей: найдите все сделки для этой компании
    • Объект: Сделки
    • Фильтр: ID компании равен {{trigger.object.id}}
  3. Итератор: цикл по каждой сделке
  4. Обновление записи (внутри итератора):
    • Объект: Сделки
    • Запись: {{iterator.currentItem.id}}
    • Отрасль компании: {{trigger.object.industry}}
    • Размер компании: {{trigger.object.companySize}}
    • ARR компании: {{trigger.object.annualRevenue}}

Копирование при создании записи

Пример: предзаполнение сделки данными компании

Цель: При создании сделки, связанной с компанией, автоматически копируйте ключевую информацию о компании.

Предварительное условие

Создайте целевые поля в Settings → Data Model → Opportunities:
  • Отрасль компании (тип: Text)
  • Размер компании (тип: Number)

Настройка

  1. Триггер: Запись создана (Сделки)
    • Фильтр: поле Компания не пустое
  2. Поиск записей: получите сведения о связанной компании
    • Объект: Компании
    • Фильтр: ID равен {{trigger.object.company.id}}
  3. Обновление записи:
    • Объект: Сделки
    • Запись: {{trigger.object.id}}
    • Отрасль компании: {{searchRecords[0].industry}}
    • Размер компании: {{searchRecords[0].employees}}
Ограничение для задач и заметок: связи в задачах и заметках жёстко заданы как многие-ко-многим и пока недоступны в триггерах или действиях рабочего процесса. Чтобы получить доступ к этим связям, вместо этого используйте API.

Двунаправленная синхронизация

Пример: синхронизация основного контакта

Цель: Когда в компании меняется основной контакт, обновляйте контакт. Когда контакт становится основным, обновляйте компанию.

Рабочий процесс 1: Компания → Контакт

  1. Триггер: Запись обновлена (Компании, поле Основной контакт)
  2. Обновление записи: установите у контакта “Is Primary Contact” в значение true
  3. Поиск записей: найдите предыдущего основного контакта
  4. Обновление записи: установите у предыдущего контакта “Is Primary Contact” в значение false

Рабочий процесс 2: Контакт → Компания

  1. Триггер: Запись обновлена (Контакты, Is Primary Contact = true)
  2. Обновление записи: установите у компании поле Primary Contact на этого контакта
Осторожнее с двунаправленными синхронизациями, чтобы избежать бесконечных циклов. Используйте фильтры, чтобы проверять, действительно ли значение изменилось, прежде чем обновлять.

Использование кода для сложного сопоставления

Пример: преобразование данных при копировании

Цель: Скопировать и отформатировать номер телефона из контакта в сделку.

Лучшие практики

Избегайте циклов

  • Не создавайте рабочие процессы, которые бесконечно запускают друг друга
  • Используйте конкретные условия для полей
  • Добавляйте проверки, что значение действительно изменилось

Обработка отсутствующих данных

  • Всегда проверяйте, что исходная запись существует, перед копированием
  • Задавайте значения по умолчанию для необязательных полей
  • Используйте фильтры, чтобы пропускать случаи, когда исходное поле пусто

Производительность

  • Выполняйте пакетные обновления при копировании во множество записей
  • Используйте запланированные рабочие процессы для массовых операций синхронизации
  • Рассмотрите использование Итератора для обновления множества записей

Связанные материалы