Заметки
Что проверить перед увольнением сотрудника
Что проверить перед увольнением сотрудника: Ответственные, задачи, группы, вебхуки, ОЛ, документы.
Что проверить перед увольнением сотрудника. Основной фокус: Ответственные, задачи, группы, вебхуки, ОЛ, документы.
Задача
Разобрать задачу, комментарии, файлы или права в модуле задач без лишних обходных решений.
Задача — что проверить перед увольнением сотрудника. Ответственные, задачи, группы, вебхуки, ОЛ, документы.
Главное — не искать один универсальный метод, а сначала определить сущность, права и слой API, через который выполняется действие.
Как это устроено
В задачах важно отличать саму задачу, комментарии, чек-листы, файлы Диска и CRM-привязки. REST и старое PHP API часто возвращают разные формы одного и того же сценария.
Разложите сценарий на уровни: где появляется исходное значение, какой метод его меняет, кто выполняет действие и какое событие должно сработать после изменения.
Если сценарий проверяется под администратором, отдельно повторите его под обычным пользователем. Для прав, CRM, задач, Диска и приложений это часто даёт другой результат.
Рабочий подход
Сначала получите задачу от имени пользователя с реальным доступом, явно укажите нужные поля в select, а затем отдельно проверяйте комментарии, файлы и чек-листы. Не делайте вывод по администратору: у него картина прав обычно лучше, чем у обычного сотрудника.
Составьте список объектов, где сотрудник остаётся владельцем или ответственным: CRM, задачи, группы, открытые линии, вебхуки, документы и роботы.
На коробке удобнее добавлять временное логирование рядом с местом выполнения кода, а в облаке — сохранять входящие и исходящие REST-запросы в свой журнал интеграции.
Частые ошибки
Частая ошибка — смотреть только ID задачи и забывать про права, scope приложения, поля UF_TASK_WEBDAV_FILES и доступ к файлам на Диске.
- Проверять сценарий только под администратором и не видеть проблему прав обычного пользователя.
- Смешивать ID разных сущностей: задачу, файл Диска, CRM-дело, товарную строку или пользователя.
- Не логировать фактический запрос и ответ, из-за чего ошибка выглядит случайной.