Справочники и Данные · 11 мин
Что такое значение реквизита в 1С
Разбираем, что такое значение реквизита в 1С, где оно хранится, какие типы бывают, как посмотреть и изменить значение и каких ошибок избегать.
В любом объекте 1С — документе, справочнике, отчёте — данные хранятся в реквизитах. Реквизит — это поле объекта, а значение реквизита — конкретное содержимое этого поля: число, строка, дата, ссылка на другой объект. Например, у документа «Реализация товаров» есть реквизит «Контрагент», и его значением будет конкретный покупатель из справочника «Контрагенты».
Понимание разницы между реквизитом и его значением важно на практике: реквизит описывается один раз в конфигурации (какие поля есть у объекта и какого они типа), а значения заполняются пользователями или программой при каждом создании документа или элемента справочника. Ошибки в значениях реквизитов — причина большинства проблем с отчётами, проведением документов и обменом данными.
Статья объясняет, как устроены значения реквизитов, какие типы бывают, где их смотреть и как безопасно исправлять, а также разбирает типичные ошибки пользователей и разработчиков.
Чем реквизит отличается от значения реквизита
Реквизит — это описание поля в структуре конфигурации: его имя, тип данных, длина, обязательность заполнения. Разработчик задаёт реквизиты в конфигураторе, и они одинаковы для всех объектов одного вида. Например, у всех элементов справочника «Номенклатура» есть реквизит «Артикул».
Значение реквизита — это то, что фактически записано в это поле у конкретного объекта. У одной номенклатуры артикул «Т-100», у другой — «Т-200». Реквизит один, значений — сколько угодно, по числу объектов в базе.
Аналогия из учёта: реквизит — это графа в бланке документа, а значение — то, что вписано в эту графу ручкой. Бланк один, заполненных экземпляров много, и содержимое граф в каждом своё.
Какие типы значений бывают у реквизитов
Тип значения определяется типом реквизита, заданным в конфигурации. Основные примитивные типы: строка (с ограничением длины или без), число (с заданной точностью), дата (с точностью до дня или до секунды) и булево — значение «Истина» или «Ложь», которое в интерфейсе обычно выглядит как флажок.
Ссылочные типы — значения, которые указывают на другие объекты базы: элементы справочников, документы, перечисления, планы счетов. Например, значение реквизита «Склад» в документе — это ссылка на конкретный элемент справочника «Склады», а не просто текст с названием склада.
Ещё есть составные типы: реквизиту можно разрешить хранить значения нескольких типов, например строку или ссылку на справочник. Это удобно, но усложняет проверки и запросы, поэтому составные типы применяют осознанно.
| Тип значения | Пример значения | Где используется |
|---|---|---|
| Строка | «ТДС-00124» | Артикулы, комментарии, адреса |
| Число | 1250.50 | Суммы, количество, цены |
| Дата | 15.03.2026 10:30:00 | Дата документа, сроки |
| Булево | Истина (флажок установлен) | Признаки: «архивный», «облагается НДС» |
| Ссылка | Элемент справочника «Контрагенты» | Связи между объектами |
| Перечисление | «Юридическое лицо» | Фиксированные списки вариантов |
Где хранятся значения реквизитов
Все значения реквизитов хранятся в базе данных. В файловом варианте это файл 1Cv8.1CD, в клиент-серверном — таблицы СУБД (Microsoft SQL Server, PostgreSQL и другие). Когда пользователь открывает документ и видит заполненные поля, платформа читает значения именно из базы.
Стандартные реквизиты (номер и дата документа, код и наименование справочника) и добавленные в конфигураторе реквизиты хранятся в основной таблице объекта. Значения табличных частей — в отдельных таблицах, связанных с основной по ссылке на объект.
Важно понимать: если реквизит не заполнен, в базе хранится значение по умолчанию для его типа — пустая строка, ноль, пустая дата (01.01.0001) или пустая ссылка. Это не «отсутствие данных», а вполне конкретное значение, которое участвует в сравнениях и отборах.
Как посмотреть и изменить значение реквизита
В пользовательском режиме значения реквизитов видны прямо в форме объекта: откройте документ или элемент справочника — каждое поле формы связано с реквизитом. Чтобы изменить значение, отредактируйте поле и записите объект кнопкой «Записать» или «Провести и закрыть». Без записи изменения в базу не попадут.
Некоторые реквизиты скрыты из формы или недоступны для редактирования — это решение разработчиков конфигурации. Увидеть все реквизиты объекта можно через пункт «Ещё → Изменить форму» (только просмотр структуры формы) или через встроенную обработку, если у вас есть права администратора.
Разработчики и администраторы читают и меняют значения кодом на встроенном языке. Обращение идёт через точку: объект, затем имя реквизита.
Док = Документы.РеализацияТоваровУслуг.НайтиПоНомеру("0001", ТекущаяДатаСеанса());
ДокОбъект = Док.ПолучитьОбъект();
ДокОбъект.Комментарий = "Проверено";
ДокОбъект.Записать();
Сообщить(ДокОбъект.Контрагент); // чтение значения реквизитаИзменение значений в проведённых документах
У проведённого документа часть реквизитов влияет на движения по регистрам: сумма, склад, контрагент. Их изменение требует перепроведения, иначе данные учёта разойдутся с документом. Сервисные реквизиты вроде комментария обычно можно менять без перепроведения, но платформа всё равно потребует записать документ.
Значения реквизитов в запросах и отчётах
В запросах на языке 1С значения реквизитов извлекаются через точку от имени таблицы: Документ.РеализацияТоваровУслуг.Контрагент. Отборы в отчётах СКД тоже работают по значениям реквизитов — например, «показать документы, где реквизит Склад равен Основному».
Частая тонкость — сравнение ссылочных значений. Ссылка сравнивается не по наименованию, а по внутреннему уникальному идентификатору. Поэтому два контрагента с одинаковым названием — это разные значения, и отбор по одному из них не захватит документы другого.
Для проверки заполненности реквизита в запросе используют сравнение со значением по умолчанию или функцию ЕСТЬNULL при соединениях. Проверка «на пустую строку» не сработает для реквизита ссылочного типа — там нужно сравнение с пустой ссылкой конкретного вида.
Как проверить результат
После записи и повторного открытия объекта поле показывает новое значение
Поле снова пустое или со старым значением — объект не был записан
В поле отображается элемент, который открывается по двойному клику
Отображается «Объект не найден» — битая ссылка
После изменения документ перепроведён, отчёты сходятся
Отчёты до и после изменения дают разные итоги без объяснения
Типичные проблемы со значениями реквизитов
Самая распространённая проблема — «битая ссылка»: значение ссылочного реквизита указывает на объект, который был удалён. В интерфейсе это выглядит как «Объект не найден» с набором символов. Такие значения появляются после прямого удаления объектов без контроля ссылочной целостности или после сбоев обмена.
Вторая группа проблем — несоответствие типа при программном заполнении: попытка записать строку в числовой реквизит или ссылку не того вида. Платформа в этом случае выдаёт ошибку преобразования, а при загрузке данных из файлов значение может молча обрезаться, если длина строки превышает заданную в конфигурации.
Третья типичная ситуация — дубли из-за того, что значения визуально совпадают, но технически различны: лишние пробелы в строках, разный регистр букв, два элемента справочника с одинаковым наименованием. Отчёты при этом группируют данные не так, как ожидает пользователь.
Как безопасно исправить значение реквизита
Для одиночного исправления достаточно открыть объект, изменить поле и записать. Если объект — проведённый документ, после изменения учётных реквизитов перепроведите его и сверьте итоги по связанным отчётам.
Для массовых исправлений в типовых конфигурациях есть обработка «Групповое изменение реквизитов» (в разделе администрирования). Она позволяет отобрать объекты по условию и установить новое значение выбранного реквизита. Перед запуском обязательно сделайте резервную копию базы и сначала проверьте отбор на маленькой выборке.
Битые ссылки исправляют либо восстановлением удалённого объекта (если есть копия), либо заменой значения на существующий элемент, либо очисткой реквизита. Пункт «Удаление помеченных объектов» с контролем ссылочной целостности помогает найти все места, где используется удаляемое значение.
- 1Сделайте резервную копию базы или выгрузку
- 2Найдите объект и зафиксируйте текущее значение реквизита
- 3Измените значение и запишите объект
- 4Если это проведённый документ — перепроведите его
- 5Проверьте связанные отчёты и регистры на предмет расхождений
FAQ
Чем значение реквизита отличается от свойства объекта?
В 1С термин «реквизит» относится к полям, определённым в конфигурации и хранящимся в базе. «Свойства» — более широкое понятие: это и реквизиты, и дополнительные сведения, и программные свойства объектов встроенного языка, которые могут не храниться в базе, а вычисляться на лету.
Почему в поле отображается «Объект не найден»?
Значение реквизита — ссылка на объект, который был удалён из базы. Платформа хранит только идентификатор ссылки, поэтому показывает его вместо наименования. Нужно заменить значение на существующий объект или очистить реквизит.
Можно ли узнать, кто и когда изменил значение реквизита?
Если в конфигурации включено версионирование объектов, история изменений доступна через пункт «Ещё → История изменений» в форме объекта. Без версионирования платформа хранит только текущее значение, и восстановить, кто его менял, штатными средствами нельзя.
Что такое пустое значение реквизита?
Это значение по умолчанию для типа реквизита: пустая строка, ноль, дата 01.01.0001, «Ложь» или пустая ссылка соответствующего вида. Незаполненный реквизит всё равно имеет значение, и это учитывается в отборах и проверках заполнения.
Как изменить значение реквизита сразу у многих объектов?
Используйте штатную обработку «Групповое изменение реквизитов» в разделе администрирования: задайте отбор объектов, выберите реквизит и укажите новое значение. Перед запуском сделайте копию базы и проверьте отбор, чтобы не изменить лишние объекты.
Почему при загрузке из Excel часть текста в реквизите пропала?
У строкового реквизита в конфигурации задана ограниченная длина. При записи более длинного значения платформа обрезает его до установленного предела без предупреждения. Проверьте длину реквизита в конфигураторе и при необходимости обратитесь к разработчику для её увеличения.
Что важно запомнить
Значение реквизита — это конкретное содержимое поля объекта 1С, хранящееся в базе данных. Тип значения задаётся реквизитом в конфигурации, изменения фиксируются только после записи объекта, а правка учётных реквизитов в проведённых документах требует перепроведения и контроля отчётов.