При работе в программе 1С:Зарплата и управление персоналом 3.1 пользователи часто сталкиваются с неприятной ситуацией: при попытке создания ведомости на выплату зарплаты или выборе способа выплаты система выдает критическую ошибку. Текст ошибки обычно выглядит так: Поле объекта не обнаружено (ВидыДокументовМежрасчетныхНачислений). Проблема локализуется в общем модуле СпособыВыплатыЗарплатыРасширенный.
Эта ошибка особенно коварна тем, что стандартные процедуры тестирования и исправления через Конфигуратор не всегда приносят результат. В этой статье мы подробно разберем, почему возникает этот сбой и какими методами его можно гарантированно устранить.
Проанализируем ситуацию: код программы пытается обратиться к перечислению ВидыДокументовМежрасчетныхНачислений, которое является частью типовой конфигурации. Если система сообщает, что поле не обнаружено, это означает одно из двух:
Как показывает практика, обычное удаление папок из %appdata% помогает не всегда. Рассмотрим более надежный алгоритм, который помог решить проблему в обсуждаемой теме:
1Cv8.1CD).Почему это работает? При изменении пути к базе данных 1С генерирует для неё новый уникальный идентификатор (ID). Это заставляет платформу создать абсолютно чистые кэш-директории, полностью исключая влияние «шлаковых» файлов, которые могли остаться в профиле пользователя Windows.
Если перемещение базы не помогло, проанализируем влияние расширений конфигурации. Выполним следующие шаги:
Если проблема вызвана аварийным завершением работы ПК, стандартного chdbfl.exe может быть недостаточно. Рассмотрим, как правильно выполнить тестирование в Конфигураторе:
Чтобы окончательно убедиться, виноват ли код или структура данных, попробуем выполнить простой запрос в «Консоли запросов» (её можно запустить через функции для технического специалиста):
ВЫБРАТЬ ПЕРВЫЕ 1
ВидыДокументовМежрасчетныхНачислений.Ссылка КАК Ссылка
ИЗ
Перечисление.ВидыДокументовМежрасчетныхНачислений КАК ВидыДокументовМежрасчетныхНачислений
Если запрос выполняется успешно и возвращает значения (например, Премия, Отпуск), значит, с метаданными всё в порядке, и проблему нужно искать исключительно в программном кэше (см. Метод 1). Если же запрос выдает ошибку «Таблица не найдена», значит, структура базы данных действительно повреждена, и поможет только выгрузка/загрузка в формат .dt.
Разберем ситуацию для пользователей базовых версий. В них невозможно изменить конфигурацию, но можно принудительно «перезаписать» её:
8.3.18. Старые версии (например, 8.3.15.1700) имели критические ошибки в управлении памятью, которые провоцировали подобные сбои..cf или .cfu) и запустите процедуру обновления, указав этот файл вручную. Это заставит систему пересобрать дерево объектов метаданных.Важный совет: Никогда не пренебрегайте очисткой серверного кэша, если работаете в клиент-серверном режиме. Для этого необходимо очистить содержимое папки snaccfg в каталоге данных сервера 1С (обычно C:\Program Files\1cv8\srvinfo), предварительно остановив службу 1C:Enterprise 8.3 Server Agent.
Совместное применение этих методов позволяет устранить ошибку ВидыДокументовМежрасчетныхНачислений и вернуть программу в рабочее состояние без потери данных.