К статье
Практический материал

Разработка и Конфигурация · 11 мин

Как создать документ в конфигураторе 1С

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

Документ в 1С — это объект метаданных, который отражает факт хозяйственной деятельности: поступление товара, отпуск со склада, начисление зарплаты, приказ по кадрам. От справочника документ отличается принципиально: он привязан ко времени, имеет номер, может проводиться и формировать движения по регистрам. Именно документы обеспечивают хронологию учёта, поэтому корректное создание этого объекта в конфигураторе — базовый навык разработчика.

Создание документа выполняется в конфигураторе через дерево конфигурации и не требует написания кода на старте: платформа автоматически формирует структуру таблиц, формы и механизм нумерации. Однако без понимания свойств объекта легко получить документ, который не проводится, конфликтует по нумерации или не попадает в нужные журналы. Ниже разобран полный цикл: от добавления объекта до проверки его работы в пользовательском режиме.

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

Что нужно подготовить перед созданием документа

Прежде чем добавлять объект, определите его назначение: какое событие он фиксирует, какие данные должен содержать и должен ли влиять на учёт (остатки, регистры, бухгалтерские проводки). От ответа зависит набор реквизитов, необходимость табличных частей и настройка проведения. Продуманная структура на этапе проектирования избавляет от переделки, когда по документу уже накоплены данные.

Убедитесь, что у вас есть права на изменение конфигурации и что база не находится в режиме поддержки «на замке» без возможности редактирования — для типовых конфигураций потребуется включить возможность изменений. Все эксперименты выполняйте на копии базы: ошибка в структуре документа после обновления конфигурации базы данных может потребовать реструктуризации таблиц.

Добавление объекта «Документ» в дереве конфигурации

Откройте конфигуратор, загрузите конфигурацию (меню «Конфигурация» → «Открыть конфигурацию») и в дереве объектов найдите ветку «Документы». Вызовите контекстное меню на ней и выберите «Добавить» — откроется палитра свойств нового документа. Это основной инструмент настройки: все ключевые параметры объекта задаются именно здесь, на вкладках «Основные», «Данные», «Нумерация», «Движения» и других.

На вкладке «Основные» задайте имя и синоним. Имя — это идентификатор для обращения из кода, оно пишется слитно без пробелов, например ПоступлениеТоваров. Синоним — то, что увидит пользователь в интерфейсе: «Поступление товаров». Платформа автоматически предложит синоним по имени, но для многословных названий проверьте корректность пробелов.

Порядок действий
  1. 1
    Откройте конфигуратор и дерево конфигурации
  2. 2
    В ветке «Документы» выберите «Добавить»
  3. 3
    Задайте имя и синоним на вкладке «Основные»
  4. 4
    Добавьте реквизиты и табличные части на вкладке «Данные»
  5. 5
    Настройте нумерацию и движения по регистрам
  6. 6
    Обновите конфигурацию базы данных (F7)
  7. 7
    Проверьте документ в режиме 1С:Предприятие

Настройка данных: реквизиты и табличные части

Вкладка «Данные» определяет, какую информацию хранит документ. Шапка документа — это реквизиты верхнего уровня: контрагент, склад, договор, ответственный. Для каждого реквизита укажите тип: ссылку на справочник, перечисление, число, дату, строку. Старайтесь использовать ссылочные типы вместо строк — это обеспечивает целостность данных и позволяет строить отчёты по связанным объектам.

Табличная часть нужна, когда документ содержит список однотипных строк: товары с количеством и ценой, сотрудники с суммами начислений. Создайте табличную часть (например, «Товары») и добавьте в неё колонки-реквизиты: «Номенклатура», «Количество», «Цена», «Сумма». Платформа позволяет документу иметь несколько табличных частей, но не злоупотребляйте ими — избыточная структура усложняет формы и проведение.

Составные типы и ограничения

Если реквизит может ссылаться на разные объекты (например, плательщик — контрагент или физическое лицо), задайте составной тип, отметив несколько видов ссылок. Учитывайте, что составные типы замедляют запросы и усложняют индексацию, поэтому применяйте их только при реальной необходимости. Для строковых реквизитов задавайте осмысленную длину: неограниченная строка не индексируется и хранится иначе.

Нумерация, периодичность и журналы

На вкладке «Нумерация» задаётся длина номера и периодичность: в пределах года, квартала или неуникальная. Стандартный вариант — автонумерация с периодичностью «В пределах года»: с первого января отсчёт начнётся заново. Проверьте свойство «Контроль уникальности» — оно должно быть включено, чтобы исключить дубли номеров при одновременной работе пользователей.

Чтобы документ отображался в общем списке однотипных операций, добавьте его в журнал документов на закладке «Журналы». Журнал объединяет разные виды документов по общим графам — например, «Складские документы» с графами «Склад» и «Контрагент». Если журнала подходящего нет, создайте его в ветке «Журналы документов» и свяжите графы с реквизитами документа.

Проведение и движения по регистрам

Проведение — ключевое отличие документа от справочника. На вкладке «Движения» отметьте регистры (накопления, сведений, бухгалтерии), по которым документ должен формировать записи. После этого в модуле объекта станет доступен обработчик ОбработкаПроведения, где кодом формируются движения: заполняется коллекция Движения и вызывается запись.

