Отчеты и Аналитика · 12 мин
Как прочитать движения документа в 1С 8
Как посмотреть движения документа 1С 8: через кнопку «Дт/Кт», отчёт по проводкам, консоль запросов и программно. Разбор типичных ошибок и проверка результатов.
Движения документа — это записи, которые документ формирует в регистрах 1С при проведении: бухгалтерские проводки, записи по регистрам накопления (остатки товаров, взаиморасчёты), сведений и расчёта. Умение их прочитать нужно в трёх типовых ситуациях: когда цифра в отчёте не сходится, когда документ «провёлся, но ничего не изменил» и когда нужно понять, почему проводка сформировалась именно с такой аналитикой.
Способ чтения зависит от задачи. Бухгалтеру обычно достаточно кнопки «Дт/Кт» в форме документа, аналитику — отчёта «Движения документа», а разработчику или внедренцу — запроса к таблицам регистров через консоль запросов. Ниже разобраны все рабочие варианты, включая программное чтение движений в коде 1С 8.3.
Важно понимать: движения существуют только у проведённого документа. Если документ сохранён, но не проведён, или проведение отменено, записей в регистрах у него нет — и искать их бессмысленно. Это первая проверка при любом расследовании.
Что такое движения документа и где они хранятся
При проведении документ создаёт записи в регистрах — специальных таблицах учёта. В типовых конфигурациях используются четыре вида регистров, и движения документа могут затрагивать любой из них:
- Регистр бухгалтерии — классические проводки Дт/Кт с субконто, суммами и количеством;
- Регистры накопления — остатки товаров на складах, взаиморасчёты с контрагентами, партии, резервы;
- Регистры сведений — цены, курсы валют, кадровые данные, настройки учёта;
- Регистры расчёта — начисления и удержания в зарплатных конфигурациях.
Каждая запись в регистре содержит служебное поле Регистратор — ссылку на документ, который её создал. Именно по этому полю строится любой способ чтения движений: система отбирает из регистра все строки, где регистратор равен нужному документу.
Один документ может делать движения сразу по нескольким регистрам. Например, «Реализация товаров и услуг» в типовой «Бухгалтерии предприятия» формирует проводки по бухгалтерскому и налоговому учёту и плюс к этому движения по регистрам взаиморасчётов и НДС. Поэтому просмотр только проводок не всегда даёт полную картину.
Как посмотреть проводки через кнопку «Дт/Кт»
Самый быстрый способ доступен прямо из формы документа и не требует никаких настроек. Порядок действий:
- 1Откройте проведённый документ из журнала документов.
- 2Нажмите кнопку «Дт/Кт» на панели формы (в некоторых конфигурациях — «Показать проводки» или пункт «Проводки» в меню «Ещё»).
- 3Просмотрите открывшуюся форму с проводками по бухгалтерскому и налоговому учёту.
- 4Проверьте счета, субконто, суммы и количество по каждой строке; при необходимости раскройте содержание проводки.
Форма «Дт/Кт» показывает таблицу проводок: дебет и кредит счетов, аналитику (субконто), суммы БУ, НУ, валютные суммы и количество. В типовых конфигурациях здесь же доступен переход к отчёту по движениям документа в целом.
Обратите внимание на ограничение: кнопка «Дт/Кт» показывает только проводки регистра бухгалтерии. Если документ делает движения по регистрам накопления или сведений (а в конфигурациях с оперативным учётом это почти всегда так), их здесь не будет. Для полной картины переходите к следующему способу.
В некоторых документах (например, «Операция, введённая вручную») форма «Дт/Кт» позволяет редактировать проводки напрямую. В остальных документах ручная корректировка возможна только после включения признака ручной корректировки — и это действие требует осторожности.
Как открыть полный отчёт «Движения документа»
Чтобы увидеть движения по всем регистрам, а не только проводки, используйте стандартный отчёт. В типовых конфигурациях на управляемых формах он вызывается из формы документа: Ещё → Движения документа (либо через кнопку с изображением отчёта на панели).
Отчёт строится отдельными таблицами по каждому регистру, который затронул документ. Для каждого регистра выводятся все измерения, ресурсы и реквизиты записи: например, для регистра «Товары на складах» — склад, номенклатура, вид движения (приход/расход) и количество.
Если отчёт по какому-то регистру пуст, значит документ не сформировал в нём записей. Это нормально для части регистров, но если пуст именно тот регистр, по которому вы ожидали движение, — это уже диагностический признак: проверьте заполнение обязательных полей документа и настройки учётной политики.
В обычных (неуправляемых) формах — например, в старых версиях «Управления торговлей» — аналогичная функция вызывается кнопкой «Перейти → Движения документа по регистрам» или через меню «Операции».
Как прочитать движения через консоль запросов
Когда нужно проанализировать движения нескольких документов сразу, сгруппировать их или сравнить с ожидаемыми значениями, удобнее всего консоль запросов. Запрос обращается напрямую к таблице регистра с отбором по регистратору:
ВЫБРАТЬ
Хозрасчетный.СчетДт,
Хозрасчетный.СчетКт,
Хозрасчетный.Сумма
ИЗ
РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
ГДЕ
Хозрасчетный.Регистратор = &Регистратор
В параметр &Регистратор подставляется ссылка на документ. Аналогично строится запрос к регистру накопления, например РегистрНакопления.ТоварыНаСкладах, — с той же фильтрацией по регистратору.
Этот способ незаменим при массовой диагностике: можно выбрать движения всех документов за период, сгруппировать по счетам или номенклатуре и найти документ, который сформировал «лишнюю» сумму в отчёте. Консоль запросов доступна в режиме толстого клиента или как внешняя обработка — для неё нужны права разработчика или администратора.
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ * ИЗ РегистрНакопления.ТоварыНаСкладах КАК Т ГДЕ Т.Регистратор = &Регистратор";
Запрос.УстановитьПараметр("Регистратор", СсылкаНаДокумент);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить("" + Выборка.Номенклатура + ": " + Выборка.Количество);
КонецЦикла;Программное чтение движений в коде 1С
В модулях и внешних обработках движения документа читаются через наборы записей регистров. Типовой приём — получить набор записей, установить отбор по регистратору и прочитать:
НаборЗаписей = РегистрыНакопления.ТоварыНаСкладах.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(СсылкаНаДокумент);
НаборЗаписей.Прочитать();
Для Каждого Запись Из НаборЗаписей Цикл
// работа с записью: Запись.Номенклатура, Запись.Количество и т.д.
КонецЦикла;
У объекта документа также есть коллекция Движения, где перечислены все наборы записей, которые документ формирует. В обработчике проведения движения заполняются именно через Движения.ТоварыНаСкладах и подобные коллекции. При отладке проведения удобно поставить точку останова в модуле документа и посмотреть содержимое этих наборов до записи.
Для быстрого анализа без написания обработки используйте стандартную функцию «Все функции» (в режиме предприятия: главное меню → Все функции → Стандартные → Управление итогами либо таблицы регистров), если она включена администратором. Там можно открыть таблицу регистра и отфильтровать её по регистратору вручную.
Типичные проблемы и как их диагностировать
Частая ситуация: отчёт по остаткам показывает отрицательный остаток, и нужно найти виновный документ. Алгоритм: откройте отчёт по регистру (например, «Остатки товаров на складах»), детализируйте его до регистратора — в типовых отчётах это делается через настройки группировки, — найдите строку с лишним расходом и откройте документ-регистратор двойным щелчком.
Другой типовой случай — документ проведён, но проводка не та, которую вы ожидали. Причины чаще всего в данных: неверно выбрана номенклатура с другим счётом учёта, не та договорная аналитика, другая складская группа. Сравните субконто в проводке с данными шапки и табличной части документа, а также с настройками счетов учёта номенклатуры.
Как проверить результат
Документ проведён (значок без крестика в журнале)
Документ не проведён или помечен на удаление — движений нет
Таблицы по регистрам заполнены, суммы совпадают с данными документа
Пустые таблицы по регистрам, где ожидались записи
Движения документа видны в оборотно-сальдовой ведомости или отчёте по регистру за тот же период
В ОСВ суммы документа нет — возможно, движения отменены или период закрыт и документ перепроведён позже
Ограничения и безопасные границы самостоятельной работы
Просмотр движений — операция безопасная: чтение данных ничего не меняет. Риски начинаются при попытках вмешаться: ручной корректировке проводок, прямой записи в регистры через обработки, перепроведении документов закрытого периода. Перед любыми такими действиями сделайте резервную копию базы или выгрузку данных.
Учтите и организационные ограничения: в закрытом периоде (после сдачи отчётности) перепроведение документов может изменить уже сданные данные. Если расхождение найдено в закрытом периоде, правильный путь — корректирующий документ текущей датой, а не правка старого.
Что важно запомнить
Проводки смотрят кнопкой «Дт/Кт», полный набор движений по всем регистрам — отчётом «Движения документа» из меню «Ещё». Движения существуют только у проведённого документа и отбираются по полю «Регистратор». Для массового анализа используйте запросы к таблицам регистров, а ручную правку проводок оставляйте крайней мерой после резервной копии.
Частые вопросы
Почему у проведённого документа нет движений?
Возможны три причины: документ по своей логике не делает движений по данному регистру (например, печатная форма или служебный документ), обязательные для движения поля не заполнены и алгоритм проведения пропустил строки, либо в конфигурации для этого вида документов проведение по регистру отключено настройками. Откройте отчёт «Движения документа» и проверьте все таблицы, а не только проводки.
Как посмотреть движения документа, если нет кнопки «Дт/Кт»?
Не все документы формируют бухгалтерские проводки — например, складские документы в некоторых конфигурациях двигают только регистры накопления. Используйте отчёт «Движения документа» через меню «Ещё» в форме документа: он покажет записи по всем регистрам независимо от их типа.
Можно ли посмотреть движения сразу нескольких документов?
Стандартный отчёт «Движения документа» работает с одним документом. Для группы документов используйте отчёт по соответствующему регистру с группировкой по регистратору или консоль запросов с отбором по списку регистраторов и периоду.
Что делать, если проводка сформировалась не по тем счетам?
Счета подставляются из настроек счетов учёта: для номенклатуры, контрагента, склада или статьи затрат. Найдите, откуда взялся неверный счёт (обычно это регистр сведений с настройками счетов учёта), исправьте настройку и перепроведите документ. Ручная правка проводки не устранит причину — при следующем перепроведении счёт снова будет неверным.
Видны ли движения документа после отмены проведения?
Нет. При отмене проведения записи из регистров удаляются. Остаётся возможность посмотреть движения только в архивной копии базы или повторно провести документ, если это допустимо по учётным правилам и период не закрыт.
Как найти документ, испортивший остатки по регистру?
Сформируйте отчёт по регистру (например, карточку счёта или ведомость по товарам) за период возникновения ошибки с детализацией до регистратора. Строка с аномальной суммой или видом движения укажет на документ — откройте его и проверьте движения через «Ещё → Движения документа».