Одной из самых частых и неприятных проблем при работе с программами 1С (такими как Зарплата и управление персоналом или Управление производственным предприятием) является сбой при попытке обновить или загрузить адресный классификатор. Пользователь видит критическое сообщение: «Неверный формат файла». Эта ошибка может возникнуть как в момент выбора адреса в карточке сотрудника, так и при попытке принудительной загрузки сведений через интернет. Давайте подробно разберем, почему это происходит и какими способами можно восстановить работоспособность системы.
Прежде чем приступать к активным действиям, нам необходимо понять механику процесса. Проанализируем ситуацию: программа 1С обращается к серверам обновлений (портал ИТС), скачивает временный файл (обычно в формате .zip) в папку Temp пользователя, а затем пытается его распаковать и прочитать. Ошибка формата возникает в трех основных случаях:
Рассмотрим самый простой, но часто эффективный метод — полную очистку кэша. Часто 1С «запоминает» ошибочные состояния или пути к временным файлам. Для радикальной очистки мы рекомендуем использовать командный файл (батник), который удалит все временные данные платформы.
Рассмотрим пример кода для такого файла:
@echo off
del /s /q %userprofile%\AppData\Local\1C\*.*
rd /s /q %userprofile%\AppData\Local\1C\
del /s /q %userprofile%\AppData\Roaming\1C\1cv8\*.*
rd /s /q %userprofile%\AppData\Roaming\1C\1cv8\
del /s /q %userprofile%\AppData\Roaming\1C\1cv82\*.*
rd /s /q %userprofile%\AppData\Roaming\1C\1cv82\
После выполнения этого скрипта базу нужно заново добавить в список информационных баз (удалить и создать запись в окне запуска), так как пути к базам также могут быть закэшированы с ошибками.
Разберем ситуацию, когда очистка кэша не помогла. Если ваша организация использует прокси-сервер, высока вероятность, что именно он блокирует скачивание архивов. Как мы выяснили в ходе технического анализа, программа скачивает файл в папку Temp, но если открыть этот файл блокнотом, внутри вместо заголовков архива (символы PK) будет виден HTML-код ошибки прокси.
Для решения этой проблемы системному администратору необходимо разрешить полный доступ без инспекции трафика к следующим доменам:
*.1c.ru*.1c.comn-fias.1c.ruПроверить это можно, попробовав скачать классификатор вручную через браузер под тем же пользователем, под которым работает служба 1C:Enterprise.
Если вы имеете доступ к конфигуратору, мы можем внедрить «заплатку», которая будет проверять, действительно ли скачанный файл является архивом, прежде чем передавать его методу ЧтениеZipФайла. Это поможет избежать вылета программы с ошибкой и даст возможность вывести информативное сообщение.
Посмотрим на пример реализации проверки в общем модуле АдресныйКлассификаторСлужебный:
ЧтениеДанных = Новый ЧтениеДанных(РезультатПолученияФайла.Путь, , ПорядокБайтов.BigEndian);
СигнатураФайла = ЧтениеДанных.ПрочитатьСимволы(2);
Если СигнатураФайла <> "PK" Тогда
Сообщить("Скачанный файл не является корректным ZIP-архивом. Проверьте настройки интернета!");
Возврат Ложь;
КонецЕсли;
Символы PK — это стандартный заголовок любого ZIP-файла. Если там что-то другое (например, <html>), значит, скачивание прошло неудачно.
Если автоматическое обновление через интернет не удается настроить из-за политик безопасности, проанализируем вариант ручной загрузки. Это самый надежный способ «оживить» классификатор. Для автоматизации этого процесса и настройки регулярного обновления в фоновом режиме можно использовать обработку для автоматического обновления классификатора адресов по расписанию.
.zip).C:\FIAS_DATA\.В конфигурациях типа УПП 1.3 была замечена особенность: если поместить файл 00.zip (все регионы) в системную папку Загрузки пользователя, форма выбора регионов иногда начинает открываться корректно даже при сбоях онлайн-соединения.
Посмотрим на проблему с точки зрения актуальности ПО. Начиная с определенных релизов (например, ЗУП 3.1.8.137 и выше), разработчики 1С внесли существенные изменения в механизмы работы с адресными сведениями. Если ваша версия ниже, вы неизбежно будете сталкиваться с ошибками формата из-за изменения API на стороне серверов 1С.
Также проверьте версию платформы. Для корректной работы с новыми типами данных и методами HTTP-запросов рекомендуется использовать платформу не ниже 8.3.12.1440, а лучше — последние релизы ветки 8.3.17 или 8.3.22. Если ваша конфигурация использует управляемые формы, убедитесь, что в настройках «Администрирование — Интернет-поддержка» введены корректные логин и пароль, так как без авторизации сервер может отдавать «пустые» или ошибочные ответы, которые программа интерпретирует как неверный формат.
Мы выяснили, что ошибка «Неверный формат файла» чаще всего не связана с поломкой самой базы данных, а является следствием сетевых ограничений или устаревания программных механизмов. Рекомендуется начать с очистки кэша, а если это не помогло — переходить к ручной загрузке файлов или обновлению конфигурации до актуального релиза, поддерживающего формат ГАР. При наличии нескольких баз их регулярное обслуживание можно проводить через программу для автоматического обновления и тестирования 1С в «тихом» режиме.