Есть SQL база ТиС 8 редакции. Сотня пользователей, несколько периферийных баз.
Подготавливая переход на новую совсем другую платформу, хочу получить возможность быстро заблокировать базу от изменений, но
(случаи разные бывают) нужна аварийная кнопка "Разрешить изменение БД".
Вот что придумал:
1. Создать константу «ПризнакБлокировки» .
2. Найти все места в конфе и сотнях внешних обработок, где программно меняются данные БД. Завязать их на п.1
3. Продублировать наборы прав – сделать аналоги существующих ТолькоЧтение.
4. Создать механизм переключения наборов прав (подменой UsrDef)
5. Протестировать включение и выключение записи в 1С.
Что забыл, кто решал такие задачи, что кроме ".Записать(" искать в п.2?
Подготавливая переход на новую совсем другую платформу, хочу получить возможность быстро заблокировать базу от изменений, но
(случаи разные бывают) нужна аварийная кнопка "Разрешить изменение БД".
Вот что придумал:
1. Создать константу «ПризнакБлокировки» .
2. Найти все места в конфе и сотнях внешних обработок, где программно меняются данные БД. Завязать их на п.1
3. Продублировать наборы прав – сделать аналоги существующих ТолькоЧтение.
4. Создать механизм переключения наборов прав (подменой UsrDef)
5. Протестировать включение и выключение записи в 1С.
Что забыл, кто решал такие задачи, что кроме ".Записать(" искать в п.2?
По теме из базы знаний
- Методика оперативного проведения и управляемые блокировки
- Тормоза на файловой базе - как избежать (из недавнего опыта)
- Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2/3.0
- PostgreSQL на Windows – реальная альтернатива для высоконагруженных систем на базе 1С
- Как система обмена данными помогает решить нетривиальные задачи, характерные для терабайтных баз: обрезка, обслуживание, балансировка нагрузки и другие
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) ivsher, 7.7 не работает, если есть какие-то ограничения по доступности базы.
(1) Зеленоград, внешние обработки - зло. Защититься от интерактивного изменения можно набором прав. И константы не надо, просто для изменения нужно будет заходить определенным пользователем. А вот внешние обработки придётся перепахивать вручную.
(1) Зеленоград, внешние обработки - зло. Защититься от интерактивного изменения можно набором прав. И константы не надо, просто для изменения нужно будет заходить определенным пользователем. А вот внешние обработки придётся перепахивать вручную.
Внешние обработки - добро, ибо они позволяют работать в базе не только разработчику :) Но наработано их реально много, так что сейчас допью чай и пойду их дорабатывать.
Делать непонятные рискованные вещи на сервере БД не стану. Дальний Восток входит в базу именно в то время, когда самый сладкий сон - пусть всё работает надёжно.
Делать непонятные рискованные вещи на сервере БД не стану. Дальний Восток входит в базу именно в то время, когда самый сладкий сон - пусть всё работает надёжно.
Теоретически, можно тонко понастраивать доступность таблиц в базе SQLными средствами. Большинство таблиц не требует обязательного ReadWrite. _1SUSERS должна быть доступна для записи. _1SCONNECT и _1SSYSTEM. И еще ряд таблиц _1S*.
Возможно удастся перевести базу в режим для просмотра. И не придётся перетряхивать внешние обработки. Главный недостаток в том, что при попытке чего-то записать в базу, 1С скорее всего тупо упадёт в критической ошибкой. Зато трудозатраты минимальны.
Но это я теоретизирую, там не пробовал.
Возможно удастся перевести базу в режим для просмотра. И не придётся перетряхивать внешние обработки. Главный недостаток в том, что при попытке чего-то записать в базу, 1С скорее всего тупо упадёт в критической ошибкой. Зато трудозатраты минимальны.
Но это я теоретизирую, там не пробовал.
На локальной БД я готов к таким экспериментам, но в продакшн такое даже предлагать не хочу. При любой ошибке будет непонятно - эта штука дала сбой или что-то старое. Пока множу права, затем разделю на обычный набор прав и ТолькоЧтение. Ещё думаю сделать новую периферийную БД, куда будут мигрировать изменённые объекты. При нормальном функционировании их там быть не должно, что появилось - то перезаписанное и таким образом попало в список для проверки.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот