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

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

Как делать конфигурацию в 1С: практическое руководство

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

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

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

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

Режимы работы: где именно делается конфигурация

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

Запустить конфигуратор можно из окна стартера 1С: выберите базу в списке и нажмите кнопку «Конфигуратор». Если база файловая, достаточно прав на каталог с базой; для клиент-серверного варианта потребуется учётная запись с правами администратора или разработчика.

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

Структура конфигурации: из чего состоит прикладное решение

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

Объект метаданныхНазначениеПример использования
СправочникХранение условно-постоянных списковНоменклатура, контрагенты, сотрудники
ДокументРегистрация хозяйственных операцийПриходная накладная, заказ, счёт
Регистр сведенийХранение данных в разрезе измеренийЦены по номенклатуре, курсы валют
Регистр накопленияУчёт остатков и оборотовТовары на складах, взаиморасчёты
Регистр бухгалтерииПроводки по плану счетовБухгалтерские записи документов
Отчёт / обработкаАнализ данных и сервисные операцииОборотно-сальдовая ведомость, загрузка данных
ПеречислениеЖёсткий список значенийВиды операций, статусы

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

Создание нового объекта: пошаговый сценарий

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

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

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

Пример кода проведения в модуле документа:

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

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

Доработка типовой конфигурации: поддержка и расширения

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

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

Сравнение вариантов доработки

Расширение конфигурации

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

Изменение конфигурации с сохранением поддержки

Когда расширения недостаточно, но изменения точечные. Объекты редактируются с режимом «Изменения вносятся с сохранением поддержки». Обновление усложняется умеренно.

Снятие с поддержки

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

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

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

Отладка запускается из конфигуратора командой «Отладка → Начать отладку» (F5). Платформа откроет сеанс режима «Предприятие», связанный с конфигуратором. Точки останова ставятся кликом по полю слева от строки кода или клавишей F9.

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

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

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

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

F7 выполняется без ошибок, реструктуризация завершается

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

Ошибки реструктуризации или требование монопольного доступа в рабочее время

Работа объекта
Норма

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

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

Проведение есть, но движений нет — не включён флаг «Записывать» у коллекции движений

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

Пользователь с целевой ролью видит и редактирует объект

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

Объект невидим или недоступен — роль не настроена

Обновление типовой
Норма

Расширение не конфликтует с новым релизом

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

После обновления расширение отключилось из-за контроля совместимости

Перенос конфигурации между базами

Для переноса разработки между базами используются несколько механизмов. Выгрузка конфигурации в файл (.cf) — «Конфигурация → Сохранить конфигурацию в файл» — подходит для переноса всей конфигурации целиком. Загрузка выполняется обратной командой с полной заменой.

Если нужно перенести только часть объектов, используйте «Сравнить и объединить с конфигурацией из файла»: в диалоге сравнения отметьте только нужные объекты. Это основной способ переноса доработок с тестовой базы на рабочую.

Для командной разработки платформа поддерживает хранилище конфигурации: разработчики захватывают объекты, редактируют и помещают обратно с историей версий. Для выгрузки в файлы XML и интеграции с Git применяется EDT (1C:Enterprise Development Tools) или конфигуратор с форматом выгрузки в файлы.

Типичные ошибки
01
Доработка сразу на рабочей базе без копии — любая ошибка реструктуризации может испортить данные, а исправить её нечем.
02
Изменение типовых объектов вместо расширения — следующее обновление конфигурации превращается в ручное сопоставление сотен изменений.
03
Забытое обновление конфигурации БД — разработчик тестирует в конфигураторе, а пользователи работают со старой версией.
04
Отсутствие ролей для новых объектов — объект создан, но пользователи его не видят, потому что ни одна роль не даёт прав.
05
Перенос через .cf вместо сравнения и объединения — на рабочую базу попадают лишние тестовые объекты и перезаписываются чужие доработки.

Частые вопросы о конфигурировании 1С

Чем расширение отличается от внешней обработки?

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

Нужно ли знать язык запросов для конфигурирования?

Да, без запросов серьёзная разработка невозможна: отчёты, движения документов, контроль остатков и подбор данных строятся на языке запросов 1С. Начните с конструктора запросов — он генерирует текст визуально, а по готовому коду проще разобраться в синтаксисе.

Почему после обновления конфигурации БД пользователей выкинуло из базы?

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

Можно ли отменить неудачное обновление конфигурации базы данных?

Штатной кнопки «отменить» нет. Откат возможен только восстановлением резервной копии (выгрузки .dt или копии СУБД), сделанной до обновления. Поэтому правило «сначала копия, потом F7» — обязательное, особенно на рабочих базах.

Как добавить свою печатную форму к типовому документу?

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

Что выбрать для обучения: конфигуратор или 1C:EDT?

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

Итог

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

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