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