gifts2017

Ошибка формата потока при сравнении конфигураций

Опубликовал Максим Арендаренко (Larkin) в раздел Администрирование - Тестирование и исправление

Один из вариантов решения проблемы с ошибкой формата потока, возникающей при сравнении/объединении конфигураций.

 

Итак, на входе имеем:

  • Конфигурация (Типовая УТП с кучей доработок.)
  • 1Сv8.cf - файл с изменениями, которые нужно внести в конфигурацию, при этом в конфигурации имеются изменения, которые нельзя потерять. Так что полная загрузка cf-ника не подходит.

При попытке выполнить сравнение / объединение конфигурации система «падает» с сообщением об ошибке формата потока.
Переносы БД на другие компьютеры, чистки кэша, и прочие действия, описанные в статье Гилева (http://www.gilev.ru/1c/81/restore/stream.html) не помогли.

По внимательнее прочитав статью, предположил, что у меня проблема следующего характера: «При попытке открыть форму документа "Поступление товаров услуг" происходит ошибка "Ошибка формата потока". Ошибка возникает как в Конфигураторе так и в Предприятии.
Система работает в файловом режиме. Решение может быть таким: Удалить данную проблемную форму и вставить другую (объединением) и назначить ее основной.
»

Т.е. ошибка возникает при попытке прочитать объект метаданных. А сравнение / объединение, по сути, и есть поочередное чтение объектов из двух источников с последующим их сравнением.

Остается только выяснить, какой же из объектов конфигурации «битый». Можно конечно поочередно открывать каждый объект, но это займет немало времени, т.к. объектов в «полутиповой» УТП очень много. Но можно и пойти другим путем: Конфигурация -> Выгрузить файлы конфигурации. Данная операции выполняет чтение объектов и запись их в файл, собственно, что и необходимо.

Далее, пытаясь выгружать файлы конфигурации покллекционно выяснил, что проблема в форме отчета «РегламентированныйОтчетНалоговаяНакладная».«ФормаОтчета2012».

Собственно дальше по статье: удалил эту форму и все заработало.

P.S. Хочется отметить, что ни chdbfl.exe, ни Тестирование / исправление конфигурации, по всей видимости, не выполняют проверку объектов, не имеющих свои хранилища (отчеты, обработки и т.д.). Следовательно, чаще всего, при подобной ошибке не помогают. 

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Макас (makas) 25.11.12 18:30
Далее, пытаясь выгружать файлы конфигурации покллекционно выяснил, что проблема в форме отчета «РегламентированныйОтчетНалоговаяНакладная».«ФормаОтчета2012».

...для Украины случай? А России тагого отчета нет :-/

Это всего лишь частный случай, как и мой(для почти типовой бух.2.0 РФ): на однои из ПК БП отказалась работать, в конфигурацию никто не лазил...

...Выличилось через Конфигуратор: выгрузки/загрузкой данных
2. script Мальчинко (script) 25.11.12 19:08
Этой ошибке уже как 2 месяца и возникала она при переходе на платформу 8.2.15 с более ранних.
И для ее диагностики достаточно было запустить процесс обновления конфигурации и понаблюдать за строкой сообщения.
3. Alex Stasyuk (GreenFox) 26.11.12 14:04
Оно конечно так если знать, а если не знать то сразу волосы дыбом руки трясутся и все такое. Через эту ошибку проходил тоже но у меня была форма накладной и форма приложения 2.
4. Алекс Ю (AlexO) 26.11.12 14:09
и прочие действия, описанные в статье Гилева

собирать по инету цитаты и самому понимать их - вещи разные.
5. Олег Власенко (Vlasenko.Oleg) 12.12.12 11:12
(2) script, жаль что в этой стране все как обычно - при необходимости, слегка доработать напильником ...
6. Павел Городилов (bxz) 29.01.13 16:47
7. Петр Сусоров (susorov) 06.02.13 10:14
Спасибо за идею использовать в плясках с бубном - механизм Выгрузки/загрузки файлов конфигурации!
8. Дмитрий Шмонин (Qsko) 18.02.13 08:54
Большое спасибо автору за статью и за её название (Яндекс выдал ссылку на статью первой при соответствующем запросе).

А история моей ситуации была такова: клиентская контора решила обновиться не у меня (решила пойти, где "дешевле"). В результате после стороннего обновления база работала, но обновляться больше не хотела. Изучил статьи по запросу "Ошибка формата потока", но о том, КАК НАЙТИ ошибку они не говорят. А вот автор догадался и поделился. За что ему БОЛЬШОЕ СПАСИБО.
9. Art Sviat (ArtemiFD) 08.03.13 11:08
Спасибо автору.
Серверное решение...
Вчера, за 1 час до окончания рабочего дня, "главная" база 1С приказала всем сотрудникам долгих выходных, в честь предстоящего 8 марта, выдав эту ошибку.
Многие виды шаманства не оказали ни какого результата, но товарищ Гилёв все исправил (Борьба с сообщением «Ошибка формата потока» в 1С:Предприятие 8):

удалить все записи с таблице configsave
Если ошибка возникает у всех пользователей сразу, то сделайте резервную копию и почистите таблицу delete from configsave
Помогает для различных субд (и MS SQL Server, и Oracle)


DELETE  FROM [BASES_1].[dbo].[ConfigSave]


После этого, пришлось оторвать всех от обсуждения предстоящего праздника и на 20 минут пригласить поработать.
Gilev.Vyacheslav; N_aix; kastortroy2006; +3 Ответить
10. Stepan Shipitsyn (Stepan_1c) 31.07.13 09:53
спасибо за статью. сэкономил время и нервы :)
11. Алексей Голосеев (Aleksey81) 31.07.13 20:04
Огромное спасибо! Доброе дело сделал изложив все на инфостарте.
12. Agema (Agema) 02.12.13 21:43
Интересный материал, спасибо!
13. Evil Grym (Evilgrym) 27.02.14 23:07
Вы щас будете долго ржать, НО!

