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