Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Запрет динамического обновления
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
kivals
Навеяно темой необходимо зарегистрироваться для просмотра ссылки
Обновляю базу из репозитория (хранилища) 1С из коммандной строки.
Строка имеет следующий вид:
Цитата
"C:\Program Files\1cv82\8.2.13.219\bin\1cv8.exe" DESIGNER /S localhost/DBName /N DBUser /P DBPass /ConfigurationRepositoryF необходимо зарегистрироваться для просмотра ссылки /ConfigurationRepositoryN RepUser /ConfigurationRepositoryP RepPass /ConfigurationRepositoryUpdateCfg -force /UpdateDBCfg


Изредка проскакивает динамическое обновление sad.gif
Можно ли как-то отключить его в параметрах? Во встроенной справке не нашел.
vbi
Нужно из командной строки тогда сперва повыкидать всех пользователей а также запретить на время регламентные задания. Тогда никакого динамического обновления не будет.
kivals
Не подходит.
Мне нужен более простой вариант:
Если есть возможность обновить не динамически - обновить, нет возможности - записать в лог причину и выйти.

Потому как предложенный вариант сложный:
1. Поставить блокировку на вход
2. Поставить блокировку регламентных заданий
3. Выкинуть пользоватлей - нужно "мягко" - вдруг кто что-то важное делает?
4. Проверить что все вышли (как?), если нет - подождать (а остальные работать не могут)
5. Обновиться
6. Включить реглавментные задания
7. Снять блокировку на вход
8. Оповестить пользовтелей что можно входить (как?)

Предвидя возражения по п.3 и 4 - у меня есть небольшой проект с круглосуточным (международным) доступом
vbi
Вы сами себе перечите. Отключить динамическое обновление - означает обновлятся не динамически, а для этого необхлдимо чтобы все вышли из бази, так же завершились и регламентные задания (именно динамическое обновление предназначено для обновления без выхода пользователей). Я так понимаю, вы хотите чтобы 1С все сделала сама? В 1С, в меню сервис->пользователи (полный интерфейс) есть обработка "Блокировка установки соединений с информационной базой". В ней можно установить период блокировки и и саму галочку блокировки. При этом в даный период пользователи не могут зайти в базу, а работающие пользователи получают предупреждение о завершении работы. Все открытые документы автоматически сохраняются, все безопасно закрывается и пользователи безопасно выкидаются (как и регламентные задания).
Создайте специального пользователя, при входе которого будет запускатся эта обработка, программно устанавливатся блокировка и т. д., или же создайте регламентное задание, которое будет выкидать всех в определенный момент, в который Вы сможете обновлять ИБ.
А еще лучше обновлять ИБ вручную, и за это брать деньги biggrin.gif

Кстате на счет пункта 3 - можно обновлять автоматически в 4 утра, и всех предупредить, что в 4 утра база обновляется и работать тогда не надо ))
alex040269
1) Есть обработка, которая позволяет посмотреть (выбросить) пользователей
2) Завести "левый" справочник, например, и изменять его, что бы исключить динамическое обновление.
Vofka
Цитата
2) Завести "левый" справочник, например, и изменять его, что бы исключить динамическое обновление.

То есть?
kivals
Цитата(vbi @ 26.09.11, 11:23) необходимо зарегистрироваться для просмотра ссылки
Вы сами себе перечите. Отключить динамическое обновление - означает обновлятся не динамически, а для этого необхлдимо чтобы все вышли из бази, так же завершились и регламентные задания (именно динамическое обновление предназначено для обновления без выхода пользователей). Я так понимаю, вы хотите чтобы 1С все сделала сама?

Никаких противоречий не вижу. Во многих параметрах командной строки есть флаг -force, который как бы отечает "да" на спорные вопросы. Для вопроса о динамечиском обновлении (которыq здается при обновлении из редима Конфигратора) такого параметра найти не могу (точнее - его антипода), т.е. получется что он как бы всегда установлен. Да мне нужно чтобы 1С просто не выполнила обновление, если оно не возможно. Аналог из 7.7: я мог запустить загрузку из распределенной базы в коммандной строке в монопольном режиме явно (даже если сами изменения этого и не требую) - и ничего не произойдет если монопольный зават базы невозможен.

Цитата(vbi @ 26.09.11, 11:23) необходимо зарегистрироваться для просмотра ссылки
В 1С, в меню сервис->пользователи (полный интерфейс) есть обработка "Блокировка установки соединений с информационной базой". В ней можно установить период блокировки и и саму галочку блокировки. При этом в даный период пользователи не могут зайти в базу, а работающие пользователи получают предупреждение о завершении работы. Все открытые документы автоматически сохраняются, все безопасно закрывается и пользователи безопасно выкидаются (как и регламентные задания).
Создайте специального пользователя, при входе которого будет запускатся эта обработка, программно устанавливатся блокировка и т. д., или же создайте регламентное задание, которое будет выкидать всех в определенный момент, в который Вы сможете обновлять ИБ.

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

Цитата(vbi @ 26.09.11, 11:23) необходимо зарегистрироваться для просмотра ссылки
А еще лучше обновлять ИБ вручную, и за это брать деньги biggrin.gif

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

Цитата(vbi @ 26.09.11, 11:23) необходимо зарегистрироваться для просмотра ссылки
Кстате на счет пункта 3 - можно обновлять автоматически в 4 утра, и всех предупредить, что в 4 утра база обновляется и работать тогда не надо ))

Это здесь 4 утра, а в Китае это 11 - самое рабочее время. С другой стороны - Америка, которая от Китая отличается ровно на 12 часов. И хотя конфигурация небольшая (сейчас пока работают 10 пользователей), но работа идет практически постоянно, потому важно чтобы скрипт постоянно (например, каждые 10 минут) проверял возможность обновления
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.