Неверный формат файла

Методы борьбы с ошибками загрузки .DT в файловом варианте

Предположим, вы сформировали архив базы и теперь пытаетесь загрузить его в файловом варианте. Сначала все идет хорошо, но в какой-то момент возникает ошибка:

«Ошибка загрузки информационной базы. В информационную базу загружены не все данные по причине: Ошибка СУБД: Превышен максимально допустимый размер внутреннего файла ‘D:\1CBASES\NewDB/1Cv8.1CD'»

Я лично потратил ОЧЕНЬ много времени на поиск решения этой проблемы и в итоге нашел его, что позволило нам создать файловую копию базы данных размером 18 Гб и в итоге сэкономило примерно неделю времени (могу в комментариях рассказать, как было дело, но сейчас речь не о том).

Итак, причин возникновения такой ошибки может быть несколько:

  1. Размер КАКОЙ-ЛИБО таблицы в базе данных превышает лимит для файловой версии (4 Гб). Если честно, во избежание подобных эксцессов мы проверяли размеры таблиц базы заранее с помощью обработки «SQL базомер» (или аналогов).
  2. Ошибка связана с глюком особенностями платформы, и вызвана определенной спецификой структуры метаданных выгружаемой конфигурации.

С первым случаем все понятно — если базомер показал превышение лимита по каким-то из таблиц базы, то эти таблицы необходимо почистить. Если речь идет о справочнике или непериодическом регистре сведений, то нужно постараться удалить оттуда ненужные элементы/записи. То же самое относится и к «тяжелым» документам с их табличными частями. В первую очередь следует заняться удалением помеченных объектов, конечно.

Регистры накопления — отдельная тема. Размеры таблиц итогов могут превышать размеры таблиц записей регистра, причем зачастую значительно. Иногда может помочь даже простой пересчет итогов.

Регистры остатков могут некорректно (не по всем измерениям) закрываться, что приводит к ОЧЕНЬ значительному и быстрому разрастанию таблиц итогов. Списание «зависших» остатков регистра накопления может при последующем пересчете итогов дать экономию до нескольких Гб, проверено на собственном опыте у «нерадивых» клиентов. ))

Что же делать, если каждая таблица вашей базы размером менее 4 Гб, но ошибка все равно возникает?

Это значит, что у вас второй случай — проблемная структура метаданных конфигурации. Вероятнее всего, ошибка возникает на этапе создания индексов.

В двух словах опишу ситуацию в целом, чтобы было понятно, словами Виктора Сосновского из 1С. Ниже цитата с партнерского форума:

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

Нужно узнать, какая именно таблица приводит к ошибке при создании индекса.

Включаем технологический журнал — в папку «С:\Program Files (x86)\1cv82\__НомерВерсииПлатформы__\bin\conf\» (или аналогичную, __НомерВерсииПлатформы__ подставьте свой) кладем файл logcfg.xml примерно следующего содержания:

Внимательно следим за тем, чтобы каталоги для дампов и логов:

  1. Существовали
  2. Различались
  3. Были доступны для чтения и записи тому пользователю Windows, от лица которого вы запускаете конфигуратор.

Перезапускаем конфигуратор (при этом включается технологический журнал) и заново пробуем загрузить наш .DT. После возникновения ошибки идем в каталог для логов, находим там файл лога, содержащий нашу ошибку, и внимательно читаем его.

Первое же вхождение EXCPCNTX в логе в моем случае указало на команду, которая вызвала ошибку: CREATE INDEX _Accum27148_ByDims_TRRRRRRRRRSSR (у вас название индекса будет другое).

По цифрам из названия индекса с помощью обработки «Структура хранения таблиц базы данных» (или аналогов, которые умеют показывать индексы) находим, какой таблице принадлежит данный индекс. У меня это оказалась таблица оборотов одного из нетиповых регистров накопления.

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

В первую очередь следует смотреть, какие поля входят в индекс. Как выяснилось, платформа ОЧЕНЬ не любит, когда совокупный размер ключевых полей индекса становится значительным. В частности, она не любит индексировать длинные строки — так, в моем случае в индекс попадало измерение с типом СТРОКА (500) и оно вызывало ошибку. Другой представитель фирмы «1С» высказался на партнерском форуме еще в 2007 году:

«Если длина ключа оказывается близкой к 2К, то начинается резкий рост размера индексов с рядом неприятных последствий.»

