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