Обновление информационной базы

Печать (Ctrl+P)
Необходимость обновления информационной базы ( далее ИБ)  при смене версии конфигурации проверяется в функции  НеобходимоОбновлениеИнформационнойБазы   общего модуля конфигурации обновление информационной базы ( см Рис.1)

Рис 1 Тело функции НеобходимоОбновлениеИнформационнойБазы

 

Если проанализировать внимательно программный код этой функции видно, что данная функция возвращает значение истина в следующих случаях

  • Значение КонстантыНомерВерсииКонфигурации меньше версии конфигурации метаданные.версия
  • Значение Константы.ЗапуститьОбновлениеИнформационнойБазы имеет значение истина.
  • Если параметр запуска имеет строковое значение ЗапуститьОбновлениеИнформационнойБазы

Отметим, что  Необходимость снимается автоматически после обновления ИБ.  Иными словами, после выполнения обновления  установится:

Константы.ЗапуститьОбновлениеИнформационноаБазы.Установить(Ложь);

Недавно меня попросили, обновить измененную конфигурацию  управления торговлей 10.3.22 до текущей редакции 10.3.46. При обновлении ИБ, возникла ошибка в модуле обработки обновления конфигурации при выполнении процедуры перехода из  10.3.30.1 на 10.3.30.2 ( см. рис 2)

Рис 2 Пример сбоя при обновлении ИБ

Причина ошибки, была связана с тем, что я  забыл удалить дату запрета на редактирование документов перед началом обновления конфигурации и изменения не могли быть записаны.

Несмотря на возникнувший сбой при обновлении, версия конфигурации стала такой же установленной конфигурацией. В результате, повторный запуск с параметром запуска  запуститьобновлениеинформационнойбазы как показано на рис 3 не запускал обновление ИБ

Рис 3 Настройка параметров запуска в стартовом окне запуска

 

Этот параметр запуска не работает если не изменена версия конфигурации, т.е если метаданные.версия и Константы. НомерВерсииКонфигурации совпадают. При обновлении конфигурации устанавливается значение метаданные.версия автоматически, а при обновлении ИБ устанавливается значение Константы. НомерВерсииКонфигурации

В сложившей ситуации, для того чтобы запускался снова механизм обновления ИБ мне пришлось с помощью внешней обработки изменить параметры констант программы :

Константы.НомерВерсииКонфигурации.Установить(“10.3.30.1”);
Константы.ЗапуститьОбновлениеИнформационнойБазы.Установить(Истина);

В этом случае выполнились все переходы до конечного релиза 10.3.46.2

Previous Article

Добавить комментарий

Ваш адрес email не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.