Динамічне оновлення 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