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