Суть проблемы, в общем-то, заключается в следующем. При преобразовании информационной базы Комплексной конфигурации в распределенную все, казалось бы, идет своим чередом: создаем периферийные информационные базы, делаем для них выгрузку, "разворачиваем" эти выгрузки на соответствующих компьютерах, запускаем, после чего производим автообмен. И вот здесь получается интересная ситуация: эти выгрузки сопоставимы по размеру с исходными выгрузками для периферийных баз! Как следствие, если мы запускаем автообмен на центральной базе, то 1С может "лопатить" одну выгрузку несколько часов! Разумеется, такое положение дел не устраивало никого.
К счастью, мне подсказали, что дело возможно в запуске процедуры обновления конфигурации на периферийных базах. Начал разбираться. Оказалось, что так оно и происходит: номер релиза при формировании периферийных баз не выгружался (кстати как и префикс ИБ, указываемый в настройках), соответственно, система считала нужным "перелопатить" практически всю БД, дабы обновить ее до текущей версии. Но ведь обновление-то, фактически, не требуется!
Поэтому пришлось немного "хакнуть" процедуру ПриНачалеРаботыСистемы в глобальном модуле.
Изначально проверка необходимости обновления выглядела так:/p>
Если Константа.НомерРелиза <> Лев(Метаданные.Комментарий, 8 ) Тогда Если ПравоДоступа("Использование","Обработка.ОбновлениеИБ") = 1 Тогда ОткрытьФорму("Обработка.ОбновлениеИБ"); Иначе Предупреждение("Первый запуск программы для обновления информационной базы |должен произвести пользователь с правами администратора!", 60); СтатусВозврата(0); Возврат; КонецЕсли; КонецЕсли;
А, как мы выяснили, Константа.НомерРелиза сразу после "разворачивания" периферийный базы пустая. Поэтому этот кусок кода был модифицирован:
Если Константа.НомерРелиза <> Лев(Метаданные.Комментарий, 8 ) Тогда Если Вопрос("(заплатка) Установить номер релиза "+Метаданные.Комментарий+" без выполнения обновления?", "Да+Нет")="Да" Тогда Константа.НомерРелиза = Лев(Метаданные.Комментарий, 8 ); Иначе Если ПравоДоступа("Использование","Обработка.ОбновлениеИБ") = 1 Тогда ОткрытьФорму("Обработка.ОбновлениеИБ"); Иначе Предупреждение("Первый запуск программы для обновления информационной базы |должен произвести пользователь с правами администратора!", 60); СтатусВозврата(0); Возврат; КонецЕсли; КонецЕсли; КонецЕсли;
Как говорится, ловкость рук, и никакого мошенства. Разумеется, при запуске периферийной базы на этот вопрос необходимо отвечать утвердительно, а вот при фактическом обновлении центральной ИБ - отрицательно.
В результате проделанных манипуляций, проблема "здоровой" первичной выгрузки из периферийной базы была решена. Спасибо умным людям с "Волшебного форума"