Дополнительные реквизиты 1С: как добавить без программиста

Дата: 21.09.2026 07:06:43
дополнительные реквизиты
дополнительные сведения
БСП
номенклатура
настройка 1С
расширение конфигурации
внешняя обработка
Комментарий:
0
Платформа:
8.3
Конфигурация:
Любая
Формы:
Управляемые

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

Всё описанное относится к конфигурациям на БСП: БП 3.0, УТ 11, КА 2, ERP 2, УНФ 3.0. В УТ 10.3 на обычных формах работает старый механизм свойств объектов, он устроен иначе.

Дополнительные реквизиты 1С: что это и где пригодятся

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

Разновидностей две: дополнительные реквизиты и дополнительные сведения. Для сравнения рядом — «настоящий» реквизит из расширения.

Доп. реквизитДоп. сведениеРеквизит в расширении
Кто добавляетАдминистратор, в режиме «Предприятие»Администратор, в режиме «Предприятие»Программист, в конфигураторе
Где хранитсяВнутри объекта, в табличной частиОтдельно, в регистре сведенийВнутри объекта, как обычное поле
Как редактируетсяВ форме объекта, запись вместе с объектомВ отдельном окне, объект не перезаписываетсяВ форме объекта
Участвует в проведении, ценах, печатиТолько если дописать кодТолько если дописать кодДа, код пишется под задачу
Мешает обновлениюНетНетРасширение проверяют после обновления

Сведения удобны для отметок, которые ставят «сбоку», не меняя сам документ: «Оригинал получен», «Проверено бухгалтером». Реквизиты — для всего остального.

Как добавить дополнительный реквизит в 1С 8.3

Чтобы в 1С добавить дополнительный реквизит, нужны права на настройку: обычно они есть только у администратора.

  1. Включите механизм. В БП 3.0: «Администрирование» → «Общие настройки» → флажок «Дополнительные реквизиты и сведения». В УТ 11, КА 2 и ERP 2 — «НСИ и администрирование» → «Общие настройки», группа «Свойства»; в УТ 11.5 флажок так и называется — «Свойства». Не нашли — наберите «дополнительные реквизиты» в поиске по меню.
  2. Откройте список. Рядом с флажком появится ссылка «Дополнительные реквизиты». Слева в открывшемся окне — дерево наборов (по одному на справочник или документ), справа — реквизиты выбранного набора.
    Флажок «Свойства» и ссылка «Дополнительные реквизиты» в общих настройках 1С УТ 11.5
    УТ 11.5, «НСИ и администрирование → Общие настройки», группа «Свойства»: флажок «Свойства» (1), ссылки «Дополнительные реквизиты» (2) и «Дополнительные сведения» (3).
  3. Выберите набор, например «Контрагенты» или «Реализация товаров и услуг», и нажмите «Добавить» → «Новый».
    Наборы дополнительных реквизитов номенклатуры по видам в 1С УТ 11.5
    Окно «Дополнительные реквизиты»: «Добавить» → «Новый» (1); у номенклатуры наборы по видам, например «Кабели силовые NYM» (2), справа — реквизиты набора (3).
  4. Заполните карточку: наименование (оно станет подписью поля на форме), тип значения, при необходимости подсказку и флажок обязательности.
  5. Запишите и откройте любой объект этого вида: поле появится в группе дополнительных реквизитов формы.

Настройка дополнительных реквизитов в 1С 8.3 на этом заканчивается, а дальше начинаются нюансы, из-за которых поле «не появляется» или появляется не там.

Наборы: справочник, документ, дополнительные реквизиты номенклатуры

Дополнительные реквизиты справочника или документа собраны в набор. Обычно набор один на объект: все контрагенты видят одни и те же поля, все реализации — свои. Исключение — номенклатура в УТ 11, КА 2 и ERP 2: там наборы привязаны к видам номенклатуры. У вида «Обувь» могут быть «Размер» и «Материал подошвы», у «Бытовой химии» — «Объём», и в карточке пылесоса лишних полей не будет. Настраивается это в карточке вида номенклатуры, там же есть отдельные наборы для характеристик и серий.

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

Частая ошибка планирования: если остатки нужно вести по каждому размеру или цвету отдельно, это не дополнительный реквизит товара, а характеристики номенклатуры. Доп. реквизит описывает карточку целиком, а не её варианты на складе.

Типы значений

  • Строка — короткий текст или многострочное поле для заметок.
  • Число — задаётся длина и количество знаков после запятой.
  • Дата — дата, время или дата со временем.
  • Булево — флажок «да/нет».
  • Дополнительное значение — свой список вариантов («Лето», «Зима», «Демисезон»), который ведут сами пользователи. Может быть иерархическим.
  • Ссылка на объект конфигурации — контрагент, организация, склад, пользователь и т. п. Какие справочники доступны, решили разработчики конфигурации; расширить этот список без программиста не получится.

Если по полю потом будут отбирать и группировать, выбирайте список значений, а не строку. «Зима», «зима» и «Зимний» в строковом поле — это три разных значения для отчёта.

Обязательность и видимость по условию

Флажок «Заполнять обязательно» не даст записать объект с пустым полем: пользователь увидит сообщение вида «Поле "Материал" не заполнено». В актуальных версиях БСП обязательность, видимость и доступность можно включать по условию — в зависимости от значений других реквизитов объекта. Пример: «Номер сертификата» виден и обязателен, только если флажок «Требуется сертификат» установлен. Кроме «равно» и «заполнено» доступны виды сравнения «В списке» и «Не в списке» (с БСП 2.4.1).

Где работает дополнительный реквизит документа и справочника

  • Форма объекта. Поле редактируется как обычное.
  • Отчёты. В типовых отчётах на СКД дополнительные реквизиты обычно доступны как поля объекта: раскройте в настройках «Номенклатура» или «Контрагент». Для особых случаев есть разработка отчётов на СКД.
  • Групповое изменение. В списке выделите нужные строки и выберите «Ещё» → «Изменить выделенные»: реквизит заполнится у сотни товаров за один проход.

Где заканчиваются возможности и нужен реквизит в расширении

Типовой код ничего не знает о ваших дополнительных реквизитах. Поле хранит значение и показывает его в отчётах — и только. Пора звать программиста, если:

  • значение должно влиять на проведение, цены, скидки, себестоимость или проверки при записи;
  • нужна колонка в строках табличной части документа;
  • поле должно попасть в типовую печатную форму, выгрузку на сайт или маркетплейс, обмен с другой базой;
  • по полю постоянно фильтруют большие объёмы данных: значение лежит в отдельной табличной части в поле составного типа, и отбор по нему дороже, чем по обычному реквизиту;
  • на один объект нужно хранить не одно значение, а таблицу или историю — тут подойдёт регистр сведений.

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

Дополнительные реквизиты в БСП: устройство для программиста

Механизм — подсистема «Свойства» Библиотеки стандартных подсистем. Объекты метаданных:

ОбъектЧто хранит
ПланВидовХарактеристик.ДополнительныеРеквизитыИСведенияСами реквизиты и сведения: заголовок, ТипЗначения, ЭтоДополнительноеСведение, ЗаполнятьОбязательно, ВладелецДополнительныхЗначений (чей список значений используется), МногострочноеПолеВвода, Имя (с БСП 2.4.3)
Справочник.НаборыДополнительныхРеквизитовИСведенийНаборы: какие реквизиты показывать у какого объекта
Справочник.ЗначенияСвойствОбъектовВарианты для типа «Дополнительное значение» (для иерархических — ЗначенияСвойствОбъектовИерархия)
Табличная часть ДополнительныеРеквизиты у объекта-владельцаЗначения реквизитов: колонки Свойство, Значение, ТекстоваяСтрока (для длинного и многострочного текста)
РегистрСведений.ДополнительныеСведенияЗначения сведений: измерения Объект, Свойство, ресурс Значение

