Виктория здравсвуйте.
Что значит "автоматическую синхронизацию"?
Опишите пожалуйста функционал который Вы бы хотели видеть и чем не подходят текущие настройки.
Здравствуйте!
Руководитель компании хочет, чтобы после входа в приложение каждые 5 минут происходила синхронизация без нажатия на кнопку, сама по себе.
Возможно ли такое?
И в каком модуле нужно прописывать код?
Все-таки Online синхронизация не подходит, потому что без доступа к интернету не будет возможности создавать и просматривать записи. А нам этот вариант не подходит.
Все-таки возможно ли реализовать автоматическую синхронизацию?
И в какой схеме нужно прописать код?
А правильно ли я понимаю, что для реализации автоматической синхронизации, мне необходимо использовать setInterval и clearInterval?
При чем при загрузке приложения стартовая страница это раздел Лиды.
То есть можно при инициализации страницы реестра вызвать setInterval?
А нужно ли вызывать clearInterval или после выхода из системы он сам автоматически завершится?
И получается мне нужно переопределить страницу грида?
Или автоматическую синхронизацию можно реализовать по-другому?
1. Да, для того, чтобы синхронизация запускалась через какой-то период, можно использовать setInterval().
2. Да, можно сделать этот запуск на инициализации страницы реестра Лида, если у Вас гарантированно эта страница открывается при старте.
3. clearInterval() вызывать не обязательно.
4. Да, как вариант, можно реализовать подобное на инициализации реестра Лида. Контроллер будет выглядеть примерно так:
Но нужно понимать следующее:
- Поскольку Javascript - однопоточный, то и синхронизация будет выполняться в основном потоке приложения. Это может привести к тому, что в случае обращения к одному и тому же объекту приложение будет "тупить". Т.е. если пользователь пытается найти Контакта и в этот же момент синхронизация тоже будет обращаться к Контактам (например, будет добавлять новые записи в этот объект), то UI приложения будет тормозить\зависать, пока сохранение не завершится.
- В приведенном выше коде после выполнения синхронизации осуществляется рестарт приложения (Terrasoft.core.redirectToMainPage();). Обычно мы это делаем для того, чтобы конфигурационные изменения, загруженные в ходе синхронизации, применились (например, Вы добавили новую колонку в карточку редактирования и хотите, чтобы у всех пользователей это изменение появилось). Но в Вашем случае, возможно, этого делать не нужно (пользователям вряд ли понравится, что приложение вдруг взяло и перегрузилось).
- Если Вам нужно просто передавать данные в bpm'online, то достаточно указать свойство exportOnly