Файл свойства 'Картинка' объекта метаданных 'ОбщаяКартинка.ОбщаяКартинка1' не выгружен.

И из-за этого реально база не обновлялась!?
Я тоже так подумал, но...
Оказалось что не тут-то было...
Стал проверять эталонную базу на предмет косяка, путем выгрузки в файлы, и оказалось что червяк в эталонной конфе (в той, откуда я выгружаю чистую 1Совскую конфу без доработок) . Где-то в документах. Стал выгружать их по буквам, а... Б... , и , что символично, косяк оказался где-то в документах на букву П...., оказалась ПачкаДокументовСПВ_2

Когда выгружал по документику, ставил галку, принскринил и давил выгрузить. А то, с короткой памятью и ленью к рукописному вводу на бумажку, забывал что за документ выгружал.

Потом протыкал ручками формы документа ПачкаДокументовСПВ_2. Косяк был в ФормаДокумента.
Включил возможность изменения конфы и снял с поддержки документ ПачкаДокументовСПВ_2
Грохнул форму.

Продолжил дальше выгружать объекты, опять споткнулся....

Выбрал Отчеты и запустил выгрузку... удачно, потом обработки.. свалилось, где - непонятно.
Опять запустил обработки, при это периодически потыкивая принтскрин. Когда свалилось на последнем скрине была инфа какую он на тот момент выгружал. Перезапустил конфиг и продолжил начиная с последней известной. На следующей от нее свалился. Подготовка данных ПФР2010, форма. Все. Всех блох выловил.

При всех манипуляциях главное чтоб руки не дрожали. Иначе , если дважды ткнуть мышкой на ущербную форму , ОФП и досвидос.




14. alexander filippov (afilippov) 12.04.14 19:38
Спасибо большое автору! Помогло решить проблему.
15. Alex V0V (v0v) 20.04.15 09:04
"Собственно дальше по статье: удалил эту форму и все заработало." Ядро 8,2,19,102 . Я так понял что уже объекты которые стоят на поддержке или частично на поддержке не доступны для удаления. Как здесь быть с такой ошибкой если объект нельзя удалить штатным способом?
16. Константин Куликов (Светлый ум) 12.10.15 17:25
+1
Моя ситуация УПП 1.3 (1.3.66.2):

Из-за отчета "РегламентированныйОтчетПрибыль" не проходит типовое обновление через CFU, симптомы:

- Во время сравнения с файлом обновления выдается ошибка: "Runtime error c++",
в тот момент когда выдалось сообщение, внизу конфигурации отобразился последний сравниваемый объект - это и был испорченный отчет "РегламентированныйОтчетПрибыль".
- Если попытаться сравнить конфигурацию с "конфигурацией поставщика" - получим "Ошибку формата потока".

Анализ косяка:
1) Копируем базу
2) В копии снимаем поддержку (иначе не даст удалять формы и макеты)
3) Удаляем все формы отчета - пробуем сохранить в файл отчет: если дает то косяк в форме - если выдает ошибку, то удаляем все макеты отчета и сохраняем отчет в файл.
4) Отчет сохранился в файл - можем приступать к возврату конфигурации на поддержку.

Возврат конфигурации на поддержку:

1) Сохраняем конфигурацию "снятую с поддержки и с исправленными отчетами" в файл
2) Создаем "Типовую конфигурацию" с таким же релизом что и у нас
3) Обновляем типовую конфигурацию нашим CF файлом
4) Создаем из обновленной "Типовой конфигурации" файл поставки
5) Сравниваем и объединяем нашу конфигурацию "снятую с поддержки и с исправленными отчетами" с конфигурацией файла поставки
6) В момент объединения будет предложено поставить на поддержку конфигурацию - соглашаемся

Радуемся результату.
wertyoz453; +1 Ответить
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа