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