← Назад к заметкам

Заметки

БП стартует, но не меняет поле

БП стартует, но не меняет поле: тип поля, права, формат значения, стадия, обязательность.

Эта заметка про сценарий «БП стартует, но не меняет поле». Главная идея — не переносить решение вслепую между сделками, смарт-процессами, роботами и PHP-кодом, а проверить формат данных, права и точку запуска.

Когда использовать

Чек-лист нужен для первичной диагностики, чтобы не пропустить базовые причины.

Используйте его, когда проблема повторяется и нужно быстро отделить ошибку настройки от ошибки кода: Тип поля, права, формат значения, стадия, обязательность.

Чек-лист

Проходите пункты сверху вниз и фиксируйте результат проверки.

  • Проверьте, доходит ли процесс до действия изменения поля.
  • Проверьте формат значения: ID списка вместо текста, массив для множественного поля, user_1 для сотрудника.
  • Проверьте права пользователя, от имени которого выполняется изменение.
  • Проверьте, не является ли поле обязательным, зависимым или заблокированным настройками карточки.
  • Проверьте, не перезаписывает ли поле следующий робот или другой БП.
  • Проверьте, не пытаетесь ли изменить FM-поле как обычную строку.
  • Проверьте правильный код поля: UF_CRM_* или camelCase в универсальных методах.

Рабочий подход

После базовой диагностики станет понятно, куда копать дальше.

Если один из пунктов подтвердился, исправьте его и повторите сценарий на тестовой карточке. Если все пункты в порядке, переходите к журналу БП, логам PHP и проверке конкретного действия.

Частые ошибки

Главная ошибка — сразу переписывать процесс, не проверив инфраструктуру и формат данных.

Не делайте вывод по одной карточке. Сравните ручной запуск, импорт, запуск из кода и запуск от реального пользователя.