Как исправить ошибку Не найдено Субконто 1 в документе Поступление в 1С:Бухгалтерия 3.0 с БИТ.Строительство

Программист 1С v8.3 (Управляемые формы) Бухгалтерский учет Промышленность, строительство и АПК
← На главную

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

В этой статье мы подробно разберем причины возникновения данной ситуации, проанализируем взаимосвязь типового функционала с надстройками БИТ и определим пошаговый алгоритм устранения ошибки.

Анализ архитектурных различий между типовой БП и БИТ.Строительство

Для начала разберем, почему программа выдает ошибку именно в разрезе Субконто 1. В типовой конфигурации 1С:Бухгалтерия счета учета НДС (например, 19.03 или 19.04) имеют стандартный набор субконто: Контрагенты и Счета-фактуры полученные. Однако отраслевое решение БИТ.Строительство расширяет эту логику для обеспечения сквозного учета затрат по объектам строительства.

Проанализируем ситуацию: в специализированных планах счетов БИТ (например, на счете 19.33.1) первым субконто часто выступает Объект строительства или Статьи затрат. Программный код БИТ, который перехватывает событие проведения документа (через подписки на события или расширения), ожидает увидеть определенную структуру аналитики. Когда пользователь вручную или через настройки подставляет типовой счет 19.04, код пытается обратиться к Субконто 1, ожидая там увидеть аналитику БИТ, но на типовом счете порядок или состав субконто иной. Это и вызывает программный сбой.

Выявление причины через отладку и остановку по ошибке

Самый эффективный метод локализации проблемы — использование встроенного отладчика 1С. Рассмотрим, как это сделать правильно:

  1. Запустим конфигуратор и перейдем в меню Отладка — Остановка по ошибке.
  2. В открывшемся окне установим галочку Останавливаться по ошибке и нажмем ОК.
  3. Запустим сеанс «1С:Предприятие» и попробуем провести проблемный документ.
  4. Когда система выдаст ошибку, выполнение кода прервется. Мы увидим конкретную строку, где программа обращается к Субконто 1.

Чаще всего код выглядит примерно так:


// Пример логики, которая может вызвать ошибку в БИТ
ДвижениеНДС = Движения.Хозрасчетный.Добавить();
ДвижениеНДС.СчетДт = СчетУчетаНДС;
// Если на счете нет ни одного субконто, обращение ниже вызовет ошибку
ДвижениеНДС.СубконтоДт[СчетУчетаНДС.ВидыСубконто[0].ВидСубконто] = ЗначениеОбъектаСтроительства;

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

Проверка настроек плана счетов

Выясним, какие именно субконто настроены для счетов учета НДС. Нам необходимо сравнить два счета: тот, с которым документ проводится успешно (например, 19.33.1), и тот, на котором возникает ошибка (например, 19.04).

Для этого выполним следующие действия:

  1. Перейдем в меню Главное — План счетов.
  2. Найдем счет 19.04 и откроем его карточку.
  3. Проверим список в табличной части Виды субконто.
  4. Повторим действия для счета 19.33.1.

Важный нюанс: в 1С обращение к субконто может происходить по индексу. Если программный модуль БИТ жестко завязан на то, что первое субконто (индекс 0) — это Объекты строительства, то при использовании счета 19.04, где первым идет Контрагенты, запись будет либо некорректной, либо невозможной из-за конфликта типов.

Настройка регистра «Счета учета номенклатуры»

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

Разберем по шагам, как исправить настройки автоматической подстановки:

  1. Перейдем в раздел Справочники — Номенклатура.
  2. Нажмем на ссылку Счета учета номенклатуры в верхней части окна.
  3. Найдем запись для нужной позиции или создадим новую.
  4. В поле Счет учета НДС укажем счет, который корректно работает в вашей системе (например, 19.33.1).
  5. Сохраним изменения.

После этой настройки в новых документах будет автоматически подставляться счет, имеющий необходимую для БИТ-модулей аналитику, и ошибка Не найдено Субконто 1 исчезнет.

Взаимосвязь со статьями затрат и НДС в стоимости

Проанализируем ситуацию, упомянутую в обсуждении: почему при установке флага НДС включать в стоимость ошибка пропадает? Ответ кроется в алгоритме проведения документа Поступление.

Когда НДС включается в стоимость:

Если же НДС учитывается отдельно, программа обязана сформировать проводку по счету 19. В этот момент вступает в силу обработчик проведения от БИТ (вкладка Движения (БИТ)), который пытается распределить этот НДС по объектам строительства. Если счет 19 не имеет соответствующего субконто, запись в регистры БИТ обрывается с ошибкой.

Использование расширений и доработок

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


// Безопасное обращение к субконто в коде
ВидСубконтоОбъект = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ОбъектыСтроительства;
ИндексСубконто = Движение.СчетДт.ВидыСубконто.Найти(ВидСубконтоОбъект, "ВидСубконто");

Если ИндексСубконто <> Неопределено Тогда
    // Субконто найдено на счете, можно записывать значение
    Движение.СубконтоДт[ВидСубконтоОбъект] = ЗначениеОбъекта;
КонецЕсли;

Этот подход позволяет избежать жесткой привязки к индексу Субконто 1 и делает систему более устойчивой к изменениям в плане счетов.

Резюме и рекомендации

Для окончательного решения проблемы рекомендуется:

  1. Проверить соответствие статей затрат: Убедитесь, что для новой статьи затрат («Электроэнергия») настроены те же правила учета, что и для старой, которая не вызывала ошибок.
  2. Синхронизировать план счетов: Если вы используете счет 19.04, проверьте, чтобы на нем были добавлены те виды субконто, которые требуются для работы модулей БИТ (например, через механизм «Дополнительные субконто»).
  3. Использовать отладку: Если ошибка сохраняется, выполните остановку по ошибке, чтобы точно определить, в какой коллекции (СубконтоДт или СубконтоКт) и для какого счета не хватает аналитики.

Соблюдение этих шагов позволит восстановить корректную работу документа и обеспечить правильное формирование проводок как в бухгалтерском учете, так и в специализированных регистрах БИТ.Строительство.

← На главную