Режим разработчика в 1С 8.3: как устроен Конфигуратор и что в нём делают
Содержание
Конфигуратор 1С:Предприятие — это режим запуска платформы 1С 8.3 для разработчика и администратора. В нём меняют структуру программы, пишут код, отлаживают его, обновляют конфигурацию и выгружают базу в файл. Пользователь ведёт учёт в режиме «1С:Предприятие», а Конфигуратор нужен, чтобы этот учёт было в чём вести.
Запускается он из того же окна со списком баз: выделите базу и нажмите кнопку Конфигуратор вместо 1С:Предприятие. Платформа одна, база одна — меняется только режим. Бухгалтеру туда заходить почти незачем, а программисту и администратору без него не обойтись.
Чем Конфигуратор отличается от режима «1С:Предприятие»
Проще всего представить так. Конфигурация — это чертёж здания: какие комнаты, где двери, как работает проводка. Данные — это мебель и люди внутри. В режиме «1С:Предприятие» вы живёте в здании. В Конфигураторе — правите чертёж.
| Что сравниваем | 1С:Предприятие | Конфигуратор |
|---|---|---|
| Кто работает | бухгалтер, кадровик, менеджер | программист, администратор |
| Что меняется | данные: документы, справочники, проводки | структура: объекты, формы, код, права |
| Документы и отчёты | вводятся и формируются | только описываются, данных не видно |
| Пользователи | работают под своими правами | список пользователей и роли редактируются |
| Обновление программы | через интерфейс, если конфигурация без изменений | через меню поддержки, в том числе для доработанных баз |
| Резервная копия | средствами конфигурации или сервера | выгрузка в .dt штатной командой |
Важная деталь: в Конфигураторе вы не увидите ни одного документа с суммами. Там только описание того, каким документ должен быть. Чтобы посмотреть результат правки, запускают режим Предприятия — прямо из Конфигуратора клавишей F5 (запуск с отладкой) или Ctrl+F5 (без отладки).
Две конфигурации внутри одной базы
Новичков путает, что конфигураций в базе две:
- 🛠 основная конфигурация — та, которую вы правите в дереве. Изменения сначала попадают сюда;
- 🗄 конфигурация базы данных — та, по которой реально работают пользователи.
Пока вы не выполнили Конфигурация → Обновить конфигурацию базы данных (клавиша F7), ваши правки живут только в основной конфигурации. Пользователи их не видят. Если закрыть Конфигуратор без обновления, правки сохранятся, но в базу не попадут — это частая причина вопроса «я же всё поменял, а ничего не изменилось».
Если открыть дерево метаданных не получается, начните с Конфигурация → Открыть конфигурацию. По умолчанию дерево не раскрывается само при каждом входе.
Как попасть в Конфигуратор
- Запустите 1С, в списке выделите нужную базу.
- Нажмите
Конфигуратор. - Введите имя и пароль пользователя с административными правами. В типовых конфигурациях это роль «Полные права» или «Администратор системы».
- Если в базе нет ни одного пользователя, окно авторизации не появится.
Тот же запуск из командной строки выглядит так:
"C:\Program Files\1cv8\common\1cestart.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль"
Для серверной базы вместо /F указывают /S"имя_сервера\имя_базы". Ключ DESIGNER открывает Конфигуратор, ENTERPRISE — пользовательский режим.
Дерево метаданных: из чего состоит конфигурация 1С
Слева в Конфигураторе — дерево объектов. Это и есть вся программа, разложенная по типам. Каждый тип отвечает за свою задачу.
Ветка «Общие»
Здесь лежит то, что не принадлежит конкретному документу или справочнику:
- 📁 подсистемы — разделы командного интерфейса («Банк и касса», «Продажи» и т. д.);
- 📜 общие модули — код, которым пользуются разные объекты;
- 🔐 роли — наборы прав для пользователей;
- ⏰ регламентные задания — то, что выполняется по расписанию: загрузка курсов, обмены, очистка устаревших данных;
- 🔔 подписки на события — реакция на запись или проведение любых объектов выбранных типов;
- 🔄 планы обмена — описание того, что и куда синхронизируется;
- ⚙️ функциональные опции — переключатели, которые включают и прячут целые куски интерфейса.
Прикладные объекты
| Тип объекта | Для чего | Пример в Бухгалтерии |
|---|---|---|
| Константы | одно значение на всю базу | учётная политика по умолчанию |
| Справочники | списки однотипных элементов | Контрагенты, Номенклатура |
| Документы | факты хозяйственной жизни | Поступление, Реализация |
| Перечисления | фиксированный набор значений | виды операций |
| Отчёты и обработки | вывод данных и сервисные действия | ОСВ, групповая перепроводка |
| Планы счетов | структура счетов с субконто | план счетов бухучёта |
| Регистры сведений | значения в разрезе измерений и дат | курсы валют, цены |
| Регистры накопления | остатки и обороты | взаиморасчёты, товары на складах |
| Регистры бухгалтерии | проводки Дт/Кт | журнал проводок |
| Регистры расчёта | расчёты с периодом действия | начисления в ЗУП |
| Бизнес-процессы и задачи | маршруты согласования | задачи пользователям |
Связь между ними простая. Документ при проведении пишет движения в регистры. Отчёты читают регистры. Справочники дают значения для полей документов. Если понять эту цепочку, станет ясно, где искать любую ошибку в цифрах.
У каждого объекта в дереве есть реквизиты, табличные части, формы, команды и макеты. Двойной щелчок открывает окно редактирования объекта со вкладками, а Alt+Enter — палитру свойств.
Встроенный язык 1С и где живёт код
Код в Конфигураторе пишут на встроенном языке 1С. Синтаксис русскоязычный, есть и английский вариант ключевых слов. Справку по всем методам открывает Справка → Синтакс-помощник.
Код не лежит одним файлом — он раскидан по модулям, и у каждого своя роль:
- 🧩 модуль объекта — события конкретного документа или справочника:
ПередЗаписью,ОбработкаПроведения,ОбработкаЗаполнения; - 📦 модуль менеджера — процедуры, которые работают с типом объекта целиком, без конкретного экземпляра;
- 🖼 модуль формы — поведение окна: нажатия кнопок, изменение полей;
- 🌐 общие модули — библиотека процедур для всей конфигурации;
- 🚪 модуль сеанса и модуль управляемого приложения — то, что выполняется при входе пользователя.
Клиент и сервер
В управляемых формах код делится директивами компиляции. Одна и та же форма может выполнять часть кода на компьютере пользователя, а часть — на сервере:
&НаКлиенте
Процедура Заполнить(Команда)
ЗаполнитьНаСервере();
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьНаСервере()
Объект.Комментарий = СтрШаблон("Заполнено %1", Формат(ТекущаяДатаСеанса(), "ДЛФ=D"));
КонецПроцедуры
На клиенте нет доступа к базе напрямую: запросы, чтение регистров и запись объектов выполняются на сервере. Если вызвать запрос из процедуры &НаКлиенте, модуль не пройдёт проверку синтаксиса.
Проверка кода до запуска
Ctrl+F7в открытом модуле — синтаксический контроль только этого модуля;Конфигурация → Проверка конфигурации— полная проверка: ссылки на удалённые объекты, неиспользуемые процедуры, вызовы несуществующих методов в разных режимах запуска.
Полную проверку стоит гонять перед каждым обновлением рабочей базы. Она ловит ошибки, которые синтаксический контроль одного модуля не видит: например, вызов серверного метода в режиме тонкого клиента.
Отладка и замер производительности в Конфигураторе
Отладчик — главная причина, почему разработчик держит Конфигуратор открытым весь день.
Базовые приёмы отладчика
- Откройте модуль, поставьте курсор на нужную строку и нажмите
F9— появится точка останова. - Запустите режим Предприятия с отладкой —
F5. - Выполните действие, которое вызывает код: проведите документ, нажмите кнопку.
- Выполнение остановится на точке. Дальше
F10— шаг через процедуру,F11— шаг с заходом внутрь. Shift+F9открывает окно вычисления выражения: можно посмотреть значение любой переменной, результат запроса или выполнить фрагмент кода.
Точку останова можно сделать условной: она сработает только при выполнении условия, например когда сумма строки больше 100 000. Это спасает, когда ошибка проявляется на одной строке из тысячи.
Отладка на сервере
В файловой базе отладка работает сразу. В клиент-серверной серверный код можно отлаживать, только если на сервере 1С включена отладка — агент сервера запускается с ключом -debug. Без этого точки останова в процедурах &НаСервере срабатывать не будут.
Включение отладки на рабочем сервере требует перезапуска службы агента. Все пользователи будут отключены — делайте это вне рабочего времени и предупредите людей заранее.
Подключиться к
уже запущенному сеансу пользователя можно через Отладка → Подключение, если этот сеанс разрешил отладку.
Замер производительности
Если документ проводится минуту вместо секунды, включите Отладка → Замер производительности, повторите действие и остановите замер. Конфигуратор покажет, какие строки кода сколько раз выполнялись и сколько времени заняли. Обычно виновник находится быстро: запрос в цикле или лишнее обращение к реквизиту через точку.
Поддержка, расширения и хранилище: как дорабатывают типовые конфигурации
Открыв типовую Бухгалтерию или ЗУП, вы увидите у всех объектов значки замков. Это значит, что конфигурация на поддержке поставщика и правка запрещена.
Чтобы разрешить изменения, откройте Конфигурация → Поддержка → Настройка поддержки и нажмите Включить возможность изменения. После этого для объектов можно выбрать правило: оставить на поддержке, редактировать с сохранением поддержки или снять с поддержки.
Включение изменений — шаг, который сложно отыграть назад. После него каждое обновление придётся проводить через сравнение и объединение, а не одной кнопкой из пользовательского режима. Перед этим выгрузите базу в .dt.
Расширения вместо правки основной конфигурации
Расширения появились в платформе 8.3.6 и сегодня это основной способ дорабатывать типовые решения. Расширение — отдельный слой поверх конфигурации: свои реквизиты, формы, перехват процедур типового кода. Основная конфигурация при этом остаётся на поддержке и обновляется штатно.
Открываются расширения через Конфигурация → Расширения конфигурации. Расширение можно сохранить в файл .cfe и загрузить в другую базу. Загрузка файла и применение к базе — разные шаги: после загрузки нужно ещё обновить конфигурацию базы данных.
Групповая разработка
Если над конфигурацией работают несколько программистов, подключают хранилище: Конфигурация → Хранилище конфигурации. Объекты захватывают на редактирование, помещают изменения обратно, хранилище ведёт историю версий. Без хранилища два человека, правящих одну базу, рано или поздно затрут работу друг друга.
Администрирование базы и обновление конфигурации через Конфигуратор
Многие открывают Конфигуратор не ради кода, а ради меню Администрирование. Вот что там чаще всего нужно.
| Задача | Где в Конфигураторе | Нужен монопольный доступ |
|---|---|---|
| Резервная копия всей базы | Администрирование → Выгрузить информационную базу | нет, но лучше без активных пользователей |
| Восстановление из копии | Администрирование → Загрузить информационную базу | да |
| Список пользователей и их роли | Администрирование → Пользователи | нет |
| Проверка и исправление базы | Администрирование → Тестирование и исправление | да |
| Сохранить конфигурацию в файл | Конфигурация → Сохранить конфигурацию в файл (.cf) | нет |
| Обновить конфигурацию | Конфигурация → Поддержка → Обновить конфигурацию | для применения изменений структуры — да |
Монопольный доступ нужен не для входа в Конфигуратор, а для конкретных операций: загрузки .dt, тестирования и исправления, применения изменений, меняющих структуру таблиц. Править код и смотреть дерево можно, пока бухгалтеры работают.
Загрузка .dt полностью заменяет базу содержимым файла. Все данные, введённые после выгрузки, пропадут. Перед загрузкой выгрузите текущее состояние отдельным файлом.
Обновление из командной строки
Для ночных регламентов администраторы запускают Конфигуратор в пакетном режиме, без окна:
"C:\Program Files\1cv8\8.3.24.1586\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /DumpIB"E:\Backup\buh.dt" /Out"E:\Backup\log.txt" /DisableStartupMessages
Здесь /DumpIB выгружает базу, /Out пишет журнал выполнения. Аналогично работают /LoadCfg (загрузить конфигурацию из файла) и /UpdateDBCfg (обновить конфигурацию базы данных). Номер платформы в пути подставьте свой — он виден в папке C:\Program Files\1cv8.
Права на вход в Конфигуратор
Кто может открыть Конфигуратор, решают роли. Обычному пользователю права администрирования давать нельзя: из Конфигуратора можно выгрузить всю базу, поменять пароли и код. В типовых конфигурациях этих прав нет у ролей бухгалтера и кадровика.
Если Конфигуратор не открывается или работает не так
Несколько ситуаций, которые встречаются постоянно:
- 🔒 все объекты с замками, правка недоступна — конфигурация на поддержке, см. настройку поддержки выше или используйте расширение;
- 🚫 «Недостаточно прав для входа в Конфигуратор» или подобное сообщение — у пользователя нет роли с административными правами; войдите под администратором;
- 🔁 правки не видны пользователям — забыли
F7, конфигурация базы данных не обновлена; - 🧱 обновление требует монопольного режима — в базе есть активные сеансы; их видно в
Администрирование → Активные пользователи; - 🐢 Конфигуратор долго открывается или ведёт себя странно после обновления платформы — запустите его с ключом
/ClearCache, он очищает локальный кеш метаданных.
Если для обновления нужно завершить сеансы пользователей, предупредите их заранее: несохранённые документы будут потеряны. Обновлять рабочую базу лучше вечером или в выходные.
Альтернатива: 1С:EDT
Помимо Конфигуратора фирма 1С развивает среду разработки 1С:Enterprise Development Tools на базе Eclipse. В ней удобнее работать с Git и большими командами. Для администрирования базы, выгрузки .dt и быстрого исправления в одной базе Конфигуратор по-прежнему проще и привычнее.