1с zip некорректный формат файла
Клиенту потребовался срочный перенос ИБ 1С 7.7 с файлового режима на клиент-серверный (SQL).
Они уперлись в пределы количества возможных записей в таблицах и объем базы, которая уже достигла размера в 8,57 Гб.
Начали подготовку. При экспорте данных в zip-файл (стандартная операция « Администрирование — Выгрузить данные. ») получили эту ошибку.
Особенности
- ограничение связано с внутренним zip-архиватором;
- для работы архиватора требуется, чтобы на диске, где создается временный файл, свободного места необходимо в 2 раза больше, чем размер получающегося zip-архива;
- создаваемый zip-архив после ошибки получается поврежденным;
- ошибка может возникнуть не только при выгрузке, но и загрузке данных.
Причина — некорректная работа приложения 1С с большими базами. Проблема связана с ограничением архиватора на размер ИБ при упаковке данных.
При поиске по Интернету в одном источнике сообщалось, что если создаваемый 1Cv77.dat менее 4 Гб, и 1cv7.zip менее 2 Гб, то проблем быть не должно.
Забегая вперед, скажем — в нашем случае размер dat-файла получился 2138 Мб, но все равно столкнулись с этим ограничением.
Что делать
Единственная рекомендация — оставлять только текущий год или другой период, производить упаковку файлов базы из Конфигуратора.
Альтернативные варианты
Можно воспользоваться плагином для 1С:Предприятие 7.7 — Unload_Dat_Fix.rar (автор romix — см. описание внешних компонентов 1С:Предприятие на сайте в разделе «Плагины»). Процесс установки и удаления плагина описаны в папке Patch дистрибутива.
Исправляет ошибку 1С:Предприятие при штатной выгрузке и загрузке больших информационных баз (несколько гигабайт)
Порядок применения
- После установки плагина, при выгрузке данных на экране появится окно с запросом: « Отключить архивирование файла dat? ». При архивировании больших баз ответьте «Да». В этом случае zip-архив будет записан пустой dat-файл, а необходимые данные будут сохранены в каталоге ИБ под именем romix.dat.
- В случае ответа «Нет», 1С поведет себя штатно — поместит dat-файл в архив выгрузки. При загрузке данных, плагин запросит размещение файла dat. Если файл находится внутри zip-архива, вы можете нажать Esc и отказаться от выбора размещения.
По описанию — все понятно, но у нас не сработала эта версия. Она оказалась актуальной для ОС младше Windows 7/Server 2008. Выручил другой ресурс — AVProg с обновленной (доработанной) версией плагина .
Причина? В связи с изменением состава DLL в Windows 7 оригинальный плагин перестал работать. Данный плагин — это простое портирование оригинального плагина под Windows 7/Server 2008 R2.
Делает абсолютно то же самое, что и основной плагин — при выгрузке данных 1С:Предприятие позволяет не упаковывать в zip-архив файл 1Cv77.dat который 1С упаковать и не может (больше 2 ГБ), но пытается.
Действия при выгрузке
Батник на "языке 1С" для клиент серверных баз, скачивает с сайта ИТС нужное обновление, бекапит базу и обновляет.
На что-то новое не претендует, как рабочая заготовка для собственных "обновляторов" подойдет.
В текущем виде все работает. Надо только занести свои переменные.
: Ошибка при вызове конструктора (ЧтениеZipФайла)
ФайлZip = Новый ЧтениеZipФайла(ФайлСписокОбновленийZIP);
по причине:
Некорректный формат файла: . \1Cupdate\v8upd11.zip
(3) Seregio22, щас попробую потестить без паролей и с заблоченым сервером обновлений.
так то пишет что zip распокавать не выходит т.к. не скачался.
(4)
дописал строки ниже так:
//НЕ СКАЧИВАЕТСЯ. ЭТО АЛЬТЕРНАТИВА
СерверОбновлений = Новый HTTPСоединение("downloads.1c.ru");
ЗапросКСерверуОбновлений = Новый HTTPЗапрос("ipp/ITSREPV/V8Update/Configs/"+мТипКонфигурации+"/"+мВерсия Релиза+"/"+мВерсияПлатформы+"/v8upd11.zip");
СерверОбновлений.Получить(ЗапросКСерверуОбновлений,ФайлСписокОбновленийZIP);
вроде есть контакт :)
(5) Seregio22, спс, тоже отловил . в OneScript и с "/tmplts" работает, видать просто игнорирует.
а в 1с хоть в отладчике и игнорирует (видно сервер соединения только "downloads.1c.ru") ,а отрабатывает как будто с этим излишком.
СерверОбновлений = Новый HTTPСоединение("downloads.1c.ru",,мИтсЛогин,мИтсПароль,);
//было СерверОбновлений = Новый HTTPСоединение("downloads.1c.ru/tmplts",,мИтсЛогин,мИтсПароль,);
в тексте сейчас исправлю, благодарю.
(4) без всяких паролей наличие номера новых релизов должно скачивать.
щас проверю засунув в форму 1с . сам текст под OneScript использую.
Объединил текст из данной публикации со своим. Из основных отличий:
1. Загрузка списка обновлений 1 раз для семейства
2. Обновление через несколько релизов
3. Преимущественное обновление на уже скачанные релизы
4. Ну и по мелочи
Получилось вот что:
PS Если автор не против могу выложить отдельной темой
Объединил текст из данной публикации со своим. Из основных отличий:
1. Загрузка списка обновлений 1 раз для семейства
2. Обновление через несколько релизов
3. Преимущественное обновление на уже скачанные релизы
4. Ну и по мелочи
Получилось вот что:
PS Если автор не против могу выложить отдельной темой
1. гуд. но думаю пару кбайт погоды не сделают.
2. обновление идет на максимально возможный релиз в пределах одного скачка.
далее еще не посмотрел как у вас реализовано. следущей накаткой обновлений до "победного" или все таки с запуском обработчиков в режиме "предприятия"?
3. Аналогично "//качаем новую версию, если уже не скачено"
PS ни когда не против, т.к.
а) эта публикация и так копия батника, только на другом языке.
б) если бы был против, ничего бы не смог с этим поделать. "Мне остается только стонать от бессилия или отравиться газами через выхлопную трубу!" © Лжец Лжец.
Платформа 1С 8.3 для работы с архивами использует формат ZIP . Это популярный формат архивации файлов и сжатия данных без потерь, который может содержать один или несколько файлов и/или каталогов. Для этого во встроенном языке 1С 8.3 существуют функции ЗаписьZIPФайла и ЧтениеZIPФайла . Есть также необходимые для разбиения архифа на несколько частей указанного размера и объединения нескольких архивов в один соответственно: РазделитьФайл() и ОбъединитьФайлы() .
✔ Создаем Zip архив с файлами
&НаКлиенте
Процедура СоздаемZipАрхивСФайлами ()
// Создаем zip-архив
ИмяАрхФайла = "D:\AvtoArhiv\Doc31032020.zip" ; //Путь к архиву и имя
// Особенность: Архивировать средствами 1С можно даже запущенную информационную базу 1С
ПарольАрхФайла = "" ; // если нужно - можно задать пароль на архив
КоммАрхФайла = "Архив документов создан 31/03/2020 из 1С 8.3" ; // комментарий к архиву
ФайлАрхива = Новый ЗаписьZipФайла ( ИмяАрхФайла , ПарольАрхФайла , КоммАрхФайла ,
МетодСжатияZIP . Сжатие , УровеньСжатияZIP . Оптимальный , МетодШифрованияZIP . Zip20 );
// Добавляем файл в zip-архив
ФайлАрхива . Добавить ( "D:\MyDocuments\ПланНа2020.docx" ); // путь к файлу который добавляем в архив
// Или добавляем несколько файлов в zip-архив по маске
ФайлАрхива . Добавить ( "D:\MyDocuments\*.xlsx" ); // указываем маску к файлам
// Или если нужно в архив добавить файлы не только из корневой папки ("D:\MyDocuments\"),
// но и из подпапок ("D:\MyDocuments\Balans2019\","D:\MyDocuments\Balans2020\". )
// где есть файлы c расширением *.xlsx. Нужно использовать параметры (режимы):
ФайлАрхива . Добавить ( "D:\MyDocuments\*.xlsx" ,
РежимСохраненияПутейZIP . СохранятьОтносительныеПути ,
РежимОбработкиПодкаталоговZIP . ОбрабатыватьРекурсивно );
// Записываем созданный архив на диск компьютера
ФайлАрхива . Записать ();
&НаКлиенте
Процедура РаспаковываемZipАрхив ()
// Распаковываем Doc31032020.zip в папку "D:\AvtoArhiv\"
ФайлАрхива = Новый ЧтениеZipФайла ( "D:\AvtoArhiv\Doc31032020.zip" , "" ); // путь, пароль к архиву
// Сообщим комментарий к архиву
Сообщить ( ФайлАрхива . Комментарий );
РежимВосстПутейФайлов = РежимВосстановленияПутейФайловZIP . Восстанавливать ;
// Распаковываем все файлы в D:\MyDocuments\Out
ФайлАрхива . ИзвлечьВсе ( "D:\MyDocuments\Out" , РежимВосстПутейФайлов ); // (путь, восстанавливать каталоги)
// Или распаковываем файлы по одиночке.
Для Каждого Элемент Из ФайлАрхива . Элементы Цикл
Сообщить ( ". разархивирую. " + Элемент . ПолноеИмя );
//(Элемент, Путь, ВосстанавливатьКаталоги, Пароль)
ФайлАрхива . Извлечь ( Элемент , "D:\MyDocuments\Out" , РежимВосстПутейФайлов , "" );
Ошибка при обновлении конфигурации
Добрый час!
Помогите разобрать проблему с обновлением 1С:бухгалтерия8.1 1.6.11.7
Обновляю самостоятельно в первый раз!
Делаю следующие действия:
-конфигурирование\поддержка\обновить конфигурацию
-выбираю файл обновления 1.6.12
выскакивает окно с заголовком "Файл не содержит доступных обновлений" и подзагаловок "Данный файл содержит обновления для след конфигураций: 1.6.11.7 и 1.6.12.2".
При выборе одного из них ничего не происходит
ПОМОГИТЕ
Проверьте, какой у Вас релиз конфигурации поставщика:
Конфигурация - поддержка - настройка поддержки - Вверху окна Конфигурация поставщика, версия.
Возможно прошлый раз криво обновили.
Криво - это когда релиз конфигурации базы данных не соответствует релизу конфигурации поставщика. Т.е. релиз базы - 1.6.11.7 , при этом релиз конфигурации поставщика 1.6.10. или меньше.
Аноним, продолжать На качестве работы в режиме "предприятие" это не скажется
А если серьезно, зайти в режиме конфигуратора и обновить конфигурацию базы данных.
Передавайте привет, тому кто Вам базу обновлял
А если серьёзно, в конфигураторе найдите кнопку "Обновить конфигурацию базы данных" (третья иконка в третьем ряду иконок) - нажмите на неё.
Если она не активна, попробуйте найти где-нибудь базу с последним релизом - откройте её в конфигураторе - Конфигурация - сохранить конфигурацию в файл (на выходе получите файл *.cf). Теперь переходим в Вашу недообновлённую базу Конфигурация - Загрузить конфигурацию из файла - и указываете полученный ранее cf-ник. Но это очень не надёжный метод, возможны ошибки
Передавайте привет, тому кто Вам базу обновлял
А если серьёзно, в конфигураторе найдите кнопку "Обновить конфигурацию базы данных" (третья иконка в третьем ряду иконок) - нажмите на неё.
Если она не активна, попробуйте найти где-нибудь базу с последним релизом - откройте её в конфигураторе - Конфигурация - сохранить конфигурацию в файл (на выходе получите файл *.cf). Теперь переходим в Вашу недообновлённую базу Конфигурация - Загрузить конфигурацию из файла - и указываете полученный ранее cf-ник. Но это очень не надёжный метод, возможны ошибки
Я себе передала не только привет
Нажала на указанную кнопку - прога сделала ряд манипуляций с данными и метаданными. Потом я приняла изменения. А дальше что?
Посмотрите какой сейчас релиз конфигурации? Если всё Ок - жмите кнопку "Начать отладку" - значок в виде символа "1С" с синим треугольничком - откроется режим Предприятие - в появившемся окне жмём Ок - и радуемся жизни .
А можно Вам нескромный вопрос задать: Как Вы такого результата добились (с обновлением конфигурации поставщика)?
Обновление
Извиняюсь, что втиснулась в ваш диалог. Не могу оставить вопрос без своего внимания "Как Вы такого результата добились (с обновлением конфигурации поставщика)?". Не поверите, но сама лично столкнулась с такой же проблемой при обновлении с 10 релизя Бух. Упорно не обновляется конфигурация поставщика. С разработкой 1С и в частности с обновлениями нетиповых работаю 2 года. но на такое еще не попадалась. Причем все советны в моем случае бесполезно. ИБ видимо феноменальная))) Будем думать как быть..
1.Открыта новая радиостанция для юзеров под названием RТ FМ. По ней будут транслироваться чтения различных мануалов и ответы на часто задаваемые вопросы.
2. "Помогая ленивым людям, ты помогаешь им сесть на свою шею" Сян-Цзы
Я себе передала не только привет
Нажала на указанную кнопку - прога сделала ряд манипуляций с данными и метаданными. Потом я приняла изменения. А дальше что?
Теперь конфигурации должны совпадать. Можете обновлять на 14-й релиз. Не вижу в ситуации ничего уникального. По каким-то причинам прервалось обновление, и конфа БД не обновилась в прошлый раз. НАпример, на предложение ее обновить вы нажали "нет".
У меня то же самое. Тоже 1С 8.1.13.41 Бухгалтерия базовая 1.6.14.4, пытаюсь обновить на 1.6.15.5 через конфигуратор, также пишет, что неверный формат хранилища данных. Что это? Опять ошибка фирмы 1С?
В папке C:\Documents and Settings\Имя пользователя\Application Data\1C\1Cv81 есть одна или несколько папок с длинными буквенно-цифровыми именами. Удалите эти папки. Только папки! Файлы, лежащие прямо в C:\Documents and Settings\Имя пользователя\Application Data\1C\1Cv81 не трогайте!
В этих папках 1С хранит некоторые вспомогательные данные. В случае некорректного завершения программы, сбоев Windows и т.д. эти данные могут искажаться. Если вы папки удалите, 1С их создаст заново и уже корректно заполненные.
Ну там вчера под вечер еще одна новость выяснилась - если скачать с сайта дистрибутив обновления, то при его запуске пишет что файл поврежден или не предназначен для данной программы установки.
Кстати сегодня на работе ПРОФ обновилась нормально.
Ну вот, сегодня все прошло без проблем, никакие папки удалять не потребовалось. Делаем вывод - глюк был на сайте 1с
Подскажите пожалуйста, столкнулась с той же проблемой -
установила обновления и сейчас конфигурация БП Базовая 1.6.11.7.
Платформа 8.1.14.72.
Пытаюсь поставить следующие обновления, т.е. 12-е или 13-е.
И вижу то же окно: "Файл не содержит доступных обновлений" и подзаголовок "Данный файл содержит обновления для след конфигураций: 1.6.11.7 и 1.6.12.2".
Что можно предпринять?
Прочитайте пожалуйста описание обновления, может он для ПРОФ версии?
+ прочитайте второй ответ в этой ветке.
Прочитайте пожалуйста описание обновления, может он для ПРОФ версии?
+ прочитайте второй ответ в этой ветке.
для базовой, я пробовала также и обновление на 13, а 12-е - тот же результат - не "видит" установленное обновление, и пишет его в списке.
конфигурацию поставщика я проверила - именно та.
есть ли еще какие-либо варианты?
такая же проблема, причем поголовно на всех базах со сдуру установленными тестовыми релизами на БП 8.1 (1.6.16.3). Конфигурации основная и поставщика совпадают. Не видит хоть убей обновлений, ни при автопоиске обновления в каталоге, ни при указании конкретного файла обновления. Если почитать инфу о предназначении последующих релизов (типа "Релиз предназначен для обновления с конфигурации версий 1.6.15.6, 1.6.16.6 и 1.6.17.3"), то 16.3 соответственно в этих списках нет в описании всех последующих релизов вплоть до последнего. Посему и не видит, наверно. Что теперь делать с этими тестовыми релизами? Остается только сравнением cf-ок обновлять?
Добавлю свои пять копеек. Были такие же проблемы (несоответсвие конфигурации и не обновлялась ни через конфигуратор ни через инет). установил платформу свежее (та что была на сайте поддержки 8.1.15.14) и все заработало.
8.1-как разблокировать объекта чтобы зарузить Конф.из файла
Прислали небольшое улучшение
надо загрузить его как конфиг. из файла.
Вошел в конфигуратор,
открыл К.
везде замки - как снять?
подскажите.
такая же проблема, причем поголовно на всех базах со сдуру установленными тестовыми релизами на БП 8.1 (1.6.16.3). Конфигурации основная и поставщика совпадают. Не видит хоть убей обновлений, ни при автопоиске обновления в каталоге, ни при указании конкретного файла обновления. Если почитать инфу о предназначении последующих релизов (типа "Релиз предназначен для обновления с конфигурации версий 1.6.15.6, 1.6.16.6 и 1.6.17.3"), то 16.3 соответственно в этих списках нет в описании всех последующих релизов вплоть до последнего. Посему и не видит, наверно. Что теперь делать с этими тестовыми релизами? Остается только сравнением cf-ок обновлять?
Сергей, подскажите, плиз. А у меня аналогично с 24.5 и 24.7, промежуточный 24.6 с сайта удалили, скачать не успела. Что теперь делать, как обновиться? Можно ли обновиться не официальным, чтобы потом официально обновиться на 24.7? Прям беда, зачем такие строгие соответствия выставляются.
Пожалуйста помогите.
Сделала глупость- обновляя 1С в пятницу, после обновления на флэшку хотела сбросить, а получилось, что старой версией затерла недельную работу. Ужас. Нашла ZIP файл, сохраненный 01.06, который программа сама формирует перед обновлением . Их него никак нельзя восстановить базу? Пожалуйста если есть какая-нибудь возможность, спасите! Профессионалы! Или как нибудь восстановить прежнюю (от 01.06) версию можно? Программа 1с8.(2.0)
Благодарю заранее и жду с нетерпением.
С уважением, Анна.
Исправлений: 1; последнее - в 04.06.2012, 12:39.
Да я знаю про это, глупость то в том и состоит, что при сохранении после обновления нажала на загрузить, а не на выгрузить. Перед обновлением внутри в самой программе предусмотерно сохранение в формате ZIP, я его нашла. Из него можно что-нибудь вытащить?
Посмотрите, что в самом архиве, если файл 1cv8.1cd есть, то вам повезло, распаковываете его в любую папку, заводите базу с ссылкой на этот файл и пробуете загрузиться.
Зовите программиста, если архивная копия создавалась автоматически при обновлении, то восстановить можно. Но обычно эта копия .dt, а не зип. Если архивной копии не будет, то неделю работы на смарку
Архивную копию в формате DT делаю каждый раз, в этот раз- бес попутал вместо выгрузить сделала загрузить и затерла файлом недельной давности. Вот ведь в чем ужас. ну что мне теперь делать?!
Аноним, спасибо за участие. Похоже Вы правы.
Анчоус, может все-таки в какую-нить обслуживающую фирму за консультацией?
Если при обновлении создается архив, наверняка его можно восстановить.
Иначе нафига он создается?
ЗЗЫ Ну или еще кого-нить подождите, Гену или Голубева.
10 лет твержу, что дизайнеров фирмы 1С надо расстреливать.
нельзя в одном выпадающем меню РЯДОМ располагать:
.
Выгрузить
Загрузить
.
это преступление. азы первичной защиты. тьфу на тех, кто продолжает 10 лет тянуть мину во все конфигурации.
Да хоть бы перед восстановлением предупреждение какое выдавалось.
Типа "Вы уверены, что хотите забить эту базу?"
Желательно крупными буквами.
Даже когда с отчетами возишься в Обслуживании сохраненных форм, прога предупреждает.
А с базой - типа делайте что хотите.
запомните на всю оставшуюся жизнь:
именуйте предлагаемый архивный файл текущей датой. например, сегодняшний:
2012_06_04
и тогда, даже если случайно жмакните по - программа просто выдаст "Файл не найден"
и тогда НИКОГДА не затрёте свою рабочую базу!
Гена, Random. Заливаюсь слезами! Ничего нельзя сделать!
Осталась вечером в пятницу. Да чтоб я еще раз.
Большинство документов отправлено транспортными компаниями, у меня на руках только счета-фактуры! Приход- ГТД на N-ную сумму, со всеми вытекающими. Неделя работы под хвост не знаю кому. Ну как тут не расплакаться.
Все, что Вы пишете прекрасно понимаю, но и на старуху бывает проруха!
Каждую неделю сохраняюсь, боюсь, что слетит что-нибудь, а тут сама накосячила. Нет в жизни справедливости.
Соберись, тряпка, и иди работать, говорю я себе. и работаю, все сначала.
да не, здесь можно только посочувствовать.
и поддержать Гену по поводу юзабилити Загрузить-Выгрузить (если бы тоже не переименовывал архивы по датам создания, то сам бы на эти грабли не один десяток раз наступил)
Читайте также: