Динамічне оновлення

Зміст
  1. Динамічне оновлення
  2. Проблеми при виконанні динамічного оновлення
  3. Забивається КЕШ
  4. Пошкоджувалась таблиця config

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

Сьогодні ми розберемося з новим функціоналом BAS - Динамічне оновлення.

Динамічне оновлення

Починаючи з версії  8.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 )
Коментарі
Поки немає відгуків
Написати коментар

Зв'яжіться з нами

Якщо ви хочете отримати більше інформації, заповніть цю форму. Ми зв'яжемося з вами найближчим часом.

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