Автоматическое обновление данных в справочниках

1. SolertElit 15.09.20 09:14 Сейчас в теме
Здравствуйте. Пытаюсь синхронизировать базу 1С с внешней базой MS Access, режим работы 1С - файловый, версия - 8.3.13. Создал регламентное задание, которое раз в 60 секунд забирает новые данные, настроил, всё работает. Но данные в уже открытых справочниках не меняются, пока не нажмешь обновить (F5). Можно это как-то автоматизировать? (Например, чтобы раз в 60 с. обновлялись)
По теме из базы знаний
Найденные решения
4. malikov_pro 1293 15.09.20 09:24 Сейчас в теме
Если быть точнее, то в открытых списках справочников.
Решение со стороны пользователя
https://its.1c.ru/db/metod8dev/content/2410/hdoc

Элементы.Список.Обновить();
11. SlavaKron 15.09.20 09:58 Сейчас в теме
Используйте свойства таблицы динамического списка АвтоОбновление и ПериодАвтоОбновления.
Остальные ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. FatPanzer 15.09.20 09:19 Сейчас в теме
То есть, пользователь открыл справочник, вносит изменения, а система - рррраз, и затирает ему все изменения!! Так?
Подумайте хорошо, прежде чем планировать такую функциональность.

Но если надумаете - то в каждой форме элемента справочника вам придется ПодключитьОбработчикОжидания(), который будет перечитывать объект из БД.

Ваши пользователи будут несказанно рады! Да и системе лишний вызов сервера не помешает.
5. FatPanzer 15.09.20 09:25 Сейчас в теме
(2) Ну если речь про списки справочников, то тогда сложнее...
7. SolertElit 15.09.20 09:36 Сейчас в теме
(5) Да, речь шла о списках справочников
3. VZyryanov 15.09.20 09:21 Сейчас в теме
После получения данных попробуйте вызвать процедуру ОповеститьОбИзменении.
6. comptr 31 15.09.20 09:33 Сейчас в теме
(3)
ОповеститьОбИзменении

уведомляет динамические списки. И я не уверен, что это распространяется на другие сеансы.
Сам по себе объект не перечитается.

(1) Перед обновлением формы стоит проверять её Модифицированность и перед записью спрашивать об этом пользователя. Хотя, по идее, если объект модифицирован и не записан, то он заблокирован этим пользователем и фоновым заданием не обновится. Скорее возникнет другая ситуация - объект изменится в фоновом задании, но ещё не перечитается у пользователя, пользователь начнет его редактировать, но сохранить не сможет, платформа не позволит, так как версия документа изменилась.
8. FatPanzer 15.09.20 09:36 Сейчас в теме
(6) Проще говоря - встает вопрос о мастер-системе для некоторых справочников.
9. SolertElit 15.09.20 09:43 Сейчас в теме
(6) (8) По сути пользователям менять там ничего не нужно, все данные хранятся и изменяются только в основной программе, 1С нужна ради отчетов и потому что бухгалтеры к ней привыкли.

ОповеститьОбИзменении() работает, но не получается вызвать ее из общего модуля, который запускает регламентное задание
10. FatPanzer 15.09.20 09:45 Сейчас в теме
(9) Потому что клиентский метод нельзя вызвать с сервера...
4. malikov_pro 1293 15.09.20 09:24 Сейчас в теме
Если быть точнее, то в открытых списках справочников.
Решение со стороны пользователя
https://its.1c.ru/db/metod8dev/content/2410/hdoc

Элементы.Список.Обновить();
11. SlavaKron 15.09.20 09:58 Сейчас в теме
Используйте свойства таблицы динамического списка АвтоОбновление и ПериодАвтоОбновления.
12. slasher777 28.09.20 14:41 Сейчас в теме
Перед обновлением формы стоит проверять её Модифицированность и перед записью спрашивать об этом пользователя. Хотя, по идее, если объект модифицирован и не записан, то он заблокирован этим пользователем и фоновым заданием не обновится. Скорее возникнет другая ситуация - объект изменится в фоновом задании, но ещё не перечитается у пользователя, пользователь начнет его редактировать, но сохранить не сможет, платформа не позволит, так как версия документа изменилась.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот