1. Главная
  2. Курс УНФ 3.0 и Розница 3.0
  3. Справочники и НСИ
  4. Урок 13

Дополнительные реквизиты и сведения в 1С:УНФ 3.0: свое поле в карточке без доработки

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

Применимость

Работает одинаково в 1С:УНФ 3.0 и 1С:Рознице 3.0.

Механизм в 1С:Рознице 3.0 тот же: те же наборы свойств, те же три вида свойств, та же страница «Дополнительно» в карточках. Совпадает и состав объектов, к которым можно прицепить свойства, — 38 справочников и 156 документов в обеих конфигурациях. Наборов свойств в базах курса тоже поровну — по 306, из них 69 помечены «(не используется)».

Обновлено 

Что нужно сделать до этого урока

Реквизиты заводятся не «вообще», а для вида объекта, поэтому карточки, к которым мы их прицепим, должны существовать: номенклатура — урок «Карточка номенклатуры», категории — урок «Группы, категории и виды номенклатуры», контрагенты — урок «Контрагенты и контактные лица». Заводить и настраивать свойства может пользователь с административными правами — как их выдать, разобрано в уроке «Пользователи, роли и права доступа».

Реквизит, сведение и метка: три разные вещи

В «1С:УНФ» 3.0 у механизма свойств три вида, и они не взаимозаменяемы.

Дополнительный реквизит хранится в самом объекте — в его табличной части «Дополнительные реквизиты». Он показан прямо в карточке, на странице «Дополнительно», и меняется вместе с объектом: чтобы записать значение, объект нужно записать.

Дополнительное сведение хранится отдельно, в независимом регистре сведений. В карточке его не видно: сведения открываются отдельной формой по команде «Дополнительные сведения». Объект при этом не перезаписывается — меняется только регистр.

Метка — третий вид свойства, которого в других конфигурациях на этой же платформе нет: это цветная пометка, а не поле со значением. Переключатель между тремя видами стоит прямо в форме списка наборов.

Практическое правило простое: то, что участвует в печатных формах, отборах и подборе, заводится реквизитом; то, что нужно «для памяти» и часто меняется, — сведением.

Где механизм включается

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

Группа «Свойства» в общих настройках 1С:УНФ 3.0: флажок «Свойства» и ссылки на списки дополнительных реквизитов и дополнительных сведений
Механизм включается одним флажком в общих настройках; подписи под ссылками сразу объясняют разницу: реквизиты — поля в формах, сведения — отдельная форма со своими правами

В базах курса — и в «1С:УНФ» 3.0, и в «1С:Рознице» 3.0 — флажок включен в поставке: константа механизма стоит в положении «Истина» сразу после первого запуска. Отдельного шага «включить» в такой базе не потребуется.

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

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

Форма «Дополнительные реквизиты» в 1С:УНФ 3.0: слева дерево наборов свойств по видам объектов, справа состав выбранного набора
Слева наборы по видам объектов, справа состав набора: имя, тип значения, признаки «Обязательный», «По образцу» и «Общий»

Списка этого пугаться не нужно, хотя он большой: в базах курса наборов 306 — и в «1С:УНФ» 3.0, и в «1С:Рознице» 3.0 поровну. Состав владельцев свойств у конфигураций тоже совпадает: табличную часть дополнительных реквизитов несут 38 справочников и 156 документов — замерено по метаданным обеих баз.

Отдельная странность списка — строки с приставкой «(не используется)»: их 69. Это не поломка базы и не следствие настроек: так помечены наборы прежней схемы механизма, у которых имя объекта метаданных начинается с «Удалить» — например, «УдалитьДокумент_АвансовыйОтчет». Заводить свойства в них не нужно; в форме списка для них предусмотрена отдельная страница, которая открывается кнопкой «Неиспользуемые реквизиты».

Заводим свой реквизит

Порядок такой: выбрать набор нужного вида объектов, нажать «Добавить» → «Новый» и заполнить карточку свойства.

Карточка дополнительного реквизита «Способ доставки» в 1С:УНФ 3.0: тип значения, обязательность, видимость и доступность
Карточка реквизита «Способ доставки»: тип значения — «Дополнительное значение», ниже условия обязательности, видимости и доступности, а внизу ссылка на набор, в который реквизит входит

Главное поле карточки — тип значения. Он определяет все остальное поведение поля:

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

В базе курса заведены пять реквизитов номенклатуры и контрагентов: «Гарантия, мес.» (число), «Требуется сертификат» (флажок), «Номер сертификата» (строка), «Напряжение питания» и «Способ доставки» (списки значений).

Список значений дополнительного реквизита «Способ доставки» в 1С:УНФ 3.0: самовывоз, наша машина, транспортная компания
Значения списочного реквизита — отдельный справочник, подчиненный свойству: правка списка не трогает уже заполненные карточки

Еще два признака в составе набора стоит знать заранее. «Общий» означает, что один и тот же реквизит включен в несколько наборов — заводить «Гарантию» отдельно для номенклатуры и отдельно для документов не нужно. «По образцу» — реквизит берет список значений у другого реквизита, то есть два поля делят один справочник значений.

Реквизит у категории номенклатуры

Здесь «1С:УНФ» 3.0 добавляет к стандартному механизму собственный слой, которого нет в других конфигурациях. Кроме общего набора номенклатуры, свойства можно завести у категории: при записи категории для нее сразу создаются четыре набора — для самой номенклатуры, для характеристик, для спецификаций и для вариантов комплектации.

Карточка категории номенклатуры «Электроинструмент» в 1С:УНФ 3.0
Категория номенклатуры — не только учетные умолчания: вместе с ней появляются наборы свойств для позиций этой категории

Работает это так: в карточке позиции показываются свойства общего набора плюс свойства набора ее категории. В базе курса реквизит «Напряжение питания» заведен в наборе категории «Электроинструмент» — и у дрели он есть, а у письменного стола из категории «Мебель и столярные изделия» его в карточке нет вовсе.

Страница «Дополнительно» карточки номенклатуры «Дрель ударная 750 Вт» в 1С:УНФ 3.0 с дополнительными реквизитами гарантии, сертификата и напряжения
У позиции категории «Электроинструмент» видны и общие реквизиты, и реквизит набора категории
Страница «Дополнительно» карточки продукции в 1С:УНФ 3.0: реквизита напряжения питания нет, потому что позиция другой категории
Та же страница у позиции другой категории: «Напряжения питания» нет — оно в наборе другой категории, а «Номера сертификата» нет по условию зависимости, о которой ниже

Это удобнее, чем один общий список на весь справочник: у инструмента свои характеристики, у мебели свои, и карточка не превращается в анкету из тридцати пустых полей.

Поле, которое появляется по условию

Реквизит можно сделать зависимым: видимым, доступным или обязательным только при определенном значении другого поля. Настраивается это в карточке зависимого реквизита — ссылками «всегда» напротив строк «Заполнять обязательно», «Виден» и «Доступен». Каждая открывает таблицу условий, где указываются набор, реквизит-условие, само условие и значение; после настройки надпись меняется на «с условием».

Карточка дополнительного реквизита «Номер сертификата» в 1С:УНФ 3.0: тип значения «Строка», вид поля и ссылки настройки обязательности, видимости и доступности
Карточка «Номера сертификата»: у строкового реквизита добавляются вид поля и высота, а тремя ссылками «всегда» задаются условия обязательности, видимости и доступности

Условий шесть: «Равно», «Не равно», «В списке», «Не в списке», «Заполнено», «Не заполнено». Управлять можно тремя свойствами поля — видимостью, доступностью и обязательностью заполнения. Условие привязано не к реквизиту вообще, а к конкретному набору: одно и то же общее свойство может в одном наборе зависеть от флажка, а в другом показываться всегда.

Результат виден в карточке позиции: у «Дрели ударной» флажок «Требуется сертификат» отмечен — поле номера показано и заполнено; у «Стола письменного» флажок снят — поля нет вовсе.

⚠️ Условие сравнивается только с простым значением


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

Дополнительное сведение: то же поле, но мимо объекта

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

В базе курса сведение «Дата последней сверки» заполнено у трех контрагентов, и это видно по данным: в табличной части контрагента лежат только реквизиты (способ доставки), а даты сверки — три записи регистра дополнительных сведений.

Страница «Дополнительно» карточки контрагента в 1С:УНФ 3.0 с дополнительным реквизитом «Способ доставки»
Страница «Дополнительно» карточки контрагента: здесь показываются реквизиты, но не сведения

Дополнительные реквизиты в документах

У документов механизм тот же, набор — свой на каждый вид документа. В базе курса у заказов покупателей заведен обязательный реквизит «Источник заказа» со списком значений «Сайт», «Телефон», «Выставка»; заполнен он у всех шести заказов.

Страница «Дополнительно» заказа покупателя в 1С:УНФ 3.0 с обязательным дополнительным реквизитом «Источник заказа»
В документе дополнительные реквизиты живут на той же странице «Дополнительно», что и в справочниках

Флажок «Обязательный» в составе набора означает не то, что кажется. Он не дает сохранить форму с пустым полем — и на этом его действие заканчивается.

⚠️ Обязательность проверяется только в форме


Опыт на базе курса: копия заказа покупателя с очищенным «Источником заказа» записана и проведена программно — без единого замечания. Больше того, вызов проверки заполнения у самого объекта тоже промолчал про дополнительный реквизит, хотя нашел другие незаполненные поля. Значит загрузка из файла, обмен, групповая обработка и любой внешний код заведут документы с пустым обязательным реквизитом, и отчет по такому полю окажется неполным.

