При работе в программе «1С:Зарплата и управление персоналом 8» (редакция 3.1) пользователи часто сталкиваются с критической ошибкой при попытке рассчитать документ «Больничный лист» за прошлые периоды. Текст ошибки гласит: Поле объекта не обнаружено "Показатель8" (или Показатель с другим числовым индексом). Эта ситуация блокирует расчет среднего заработка и не позволяет завершить работу с документом.
Рассмотрим детально причины возникновения этой проблемы, проанализируем внутреннюю структуру данных 1С и разберем пошагово методы исправления, начиная от простых технических манипуляций и заканчивая глубоким анализом регистров.
Прежде всего, разберем техническую природу этого сообщения. В конфигурациях на платформе 1С:Предприятие 8.3 при расчете сложных начислений (таких как больничные, отпуска или командировки) система динамически формирует временные таблицы. Имена колонок в этих таблицах часто имеют технические названия, такие как Показатель1, Показатель2, ..., Показатель8.
Проанализируем ситуацию: ошибка Поле объекта не обнаружено означает, что программный код (запрос или программная выборка) ожидает найти колонку с определенным идентификатором, но в структуре переданных данных ее нет. В контексте больничного листа Показатель8 чаще всего отвечает за средний заработок или конкретный вид начисления, используемый в расчете среднего за предыдущие два года. Если данные за эти годы были перенесены из ЗУП 2.5 некорректно, расчетный механизм «спотыкается» о пустую или деформированную структуру.
Прежде чем приступать к исправлению данных, исключим влияние технических сбоев самой платформы. Рассмотрим стандартную процедуру очистки кэша, которая помогает в 90% случаев при «непонятных» программных ошибках:
Также проверим версию платформы. Если версия устарела, программный код новой конфигурации может работать некорректно. Разберем рекомендации: версия платформы должна быть не ниже рекомендуемой для текущего релиза ЗУП.
Как показывает практика и обсуждения на форумах, основной причиной ошибки является некорректный перенос данных. В ЗУП 3.1 информация о заработке за прошлые периоды (до начала ведения учета в новой базе) хранится в специальных технических документах.
Проанализируем алгоритм проверки:
Если перепроведение документов не помогло, углубимся в структуру регистров. Основным «хранилищем» данных для больничного является регистр накопления ДанныеОНачисленияхДляРасчетаСреднегоЗаработкаОбщий.
Разберем, как его проверить:
Данные о начислениях для расчета среднего заработка (общий).Показатель8.Рассмотрим ситуацию, когда ошибка вызвана изменениями в настройках самого начисления «Больничный лист». Иногда в формулу расчета могут быть добавлены пользовательские показатели, которые конфликтуют со стандартными.
Проделаем следующие действия:
Иногда система выдает ошибку Поле объекта не обнаружено, когда пытается перезаписать технические данные в закрытом периоде, но не может этого сделать из-за установленных ограничений. Посмотрим, где это проверить:
Стоит обратить внимание на распространенную ошибку в интерпретации этой проблемы. В некоторых темах форумов (как в Сообщении 15 текущего обсуждения) советуют переименовать или создать нового пользователя программы. Это неверный совет. Ошибка Показатель8 не имеет никакого отношения к справочнику Пользователи. Она относится исключительно к математическим показателям расчета (числам и формулам). Не тратьте время на пересоздание учетных записей сотрудников в системе администрирования.
Если база находится не в облаке, а на вашем сервере или компьютере, рекомендуется выполнить Тестирование и исправление (ТиИ) информационной базы через конфигуратор. Это восстановит битые ссылки и логическую целостность таблиц.
Выполним следующие настройки в ТиИ:
После проведения этих процедур программный механизм расчета среднего заработка обычно начинает «видеть» все необходимые поля, и ошибка исчезает.
Подводя итог, отметим: если вы работаете в актуальной версии 1С:ЗУП и все вышеперечисленные шаги не помогли, проверьте наличие патчей (исправлений) от фирмы «1С». Зайдите в «Администрирование» — «Обслуживание» — «Обновление программы» — «Установленные исправления (патчи)». Возможно, для вашей версии уже выпущено автоматическое исправление этой ошибки.