1. При реализации backend API вручную или следуя нашим инструкциям, Scheduler не отображает события на странице.
или
2. Возникают трудности с сохранением изменений в backend.
Причины и решения некорректного поведения могут различаться на разных платформах, и в этой статье они не рассматриваются.
Задача данной статьи — провести вас через типовые шаги по поиску и анализу подобных проблем. После того, как проблема будет найдена и понята, её исправление обычно не составляет труда.
1. Откройте инструменты разработчика в браузере и перезагрузите страницу. Появляются ли сообщения об ошибках в консоли?

2. Если ошибки есть, проанализируйте их и проверьте, сможете ли устранить их самостоятельно. Если нет — переходите к следующему шагу.
1. Откройте вкладку Network и убедитесь, что видны запросы XHR.
2. Перезагрузите страницу и найдите запрос, отвечающий за загрузку данных с backend. Убедитесь, что он отправляется по правильному URL, и проверьте статус ответа.

Есть ли ошибки?
Статус 404 означает, что либо URL, переданный в метод scheduler.init, указан неверно, либо есть проблема с настройками маршрутизации вашего приложения.
Выберите нужный запрос и посмотрите предварительный просмотр ответа или его содержимое.

Похоже ли содержимое на ожидаемый формат данных?
Это говорит о проблеме с кодом backend или настройками соединения с базой данных.
Обычно ответ с ошибкой содержит достаточно информации для поиска причины. Если вы видите только стандартную ошибку 500 server error, возможно, потребуется временно отключить пользовательские страницы ошибок на сервере, чтобы увидеть реальное сообщение об ошибке. Способ зависит от вашей платформы. Если вы не уверены, попробуйте поискать "disable custom error page in <%your server or framework%>".
Внимательно проверьте свойства id, start_date и end_date.
id — события с одинаковым id объединяются. Если у пяти событий одинаковый id, будет показано только одно.
start_date, end_date — убедитесь, что формат дат соответствует формату, указанному в настройке date_format Scheduler.
Если формат даты не соответствует ожиданиям Scheduler, события могут иметь некорректные даты и не отображаться, либо отображаться на неправильные даты.
Обычно xml_date задаётся до вызова scheduler.init следующим образом:
scheduler.config.xml_date="%Y-%m-%d %H:%i";
Проверьте данные, хранящиеся в вашей базе данных; скорее всего, проблема именно там. Если форматы дат не совпадают, либо обновите настройку date_format, либо исправьте код, который сериализует даты задач перед отправкой клиенту.
1. Откройте консоль браузера и выполните команду scheduler.getEvents().
2. Посмотрите вывод в консоли — это должен быть массив событий.

Обратите внимание на поля start_date и end_date в некоторых записях. Если вы видите invalid date или неожиданные значения вроде 1970 или 2038 года, это указывает на проблему с форматом date_format.
Если вы используете расширение recurring, метод scheduler.getEvents() не вернёт данные, если не указать параметры дат from/to. Для этой проверки попробуйте временно убрать расширение recurring со страницы.
Если вы используете представления Units или Timeline, события могут не отображаться, если они не привязаны ни к одному разделу unit или timeline.
Для проверки можно установить skip_incorrect:false для Units view:
scheduler.createUnitsView({
name:"unit",
...
skip_incorrect:false
});
Или show_unassigned: true для Timeline view:
scheduler.createTimelineView({
name:"timeline",
...
show_unassigned: true
});
Если это ваш случай, события появятся в первом разделе Units/Timeline после обновления конфигурации и перезагрузки. Затем проверьте настройки property или y_property в Units или Timeline, а также соответствующие свойства событий.
Если явных проблем не найдено, проверьте код на предмет того, не скрываются ли события фильтром.
Если ни один из шагов не помог, либо не отображаются события и нет ошибок в консоли, попробуйте задать вопрос на нашем форуме или обратиться в техническую поддержку.
Обязательно приложите всю собранную информацию по этим шагам.
Кроме того, нашей команде потребуется минимальный воспроизводимый пример: либо отдельный архив с упрощённым приложением (страница scheduler, все необходимые файлы, дамп базы данных с тестовыми данными или статический JSON-файл с загружаемыми данными), либо онлайн-ссылка, где проблему можно проверить прямо в браузере.
Наверх