В процессе работы с конфигурацией «1С:Бухгалтерия предприятия 3.0» пользователи, находящиеся на упрощенной системе налогообложения (УСН), могут столкнуться с неприятной технической ошибкой. При попытке провести документ Списание с расчетного счета программа выдает сообщение об ошибке в общем модуле налогового учета, и проведение документа прерывается. Давайте детально разберем, почему это происходит и как решить данную проблему.
Проанализируем текст ошибки, который обычно видит пользователь или администратор системы:
{ОбщийМодуль.НалоговыйУчетУСН.Модуль(13201)}: Ошибка при вызове метода контекста (Заблокировать)
Блокировка.Заблокировать();
по причине:
Неверные значения типов полей : РегистрНакопления.РасходыПриУСН.РасчетныйДокумент - Корректировка поступления
Выясним причину такого поведения системы. Ошибка возникает в момент вызова метода Заблокировать() объекта DataLock (Блокировка данных). Программа пытается установить управляемую блокировку на записи регистра накопления РасходыПриУСН. В качестве одного из значений для фильтра блокировки по измерению РасчетныйДокумент передается ссылка на документ Корректировка поступления.
Однако в метаданных конфигурации (в версиях ветки 3.0.70.x) для измерения РасчетныйДокумент регистра РасходыПриУСН тип ДокументСсылка.КорректировкаПоступления не был включен в состав разрешенных типов. Когда платформа 1С пытается сопоставить переданное в блокировку значение с описанием метаданных регистра, она обнаруживает несоответствие и выбрасывает исключение. Это классическая архитектурная ошибка, когда программный код (логика УСН) опережает описание структуры данных (метаданные).
Рассмотрим подробнее сценарии, приводящие к сбою:
Списание с расчетного счета установлен режим «Погашение задолженности: Автоматически». В этом режиме алгоритм 1С анализирует остатки по взаиморасчетам и регистрам УСН, чтобы определить, какие именно документы поступления оплачиваются.Корректировка поступления (особенно если он увеличивает сумму долга), алгоритм налогового учета УСН включает этот документ в выборку как основание возникновения задолженности.Корректировку поступления, что и вызывает отказ системы.Первым делом проанализируем версию вашей конфигурации. Проблема была официально признана разработчиками 1С и исправлена в последующих релизах. Если вы используете версию 3.0.70.33 или близкие к ней, рекомендуется:
EF_00_0023xxxx, связанное с регистром «Расходы при УСН».Если оперативное обновление невозможно, разберем, как провести документ «здесь и сейчас». Проанализируем настройки документа Списание с расчетного счета:
Списание с расчетного счета.Поступление (акт, накладная), по которому фактически возник долг.Поступление (акт, накладная) разрешен в регистре, блокировка отработает корректно.Важно: После такого изменения обязательно проверьте движения документа по регистру Расходы при УСН, чтобы убедиться, что суммы оплаты распределились верно.
Если база находится на поддержке и вы не хотите снимать ее с нее, можно применить техническое решение через механизм расширений. Проанализируем шаги реализации:
РасходыПриУСН.РасчетныйДокумент.ДокументСсылка.КорректировкаПоступления.Это действие расширит состав типов измерения на уровне базы данных, и метод Блокировка.Заблокировать() перестанет выдавать ошибку, так как теперь Корректировка поступления станет валидным типом для этого поля.
Посмотрим на ситуацию с точки зрения ведения учета. Иногда ошибка свидетельствует о нарушении последовательности проведения документов. Попробуйте выполнить следующие действия:
Корректировка поступления введена на основании документа, который уже полностью оплачен или сторнирован.Подводя итог, отметим, что данная проблема является следствием программной недоработки в логике управляемых блокировок конкретных релизов. Наиболее правильным и долгосрочным решением является обновление программы, а в качестве экстренной меры — переход на ручной выбор документов оплаты в платежном поручении.