Быстрая блокировка записи в базу

1. Зеленоград 30.11.15 12:39 Сейчас в теме
Есть SQL база ТиС 8 редакции. Сотня пользователей, несколько периферийных баз.

Подготавливая переход на новую совсем другую платформу, хочу получить возможность быстро заблокировать базу от изменений, но
(случаи разные бывают) нужна аварийная кнопка "Разрешить изменение БД".

Вот что придумал:

1. Создать константу «ПризнакБлокировки» .
2. Найти все места в конфе и сотнях внешних обработок, где программно меняются данные БД. Завязать их на п.1
3. Продублировать наборы прав – сделать аналоги существующих ТолькоЧтение.
4. Создать механизм переключения наборов прав (подменой UsrDef)
5. Протестировать включение и выключение записи в 1С.

Что забыл, кто решал такие задачи, что кроме ".Записать(" искать в п.2?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
6. Cooler 22 30.11.15 14:26 Сейчас в теме
(1) Зеленоград,
Что забыл, кто решал такие задачи, что кроме ".Записать(" искать в п.2?
Не решал, но навскидку вспомнилось Установить() для периодических реквизитов справочников и констант.
2. ivsher 30.11.15 13:40 Сейчас в теме
Если у вас скуль то в чем проблема установить режим базы только чтение?
3. vcv 89 30.11.15 13:48 Сейчас в теме
(2) ivsher, 7.7 не работает, если есть какие-то ограничения по доступности базы.
(1) Зеленоград, внешние обработки - зло. Защититься от интерактивного изменения можно набором прав. И константы не надо, просто для изменения нужно будет заходить определенным пользователем. А вот внешние обработки придётся перепахивать вручную.
4. ivsher 30.11.15 13:53 Сейчас в теме
(3) vcv, честно говоря никогда не пробовал :). Но это первое что мне пришло в голову. Сейчас проверю :)
p/s ваша правда не работает. но я думаю можно заставить, но это уже будет за рамками лицензии.
5. Зеленоград 30.11.15 14:17 Сейчас в теме
Внешние обработки - добро, ибо они позволяют работать в базе не только разработчику :) Но наработано их реально много, так что сейчас допью чай и пойду их дорабатывать.

Делать непонятные рискованные вещи на сервере БД не стану. Дальний Восток входит в базу именно в то время, когда самый сладкий сон - пусть всё работает надёжно.
7. vcv 89 30.11.15 18:46 Сейчас в теме
Теоретически, можно тонко понастраивать доступность таблиц в базе SQLными средствами. Большинство таблиц не требует обязательного ReadWrite. _1SUSERS должна быть доступна для записи. _1SCONNECT и _1SSYSTEM. И еще ряд таблиц _1S*.
Возможно удастся перевести базу в режим для просмотра. И не придётся перетряхивать внешние обработки. Главный недостаток в том, что при попытке чего-то записать в базу, 1С скорее всего тупо упадёт в критической ошибкой. Зато трудозатраты минимальны.
Но это я теоретизирую, там не пробовал.
8. Зеленоград 30.11.15 19:21 Сейчас в теме
На локальной БД я готов к таким экспериментам, но в продакшн такое даже предлагать не хочу. При любой ошибке будет непонятно - эта штука дала сбой или что-то старое. Пока множу права, затем разделю на обычный набор прав и ТолькоЧтение. Ещё думаю сделать новую периферийную БД, куда будут мигрировать изменённые объекты. При нормальном функционировании их там быть не должно, что появилось - то перезаписанное и таким образом попало в список для проверки.
Оставьте свое сообщение

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