Итак, на входе имеем:
- Конфигурация (Типовая УТП с кучей доработок.)
- 1Сv8.cf - файл с изменениями, которые нужно внести в конфигурацию, при этом в конфигурации имеются изменения, которые нельзя потерять. Так что полная загрузка cf-ника не подходит.
При попытке выполнить сравнение / объединение конфигурации система «падает» с сообщением об ошибке формата потока.
Переносы БД на другие компьютеры, чистки кэша, и прочие действия, описанные в статье Гилева (http://www.gilev.ru/1c/81/restore/stream.html) не помогли.
По внимательнее прочитав статью, предположил, что у меня проблема следующего характера: «При попытке открыть форму документа "Поступление товаров услуг" происходит ошибка "Ошибка формата потока". Ошибка возникает как в Конфигураторе так и в Предприятии.
Система работает в файловом режиме. Решение может быть таким: Удалить данную проблемную форму и вставить другую (объединением) и назначить ее основной.»
Т.е. ошибка возникает при попытке прочитать объект метаданных. А сравнение / объединение, по сути, и есть поочередное чтение объектов из двух источников с последующим их сравнением.
Остается только выяснить, какой же из объектов конфигурации «битый». Можно конечно поочередно открывать каждый объект, но это займет немало времени, т.к. объектов в «полутиповой» УТП очень много. Но можно и пойти другим путем: Конфигурация -> Выгрузить файлы конфигурации. Данная операции выполняет чтение объектов и запись их в файл, собственно, что и необходимо.
Далее, пытаясь выгружать файлы конфигурации покллекционно выяснил, что проблема в форме отчета «РегламентированныйОтчетНалоговаяНакладная».«ФормаОтчета2012».
Собственно дальше по статье: удалил эту форму и все заработало.
P.S. Хочется отметить, что ни chdbfl.exe, ни Тестирование / исправление конфигурации, по всей видимости, не выполняют проверку объектов, не имеющих свои хранилища (отчеты, обработки и т.д.). Следовательно, чаще всего, при подобной ошибке не помогают.