Как исправить ошибку «Метод объекта не обнаружен (ПравоНаВычетНДСНалоговогоАгентаДоОплатыВБюджет)» в 1С:УПП

Программист 1С v8.3 (Обычные формы) Налоговый учет
← На главную

При работе в конфигурации 1С:Управление производственным предприятием (УПП), особенно после перехода на релизы конца 2022 — начала 2023 года (в частности, 1.3.201.1), пользователи могут столкнуться с досадной ошибкой при попытке открыть документ «Формирование записей книги покупок». Программа выдает сообщение: Метод объекта не обнаружен (ПравоНаВычетНДСНалоговогоАгентаДоОплатыВБюджет). Давайте разберем по шагам, почему это происходит и как исправить ситуацию несколькими способами.

Проанализируем причину возникновения ошибки

Ошибка возникает из-за несоответствия между кодом формы документа и содержимым общего модуля УчетНДС. В релизе 1.3.201.1 разработчики внесли изменения в форму документа «Формирование записей книги покупок», добавив вызов новой функции для проверки прав на вычет НДС. Однако сама функция в общий модуль УчетНДС в этом релизе либо не попала, либо модуль не был корректно обновлен в пользовательских базах.

С технической точки зрения ошибка выглядит так:


{Документ.ФормированиеЗаписейКнигиПокупок.Форма.ФормаДокумента.Форма(170)}:	
ПравоНаВычетНДСНДоОплатыВБюджет = УчетНДС.ПравоНаВычетНДСНалоговогоАгентаДоОплатыВБюджет(Дата);

Рассмотрим ситуацию глубже: зачем понадобился этот метод? С 1 января 2023 года вступили в силу изменения в Налоговом кодексе РФ. Теперь налоговые агенты в ряде случаев имеют право принимать НДС к вычету, не дожидаясь фактического перечисления налога в бюджет (в связи с введением системы ЕНП и ЕНС). Программа должна определять, наступила ли уже эта дата (01.01.2023), чтобы скрывать или показывать колонки, связанные с оплатой НДС в бюджет. Именно эту логику и должен реализовывать отсутствующий метод.

Вариант 1: Исправление программного кода вручную

Если по каким-то причинам вы не можете оперативно обновить конфигурацию на более свежий релиз (где ошибка исправлена), мы можем самостоятельно добавить недостающую функцию. Для этого нам потребуется роль с правами на изменение конфигурации и запущенный Конфигуратор.

  1. Откроем дерево метаданных и найдем общий модуль УчетНДС.
  2. Перейдем в самый конец модуля и добавим следующий экспортный метод:

Функция ПравоНаВычетНДСНалоговогоАгентаДоОплатыВБюджет(Дата) Экспорт
    
    ДатаПримененияФЗ = '20230101'; // Дата вступления изменений в силу
    
    Если Дата < ДатаПримененияФЗ Тогда
        Возврат Ложь;
    Иначе
        Возврат Истина;
    КонецЕсли;
    
КонецФункции

Почему это работает: Данная функция проверяет дату документа. Если документ создан в 2023 году или позже, функция возвращает Истина, что позволяет системе корректно отработать логику вычета без привязки к документу оплаты.

Вариант 2: Изменение логики в форме документа

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

Найдем строку, вызывающую ошибку, и заменим её на фиксированное значение:


// ПравоНаВычетНДСНДоОплатыВБюджет = УчетНДС.ПравоНаВычетНДСНалоговогоАгентаДоОплатыВБюджет(Дата);
ПравоНаВычетНДСНДоОплатыВБюджет = Ложь; // Или Истина, в зависимости от периода учета

Однако помните, что это «костыль», который может привести к неверному отображению колонок «Документ оплаты НДС» и «Дата оплаты». Рекомендуется использовать Вариант 1 или полноценное обновление.

Вариант 3: Правильное обновление конфигурации

Проблема официально решена в релизе 1.3.202.1 и последующих. Выясним причину, по которой даже после обновления у некоторых пользователей ошибка сохраняется. Часто это связано с тем, что модуль УчетНДС находится на поддержке с возможностью изменения (модифицирован под нужды конкретного предприятия).

При выполнении процедуры «Сравнение и объединение» выполним следующие действия:

  1. В окне сравнения конфигураций установим фильтр «Показывать только дважды измененные свойства». Это позволит нам увидеть только те объекты, которые изменились и у поставщика (в новом релизе), и у нас (наши доработки).
  2. Найдем в списке общий модуль УчетНДС.
  3. Нажмем на него правой кнопкой мыши и выберем пункт «Показать различия в текстах» (или развернем структуру модуля).
  4. Убедимся, что галочка напротив новой функции ПравоНаВычетНДСНалоговогоАгентаДоОплатыВБюджет установлена. Если модуль сильно изменен, возможно, стоит вручную перенести текст функции из окна сравнения в вашу рабочую конфигурацию.
  5. Аналогично проверьте модуль УчетНДСФормированиеОтчетности, так как там могли появиться важные изменения для декларации по НДС 2023 года.

Проанализируем последствия изменений

После того как метод будет добавлен, процедура УстановитьВидимость() в документе начнет работать корректно. Посмотрим, на что это влияет в интерфейсе:


ВерсияПостановления735 = ВерсияПостановления1137 >= 3;
ПравоНаВычетНДСНДоОплатыВБюджет = УчетНДС.ПравоНаВычетНДСНалоговогоАгентаДоОплатыВБюджет(Дата);

ЭлементыФормы.ВычетНДСПоНалоговомуАгенту.Колонки.ДатаОплаты.Видимость = НЕ ВерсияПостановления735;
ЭлементыФормы.ВычетНДСПоНалоговомуАгенту.Колонки.ДокументОплатыНДС.Видимость = ВерсияПостановления735 И НЕ ПравоНаВычетНДСНДоОплатыВБюджет;

Важный нюанс: Если ПравоНаВычетНДСНДоОплатыВБюджет возвращает Истина, то колонка ДокументОплатыНДС станет невидимой. Это правильно для большинства операций с 2023 года, так как налог уплачивается в составе единого налогового платежа и конкретное платежное поручение больше не является обязательным условием для принятия НДС к вычету налоговым агентом.

Рекомендации по чистке кэша

Если вы обновили конфигурацию, проверили наличие функции в модуле УчетНДС через Ctrl + F, и она там точно есть, но у одного из пользователей ошибка сохраняется — скорее всего, «протух» локальный кэш конфигурации. В этом случае выполните следующие действия:

  1. Удалите базу из списка в окне запуска 1С.
  2. Добавьте её заново (это очистит идентификаторы кэша).
  3. Или вручную очистите папку %AppData%\1C\1Cv8\ (папки с длинными буквенно-цифровыми именами).

Подводя итог, можно сказать, что данная проблема является классическим примером сложности сопровождения «тяжелых» конфигураций вроде УПП в периоды резких изменений законодательства. Своевременный контроль состава модулей при объединении — залог стабильной работы системы.

← На главную