Зависает обмен с контрагентами и не подписываются документы: что и где чистить в 1С

· 9 мин

Содержание

Чтобы почистить кэш ЭДО в 1С, закройте программу, добавьте в свойства базы параметр запуска /ClearCache и откройте базу заново. Если не помогло, удалите папки кэша базы в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8, а для проблем с подписью дополнительно очистите запомненные пароли КриптоПро и кэш списков отзыва.

Отдельного «кэша ЭДО» в 1С нет. Сами электронные документы , пакеты и статусы лежат в информационной базе, и чистка их не трогает. Чистится то, что вокруг: кэш конфигурации на компьютере пользователя, временные файлы, сохранённые пароли и сведения о сертификатах в Windows. Именно они чаще всего дают зависания при отправке, пустые списки сертификатов и ошибки подписи после обновления.

Диагностика: поможет ли очистка кэша ЭДО

Перед чисткой полезно понять, где сбой. Очистка кэша лечит проблемы клиента, но не исправит просроченный сертификат или ошибку оператора.

Признаки, что виноват кэш:

  • 🔄 после обновления конфигурации формы ЭДО открываются со старыми полями или с ошибкой;
  • 🧊 программа «думает» минутами при нажатии «Отправить и получить», а у коллеги в той же базе всё быстро;
  • 🔑 список сертификатов в настройках пустой, хотя в КриптоПро сертификат виден;
  • 🌀 ошибка появляется только на одном компьютере или у одного пользователя Windows.

Признаки, что кэш ни при чём:

  • 📅 истёк срок сертификата или лицензии КриптоПро;
  • 🌐 ошибка у всех пользователей на всех компьютерах одновременно;
  • 🏢 контрагент не принял приглашение или сменил идентификатор участника ЭДО ;
  • 📨 оператор сообщает о сбое на своей стороне.

Быстрый тест: откройте ту же базу под тем же пользователем 1С на другом компьютере. Если там всё работает, проблема локальная, и чистка почти наверняка поможет.

Диагностика: выберите симптом

Очистка кэша при запуске: параметр /ClearCache

Самый безопасный способ. Он не требует прав администратора Windows и ничего не удаляет руками.

  1. Закройте все окна 1С с этой базой.
  2. В окне запуска выделите базу и нажмите «Изменить».
  3. Пройдите мастер кнопкой «Далее» до последней страницы.
  4. В поле «Дополнительные параметры запуска» впишите /ClearCache.
  5. Нажмите «Готово» и запустите базу в режиме «1С:Предприятие».

Первый запуск будет дольше обычного: платформа заново загружает конфигурацию с сервера или из файла базы. Затем откройте раздел ЭДО и попробуйте отправить документ.

После успешного запуска уберите /ClearCache из свойств базы. Иначе кэш будет сбрасываться при каждом входе, и запуск всегда будет медленным.

Параметр сбрасывает кэш только той базы, в свойствах которой прописан. Остальные базы в списке не затрагиваются.

Ручная чистка папок кэша и временных файлов пользователя

Если /ClearCache не помог, удалите кэш вручную. Это полный сброс: платформа создаст папки заново при следующем входе.

Где лежит кэш 1С в Windows

Кэш хранится в профиле пользователя Windows в двух местах:

ПапкаЧто в ней
%APPDATA%\1C\1cv8Кэш конфигураций и часть служебных данных по каждой базе
%LOCALAPPDATA%\1C\1cv8Основной объём кэша, включая загруженные модули и формы
%TEMP%Временные файлы, которые 1С создаёт при выгрузке и подписании

Внутри первых двух папок лежат каталоги с длинными именами вида 3f2b6c1a-.... Каждый такой каталог относится к одной базе. Узнать, к какой именно, проще всего по дате изменения: откройте нужную базу, закройте её и посмотрите, какой каталог обновился последним.

Порядок действий

  1. Закройте 1С полностью, проверьте в диспетчере задач, что нет процессов 1cv8.exe и 1cv8c.exe.
  2. Нажмите Win + R, введите %APPDATA%\1C\1cv8 и нажмите Enter.
  3. Удалите каталоги с именами из букв, цифр и дефисов. Файлы с расширением .pfl и папку ExtCompT не трогайте.
  4. Повторите то же для %LOCALAPPDATA%\1C\1cv8.
  5. Откройте %TEMP% и удалите файлы, которые начинаются с v8_. Занятые файлы пропустите.
  6. Запустите базу.

Не удаляйте файл ibases.v8i в папке %APPDATA%\1C\1CEStart — в нём список баз. Если его удалить, все базы пропадут из окна запуска, и их придётся добавлять заново.

Для тех, кто чистит кэш регулярно, удобен командный файл. Запускайте его только при закрытой 1С:

@echo off
rem Очистка кэша всех баз 1С текущего пользователя Windows
rem Перед запуском закройте все окна 1С
for /d %%D in ("%APPDATA%\1C\1cv8\*-*") do rd /s /q "%%D"
for /d %%D in ("%LOCALAPPDATA%\1C\1cv8\*-*") do rd /s /q "%%D"
del /q "%TEMP%\v8_*" 2>nul
echo Готово. Можно запускать 1С.
pause

Маска *-* выбирает только каталоги кэша: в их именах есть дефисы, а у служебных папок нет. Список баз и общие настройки запуска остаются на месте.

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

Если пользователь работает в веб-клиенте

У веб-клиента свой кэш — в браузере. Очистите кэш и файлы cookie для адреса публикации базы, закройте браузер и откройте базу снова. Если после этого не работает подпись, переустановите расширение для работы с криптографией: 1С сама предложит установить его при первой попытке подписать документ.

Сброс персональных настроек пользователя 1С

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

Сбросить их может администратор базы:

  1. Откройте Администрирование → Настройки пользователей и прав.
  2. Перейдите по ссылке «Настройки пользователей».
  3. Выберите нужного пользователя.
  4. Нажмите «Очистить» и выберите, какие настройки сбросить: внешний вид, настройки отчётов или прочие.

Электронные документы, учётные записи ЭДО и сертификаты при этом не удаляются. Пропадут только пользовательские отборы, сортировки, расположение колонок и сохранённые варианты отчётов.

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

Сертификаты и ключи ЭЦП: что почистить для ЭДО

Большая часть жалоб «не подписывается, не отправляется» связана с подписью. Здесь «кэш» — это три разные вещи, и каждая чистится по-своему.

Запомненные пароли КриптоПро

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

  1. Откройте КриптоПро CSP из меню «Пуск».
  2. Перейдите на вкладку «Сервис».
  3. Нажмите «Удалить запомненные пароли…» и отметьте пароли пользователя.
  4. Перезапустите 1С и подпишите документ, введя пароль заново.

Переустановка сертификата с привязкой к ключу

Типичная ситуация: сертификат в системе есть, но 1С его не видит или пишет, что закрытый ключ не найден. Чаще всего сертификат установлен из файла .cer, без связи с контейнером.

  1. В КриптоПро CSP на вкладке «Сервис» нажмите «Просмотреть сертификаты в контейнере».
  2. Выберите контейнер на токене или в реестре.
  3. Нажмите «Установить», чтобы сертификат лёг в хранилище «Личное» вместе со ссылкой на ключ.
  4. В 1С откройте Администрирование → Обмен электронными документами и перейдите к настройкам электронной подписи и шифрования.
  5. На вкладке сертификатов откройте карточку сертификата и нажмите «Проверить».

Проверка показывает по шагам, что не так: нет программы, недоступен ключ, сертификат не прошёл проверку. Так видно, где именно ломается подпись.

Кэш списков отзыва Windows

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

certutil -urlcache * delete

Команда удаляет только загруженные из сети файлы проверки. Сами сертификаты и ключи она не трогает. После неё Windows скачает свежие списки при следующей проверке, поэтому компьютеру нужен доступ в интернет.

Как почистить кэш ЭДО в клиент-серверной базе

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

Серверный кэш

Сервер хранит свой кэш в каталоге кластера, обычно C:\Program Files\1cv8\srvinfo\reg_1541. Внутри лежат папки snccntx с длинным идентификатором.

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

  1. Убедитесь, что все пользователи вышли из баз.
  2. Остановите службу агента сервера 1С в оснастке «Службы» Windows.
  3. Скопируйте каталог reg_1541 в резервную папку.
  4. Удалите в нём папки, имена которых начинаются с snccntx.
  5. Запустите службу агента сервера.

Файлы реестра кластера и папки баз не удаляйте. Если сервер Linux, принцип тот же, каталог кластера лежит в домашнем каталоге пользователя, от имени которого запущен сервер.

Подпись на сервере

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

Что проверить, если подпись на сервере перестала работать:

  • 🖥️ на сервере установлен КриптоПро CSP с действующей лицензией;
  • 👤 сертификат установлен в хранилище «Личное» той учётной записи Windows, от которой работает служба сервера 1С (чаще всего это USR1CV8), а не администратора;
  • 🔐 контейнер с ключом доступен этой учётной записи.

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

Терминальный сервер

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

Профилактика: как реже чистить кэш ЭДО

Чистка — разовое лечение. Чтобы сбои повторялись реже, выстройте несколько привычек:

  • 🔁 После обновления конфигурации один раз запускайте базу с /ClearCache на каждом рабочем месте, где работают с ЭДО.
  • 📆 Следите за сроками сертификатов заранее: новую подпись лучше получить и проверить в 1С до окончания старой.
  • 🧾 Не устанавливайте сертификат из файла .cer, если есть контейнер: ставьте из контейнера, чтобы сразу появилась привязка к ключу.
  • ⚙️ Держите регламентное задание обмена включённым в Администрирование → Обслуживание → Регламентные операции, чтобы входящие документы не копились пачками.
  • 🧹 Не работайте с ЭДО с нескольких версий платформы одновременно. Разные версии ведут свой кэш, и после переключения формы могут вести себя странно.
  • 💾 Освобождайте место на системном диске. При заполненном диске временные файлы не создаются, и выгрузка пакетов срывается.
Перед обращением к оператору ЭДО
Выполнено: 0 / 5

Если все пункты выполнены, а документы не уходят, причина почти наверняка вне вашего компьютера. Тогда пишите в поддержку оператора и прикладывайте точный текст ошибки.

Частые вопросы

Пропадут ли электронные документы после очистки кэша?
Нет. Документы, пакеты, статусы и переписка хранятся в информационной базе. Очистка кэша удаляет только служебные копии конфигурации на компьютере.
Нужно ли заново настраивать учётную запись ЭДО после чистки?
Нет. Учётная запись, соглашения с контрагентами и настройки обмена лежат в базе и остаются без изменений.
Сколько места занимает кэш 1С?
Обычно от сотен мегабайт до нескольких гигабайт на пользователя. Объём растёт с числом баз и обновлений, потому что старые каталоги не всегда удаляются сами.
Почему после очистки кэша 1С долго запускается?
Платформа заново загружает конфигурацию и строит кэш. Медленным будет только первый вход, дальше скорость вернётся к обычной.
Можно ли чистить кэш, пока открыта другая база?
Да, если удалять каталоги только закрытых баз. Каталог открытой базы занят, и Windows не даст его удалить. Командный файл безопаснее запускать при полностью закрытой 1С.