Как исправить ошибку «Неверные значения типов полей: Корректировка поступления» при проведении списания с расчетного счета в 1С:Бухгалтерия 3.0?

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

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

Анализ технической причины ошибки

Проанализируем текст ошибки, который обычно видит пользователь или администратор системы:


{ОбщийМодуль.НалоговыйУчетУСН.Модуль(13201)}: Ошибка при вызове метода контекста (Заблокировать)
    Блокировка.Заблокировать();
по причине:
Неверные значения типов полей : РегистрНакопления.РасходыПриУСН.РасчетныйДокумент - Корректировка поступления

Выясним причину такого поведения системы. Ошибка возникает в момент вызова метода Заблокировать() объекта DataLock (Блокировка данных). Программа пытается установить управляемую блокировку на записи регистра накопления РасходыПриУСН. В качестве одного из значений для фильтра блокировки по измерению РасчетныйДокумент передается ссылка на документ Корректировка поступления.

Однако в метаданных конфигурации (в версиях ветки 3.0.70.x) для измерения РасчетныйДокумент регистра РасходыПриУСН тип ДокументСсылка.КорректировкаПоступления не был включен в состав разрешенных типов. Когда платформа 1С пытается сопоставить переданное в блокировку значение с описанием метаданных регистра, она обнаруживает несоответствие и выбрасывает исключение. Это классическая архитектурная ошибка, когда программный код (логика УСН) опережает описание структуры данных (метаданные).

В каких ситуациях проявляется проблема?

Рассмотрим подробнее сценарии, приводящие к сбою:

  1. Режим погашения задолженности: Ошибка чаще всего возникает, когда в документе Списание с расчетного счета установлен режим «Погашение задолженности: Автоматически». В этом режиме алгоритм 1С анализирует остатки по взаиморасчетам и регистрам УСН, чтобы определить, какие именно документы поступления оплачиваются.
  2. Наличие корректировок: Если в цепочке расчетов с поставщиком присутствует документ Корректировка поступления (особенно если он увеличивает сумму долга), алгоритм налогового учета УСН включает этот документ в выборку как основание возникновения задолженности.
  3. Объекты блокировки: При попытке «застолбить» данные по этим расчетам для корректного расчета записей УСН, код блокировки пытается использовать Корректировку поступления, что и вызывает отказ системы.

Способ 1: Обновление конфигурации и установка патчей

Первым делом проанализируем версию вашей конфигурации. Проблема была официально признана разработчиками 1С и исправлена в последующих релизах. Если вы используете версию 3.0.70.33 или близкие к ней, рекомендуется:

  1. Обновить конфигурацию до актуального релиза (начиная с 3.0.71.x и выше).
  2. Проверить наличие исправлений (патчей). Перейдите в раздел Администрирование — Обслуживание — Обновление программы — Установленные исправления (патчи). Ищите исправление с кодом EF_00_0023xxxx, связанное с регистром «Расходы при УСН».

Способ 2: Временный обходной путь (без изменения кода)

Если оперативное обновление невозможно, разберем, как провести документ «здесь и сейчас». Проанализируем настройки документа Списание с расчетного счета:

  1. Откройте проблемный документ Списание с расчетного счета.
  2. Найдите поле Погашение задолженности и смените значение с «Автоматически» на «По документу».
  3. В появившейся табличной части добавьте строку и выберите в качестве документа расчетов исходный документ Поступление (акт, накладная), по которому фактически возник долг.
  4. Поскольку тип Поступление (акт, накладная) разрешен в регистре, блокировка отработает корректно.

Важно: После такого изменения обязательно проверьте движения документа по регистру Расходы при УСН, чтобы убедиться, что суммы оплаты распределились верно.

Способ 3: Исправление через расширение конфигурации (для программистов)

Если база находится на поддержке и вы не хотите снимать ее с нее, можно применить техническое решение через механизм расширений. Проанализируем шаги реализации:

  1. Создайте новое расширение конфигурации.
  2. Добавьте в расширение регистр накопления РасходыПриУСН.
  3. Найдите в регистре измерение РасчетныйДокумент.
  4. В свойстве Тип данного измерения установите галочку напротив типа ДокументСсылка.КорректировкаПоступления.
  5. Сохраните расширение и перезапустите сеанс.

Это действие расширит состав типов измерения на уровне базы данных, и метод Блокировка.Заблокировать() перестанет выдавать ошибку, так как теперь Корректировка поступления станет валидным типом для этого поля.

Дополнительные рекомендации

Посмотрим на ситуацию с точки зрения ведения учета. Иногда ошибка свидетельствует о нарушении последовательности проведения документов. Попробуйте выполнить следующие действия:

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

← На главную