Известный факт, что если в 1С не восстановлены индексы, при запуске в монопольном режиме она выдает сообщение "Программа была завершена аварийно, восстанавливать индексы?", а при запуске в разделенном режиме или по ОЛЕ выдает фигу - не запускается.
Так вот, чтобы не заморачиваться по этому поводу, прежде чем запускать ОЛЕ, я подчищаю файл 1SUSERS.DBF, где хранится количество подключенных пользователей - именно оттуда растут ноги этого сообщения.
Ясно, что если база работает, то удалить мне ничего не удастся - ну вот и чудненько, в работающую базу в разделенном режиме можно войти без проблем.
Примерный код на восьмерке:
ПутьФайлаАварийногоВыхода=База.Путь+"\"+"1SUSERS.DBF";
ФайлАварийногоВыхода=Новый XBase;
ФайлАварийногоВыхода.ОткрытьФайл(ПутьФайлаАварийногоВыхода, , ложь);
//Файл удастся открыть только если с ней никто не работает
Если ФайлАварийногоВыхода.Открыта() Тогда
ФайлАварийногоВыхода.ОчиститьФайл();
ФайлАварийногоВыхода.Сжать();
ФайлАварийногоВыхода.ЗакрытьФайл();
КонецЕсли;