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

Разработка и Конфигурация · 13 мин

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

Объект в 1С — это элемент конфигурации или данных: справочники, документы, регистры. Разбираем виды объектов, их свойства, реквизиты и работу с ними на примерах.

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

Термин «объект» в 1С используется в двух смыслах, и их часто путают. Первый смысл — объект конфигурации: шаблон, который разработчик описывает в конфигураторе (например, справочник «Номенклатура» как структура). Второй смысл — объект данных: конкретный экземпляр, созданный по этому шаблону (конкретный товар «Кирпич М-150» в справочнике). Между ними примерно такое же отношение, как между чертежом дома и построенным зданием.

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

Два уровня объектов: конфигурация и данные

Объект конфигурации — это описание структуры, которое разработчик создаёт в конфигураторе. Например, объект «Справочник.Контрагенты» задаёт: какие поля будут у каждого контрагента (наименование, ИНН, КПП), какие формы он будет иметь, какие права доступа к нему настроены. Сам по себе объект конфигурации не содержит ни одного контрагента — это только шаблон.

Объект данных — это конкретная запись, созданная пользователем или кодом по этому шаблону. Контрагент «ООО Вектор» с конкретным ИНН — объект данных. Документ «Поступление № 128 от 15 марта» — тоже объект данных. Все объекты данных одного типа имеют одинаковую структуру, заданную объектом конфигурации, но разное содержимое.

Различие важно на практике. Когда отчёт «не видит» новое поле, причина обычно в том, что реквизит добавили в объект конфигурации, но не обновили схему отчёта. Когда в базе «пропал» элемент справочника, проблема на уровне данных, а не конфигурации. Умение быстро определить, на каком уровне находится проблема, экономит часы поиска.

Основные виды объектов конфигурации

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

ГруппаПримеры объектовНазначение
Хранение нормативных данныхСправочники, планы видов характеристик, планы счетовСписки товаров, контрагентов, сотрудников — относительно редко меняющаяся информация
Фиксация событийДокументы, журналы документовХозяйственные операции: поступления, продажи, начисления
Накопление итоговРегистры накопления, сведений, бухгалтерии, расчётаОстатки, обороты, проводки — основа для отчётов
Анализ и обработкаОтчёты, обработкиВыборка и представление данных, сервисные операции
ИнфраструктураПодсистемы, роли, общие модули, константы, перечисленияИнтерфейс, права, переиспользуемая логика, настройки

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

Справочники и документы — в чём разница

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

Регистры — где живут итоги

Регистры накопления хранят остатки и обороты (складские запасы, взаиморасчёты), регистры сведений — произвольные данные в разрезе измерений (цены, курсы валют), регистры бухгалтерии — проводки по плану счетов. Напрямую пользователи с регистрами почти не работают: записи туда попадают через проведение документов или обработки.

Из чего состоит объект: реквизиты, табличные части, формы, модули

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

Реквизиты — поля объекта: у документа это «Контрагент», «Склад», «Сумма», у справочника — «ИНН», «Единица измерения». Каждый реквизит имеет тип: строка, число, дата, булево или ссылка на другой объект. Ссылочные типы связывают объекты между собой: реквизит «Контрагент» документа хранит ссылку на элемент справочника «Контрагенты».

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

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

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

Объекты данных: ссылка, объект, набор записей

Во встроенном языке 1С работа с данными построена на различении трёх сущностей, и их путаница — самый частый источник ошибок начинающих разработчиков.

Ссылка (СправочникСсылка, ДокументСсылка) — лёгкий указатель на запись в базе. Через ссылку доступны только ключевые поля (код, наименование, номер, дата), остальные данные платформа дочитывает при обращении, что порождает неявные запросы к базе. Ссылку нельзя изменить — она только указывает.

Объект (СправочникОбъект, ДокументОбъект) — полная копия данных в памяти, доступная для изменения. Его получают вызовом ПолучитьОбъект() у ссылки, изменяют реквизиты и сохраняют методом Записать(). Именно на этом этапе срабатывают обработчики событий и проверки заполнения.

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

bsl
КонтрагентСсылка = Справочники.Контрагенты.НайтиПоНаименованию("ООО Вектор");
КонтрагентОбъект = КонтрагентСсылка.ПолучитьОбъект();
КонтрагентОбъект.ИНН = "7701234567";
КонтрагентОбъект.Записать();

