Справочники и Данные · 11 мин
Что такое элемент в 1С и как с ним работать
Что означает термин «элемент» в 1С: элемент справочника, элемент формы, элемент коллекции. Разбираем значения, отличия от объекта и практические примеры работы.
Термин «элемент» в 1С встречается повсюду: в интерфейсе пользователя, в документации, во встроенном языке и в сообщениях об ошибках. Проблема в том, что слово употребляется в нескольких разных значениях, и новички часто путают их между собой. Элемент справочника, элемент формы, элемент коллекции — это разные сущности, хотя называются одинаково.
Чаще всего под элементом понимают одну запись справочника — например, конкретную номенклатуру, контрагента или сотрудника. Когда бухгалтер говорит «создайте новый элемент», он почти всегда имеет в виду новую карточку в справочнике. Второе по частоте значение — элемент управления на форме: поле ввода, кнопка, таблица. Третье — элемент коллекции во встроенном языке: строка табличной части, запись массива или структуры.
Понимание того, о каком именно элементе идёт речь, критично для поиска информации и исправления ошибок. Сообщение «элемент не найден» может означать как отсутствующую позицию в справочнике, так и обращение к несуществующему реквизиту формы в коде. Ниже разобраны все основные значения термина и практические приёмы работы с каждым из них.
Элемент справочника: основное значение термина
Справочник в 1С — это список однотипных объектов: номенклатура, контрагенты, склады, валюты, статьи расходов. Каждая отдельная запись такого списка называется элементом справочника. Карточка товара «Кирпич М-150», карточка контрагента «ООО Ромашка» — это элементы соответствующих справочников.
Элемент справочника имеет уникальную ссылку — внутренний идентификатор, по которому система различает записи, даже если их наименования совпадают. Именно ссылка сохраняется в документах: когда вы выбираете контрагента в реализации, документ запоминает не текст названия, а ссылку на элемент справочника. Поэтому переименование контрагента не ломает старые документы — они продолжают ссылаться на тот же элемент.
У элемента есть стандартные реквизиты: код, наименование, признак пометки на удаление, а также прикладные реквизиты, заданные конфигурацией — ИНН, единица измерения, ставка НДС и тому подобное. Набор реквизитов зависит от конкретной конфигурации и может расширяться дополнительными реквизитами и сведениями без доработки программы.
Группы и иерархия: элемент внутри структуры справочника
Многие справочники поддерживают иерархию — вложенность элементов в группы. Группа — это тоже особый вид элемента, но она служит папкой для других элементов и обычно не может использоваться в документах как самостоятельное значение. Например, в справочнике номенклатуры группа «Материалы» объединяет элементы «Цемент», «Песок», «Щебень».
Иерархия бывает двух видов: иерархия групп и элементов (группа содержит и группы, и элементы) и иерархия элементов (элемент может быть подчинён другому элементу, как в справочнике подразделений). Понимание этого различия важно при поиске: если элемент «потерялся», проверьте, не находится ли он внутри группы, которая свёрнута в дереве.
При переносе элемента в другую группу данные документов не затрагиваются — ссылка остаётся той же, меняется только родитель. Это безопасная операция, но массовую реорганизацию иерархии лучше выполнять при отсутствии других пользователей, чтобы избежать блокировок.
Элемент формы: поля, кнопки и таблицы
Второе значение термина относится к интерфейсу. Элемент формы — это визуальный компонент: поле ввода, надпись, кнопка, флажок, табличное поле, группа колонок. Каждый элемент формы имеет имя, по которому к нему обращаются из программного кода, и набор свойств: видимость, доступность, заголовок, цвет.
Ошибка вида «Поле объекта не обнаружено» или «Элемент формы с именем ... не найден» возникает, когда код обращается к элементу, которого нет на форме — например, после переименования в конфигураторе или при условном создании элементов программно. Лечится проверкой имени элемента в дереве формы и приведением кода в соответствие с фактической структурой.
В управляемых формах элементы привязаны к реквизитам формы, а не напрямую к данным объекта. Это частая причина путаницы: поле на форме отображает реквизит формы, который синхронизируется с реквизитом объекта. Если значение «не сохраняется», проверьте, что реквизит формы действительно связан с данными объекта, а не существует отдельно.
Элемент коллекции во встроенном языке
В программном коде 1С элементом называют отдельное значение внутри коллекции: массива, структуры, соответствия, таблицы значений, табличной части документа. Строка табличной части «Товары» в накладной — это элемент коллекции табличной части. Запись в массиве — элемент массива.
Обращение к элементам коллекций выполняется по-разному: в массиве — по индексу (начиная с нуля), в структуре — по ключу, в табличной части — перебором в цикле или по индексу. Выход за границы коллекции (обращение к элементу с несуществующим индексом) вызывает ошибку выполнения, поэтому перед обращением проверяйте количество элементов методом Количество().
Для Каждого СтрокаТовары Из Объект.Товары Цикл
Если СтрокаТовары.Количество = 0 Тогда
Сообщить("В строке " + СтрокаТовары.НомерСтроки + " не указано количество");
КонецЕсли;
КонецЦикла;Особый случай — элемент плана обмена, элемент списка значений, элемент выборки из запроса. Во всех этих конструкциях логика одна: коллекция хранит множество значений, а элемент — одно из них, к которому можно обратиться для чтения или изменения.
Как создать, найти и изменить элемент справочника
В пользовательском режиме создание элемента выполняется кнопкой «Создать» в списке справочника. Заполните обязательные реквизиты (обычно наименование и поля, отмеченные конфигурацией как обязательные) и нажмите «Записать и закрыть». Если справочник иерархический, сначала выберите группу, в которую попадёт новый элемент.
Поиск существующего элемента удобнее выполнять через строку поиска в списке, а не пролистыванием. Поиск в типовых конфигурациях работает по наименованию, коду и ряду дополнительных полей. Если поиск не находит элемент, проверьте, не установлен ли отбор в списке и не помечен ли элемент на удаление — помеченные записи часто скрыты настройками.
- 1Откройте список справочника через раздел меню (например, «Номенклатура» в разделе «Склад» или «НСИ»)
- 2Нажмите «Создать» или «Создать группу», если нужна папка
- 3Заполните наименование и обязательные реквизиты
- 4Проверьте группу размещения при иерархическом справочнике
- 5Нажмите «Записать и закрыть» и убедитесь, что элемент появился в списке
Программно создание элемента выглядит так: получают менеджер справочника, вызывают СоздатьЭлемент(), заполняют реквизиты и записывают. Поиск выполняют методами НайтиПоНаименованию() или НайтиПоКоду(), либо запросом — при массовой обработке запрос предпочтительнее, так как работает быстрее.
Дубли, пометка на удаление и типичные проблемы
Дубли элементов — самая распространённая проблема справочников: один и тот же контрагент заведён дважды с разным написанием названия. Дубли искажают отчёты и затрудняют анализ. В типовых конфигурациях есть обработка «Поиск и удаление дублей», которая объединяет элементы: все ссылки из документов перенаправляются на выбранный «правильный» элемент, а дубль помечается на удаление.
Пометка на удаление — безопасный способ убрать ненужный элемент. Физически запись удаляется только через операцию «Удаление помеченных объектов», которая проверяет ссылочную целостность: если на элемент ссылаются документы, удалить его нельзя, пока ссылки не будут устранены. Это защита от потери данных, а не неисправность.
Как проверить результат и где искать сведения об элементе
После создания или изменения элемента убедитесь, что он корректно используется. Откройте форму элемента и проверьте заполненность ключевых реквизитов. Затем создайте тестовый документ, выберите в нём этот элемент и проведите документ — так вы подтвердите, что элемент доступен для выбора и не блокируется проверками заполнения.
Узнать, где используется элемент, помогает функция «Ссылки на объект» (в типовых конфигурациях доступна из карточки элемента или списка). Она показывает все документы и регистры, где встречается ссылка. Это незаменимо перед удалением или объединением дублей.
Как проверить результат
Виден без серой пометки удаления, находится в нужной группе
Не найден поиском, помечен на удаление или попал не в ту группу
Выбирается из списка выбора, документ проводится без ошибок
Не отображается в подборе или документ выдаёт ошибку заполнения
Отчёт «Ссылки на объект» показывает ожидаемые документы
Элемент нигде не используется, хотя должен, или используется в лишних местах
Что важно запомнить
Элемент в 1С — это чаще всего запись справочника с уникальной ссылкой, реже — элемент формы или элемент коллекции в коде. Документы хранят ссылки на элементы, поэтому переименование безопасно, а удаление контролируется системой. Перед удалением и объединением дублей проверяйте ссылки и делайте резервную копию.
Частые вопросы
Чем элемент справочника отличается от документа в 1С?
Элемент справочника хранит относительно постоянную информацию (товар, контрагент, склад) и не имеет привязки к моменту времени. Документ фиксирует событие или факт хозяйственной жизни (поступление, реализация, оплата), имеет дату, номер и при проведении формирует движения по регистрам. Документы ссылаются на элементы справочников, но не наоборот.
Почему не удаётся удалить элемент справочника?
Система контролирует ссылочную целостность: если на элемент ссылаются документы, записи регистров или другие объекты, удаление блокируется. Используйте функцию «Ссылки на объект», чтобы найти все места использования, замените или удалите их, а затем повторите удаление. Альтернатива — оставить элемент помеченным на удаление, чтобы он не мешал в списках.
Что значит «битая ссылка» и как она появляется?
Битая ссылка — ссылка на несуществующий элемент, отображаемая как «Объект не найден». Она возникает при удалении объектов в обход контроля целостности, при некорректном обмене данными или восстановлении базы после сбоя. Исправляется заменой таких ссылок на существующие элементы или очисткой с помощью обработок поиска и замены значений.
Можно ли изменить код элемента справочника?
Технически да, если в конфигурации разрешено редактирование кода, но делать это вручную не рекомендуется. Код участвует в нумерации и в обменах данными между базами; его изменение может вызвать конфликты при синхронизации. Если нужна другая система кодов, корректнее настроить нумерацию в конфигурации или использовать дополнительный реквизит.
Чем элемент формы отличается от реквизита объекта?
Реквизит объекта — это данные (поле в базе данных), а элемент формы — визуальный компонент, который эти данные отображает. Один реквизит может быть связан с несколькими элементами формы или не отображаться вовсе. При отладке проверяйте и значение реквизита, и настройки видимости элемента, который его показывает.
Как найти нужный элемент в большом справочнике?
Используйте строку поиска в форме списка — она ищет по наименованию, коду и дополнительным полям. Если поиск не помогает, снимите установленные отборы, проверьте отображение помеченных на удаление элементов и разверните дерево групп. Для очень больших справочников удобен поиск через «Найти в меню» или универсальный отчёт по справочнику с отбором по реквизитам.