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