Реквизит ищем в табличной части объекта, сведение — в регистре. Запрос для своего отчёта:

ВЫБРАТЬ
	Номенклатура.Ссылка КАК Номенклатура,
	ДопРеквизиты.Значение КАК Сезон
ИЗ
	Справочник.Номенклатура КАК Номенклатура
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК ДопРеквизиты
		ПО ДопРеквизиты.Ссылка = Номенклатура.Ссылка
			И ДопРеквизиты.Свойство = &Свойство
ГДЕ
	НЕ Номенклатура.ЭтоГруппа

Для сведения соединение то же, только с регистром:

ВЫБРАТЬ
	Реализация.Ссылка КАК Документ,
	ДопСведения.Значение КАК ОригиналПолучен
ИЗ
	Документ.РеализацияТоваровУслуг КАК Реализация
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК ДопСведения
		ПО ДопСведения.Объект = Реализация.Ссылка
			И ДопСведения.Свойство = &Свойство

Условие на свойство держите в ПО, а не в ГДЕ: иначе товары без значения выпадут из выборки.

Программный интерфейс БСП — общий модуль УправлениеСвойствами. Функция ЗначенияСвойств(ОбъектыСоСвойствами, ПолучатьДопРеквизиты, ПолучатьДопСведения, Свойства) принимает ссылку или массив ссылок и возвращает таблицу значений с колонками Свойство и Значение, в актуальных версиях ещё и ВладелецСвойств. В БСП 2.4.3 она заменила устаревшую ПолучитьЗначенияСвойств. В той же версии появились функция ЗначениеСвойства(Объект, Свойство), куда свойство передают ссылкой или по имени, и реквизит Имя в карточке дополнительного реквизита. Параметры сверяйте с документацией своей версии БСП.

Массовое заполнение: внешняя обработка

Когда «Изменить выделенные» не хватает (нужна своя логика отбора), пишут внешнюю обработку. Пример заполняет реквизит у товаров группы, где он ещё пуст.

// Внешняя обработка «Заполнить дополнительный реквизит у товаров группы».
// Модуль управляемой формы. Платформа 8.3.6+ (СтрШаблон), конфигурации на БСП:
// УТ 11, КА 2, ERP 2, БП 3.0, УНФ 3.0 и другие.
//
// Реквизиты формы:
//   Свойство - ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения
//   Значение - составной тип: Строка, Число, Дата, Булево,
//              СправочникСсылка.ЗначенияСвойствОбъектов и нужные ссылочные типы
//   Группа   - СправочникСсылка.Номенклатура (группа товаров)
// Команда формы: Заполнить.

&НаКлиенте
Процедура Заполнить(Команда)

	Если Не ЗначениеЗаполнено(Свойство) Или Не ЗначениеЗаполнено(Группа) Тогда
		ПоказатьПредупреждение(, "Выберите дополнительный реквизит и группу товаров.");
		Возврат;
	КонецЕсли;

	Результат = ЗаполнитьНаСервере(Свойство, Значение, Группа);
	ПоказатьОповещениеПользователя("Заполнение завершено", ,
		СтрШаблон("Записано: %1, ошибок: %2", Результат.Записано, Результат.Ошибок));

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

