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