Почему проводки, созданные в документе вручную или программно, не отражаются в ОСВ?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет Торговля и дистрибуция
← На главную

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

Главная причина: незаполненное измерение «Организация»

В конфигурациях на платформе «1С:Предприятие 8», включая «1С:Бухгалтерия», регистр бухгалтерии Хозрасчетный построен в разрезе нескольких ключевых измерений. Одним из самых важных измерений является Организация. Если при ручном добавлении строки в табличную часть движений или при заполнении набора записей в коде внешней обработки оставить поле Организация пустым, система запишет проводку в базу данных, однако отчет «Оборотно-сальдовая ведомость» строится с обязательным отбором или группировкой по организации. Строки без указания конкретного юридического лица просто исключаются из итогов отчета.

Выясним, как правильно инициализировать это измерение при программном создании проводки. Обязательно передавайте ссылку на организацию из реквизитов документа-регистратора:


НоваяПроводка = НаборЗаписей.Добавить();
НоваяПроводка.Регистратор = ДокументСсылка;
НоваяПроводка.Период = ДокументСсылка.Дата;
НоваяПроводка.Организация = ДокументСсылка.Организация; // Данная строка решает проблему

Другие технические причины, по которым проводки могут не попадать в ОСВ

Если организация заполнена, но проводки все равно не видны в отчете, проанализируем еще несколько распространенных причин:

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

Ограничения и риски ручной корректировки в документах продажи

Посмотрим на ситуацию шире. Зачастую разработчики пытаются решить проблему «красноты» (отрицательных остатков) на розничных или оптовых складах при реализации товаров путем добавления дополнительных проводок прямо внутрь документа продажи. Например, хотят перебросить себестоимость и количество с оптового склада на розничный в момент реализации.

Мы крайне не рекомендуем использовать ручную корректировку в товарных документах по следующим причинам:

  1. Рассинхронизация регистров. Документ «Реализация товаров и услуг» делает записи не только в бухгалтерский регистр Хозрасчетный. Он также пишет данные в регистры накопления по учету НДС, продажам и УСН. Если скорректировать только бухгалтерские проводки, данные в отчетах по НДС и КУДиР гарантированно разойдутся с балансом.
  2. Блокировка автопроведения. Включение флага РучнаяКорректировка полностью замораживает автоматический расчет движений документа. Если в будущем в документе изменится цена, количество товара или контрагент, проводки останутся старыми.
  3. Сбои в партионном учете. При выполнении регламентной процедуры «Закрытие месяца» программа не сможет корректно рассчитать себестоимость списания по позициям, которые были скорректированы вручную, нарушая общую последовательность партионного учета.

Альтернативные варианты решения проблемы со складами

Вместо опасного вмешательства в проводки документа продажи, рассмотрим более изящные и правильные с точки зрения методологии 1С подходы:

← На главную