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

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

Как создать объект конфигурации в 1С

Как создать объект конфигурации в 1С: справочники, документы, регистры. Пошаговая работа в конфигураторе, настройка свойств, проверка результата и типичные ошибки.

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

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

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

Что понадобится перед началом работы

Для создания объектов нужен режим «Конфигуратор» и права администратора в информационной базе. Пользователь без права «Администрирование» и доступа к конфигуратору физически не сможет изменить структуру прикладного решения.

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

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

Как выбрать тип объекта конфигурации

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

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

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

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

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

Создание объекта: пошаговая последовательность

Откройте конфигуратор и загрузите конфигурацию через меню «Конфигурация → Открыть конфигурацию». Появится дерево конфигурации — иерархический список всех типов объектов. Если конфигурация пустая, дерево содержит только корневые ветки.

Дальнейшие действия одинаковы для любого типа объекта.

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

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

Настройка свойств объекта на примере справочника

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

Здесь же настраивается иерархия: если элементы нужно группировать в папки, установите вид иерархии «Список групп и элементов». Длина кода и наименования задаётся на закладке «Нумерация»; оставляйте запас, чтобы не менять длину позже, когда в базе уже есть данные.

На закладке «Формы» создайте формы элемента и списка: нажмите кнопку с лупой у поля «Форма элемента», и конструктор автоматически разместит реквизиты. Без формы элемента пользователи не смогут редактировать объект в режиме «Предприятие».

Особенности создания документа

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

Табличные части добавляются на закладке «Данные»: например, у документа «РеализацияТоваров» — табличная часть «Товары» с реквизитами «Номенклатура», «Количество», «Цена», «Сумма». Типы реквизитов табличной части задаются так же, как обычных реквизитов.

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

bsl
Процедура ОбработкаПроведения(Отказ, Режим)
	Движения.ОстаткиНоменклатуры.Записывать = Истина;
	Для Каждого СтрокаТовары Из Товары Цикл
		Движение = Движения.ОстаткиНоменклатуры.Добавить();
		Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
		Движение.Период = Дата;
		Движение.Номенклатура = СтрокаТовары.Номенклатура;
		Движение.Количество = СтрокаТовары.Количество;
	КонецЦикла;
КонецПроцедуры

Проверка результата после создания

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

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

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

Объект виден в интерфейсе
Норма

Команда открытия списка есть в нужной подсистеме

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

Объект есть в конфигураторе, но в меню «Предприятия» отсутствует — проверьте подсистемы и командный интерфейс

Создание элемента
Норма

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

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

Ошибка при записи или отсутствие формы — форма элемента не создана или есть ошибка в модуле

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

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

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

Документ проводится, но регистры пусты — не отмечены движения или нет кода в ОбработкаПроведения

Права доступа
Норма

У ролей пользователей есть права на чтение и изменение объекта

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

Пользователь не видит объект или получает ошибку доступа — настройте права на закладке «Права»

Типичные ошибки и ограничения

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

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

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

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

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

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

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

Можно ли создать объект конфигурации в режиме «Предприятие»?

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

Чем расширение конфигурации лучше изменения основной конфигурации?

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

Почему после добавления объекта пользователи его не видят?

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

Что произойдёт с данными при удалении объекта конфигурации?

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

Можно ли изменить тип уже созданного объекта, например справочник на документ?

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

Нужно ли программировать, чтобы создать простой объект?

Для справочника, регистра сведений или простого документа без проведения код не обязателен: палитра свойств и конструктор форм покрывают базовые потребности. Программирование требуется, когда нужны проведение по регистрам, проверки при записи, автозаполнение реквизитов и нестандартное поведение форм.