Ошибка "Поле объекта не обнаружено (Щумма)" при начислении зарплаты в 1С:ЗУП — как исправить?

Программист 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом Налоговый учет IT и автоматизация бизнеса
← На главную

При обновлении конфигураций "1С:Зарплата и Управление Персоналом" иногда возникают ситуации, когда ошибки появляются не в самой конфигурации, а в выпускаемых к ней исправлениях (патчах). Одной из таких курьезных, но блокирующих работу ошибок, является сообщение "Поле объекта не обнаружено (Щумма)". В этой статье мы подробно разберем, откуда берется эта опечатка, почему стандартный поиск ее не находит и как восстановить работоспособность программы без привлечения разработчиков.

Анализ текста ошибки и стека вызовов

Давайте посмотрим на описание проблемы, с которой сталкиваются пользователи. При попытке заполнить документ НачислениеЗаПервуюПоловинуМесяца (аванс) или при окончательном расчете зарплаты программа выдает ошибку и прекращает работу.

Текст ошибки выглядит следующим образом:


Ошибка выполнения фонового задания ДлительныеОперации.ВыполнитьСКонтекстомКлиента
...
по причине:
Поле объекта не обнаружено (Щумма)
{ОбщийМодуль.УчетНДФЛ.Модуль(19084)}: СтрокаУчета.РазмерВычета = - СтрокаВычета.Щумма;

Здесь мы сразу видим причину: явная опечатка разработчика. Вместо свойства Сумма написано Щумма (на стандартной раскладке клавиатуры буквы "С" и "Щ" находятся далеко друг от друга, но клавиша "O" (Щ) и "C" (С) в английской и русской раскладках могут вносить путаницу при слепом наборе, либо это случайная ошибка автозамены).

Важно обратить внимание на место возникновения ошибки: ОбщийМодуль.УчетНДФЛ.Модуль. Это говорит нам о том, что проблема кроется в алгоритмах расчета Налога на доходы физических лиц.

Почему Глобальный поиск не находит ошибку?

Многие пользователи, увидев такую ошибку, первым делом открывают Конфигуратор и пытаются найти слово "Щумма" через глобальный поиск, чтобы исправить его вручную. Однако поиск часто выдает результат: "Ничего не найдено".

Давайте разберемся, почему так происходит:

  1. Стандартный глобальный поиск по умолчанию ищет текст в основной конфигурации.
  2. В современных версиях 1С:ЗУП исправления ошибок поставляются в виде патчей (Extension / Расширения конфигурации).
  3. Если ошибка находится внутри подключенного расширения (патча), глобальный поиск по основной конфигурации ее не увидит.

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

Диагностика: поиск виновного патча

Исходя из списка расширений, предоставленного в теме, мы видим множество установленных патчей с префиксом EF_.... Поскольку ошибка возникает в модуле УчетНДФЛ, нам необходимо обратить внимание на патчи, которые модифицируют именно этот общий модуль.

Проанализируем ситуацию. Пользователь не менял код конфигурации, он просто обновил программу и позволил ей автоматически установить исправления. Следовательно, "Щумма" приехала с одним из последних патчей.

Наиболее вероятные кандидаты — это патчи, касающиеся расчета НДФЛ. В контексте релиза 3.1.29.38 и подобных, проблема часто кроется в расширениях, исправляющих ошибки учета вычетов или расчета налога (например, EF_70083909, EF_60013960 или аналогичные).

Пошаговое решение проблемы

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

Шаг 1. Откройте список установленных исправлений

Перейдите в раздел Администрирование, затем выберите пункт Обслуживание. Раскройте группу Обновление программы и нажмите на ссылку Установленные исправления (патчи).

Шаг 2. Найдите проблемный патч

В открывшемся списке вы увидите все установленные расширения EF_.... Вам нужно найти то исправление, которое вызывает конфликт. Если вы не знаете точного номера (так как 1С выпускает их регулярно), можно ориентироваться на дату установки (самые свежие) или действовать методом исключения, отключая патчи, связанные с НДФЛ.

В рассматриваемом случае наиболее вероятным виновником является патч, связанный с ошибкой в модуле УчетНДФЛ. Часто в описании патча (если открыть его карточку) сказано, что он исправляет ошибки расчета вычетов.

Шаг 3. Удаление исправления

Выделите подозрительный патч и нажмите кнопку Удалить исправление (или Отключить, если такая опция доступна и вы хотите временно проверить гипотезу). Программа попросит перезагрузку сеанса.

Шаг 4. Проверка работоспособности

После перезагрузки программы попробуйте снова заполнить документ Начисление зарплаты или Начисление за первую половину месяца. Если ошибка "Поле объекта не обнаружено (Щумма)" исчезла, значит, вы удалили верный патч.

Что делать, если патч нужен?

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

Разработчики 1С оперативно реагируют на такие ситуации. Обычно в течение 1-2 дней выпускается исправленная версия патча (часто с тем же номером, но с суффиксом _2, _3 или новый номер). Поэтому:

  1. Удалите текущий сбойный патч, чтобы рассчитать зарплату.
  2. Через некоторое время запустите автоматическое обновление или проверьте наличие новых патчей вручную. Исправленная версия загрузится корректно.

Техническое исправление (для программистов)

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

Рассмотрим алгоритм:

  1. Откройте Конфигуратор.
  2. В меню Конфигурация выберите Расширения конфигурации.
  3. Найдите расширение, которое содержит захват общего модуля УчетНДФЛ.
  4. Откройте модуль УчетНДФЛ внутри расширения.
  5. Найдите строку с кодом:
    
    СтрокаУчета.РазмерВычета = - СтрокаВычета.Щумма;
    
  6. Исправьте Щумма на Сумма.
  7. Сохраните изменения и обновите конфигурацию базы данных.

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

← На главную