И действительно, в 2013 году ничего не изменилось — в подобных случаях наблюдается лавинообразный рост размеров индекса на файловой базе. А когда таблица индекса превышает лимит в 4 Гб, загрузка .DT останавливается с ошибкой.

Лично мне помогло отключить для проблемного измерения флажок «Использование в итогах», т.к. в реальности итоги по нему не требовались. Оно перестало попадать в саму таблицу оборотов и, как следствие, в индекс таблицы оборотов. Есть и другие способы — более строго ограничить размер строки, например. Читал, что некоторым это помогало.

Эти изменения необходимо применить к информационной базе, при этом произойдет реструктуризация вашей таблицы.

Если изменения внесены на SQL-копии базы, то после этого нужно заново выгрузить .DT и попытаться перезагрузить его в файловой версии.

Если SQL-копии нет под рукой, то можно попробовать исправить прямо на вашей недозагруженной файловой копии. После принятия изменений запускайте «Тестирование и исправление» в режиме реструктуризации таблиц базы данных. Индексы будут созданы платформой заново и, можно надеяться, уже без ошибок.

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

Удачи вам!

>Неверный формат файла

Не загружается база из dt-файла

Я
Sabbath У меня такая проблема. Клиент переслал свою ИБ в dt. Птаюсь загрузить — ошибка. Ошибка такого плана:
Неверный формат файла для загрузки информационной базы
Ошибка формата потока
по причине:
Ошибка формата потока С чем может быть связано? У меня последняя версия платформы, вроде 1С:Предприятие 8.1 (8.1.11.67)
Может ли быть такое, что у клиента более старая верся платформы и по этой причине ошибка? У него стоит конфа УПП 1.2.14.1.
Fragster

хреново выгрузил (с ошибкой (обычно, если в %TEMP% не хватает места или через диспетчер задач прибить, или оперативки вдруг не хватило, или выгрузка на диск с ФАТ, а файл больше 2 гб получается…))

Сергиус

Вот как раз поэтому и ошибка..

узнай какая у него версия и ставь себе такую же

Sabbath

(1) и (2) вот у меня как раз два таких предположения))
Сойдитесь на одной весии 🙂
Тут у меня пока что проблема и с тем чтобы узнать версию и с тем чтобы тем более выгрузить заново

Sabbath

А никто не знает УПП 1.2.14.1 моет работать на платформе версии ранее 8.1.11.67

Сергиус

(4) описание ошибки очень похоже на разность в версиях..

По-моему это не так сложно-позвонить клиенту, узнать версию и если у тя самого ее нет, то порыскать в поисках по инету..)

ну или второй вариант — развести клиента, шобы он се поставил 8.1)))

Naumov

(0) В клиент-Сервер грузишь? попробуй в файловую..

Сергиус

+6 Да, кстати умная мысль!

Sabbath

(5) Да не, не все так просто 🙂
А по инету порыскать можно. Вот я тут и рыскаю, в надежде на людей столкнувшихся уже с такой ситуацией. Просто что я буду искать в инете? Какая конфа на какую версию платформы? Так по идее на последнюю платформу все равно должны предыдущие становиться или нет?

Sabbath

(6) да нет, создал пустю ИБ в терминале и гружу туда dt.

Ошибка создания базы 1С из dt ­ Дневник ­ Максим Боголепов

Т.е. файловую

Сергиус

(8) Ты можешь точно узнать из какой версии Платформы(!) клиент делал выгрузку..? Вот узнаешь и находи себе такую же…сто пудово должно залиться

panas_ukr_net

Мне когда шлют файлы dt такое пожизни. А вот если заархивировать сначала а потом слать то ниче.
Может быть в твоем случае тоже в этом дело?

Сергиус

+10 (8)то что должно быть по идее — не значит что есть по сути)

Sabbath

(10) Да нет, я же сказал, что в данный момент с этим проблема.

i-rek может передавали на ФТП и соединение оборвалось может писали на флэшку и выдернули её Сергиус

(11) как будто с zip или rar не может случится того же что и с dt-кой..

по сути тот же архив и есть

Sabbath

(15) по сути, но не по идее 🙂

Sabbath

(11) В смысле чтобы клиент разархивировал у себя и 1CD слал?

panas_ukr_net (15) и тем не менее мне шлют базу постоянно по почте почта у меня на gmail и из10 раз еслине архивировать ни разу не загружается а если в архиве то все зашибись panas_ukr_net

(17) чтоб клиент у себя файл dt заархивировал еще раром например а потом слал

Сергиус

