К статье
Практический материал

Справочники и Данные · 11 мин

Что такое элемент в 1С и как с ним работать

Что означает термин «элемент» в 1С: элемент справочника, элемент формы, элемент коллекции. Разбираем значения, отличия от объекта и практические примеры работы.

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

Чаще всего под элементом понимают одну запись справочника — например, конкретную номенклатуру, контрагента или сотрудника. Когда бухгалтер говорит «создайте новый элемент», он почти всегда имеет в виду новую карточку в справочнике. Второе по частоте значение — элемент управления на форме: поле ввода, кнопка, таблица. Третье — элемент коллекции во встроенном языке: строка табличной части, запись массива или структуры.

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

Элемент справочника: основное значение термина

Справочник в 1С — это список однотипных объектов: номенклатура, контрагенты, склады, валюты, статьи расходов. Каждая отдельная запись такого списка называется элементом справочника. Карточка товара «Кирпич М-150», карточка контрагента «ООО Ромашка» — это элементы соответствующих справочников.

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

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

Группы и иерархия: элемент внутри структуры справочника

Многие справочники поддерживают иерархию — вложенность элементов в группы. Группа — это тоже особый вид элемента, но она служит папкой для других элементов и обычно не может использоваться в документах как самостоятельное значение. Например, в справочнике номенклатуры группа «Материалы» объединяет элементы «Цемент», «Песок», «Щебень».

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

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

Элемент формы: поля, кнопки и таблицы

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

Ошибка вида «Поле объекта не обнаружено» или «Элемент формы с именем ... не найден» возникает, когда код обращается к элементу, которого нет на форме — например, после переименования в конфигураторе или при условном создании элементов программно. Лечится проверкой имени элемента в дереве формы и приведением кода в соответствие с фактической структурой.

В управляемых формах элементы привязаны к реквизитам формы, а не напрямую к данным объекта. Это частая причина путаницы: поле на форме отображает реквизит формы, который синхронизируется с реквизитом объекта. Если значение «не сохраняется», проверьте, что реквизит формы действительно связан с данными объекта, а не существует отдельно.

Элемент коллекции во встроенном языке

В программном коде 1С элементом называют отдельное значение внутри коллекции: массива, структуры, соответствия, таблицы значений, табличной части документа. Строка табличной части «Товары» в накладной — это элемент коллекции табличной части. Запись в массиве — элемент массива.

Обращение к элементам коллекций выполняется по-разному: в массиве — по индексу (начиная с нуля), в структуре — по ключу, в табличной части — перебором в цикле или по индексу. Выход за границы коллекции (обращение к элементу с несуществующим индексом) вызывает ошибку выполнения, поэтому перед обращением проверяйте количество элементов методом Количество().

bsl
Для Каждого СтрокаТовары Из Объект.Товары Цикл
    Если СтрокаТовары.Количество = 0 Тогда
        Сообщить("В строке " + СтрокаТовары.НомерСтроки + " не указано количество");
    КонецЕсли;
КонецЦикла;

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

Как создать, найти и изменить элемент справочника

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

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

Создание элемента справочника
  1. 1
    Откройте список справочника через раздел меню (например, «Номенклатура» в разделе «Склад» или «НСИ»)
  2. 2
    Нажмите «Создать» или «Создать группу», если нужна папка
  3. 3
    Заполните наименование и обязательные реквизиты
  4. 4
    Проверьте группу размещения при иерархическом справочнике
  5. 5
    Нажмите «Записать и закрыть» и убедитесь, что элемент появился в списке

Программно создание элемента выглядит так: получают менеджер справочника, вызывают СоздатьЭлемент(), заполняют реквизиты и записывают. Поиск выполняют методами НайтиПоНаименованию() или НайтиПоКоду(), либо запросом — при массовой обработке запрос предпочтительнее, так как работает быстрее.

Дубли, пометка на удаление и типичные проблемы

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

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

Типичные ошибки
01
Заведение нового элемента вместо поиска существующего — приводит к дублям и раздвоению аналитики в отчётах
02
Изменение кода элемента вручную при включённой автонумерации — сбивает нумерацию и вызывает конфликты при обмене данными
03
Использование группы справочника там, где требуется элемент — документ не проводится или реквизит остаётся пустым
04
Обращение в коде к элементу коллекции по индексу без проверки количества — ошибка выполнения при пустой табличной части

Как проверить результат и где искать сведения об элементе

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

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

Контрольные точки

Как проверить результат

Элемент отображается в списке справочника
Норма

Виден без серой пометки удаления, находится в нужной группе

Тревожный признак

Не найден поиском, помечен на удаление или попал не в ту группу

Элемент доступен для выбора в документе
Норма

Выбирается из списка выбора, документ проводится без ошибок

Тревожный признак

Не отображается в подборе или документ выдаёт ошибку заполнения

Ссылки на элемент
Норма

Отчёт «Ссылки на объект» показывает ожидаемые документы

Тревожный признак

Элемент нигде не используется, хотя должен, или используется в лишних местах

Итог

Что важно запомнить

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

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

Чем элемент справочника отличается от документа в 1С?

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

Почему не удаётся удалить элемент справочника?

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

Что значит «битая ссылка» и как она появляется?

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

Можно ли изменить код элемента справочника?

Технически да, если в конфигурации разрешено редактирование кода, но делать это вручную не рекомендуется. Код участвует в нумерации и в обменах данными между базами; его изменение может вызвать конфликты при синхронизации. Если нужна другая система кодов, корректнее настроить нумерацию в конфигурации или использовать дополнительный реквизит.

Чем элемент формы отличается от реквизита объекта?

Реквизит объекта — это данные (поле в базе данных), а элемент формы — визуальный компонент, который эти данные отображает. Один реквизит может быть связан с несколькими элементами формы или не отображаться вовсе. При отладке проверяйте и значение реквизита, и настройки видимости элемента, который его показывает.

Как найти нужный элемент в большом справочнике?

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