Метки: вид свойства, которым в 1С:УНФ пока нечего пометить

Третий переключатель в списке наборов называется «Метки». Механизм в конфигурации есть целиком: свой вид свойства, цвет метки, легенда в форме. Не хватает одного — объектов, которые метки поддерживают: список владельцев меток в «1С:УНФ» 3.0.13.374 пуст, и завести метку не для чего. Это стоит знать заранее, чтобы не искать причину в правах или настройках.

В 1С:Рознице 3.0 — то же самое

Механизм в «1С:Рознице» 3.0 не урезан и не отличается: тот же список наборов, те же виды свойств, та же страница «Дополнительно» в карточках. Все, что описано выше, повторяется в розничной базе один в один — включая наборы свойств у категорий номенклатуры и зависимость одного реквизита от другого.

Форма «Дополнительные реквизиты» в 1С:Рознице 3.0: тот же список наборов свойств, что и в 1С:УНФ 3.0
Список наборов в «1С:Рознице» 3.0: тот же механизм и то же число наборов — 306, как и в «1С:УНФ» 3.0
Страница «Дополнительно» карточки номенклатуры в 1С:Рознице 3.0 с дополнительными реквизитами гарантии, сертификата и напряжения питания
Карточка позиции в «1С:Рознице» 3.0: те же дополнительные реквизиты, включая реквизит набора категории

Повторите у себя

  1. Откройте «Настройки» → «Общие настройки» и проверьте флажок «Свойства».
  2. Перейдите по ссылке «Дополнительные реквизиты», найдите в дереве набор «Контрагенты».
  3. Нажмите «Добавить» → «Новый». Наименование — «Способ доставки», тип значения — «Дополнительное значение».
  4. В нижней части карточки добавьте три значения: «Самовывоз», «Наша машина», «Транспортная компания». Запишите и закройте.
  5. Откройте карточку любого покупателя, страницу «Дополнительно», выберите значение и запишите карточку.
  6. Вернитесь в список наборов, переключите вид свойств на «Дополнительные сведения» и заведите в том же наборе сведение «Дата последней сверки» с типом «Дата» (состав даты — «Дата»).
  7. В карточке того же покупателя выполните команду «Дополнительные сведения», проставьте дату, запишите форму. Обратите внимание: карточка контрагента при этом не требует записи.
  8. Заведите в наборе «Номенклатура» флажок «Требуется сертификат» и строку «Номер сертификата», а в карточке второго реквизита добавьте зависимость: видимость, условие «Равно», значение — флажок отмечен.
  9. Откройте карточку любой позиции и убедитесь, что поле номера сертификата появляется только после отметки флажка.

Грабли

⚠️ Наборы удаленной категории остаются в базе


Вместе с категорией номенклатуры создаются четыре набора свойств, а при удалении категории они остаются в базе. Наборы остаются в списке под прежним наименованием и мешают выбирать нужный: в базе курса после нескольких пересозданий категорий накопилось 96 наборов вместо 24. Удалять такие наборы приходится вручную — по наименованию удаленной категории.

ℹ️ Треть списка наборов — наследие прежней схемы


69 наборов в списке подписаны «(не используется)». Это предопределенные элементы старой схемы механизма, имена которых в конфигурации начинаются с «Удалить». Свойства в них заводить бессмысленно: в карточке объекта они не покажутся.

ℹ️ Список значений правится независимо от заполненных карточек


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

По теме урока

Свои поля заводятся быстро, а вот заполнить их у тысячи позиций и найти товар по такому полю типовыми средствами тяжело. Обе задачи закрывают разработки каталога.

Что дальше

Теперь вы умеете добавлять в «1С:УНФ» 3.0 и «1С:Розницу» 3.0 собственные поля, не трогая конфигурацию: заводить дополнительные реквизиты и сведения в нужном наборе, выбирать тип значения и список значений, привязывать реквизиты к категории номенклатуры, делать поле зависимым от другого поля и понимать, где именно хранится каждое значение — в самом объекте или в регистре сведений.

Этим уроком раздел справочников закрыт: в базе есть организации, номенклатура с категориями и характеристиками, контрагенты с контактами и договорами, а теперь и собственные поля под задачи вашей фирмы.

Дмитрий Медведков
Автор курса

Дмитрий Медведков

Программист, консультант, аналитик · Основатель CoderStar

Работаю с продуктами 1С с 2012 года. 10 сертификатов 1С — Профессионал и Специалист. Каждый урок курса проверен на стенде: в текст попадает только то, что реально выполнено в базе (материалы подготовлены на релизах унф 3.0.13 и розница 3.0.12).