При работе в конфигурации 1С:Управление производственным предприятием (УПП), особенно после перехода на релизы конца 2022 — начала 2023 года (в частности, 1.3.201.1), пользователи могут столкнуться с досадной ошибкой при попытке открыть документ «Формирование записей книги покупок». Программа выдает сообщение: Метод объекта не обнаружен (ПравоНаВычетНДСНалоговогоАгентаДоОплатыВБюджет). Давайте разберем по шагам, почему это происходит и как исправить ситуацию несколькими способами.
Ошибка возникает из-за несоответствия между кодом формы документа и содержимым общего модуля УчетНДС. В релизе 1.3.201.1 разработчики внесли изменения в форму документа «Формирование записей книги покупок», добавив вызов новой функции для проверки прав на вычет НДС. Однако сама функция в общий модуль УчетНДС в этом релизе либо не попала, либо модуль не был корректно обновлен в пользовательских базах.
С технической точки зрения ошибка выглядит так:
{Документ.ФормированиеЗаписейКнигиПокупок.Форма.ФормаДокумента.Форма(170)}:
ПравоНаВычетНДСНДоОплатыВБюджет = УчетНДС.ПравоНаВычетНДСНалоговогоАгентаДоОплатыВБюджет(Дата);
Рассмотрим ситуацию глубже: зачем понадобился этот метод? С 1 января 2023 года вступили в силу изменения в Налоговом кодексе РФ. Теперь налоговые агенты в ряде случаев имеют право принимать НДС к вычету, не дожидаясь фактического перечисления налога в бюджет (в связи с введением системы ЕНП и ЕНС). Программа должна определять, наступила ли уже эта дата (01.01.2023), чтобы скрывать или показывать колонки, связанные с оплатой НДС в бюджет. Именно эту логику и должен реализовывать отсутствующий метод.
Если по каким-то причинам вы не можете оперативно обновить конфигурацию на более свежий релиз (где ошибка исправлена), мы можем самостоятельно добавить недостающую функцию. Для этого нам потребуется роль с правами на изменение конфигурации и запущенный Конфигуратор.
УчетНДС.
Функция ПравоНаВычетНДСНалоговогоАгентаДоОплатыВБюджет(Дата) Экспорт
ДатаПримененияФЗ = '20230101'; // Дата вступления изменений в силу
Если Дата < ДатаПримененияФЗ Тогда
Возврат Ложь;
Иначе
Возврат Истина;
КонецЕсли;
КонецФункции
Почему это работает: Данная функция проверяет дату документа. Если документ создан в 2023 году или позже, функция возвращает Истина, что позволяет системе корректно отработать логику вычета без привязки к документу оплаты.
Разберем альтернативный вариант, который обсуждался специалистами. Если вы хотите временно отключить проверку или упростить логику непосредственно в форме, можно модифицировать процедуру УстановитьВидимость() в форме документа ФормированиеЗаписейКнигиПокупок.
Найдем строку, вызывающую ошибку, и заменим её на фиксированное значение:
// ПравоНаВычетНДСНДоОплатыВБюджет = УчетНДС.ПравоНаВычетНДСНалоговогоАгентаДоОплатыВБюджет(Дата);
ПравоНаВычетНДСНДоОплатыВБюджет = Ложь; // Или Истина, в зависимости от периода учета
Однако помните, что это «костыль», который может привести к неверному отображению колонок «Документ оплаты НДС» и «Дата оплаты». Рекомендуется использовать Вариант 1 или полноценное обновление.
Проблема официально решена в релизе 1.3.202.1 и последующих. Выясним причину, по которой даже после обновления у некоторых пользователей ошибка сохраняется. Часто это связано с тем, что модуль УчетНДС находится на поддержке с возможностью изменения (модифицирован под нужды конкретного предприятия).
При выполнении процедуры «Сравнение и объединение» выполним следующие действия:
УчетНДС.ПравоНаВычетНДСНалоговогоАгентаДоОплатыВБюджет установлена. Если модуль сильно изменен, возможно, стоит вручную перенести текст функции из окна сравнения в вашу рабочую конфигурацию.УчетНДСФормированиеОтчетности, так как там могли появиться важные изменения для декларации по НДС 2023 года.После того как метод будет добавлен, процедура УстановитьВидимость() в документе начнет работать корректно. Посмотрим, на что это влияет в интерфейсе:
ВерсияПостановления735 = ВерсияПостановления1137 >= 3;
ПравоНаВычетНДСНДоОплатыВБюджет = УчетНДС.ПравоНаВычетНДСНалоговогоАгентаДоОплатыВБюджет(Дата);
ЭлементыФормы.ВычетНДСПоНалоговомуАгенту.Колонки.ДатаОплаты.Видимость = НЕ ВерсияПостановления735;
ЭлементыФормы.ВычетНДСПоНалоговомуАгенту.Колонки.ДокументОплатыНДС.Видимость = ВерсияПостановления735 И НЕ ПравоНаВычетНДСНДоОплатыВБюджет;
Важный нюанс: Если ПравоНаВычетНДСНДоОплатыВБюджет возвращает Истина, то колонка ДокументОплатыНДС станет невидимой. Это правильно для большинства операций с 2023 года, так как налог уплачивается в составе единого налогового платежа и конкретное платежное поручение больше не является обязательным условием для принятия НДС к вычету налоговым агентом.
Если вы обновили конфигурацию, проверили наличие функции в модуле УчетНДС через Ctrl + F, и она там точно есть, но у одного из пользователей ошибка сохраняется — скорее всего, «протух» локальный кэш конфигурации. В этом случае выполните следующие действия:
%AppData%\1C\1Cv8\ (папки с длинными буквенно-цифровыми именами).Подводя итог, можно сказать, что данная проблема является классическим примером сложности сопровождения «тяжелых» конфигураций вроде УПП в периоды резких изменений законодательства. Своевременный контроль состава модулей при объединении — залог стабильной работы системы.