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