&НаСервереБезКонтекста
Функция ЗаполнитьНаСервере(Свойство, Значение, Группа)

	// Дополнительное сведение хранится в регистре, а не в табличной части объекта.
	Если Свойство.ЭтоДополнительноеСведение Тогда
		ВызватьИсключение "Выбрано дополнительное сведение, а обработка заполняет дополнительные реквизиты.";
	КонецЕсли;

	ПроверитьЗначение(Свойство, Значение);

	// Товары группы, у которых этого реквизита ещё нет.
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	Номенклатура.Ссылка КАК Ссылка
	|ИЗ
	|	Справочник.Номенклатура КАК Номенклатура
	|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК ДопРеквизиты
	|		ПО ДопРеквизиты.Ссылка = Номенклатура.Ссылка
	|			И ДопРеквизиты.Свойство = &Свойство
	|ГДЕ
	|	Номенклатура.Ссылка В ИЕРАРХИИ (&Группа)
	|	И НЕ Номенклатура.ЭтоГруппа
	|	И НЕ Номенклатура.ПометкаУдаления
	|	И ДопРеквизиты.Ссылка ЕСТЬ NULL";
	Запрос.УстановитьПараметр("Свойство", Свойство);
	Запрос.УстановитьПараметр("Группа", Группа);

	Результат = Новый Структура("Записано, Ошибок", 0, 0);

	Выборка = Запрос.Выполнить().Выбрать();
	Пока Выборка.Следующий() Цикл
		// Всё, что может упасть на одном товаре, - внутри Попытки.
		Попытка
			Объект = Выборка.Ссылка.ПолучитьОбъект();
			Объект.Заблокировать();
			УстановитьДопРеквизит(Объект, Свойство, Значение);
			Объект.Записать();
			Результат.Записано = Результат.Записано + 1;
		Исключение
			Результат.Ошибок = Результат.Ошибок + 1;
			ЗаписьЖурналаРегистрации("Заполнение дополнительного реквизита",
				УровеньЖурналаРегистрации.Ошибка, Выборка.Ссылка.Метаданные(), Выборка.Ссылка,
				ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
		КонецПопытки;
	КонецЦикла;

	Возврат Результат;

КонецФункции

// Колонка Значение составного типа примет почти что угодно,
// поэтому тип, заполненность, принадлежность и квалификаторы проверяем сами.
&НаСервереБезКонтекста
Процедура ПроверитьЗначение(Свойство, Значение)

	ТипЗначения = ТипЗнч(Значение);
	Если Не Свойство.ТипЗначения.СодержитТип(ТипЗначения)
		Или (ТипЗначения <> Тип("Булево") И Не ЗначениеЗаполнено(Значение)) Тогда
		ВызватьИсключение СтрШаблон("Значение типа ""%1"" не заполнено или не подходит реквизиту ""%2"".",
			ТипЗначения, Свойство);
	КонецЕсли;

	// Элемент списка должен принадлежать этому реквизиту
	// или реквизиту, чей список значений он использует как общий.
	Если ТипЗначения = Тип("СправочникСсылка.ЗначенияСвойствОбъектов")
		Или ТипЗначения = Тип("СправочникСсылка.ЗначенияСвойствОбъектовИерархия") Тогда
		ВладелецЗначений = ?(ЗначениеЗаполнено(Свойство.ВладелецДополнительныхЗначений),
			Свойство.ВладелецДополнительныхЗначений, Свойство);
		Если Значение.Владелец <> ВладелецЗначений Тогда
			ВызватьИсключение СтрШаблон("Значение ""%1"" относится к другому дополнительному реквизиту.",
				Значение);
		КонецЕсли;
	КонецЕсли;

	// Длина строки, точность числа, состав даты: приведённое значение
	// отличается от исходного, если не укладывается в квалификаторы свойства.
	Если Свойство.ТипЗначения.ПривестиЗначение(Значение) <> Значение Тогда
		ВызватьИсключение СтрШаблон("Значение ""%1"" не укладывается в длину или точность реквизита ""%2"".",
			Значение, Свойство);
	КонецЕсли;

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

// Пишет значение в табличную часть ДополнительныеРеквизиты объекта:
// одна строка на одно свойство, повторный вызов перезаписывает значение.
&НаСервереБезКонтекста
Процедура УстановитьДопРеквизит(Объект, Свойство, Значение)

	СтрокаТЧ = Объект.ДополнительныеРеквизиты.Найти(Свойство, "Свойство");
	Если СтрокаТЧ = Неопределено Тогда
		СтрокаТЧ = Объект.ДополнительныеРеквизиты.Добавить();
		СтрокаТЧ.Свойство = Свойство;
	КонецЕсли;
	СтрокаТЧ.Значение = Значение;

	// Как в типовой форме БСП: текст неограниченной длины или из многострочного поля
	// дублируется в ТекстоваяСтрока, в колонке Значение он может обрезаться.
	Если ТипЗнч(Значение) = Тип("Строка")
		И (Свойство.ТипЗначения.КвалификаторыСтроки.Длина = 0
			Или Свойство.МногострочноеПолеВвода > 1) Тогда
		СтрокаТЧ.ТекстоваяСтрока = Значение;
	КонецЕсли;

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

Разбор ключевых мест:

  • Проверка ЭтоДополнительноеСведение. Сведения в табличную часть не пишут: форма их там не покажет, а типовой код не прочитает.
  • ПроверитьЗначение. Колонка Значение составного типа и молча примет строку вместо элемента ЗначенияСвойствОбъектов, пустое значение или «Зиму» из списка «Сезона» в реквизит «Материал». Процедура отсекает всё это (флажок «Ложь» допустим), а заодно выход за длину и точность, до изменения первого товара. Если реквизит берёт общий список значений у другого, элементы подчинены тому реквизиту, отсюда ВладелецДополнительныхЗначений.
  • ДопРеквизиты.Ссылка ЕСТЬ NULL — только товары без строки с этим свойством: заполненное не перетирается, пустых строк не появляется, повторный запуск безопасен.
  • УстановитьДопРеквизит: одна строка на свойство через Найти; длинный или многострочный текст дублируется в ТекстоваяСтрока, как в типовой форме.
  • В Попытка — вся работа с товаром: ПолучитьОбъект(), Заблокировать() и запись. Товар, удалённый после запроса (ПолучитьОбъект() вернёт Неопределено), или карточка, которую сейчас правит пользователь, дают ошибку только по этому товару, а причина уходит в журнал регистрации.

Перед запуском убедитесь, что реквизит входит в набор нужного вида номенклатуры, иначе значение запишется, но в карточке видно не будет.

Типичные ошибки

  • Реквизит создан, но в карточке его нет. Выключен флажок в общих настройках, реквизит в наборе другого вида номенклатуры или скрыт условием видимости.
  • Перепутали реквизит и сведение. Запрос к табличной части ДополнительныеРеквизиты возвращает NULL, а значение лежит в регистре ДополнительныеСведения (и наоборот).
  • Код на объекте без подсистемы. Если у объекта нет табличной части, при выполнении будет «Поле объекта не обнаружено (ДополнительныеРеквизиты)», а запрос упадёт с «Таблица не найдена». Значит, объект к механизму не подключён.
  • Сменили тип значения у заполненного реквизита. Старые значения остаются прежнего типа, в отчётах получается смесь. Надёжнее завести новый реквизит и перенести данные.
  • Функции нет в вашей версии БСП. Код, написанный под ЗначениеСвойства или ЗначенияСвойств, на БСП ранее 2.4.3 падает с «Метод объекта не обнаружен». Там работает ПолучитьЗначенияСвойств или прямой запрос к табличной части.

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

Пропадут ли дополнительные реквизиты после обновления конфигурации?

Нет. Это данные базы, а не изменения конфигурации, обновление их не трогает.

Чем дополнительные реквизиты отличаются от дополнительных сведений?

Реквизит хранится внутри объекта и записывается вместе с ним. Сведение хранится в отдельном регистре и редактируется в своём окне без перезаписи объекта — удобно для отметок по проведённым документам.

Можно ли сделать дополнительный реквизит для строк табличной части?

Нет, механизм работает только на уровне шапки документа или карточки справочника. Колонку в строках товаров добавляют в расширении.

Кто может добавлять новые реквизиты?

Создавать — администраторы, заполнять — все, кто может редактировать объект. Подробнее — в статье о правах доступа.

Когда проще заказать

Если дополнительный реквизит должен влиять на проведение, цены или попадать в печатную форму и выгрузку, без программиста не обойтись. На 1c-only.ru можно разместить задачу: оценка бесплатная, ответ в течение рабочего дня. Подробнее о видах работ — на странице услуг по доработке 1С.

По теме

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

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


1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.