Динамическое обновление BAS

Эта статья была обновлена 01 Апреля 2023, Сб
Оглавление
  1. Динамическое обновление
  2. Проблемы при выполнении динамического обновления
  3. Забивается КЭШ
  4. Повреждалась таблица config

1С Ошибка инициализации

Динамическое обновление

Реализована возможность обновления конфигурации базы данных без прерывания работы пользователей в тех случаях, когда изменения не затрагивают структуры данных. Активные пользователи, для того, чтобы начать работать с измененной конфигурацией, должны перезапустить клиентское приложение.

В BAS это реализовано вот так:

Динамическое обновление

Казалось бы замечательный инструмент, но не все так просто.

Проблемы при выполнении динамического обновления

Забивается КЭШ

Часто, при использовании динамического обновления конфигурации, у пользователей забивается кэш и программа не работает так, как надо. Проблема устраняется путем чистки кэша у пользователей. Но основная загвоздка в том, что не возможно определить у какого пользователя (особенно если их больше 100) кэшированные модули соответствуют текущей версии конфигурации, а у какого нет. 

Такая дорога обычно ведет к скриптам автоматической очистки кэша и т.д. Нужно это вам или нет, решать вам.

Повреждалась таблица config

Были случаи, когда повреждалась таблица config в бд, приходилось исправлять ручками. В SQL версии проще, средствами администрирования можно снести ненужную запись. А вот с файловой посложнее, править можно через HEX редактор, почти наугад.

Вот пример для SQL:

В configsave хранятся только измененные объекты, не вся конфигурация. 

При обновлении конфигурации записи из configsave копируются в config замещая аналогичные записи, потом таблица configsave очищается, а в таблице config записи где FileName = 'commit' и FileName = 'dynamicCommit' удаляются. 

  1. Очистить таблицу configsave, если она полная. 

В конструкторе запросов SQL:

  1. delete from config where FileName = 'commit' 
  2. delete from config where FileName = 'dynamicCommit' 

Другие записи, в том числе, где FileName = 'root', FileName = 'DynamicallyUpdated', FileName = ' version', FileName = 'versions' трогать не надо. 

Можно удалить запись, где FileName = 'dbStruFinal', но она в принципе не влияет на загрузку, удалится сама при очередном обновлении.

И это далеко не полный перечень проблем, которые может вызвать динамическое обновление. Пользоваться им или нет – решать вам.

Так же, наша компания проводит обучение по курсам:

 Обучение проводится в вечернее время, что позволит вам не отрываться от работы или обучения, практикующим программистом нашей компании.

Если у вас остались вопросы, Вы всегда можете обратиться к нашим аналитикам по телефонам:
(093) 090-70-20
(095) 090-70-20
(068) 090-70-20

( 12 )
Комментарии
Пока нет комментариев
Написать комментарий

Свяжитесь с нами

Если вы хотите получить больше информации, заполните эту форму. Мы свяжемся с вами в ближайшее время.

(073) 090-70-20 (095) 090-70-20 (068) 090-70-20 info@finsoft.ua