Как посмотреть и изменить объект на практике

Пользователь работает с объектами данных через формы: списки, формы элемента, формы документа. Разработчик или администратор дополнительно использует конфигуратор и встроенные инструменты просмотра.

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

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

Проверка результата

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

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

Как проверить корректность изменений

Обновление конфигурации БД
Норма

Завершилось без ошибок, реструктуризация прошла

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

Ошибки типа «конфликт блокировок» или прерванная реструктуризация

Открытие формы объекта
Норма

Форма открывается, реквизиты отображаются

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

Ошибка «Поле не найдено» или пустая форма

Проведение документа
Норма

Документ проводится, движения появляются в регистрах

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

Документ записан, но провести нельзя или движений нет

Типичные ошибки при работе с объектами

Большинство проблем с объектами в 1С сводится к нескольким повторяющимся сценариям. Их знание помогает диагностировать ситуацию за минуты.

Типичные ошибки
01
Изменение данных через ПолучитьОбъект() в цикле по тысячам записей — каждая итерация тянет объект целиком, производительность падает катастрофически; для массовых операций используйте запросы и наборы записей
02
Обращение к реквизитам через ссылку в цикле (Ссылка.Реквизит) — каждое обращение порождает отдельный запрос к базе; выбирайте нужные поля одним запросом
03
Удаление реквизита из конфигурации без анализа — данные в этом поле теряются безвозвратно после реструктуризации
04
Прямое редактирование записей регистров в обход документов — нарушается связность учёта, отчёты и документы начинают расходиться
05
Создание дублей элементов справочников из-за отключённого контроля уникальности кода или наименования

Отдельного внимания заслуживают «битые ссылки» — ситуации, когда объект удалён, а ссылки на него остались в других объектах. В списках они отображаются как «Объект не найден». Перед удалением объектов используйте штатный механизм пометки на удаление с последующим контролем ссылочной целостности («Удаление помеченных объектов»), который покажет все места использования.

Как выбрать тип объекта при проектировании

При добавлении новой сущности в конфигурацию выбор типа объекта определяет всю дальнейшую архитектуру. Ориентируйтесь на природу данных.

Маршрут решения

Как выбрать тип объекта

Нужен список сущностей, редко меняющийся и используемый как аналитика (товары, склады, договоры)Создавайте справочник; при сложной классификации — план видов характеристик
Нужно фиксировать событие с датой, номером и влиянием на учёт (продажа, начисление, перемещение)Создавайте документ и укажите регистры, по которым он делает движения
Нужно хранить значения в разрезе измерений и периодов (цены, курсы, настройки)Используйте регистр сведений, при необходимости периодический
Нужны остатки и обороты по измерениям (складские запасы, долги)Используйте регистр накопления с типом «Остатки»
Нужна только обработка данных без хранения (загрузка, печать, анализ)Создавайте обработку или отчёт — они не хранят собственных данных

Типичный признак ошибки проектирования — попытка хранить в справочнике то, что является событием (например, «остаток на складе» как реквизит товара, который обновляется вручную). Такие данные быстро расходятся с реальностью. Остатки должны жить в регистрах и вычисляться из движений документов.

Часто задаваемые вопросы

Чем объект 1С отличается от объекта в других языках программирования?

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

Что такое «объект не найден» в списке и как это исправить?

Это битая ссылка: запись, на которую ссылается реквизит, была физически удалена из базы. Исправление — либо восстановить удалённый объект (если есть копия), либо очистить ссылку или заменить её на существующий элемент. Чтобы проблема не повторялась, удаляйте объекты только через пометку на удаление с контролем ссылочной целостности.

Можно ли изменить объект без конфигуратора?

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

Чем ссылка отличается от объекта в коде 1С?

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

Куда документ записывает движения и почему отчёт может быть пустым?

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

Что такое стандартные реквизиты и можно ли их удалить?

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

Итог

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

Объект в 1С существует на двух уровнях: объект конфигурации — шаблон структуры, объект данных — конкретная запись. Основные типы — справочники (сущности), документы (события), регистры (итоги). В коде различайте ссылку, объект и набор записей. Меняйте структуру только через конфигуратор с резервной копией, а данные удаляйте через пометку с контролем ссылочной целостности.