Пример простейшего обработчика для списания остатков по регистру накопления:

Процедура ОбработкаПроведения(Отказ, РежимПроведения)

Для Каждого СтрокаТовара Из Товары Цикл

Движение = Движения.ОстаткиТоваров.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Номенклатура = СтрокаТовара.Номенклатура;

Движение.Количество = СтрокаТовара.Количество;

КонецЦикла;

Движения.ОстаткиТоваров.Записать();

КонецПроцедуры

Если документ не должен влиять на учёт (например, служебная записка), установите свойство «Проведение» в значение «Запретить» — тогда доступна только запись. Также обратите внимание на оперативное проведение: оно позволяет контролировать остатки на текущий момент, но накладывает ограничения на дату документа. Для документов, вводимых задним числом, оперативное проведение обычно отключают.

Маршрут решения

Как выбрать действие

Документ меняет остатки или обороты в учётеРазрешите проведение и опишите движения в ОбработкаПроведения
Документ только фиксирует факт без влияния на учётУстановите «Проведение — Запретить»
Нужен контроль остатков на текущий моментВключите оперативное проведение и проверяйте остатки в коде
Документы вводят задним числомОтключите оперативное проведение, контроль делайте отчётами

Формы, обновление конфигурации и проверка

Платформа генерирует формы документа автоматически, но для удобства пользователей создайте основную форму документа и форму списка через конструктор: в палитре свойств нажмите кнопку открытия у свойства «Основная форма документа» и выберите «Конструктор форм». Разместите реквизиты шапки сверху, табличную часть — ниже, добавьте итоговые поля (например, сумму документа) в подвал табличной части.

После завершения настройки обновите конфигурацию базы данных клавишей F7 или через меню «Конфигурация» → «Обновить конфигурацию базы данных». Платформа покажет список изменений и при необходимости выполнит реструктуризацию. Затем запустите режим 1С:Предприятие и проверьте полный цикл: создание документа, заполнение, запись, проведение, отмену проведения и отображение в журнале.

Контрольные точки

Как проверить результат

Создание документа
Норма

Форма открывается, реквизиты заполняются, номер присваивается автоматически

Тревожный признак

Ошибка открытия формы или пустой номер

Проведение
Норма

Документ проводится, в регистрах появляются движения

Тревожный признак

Кнопка проведения неактивна или движения не формируются

Журнал документов
Норма

Документ виден в журнале с корректными графами

Тревожный признак

Документ отсутствует в журнале

Отмена проведения
Норма

Движения удаляются, документ остаётся записанным

Тревожный признак

Ошибка при отмене или остаточные записи в регистрах

Типичные ошибки и ограничения

Начинающие разработчики чаще всего забывают добавить документ в подсистемы — тогда объект существует, но пользователь не видит его в интерфейсе. Откройте нужную подсистему в ветке «Общие» → «Подсистемы» и отметьте документ в составе. Вторая частая проблема — отсутствие прав: роли должны включать права на добавление, изменение и проведение нового документа, иначе пользователи получат ошибку доступа.

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

Типичные ошибки
01
Документ не добавлен в подсистемы — пользователи не видят его в интерфейсе
02
Не настроены роли — ошибка «Нарушение прав доступа» при проведении
03
Движения записываются без учёта перепроведения — задвоение записей в регистрах
04
Строковый тип вместо ссылки на справочник — невозможно построить отчёты по объекту
05
Изменение структуры в рабочей базе без копии — риск при реструктуризации
Итог

Что важно запомнить

Документ создаётся в ветке «Документы» конфигуратора: задаются имя, реквизиты, табличные части, нумерация и движения по регистрам. После настройки обновите конфигурацию базы данных и проверьте полный цикл работы в режиме предприятия. Не забудьте про подсистемы и права — без них документ невидим или недоступен пользователям.

Частые вопросы

Чем документ отличается от справочника в 1С?

Справочник хранит условно-постоянную нормативную информацию (товары, контрагенты, сотрудники), а документ фиксирует событие в конкретный момент времени, имеет номер, дату и может проводиться с формированием движений по регистрам. Справочник не имеет механизма проведения.

Можно ли создать документ без написания кода?

Да, если не требуется проведение по регистрам: структура, формы, нумерация и журналы настраиваются полностью в палитре свойств и конструкторах. Код понадобится только для формирования движений, контроля остатков и нестандартной логики заполнения.

Почему документ не виден в пользовательском режиме?

Наиболее вероятные причины: документ не включён ни в одну подсистему, у роли пользователя нет прав на просмотр этого объекта, либо конфигурация базы данных не обновлена после добавления. Проверьте все три пункта последовательно.

Как изменить структуру документа, по которому уже введены данные?

Добавление новых реквизитов безопасно и выполняется через обновление конфигурации базы данных. Удаление или изменение типа существующих реквизитов может привести к потере данных в этих полях — перед таким изменением сделайте резервную копию и при необходимости перенесите значения в новые реквизиты обработкой.

Что такое оперативное проведение и когда его включать?

Оперативное проведение фиксирует движения на текущую точку времени и позволяет контролировать актуальные остатки, например запрещать отгрузку при недостатке товара. Включайте его для документов текущего дня; для документов, вводимых задним числом, оперативное проведение отключают, иначе платформа будет сбрасывать его автоматически.