Разработка и Конфигурация · 11 мин
Как делать конфигурацию в 1С: практическое руководство
Как создать и доработать конфигурацию в 1С: конфигуратор, объекты метаданных, модули, обновление и типичные ошибки. Практическое руководство с примерами кода.
Конфигурация в 1С — это описание прикладного решения: набор объектов метаданных (справочников, документов, регистров, отчётов), алгоритмов на встроенном языке и форм интерфейса, которые платформа превращает в работающую учётную систему. Работа с конфигурацией ведётся в режиме «Конфигуратор», а пользователи видят результат в режиме «Предприятие».
Задачи по конфигурированию делятся на два типа: создание собственной конфигурации «с нуля» и доработка типовой (например, «1С:Бухгалтерии» или «1С:Управление торговлей»). Второй путь встречается чаще, и у него есть важное ограничение: типовая конфигурация находится на поддержке поставщика, и любые прямые изменения усложняют последующие обновления.
Ниже разобран полный цикл работы: от запуска конфигуратора и создания объектов до отладки, обновления и переноса изменений между базами. Материал ориентирован на тех, кто уже знаком с интерфейсом 1С как пользователь и начинает осваивать разработку.
Режимы работы: где именно делается конфигурация
Платформа 1С имеет несколько режимов запуска, и путаница между ними — первая ошибка новичков. Режим «Предприятие» предназначен для пользователей: ввод документов, формирование отчётов, работа со справочниками. Режим «Конфигуратор» — среда разработчика, в которой редактируется структура конфигурации, код и формы.
Запустить конфигуратор можно из окна стартера 1С: выберите базу в списке и нажмите кнопку «Конфигуратор». Если база файловая, достаточно прав на каталог с базой; для клиент-серверного варианта потребуется учётная запись с правами администратора или разработчика.
Внутри конфигуратора есть два ключевых состояния конфигурации: основная конфигурация (то, что вы редактируете) и конфигурация базы данных (то, с чем реально работают пользователи). Изменения вступают в силу только после команды «Конфигурация → Обновить конфигурацию базы данных» или нажатия F7. Пока обновление не выполнено, пользователи видят старую версию.
Структура конфигурации: из чего состоит прикладное решение
Дерево конфигурации открывается командой «Конфигурация → Открыть конфигурацию». Все объекты сгруппированы по типам, и каждый тип решает свою задачу. Понимание назначения основных объектов — основа грамотного проектирования.
| Объект метаданных | Назначение | Пример использования |
|---|---|---|
| Справочник | Хранение условно-постоянных списков | Номенклатура, контрагенты, сотрудники |
| Документ | Регистрация хозяйственных операций | Приходная накладная, заказ, счёт |
| Регистр сведений | Хранение данных в разрезе измерений | Цены по номенклатуре, курсы валют |
| Регистр накопления | Учёт остатков и оборотов | Товары на складах, взаиморасчёты |
| Регистр бухгалтерии | Проводки по плану счетов | Бухгалтерские записи документов |
| Отчёт / обработка | Анализ данных и сервисные операции | Оборотно-сальдовая ведомость, загрузка данных |
| Перечисление | Жёсткий список значений | Виды операций, статусы |
Объекты связаны между собой: документ ссылается на справочники, при проведении делает движения по регистрам, а отчёты читают данные регистров. Правильная архитектура — это когда данные хранятся в одном месте, а не дублируются в нескольких объектах.
Создание нового объекта: пошаговый сценарий
Рассмотрим типовую задачу — добавить в конфигурацию справочник «Склады» и документ «Перемещение товаров», который списывает остатки через регистр накопления.
- 1Откройте конфигуратор и дерево конфигурации, убедитесь, что конфигурация снята с полной поддержки или вы работаете в собственной конфигурации.
- 2Создайте справочник: правый клик на ветке «Справочники» → «Добавить», задайте имя «Склады», при необходимости добавьте реквизиты на вкладке «Данные».
- 3Создайте регистр накопления «ОстаткиТоваров» с видом «Остатки»: измерение «Номенклатура» (и «Склад», если учёт по складам), ресурс «Количество».
- 4Создайте документ «ПеремещениеТоваров»: реквизиты «СкладОтправитель» и «СкладПолучатель», табличная часть «Товары» с реквизитами «Номенклатура» и «Количество».
- 5На вкладке «Движения» документа отметьте регистр «ОстаткиТоваров», откройте конструктор движений и сформируйте код проведения.
- 6Нажмите F7, согласитесь с реструктуризацией, запустите режим «Предприятие» и проверьте проведение документа и отчёт по регистру.
Конструктор движений генерирует базовый код обработки проведения автоматически: достаточно выбрать табличную часть и соответствие полей. Для нестандартной логики код редактируется вручную в модуле объекта.
Пример кода проведения в модуле документа:
Процедура ОбработкаПроведения(Отказ, Режим)
Движения.ОстаткиТоваров.Записывать = Истина;
Для Каждого СтрокаТовары Из Товары Цикл
Движение = Движения.ОстаткиТоваров.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Номенклатура = СтрокаТовары.Номенклатура;
Движение.Склад = СкладОтправитель;
Движение.Количество = СтрокаТовары.Количество;
КонецЦикла;
КонецПроцедурыПосле создания объекта проверьте три вещи: объект появился в интерфейсе (возможно, нужно добавить его в подсистему на вкладке «Подсистемы»), проведение формирует записи в регистре, отчёт по регистру показывает корректные остатки.
Доработка типовой конфигурации: поддержка и расширения
Типовые конфигурации поставляются на поддержке: поставщик выпускает обновления, а вы устанавливаете их штатным механизмом. Прямое редактирование типовых объектов переводит их в режим «изменено», и при обновлении каждое изменение придётся сопоставлять вручную. При большом объёме доработок обновление превращается в многодневную работу.
Современный подход — расширения конфигурации. Расширение подключается поверх основной конфигурации и позволяет добавлять свои объекты, формы, печатные формы и обработчики событий типовых объектов без изменения самой конфигурации. Поддержка не нарушается, обновления ставятся как раньше.
Сравнение вариантов доработки
Подходит для большинства доработок: дополнительные печатные формы, реквизиты, проверки, отчёты. Не нарушает поддержку. Ограничение: нельзя менять структуру типовых регистров и ряд системных механизмов.
Когда расширения недостаточно, но изменения точечные. Объекты редактируются с режимом «Изменения вносятся с сохранением поддержки». Обновление усложняется умеренно.
Крайний вариант для глубокой переработки. Автоматическое обновление становится невозможным, каждый релиз поставщика придётся переносить вручную через сравнение и объединение.
Создать расширение просто: «Конфигурация → Расширения конфигурации → Создать». Затем нужные объекты добавляются в расширение через команду «Добавить в расширение» в контекстном меню объекта. Для перехвата типовых процедур используются аннотации &ИзменениеИКонтроль, &Вместо, &После.
Отладка и проверка результата
Отладка запускается из конфигуратора командой «Отладка → Начать отладку» (F5). Платформа откроет сеанс режима «Предприятие», связанный с конфигуратором. Точки останова ставятся кликом по полю слева от строки кода или клавишей F9.
Полезные приёмы отладки: окно «Вычислить выражение» (Shift+F9) для просмотра значений переменных, «Табло» для постоянного наблюдения за показателями, стек вызовов для понимания, откуда пришло выполнение. Для отладки проведения удобно ставить точку останова в начале обработки проведения и проводить документ пошагово.
Как проверить результат доработки
F7 выполняется без ошибок, реструктуризация завершается
Ошибки реструктуризации или требование монопольного доступа в рабочее время
Документ проводится, движения по регистрам корректны
Проведение есть, но движений нет — не включён флаг «Записывать» у коллекции движений
Пользователь с целевой ролью видит и редактирует объект
Объект невидим или недоступен — роль не настроена
Расширение не конфликтует с новым релизом
После обновления расширение отключилось из-за контроля совместимости
Перенос конфигурации между базами
Для переноса разработки между базами используются несколько механизмов. Выгрузка конфигурации в файл (.cf) — «Конфигурация → Сохранить конфигурацию в файл» — подходит для переноса всей конфигурации целиком. Загрузка выполняется обратной командой с полной заменой.
Если нужно перенести только часть объектов, используйте «Сравнить и объединить с конфигурацией из файла»: в диалоге сравнения отметьте только нужные объекты. Это основной способ переноса доработок с тестовой базы на рабочую.
Для командной разработки платформа поддерживает хранилище конфигурации: разработчики захватывают объекты, редактируют и помещают обратно с историей версий. Для выгрузки в файлы XML и интеграции с Git применяется EDT (1C:Enterprise Development Tools) или конфигуратор с форматом выгрузки в файлы.
Частые вопросы о конфигурировании 1С
Чем расширение отличается от внешней обработки?
Внешняя обработка — отдельный файл (.epf), который открывается в режиме «Предприятие» и не меняет конфигурацию. Расширение хранится внутри базы, может добавлять объекты метаданных, изменять формы и перехватывать типовой код. Для разовых операций достаточно обработки; для постоянных доработок учётной системы используйте расширение.
Нужно ли знать язык запросов для конфигурирования?
Да, без запросов серьёзная разработка невозможна: отчёты, движения документов, контроль остатков и подбор данных строятся на языке запросов 1С. Начните с конструктора запросов — он генерирует текст визуально, а по готовому коду проще разобраться в синтаксисе.
Почему после обновления конфигурации БД пользователей выкинуло из базы?
Изменения структуры данных (новые реквизиты, таблицы, изменение типов) требуют реструктуризации, которая выполняется в монопольном режиме. Платформа завершает активные сеансы. Планируйте такие обновления на нерабочее время и предупреждайте пользователей заранее.
Можно ли отменить неудачное обновление конфигурации базы данных?
Штатной кнопки «отменить» нет. Откат возможен только восстановлением резервной копии (выгрузки .dt или копии СУБД), сделанной до обновления. Поэтому правило «сначала копия, потом F7» — обязательное, особенно на рабочих базах.
Как добавить свою печатную форму к типовому документу?
Оптимальный путь — расширение или механизм «Дополнительные отчеты и обработки» (подсистема БСП в типовых конфигурациях). Во втором случае создаётся внешняя печатная форма с экспортной процедурой СведенияОВнешнейОбработке, которая регистрируется в справочнике дополнительных отчётов без какой-либо доработки конфигурации.
Что выбрать для обучения: конфигуратор или 1C:EDT?
Начинайте с конфигуратора — он проще, быстрее запускается и используется в большинстве организаций. EDT оправдан для командной разработки с Git и крупных проектов. Знания объектной модели и языка полностью переносимы между инструментами.
Что важно запомнить
Конфигурацию делают в конфигураторе: создают объекты метаданных, пишут код в модулях и применяют изменения через F7. Типовые решения дорабатывайте расширениями, не нарушая поддержку. Перед любым изменением рабочей базы делайте резервную копию, а результат проверяйте отладкой, правами доступа и тестовым проведением документов.