(18) хм..странно..может гуглы там че творят)

Сергиус

(19) но как я понял там проблемы с связью с клиентом..так что тоже не вариант для мгновенного решения

igor13

(20)Гугл ещё в бета тестировании

Sabbath

А все с клиентом связался 8.1.8.76 у них. Только все равно пока не ясно это из-за версии платфоры или нет. Сейчас будем выяснять. Всем спасибо 🙂

panas_ukr_net

Версия ни при чем. Мне отсылают с 8,1,7 а у меня 8,1,11 и нормально все.

Sabbath (24) А у тебя какую ошибку пишетобычно? У мея сейчас при загрузке в ту же версию платформы ошибка ткя:
Неверный формат
Не хватает места на диске
Не вижу связи между двумя предложениями) Места кстати 32 Гб Sabbath

А вот, теперь та же ошибка, что и в начале, похоже не из-за версии

IT Михаил

(0)нужно было перед выгрузкой сделать ТИИ (а если загрузка в рабочую, то перед загрузкой копию 1cv8.1cd

Наведи порядок в своей работе используя конфигурацию 1C «Управление IT-отделом 8»

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Файл .dt не загружается

Я
h337

Стоит платформа 8.1.15.14 при загрузке dt файла в конфигураторе выдает что формат файла не соответствует версии программы необходимо выполнить загрузку данных при помощи предыдущей версии… как определить в какой версии он бодет загружаться если нельзя определить в какой он выгружался?

EasyRider

методом тыка

shuhard

(0) отличить 8.0 от 8.1 можно по хэдеру файла

Живой Ископаемый

А вот 8.2 вроде загружает дт-шник выгруженный 8.1

shuhard

(3) угу
грузит, пере запускается и предлагает сконвертировать

h337

(3) конфа под 8.2 не запускается

Живой Ископаемый

2(5) как это?

h337

(6) под 8.2 пишет старая версия формата базы данных требуется выполнить конвертацию… как ее выполнить?

Живой Ископаемый

нажать — «да»

Живой Ископаемый

если я правильно понимаю…. Но вообще может быть такое, конечно что 8.2. хавает только дт-шник от 8.1.15

EasyRider

(7)Это какбе намекает,что выгрузка не из 8.2

h337

сделал конвертацию базы… 8.2 дтэшник не подхватила пишет тоже что и в (0)

EasyRider

8.0 попробуй

h337

(2) как этот хедер увидеть?

shuhard

(13) Hex редактором

h337

(12) в 8.0 из cf не грузится пишет не совместимо с текущей версией программы

EasyRider

(15)Почему из cf?

Решение проблемы «Неверный формат файла для загрузки информационной базы»

Из dt ведь нужно?

shuhard (14) + 1
1CIBDmpF2
9 байт 0 — 8.01 — 8.12 — 8.2 h337

(16)мне досталась конфа в виде cf и данные в виде dt

h337

(17) 1CIBDmpFl получается у меня 8.1

Наведи порядок в своей работе используя конфигурацию 1C «Управление IT-отделом 8»

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!

Каждый час на Волшебном форуме бывает более 2000 человек.

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

«1С:БУХГАЛТЕРИЯ 8 ДЛЯ 1» — 3’000 рублей. Полный функционал без доплат, бесплатной установкой и начальной настройкой.

Как самостоятельно устранить ошибку без поддержки специалистов узнаем из этой статьи.

Варианты исправления ошибки формата потока 1с 8.3.

Первый.

Определите место хранения базы. Для этого запустите ярлык 1С, в списке баз выделите «проблемную» и в нижней части окна посмотрите путь к ней.

Либо нажмите Изменить и в поле Каталог информационной базы просмотрите папку, где хранится интересующая вас база.

Зайдите в эту папку. Обратите внимание, войти в нее надо напрямую, а не через 1с как указано на предыдущем скриншоте, иначе интересующие нас файлы просто не отобразятся, так как не подходят по формату.

Удалите всё кроме файла 1Cv8.CD.

v8: Загрузить базу

Если первый вариант ошибку формата потока 1с 8.3 не решил, то переходим к следующему варианту.

Второй.

Используйте утилиту chdbfl. Она должна находиться в папке bin вместе с установленной технологической платформой.

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

Если ошибка все еще сохраняется, переходим к третьему варианту.

Третий.

В 1с ошибку формата потока зачастую возможно исправить чисткой кэша 1С. Сделать это можно путем удаления базы из списка

Запустите ярлык 1с, запомните либо запишите место хранения базы, после чего удалите ее из списка, нажав кнопу Удалить. После этого вновь добавьте базу нажав Добавить и указав место расположения.

Четвертый.

Доступен еще один способ исправления в 1с ошибка формата потока с помощью ручной чистки кэша 1с.

Определите папку хранения временных файлов 1С. Она отображается в окне Настройка диалога запуска в поле Каталоги шаблонов конфигураций и обновлений.

Перейдите в папку хранения и удалите все временные файлы формата «00000000-0000-0000-0000-000000000000», «fsi6895b-78bd-57b9-98f5-6d1cfae8f003» и т.д.

Все еще присутствует ошибка формата потока 1с? Как исправить другими способами рассмотрим ниже.

Пятый.

Запустите базу в режиме Конфигуратор и сделайте выгрузку базы данных. У вас должен получиться файл формата dt.

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

Если этот вариант не подошел, и все еще присутствует ошибка формата потока 1с и вопрос как исправить актуален, можно испробовать и другие нетиповые способы решению проблемы.

Шестой.

Удалить платформу 1с со своего ПК, скачать и установить заново.

Седьмой.

Временно отключите работу программы по защите данных от вирусов.

Восьмой.

Загрузить более новую версию конфигурации.

Девятый.

Создать пустую базу на другом ПК и загрузить в нее ранее выгруженный файл dt (или файл, созданный при выполнении резервного копирования базы, если оно было выполнено, а конфигурация не открывается).

Десятый.

При работе с базой 1с ошибка формата потока может возникнуть, если работа ведется в локальной сети с разных ПК. В этом случае надо проверить используемые версии платформ на этих ПК и если они различаются установить одинаковые.

Нужно исправить ошибку 1С?

У нас команда программистов, которые обладают большим опытом в сопровождении программных продуктов 1С.

Звоните +7 (499) 677-54-82 или заполните окно заказа звонка ниже. Опишите ошибку 1С. Наши специалисты помогут Вам.

Обсудить статью на 1С форуме?

>Конвертация. Неверный формат файла выгрузки Я
MatrosoV AleXXXand_R Добрый день
Подскажите пожалуйста по такому вопросу.

Загрузка dt на postgres

Есть 2 базы — одна нетиповая, вторая типовая — БП 3.0. Нужно некоторые данные из типовой перенести в нетиповую. Делаю как обычно — выгружаю структуру файлов в XML, загружаю в КД, там добавляю новые правила обмена (источник — БП 3.0, приемник — эта нетиповая конфигурация), сохраняю правила.

Далее из БП 3.0 выгружаю данные, не в сжатом виде. Все выгружается нормально. В нетиповую конфигурацию пробую загрузить данные из сформированного файла обработкой «ВыгрузкаЗагрузкаДанныхXML82».

Пишет ошибку — «Неверный формат файла выгрузки». Посмотрел в отладчике, на что именно ругается.

&nbsp// проверка формата файла обмена Если Не ЧтениеXML.Прочитать() Или ЧтениеXML.ТипУзла <> ТипУзлаXML.НачалоЭлемента Или ЧтениеXML.ЛокальноеИмя <> «_1CV8DtUD» Или ЧтениеXML.URIПространстваИмен <> «http://www.1c.ru/V8/1CV8DtUD/» Тогда
#Если Клиент Тогда Предупреждение(«Неверный формат файла выгрузки», 10, «Ошибка загрузки!!!»); #КонецЕсли Возврат; КонецЕсли; Вот в этом блоке проверки — последнее условие «ЧтениеXML.URIПространстваИмен» = «», то есть не заполнено.
Подскажите — что я сделал не так?

tomvlad

…что я сделал не так?

пробую загрузить данные из сформированного файла обработкой «ВыгрузкаЗагрузкаДанныхXML82»

MatrosoV AleXXXand_R

(1) а как тогда загрузить данные из этого файла в нетиповую конфигурацию?

МимохожийОднако

Универсальная обработка при выгрузке и загрузке должна быть одинаковой версии.

МимохожийОднако

(3)+ её надо взять из той версии Конвертации, в которой готовил правила.

J_B

(1) ВыгрузкаЗагрузкаДанныхXML82 — это для одинаковых конфигураций. Надо использовать V8Exchan82 АКА «Универсальный обмен данными в XML»

Наведи порядок в своей работе используя конфигурацию 1C «Управление IT-отделом 8»

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.