|
|
|
8.1 что там надо удалить после динамического обновления что бы все работало ₽ |
☑ | ||
|---|---|---|---|---|
|
0
RomaH
naïve
20.02.07
✎
13:12
|
Поднималась тема уже - но я её как-то мимо ушей пропустил
а теперь вот ... |
|||
|
1
Drock
20.02.07
✎
13:45
|
в смысле там удалить??? где удалить???
|
|||
|
2
Drock
20.02.07
✎
13:45
|
смотри демо пример
|
|||
|
3
колодина
20.02.07
✎
13:45
|
(0) а чего хоччется удалять?
|
|||
|
4
RomaH
naïve
20.02.07
✎
13:46
|
ну в смысле обновил динамически - и что-то сломалось
часть пользователей нормально работают но войти в программу нельзя больше - зависает ... |
|||
|
5
RomaH
naïve
20.02.07
✎
13:47
|
пока исправил перезапуском службы
|
|||
|
6
Drock
20.02.07
✎
13:47
|
смотри демо пример!
|
|||
|
7
Drock
20.02.07
✎
13:48
|
Динамическое обновление
-------------------------------------------------------------------------------- Основные понятия Динамическое обновление позволяет обновить конфигурацию базы данных без отключения от нее работающих пользователей. Динамическое обновление допускает любые изменения, кроме вызывающих изменение структуры базы данных. Обновление изменений вызывающих реструктуризацию по-прежнему необходимо проводить в монопольном режиме. Динамическое обновление не может быть выполнено, если: в процессе конфигурирования добавлены, удалены реквизиты, табличные части, реквизиты табличных частей объектов или изменен их тип. удаляются какие-либо объекты метаданных, как влияющие на структуры базы данных, так и не влияющие. сделаны другие изменения, влияющие на структуру базы данных. Допустимо: Изменение у реквизитов, табличных частей, типообразующих объектов метаданных имен и других реквизитов, не влекущих реструктуризацию. Добавление и изменение объектов, не влияющих на структуру базы данных, таких как отчеты, обработки, модули, картинки, стили, роли, формы, макеты, Web-сервисы, WS-ссылки, пакеты XDTO, другие объекты. В 1С:Предприятие 8.1 введен метод глобального контекста КонфигурацияБазыДанныхОбновленаДинамически(). Данный метод позволяет понять, вносились ли после запуска сеанса изменения в конфигурацию базы. Для демонстрации работы динамического обновления в модуль приложения конфигурации добавлена группа функций Перезапуск приложения, помогающих понять работу механизма. В этой секции содержатся две функции, отвечающие за начало и окончание мониторинга обновлений в базе, и обработчик ожидания, непосредственно выполняющий проверку обновления. Простой пример работы Для иллюстрации работы динамического обновления выполним следующий сценарий. Запустим 1С:Предприятие 8.1 в режиме Конфигуратора и откроем в нем данную информационную базу. Нажав CTRL-F5, запустим сеанс 1С:Предприятия. Откроем форму констант и укажем в ней необходимый интервал проверки. Например, 60 секунд. Не закрывая 1С:Предприятие откроем модуль приложения, найдем в нем функцию ПриНачалеРаботыСистемы и в ее начало поместим строку: Сообщить("Мы обновили конфигурацию динамически!!!"); Попробуем обновить конфигурацию базы данных. Механизм динамического обновления выдаст диалоговое окно с информацией о том, что ему не удалось монопольно заблокировать базу и предложит либо отказаться, либо попытаться заблокировать базу монопольно еще раз, либо обновить базу динамически. Выберем вариант динамического обновления. После обновления еще раз нажмем CTRL-F5 для запуска еще одного сеанса 1С: Предприятия 8.1. После запуска нового сеанса мы должны увидеть в окне служебных сообщений запрограммированное нами сообщение "Мы обновили конфигурацию динамически!!!". Переключимся в старый сеанс 1С:Предприятия и подождем, пока не сработает обработчик ожидания. На экране должно появиться диалоговое окно, уведомляющее вас, что в конфигурацию внесены изменения и предлагающее перезапустить сеанс. Если мы согласимся, сеанс будет перезапущен с учетом актуальных изменений конфигурации. Для перезапуска используется функция ЗавершитьРаботуСистемы, которая в версии 8.1 получила дополнительные параметры, позволяющие перезапустить приложение при его завершении. |
|||
|
8
Drock
20.02.07
✎
13:50
|
А это модуль приложения
// Процедура ПриНачалеРаботыСистемы // Процедура ПриНачалеРаботыСистемы() // Проверим необходимость продолжения загрузки сообщений обмена ОтложеннаяЗагрузкаСообщенийОбмена.ПроверкаОтложеннойЗагрузкиСообщенийОбмена(); // Начнем проверку динамического обновления конфигурации НачатьПроверкуДинамическогоОбновленияИБ(); // Вызываем помощника Помощник = Обработки.Путеводитель.ПолучитьФорму(); Помощник.Открыть(); Сообщить("Проверка!!!"); КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// // ПРОВЕРКА ДИНАМИЧЕСКОГО ОБНОВЛЕНИЯ // // Проверяет в конфигурации ИБ наличие изменений появившихся после старта сеанса // Процедура ОбработчикОжиданияПроверкиДинамическогоИзмененияИБ() Экспорт // Если в конфигурации после старта текущего сеанса что-то изменилось Если КонфигурацияБазыДанныхИзмененаДинамически() Тогда // Завершим проверку обновления ЗавершитьПроверкуДинамическогоОбновленияИБ(); // Спросим пользователя о его желании перезапустить сеанс ТекстВопроса = "В конфигурацию информационной базы внесены изменения." + Символы.ПС + "Для работы с ними необходимо перезапустить программу." + Символы.ПС + "Перезапустить?"; РезультатВопроса = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНетОтмена, 30, КодВозвратаДиалога.Да); // Если пользователь вообще не хочет ничего проверять Если РезультатВопроса = КодВозвратаДиалога.Отмена Тогда // Просто выйдем из обработчика Возврат; КонецЕсли; // Если пользователь не хочет пока перезапускать сеанс Если РезультатВопроса = КодВозвратаДиалога.Нет Тогда // Запустим проверку обновления опять НачатьПроверкуДинамическогоОбновленияИБ(); Возврат; КонецЕсли; // Пользователь хочет перезапуститься. ЗавершитьРаботуСистемы(Истина, Истина); КонецЕсли; КонецПроцедуры // Начинает проверку динамического обновления конфигурации ИБ // Процедура НачатьПроверкуДинамическогоОбновленияИБ()Экспорт ИнтервалПроверкиДинамическихИзменений = Константы.ИнтервалПроверкиДинамическихИзменений.Получить(); // Если нет необходимости в проверке динамических обновленй Если ИнтервалПроверкиДинамическихИзменений = 0 Тогда // Завершаем работу функции Возврат; КонецЕсли; ПодключитьОбработчикОжидания("ОбработчикОжиданияПроверкиДинамическогоИзмененияИБ", ИнтервалПроверкиДинамическихИзменений); КонецПроцедуры // Завершает проверку динамического обновления конфигурации ИБ // Процедура ЗавершитьПроверкуДинамическогоОбновленияИБ()Экспорт // Отключим соответствующий обработчик ожидания ОтключитьОбработчикОжидания("ОбработчикОжиданияПроверкиДинамическогоИзмененияИБ"); КонецПроцедуры И еще не забудь добавить константу! И всех буит выкидывать полсе дин обновления |
|||
|
9
Drock
20.02.07
✎
13:50
|
вот так решили проблему повторного динамического обновления
|
|||
|
10
Drock
20.02.07
✎
13:50
|
в 1с
|
|||
|
11
Drock
20.02.07
✎
13:51
|
проверял, работает нормально
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |