При работе в программе «1С:Зарплата и управление персоналом 8» (редакция 3.1) пользователи могут столкнуться с критической ошибкой при попытке открыть журнал документов «Приемы, переводы, увольнения». Система выдает сообщение: «Таблица не найдена "РегистрСведений.НаличиеПрисоединенныхФайлов"». Особенность ситуации заключается в том, что в типовой конфигурации такого регистра может не существовать — стандартный объект называется НаличиеФайлов.
В этой статье мы подробно разберем, почему возникает данная коллизия и какими методами можно восстановить работоспособность программы.
Проанализируем природу данной ошибки. Она чаще всего связана с тем, что платформа пытается выполнить запрос к объекту метаданных, которого нет в текущей конфигурации. Рассмотрим основные факторы, приводящие к такому состоянию:
НаличиеПрисоединенныхФайлов, ссылка на него могла «застрять» в настройках конкретной формы у пользователя.Как показывает практика, в большинстве случаев проблема решается полной очисткой кэша. Рассмотрим, как это сделать правильно. Выясним, что удаление временных файлов заставляет платформу заново считать актуальную структуру метаданных из базы.
Для очистки кэша выполним следующие действия:
/ClearCache. Для этого в настройках информационной базы в списке запуска, в поле «Дополнительные параметры запуска», пропишем данную команду. Стоит учитывать, что этот ключ очищает только кэш клиент-серверных вызовов.%AppData%\Local\1C\1cv8 и %AppData%\Roaming\1C\1cv8 и удалим папки с именами в виде длинных идентификаторов (например, 2840740a-995a-4648-9363-f9d2d7c48972).Если очистка кэша не помогла, проанализируем ситуацию с пользовательскими настройками. Ошибка может возникать из-за сохраненных настроек динамического списка в журнале «Приемы, переводы, увольнения». Если форма не открывается, мы не сможем зайти в меню «Еще» — «Установить стандартные настройки». В этом случае разберем системный способ очистки:
ПриемыПереводыУвольнения.Посмотрим на проблему со стороны программного кода. Если поиск по основной конфигурации (Ctrl+Shift+F) не находит строку «НаличиеПрисоединенныхФайлов», значит запрос формируется динамически или находится в расширении. Проверим этот момент:
РегистрСведений.НаличиеФайлов.В ситуациях, когда проблема вызвана «демоническим» обновлением, необходимо восстановить логическую целостность базы данных. Разберем шаги выполнения процедуры в конфигураторе:
Если база работает в клиент-серверном варианте, локальной очистки кэша может быть недостаточно. Проанализируем состояние серверного сеанса. Рекомендуется выполнить перезагрузку службы 1C:Enterprise 8.3 Server Agent. Это принудительно очистит серверный кэш и временные данные сеансов, которые могут содержать устаревшие ссылки на таблицы метаданных.
Также проверим, завершены ли все процедуры обновления информационной базы. Для этого запустим программу и перейдем в Обслуживание — Результаты обновления программы. Если есть невыполненные дополнительные процедуры обработки данных, запустим их выполнение вручную, так как они могут отвечать за реструктуризацию данных в регистрах сведений, связанных с файлами.
Применяя данные подходы последовательно — от простой очистки кэша до анализа расширений и серверных настроек — мы сможем устранить ошибку обращения к несуществующей таблице и вернуть систему в штатный режим работы.