Где в Конфигураторе 1С 8.3 лежат модули и как до них добраться
Содержание
Чтобы открыть код 1С, запустите базу в режиме «Конфигуратор», выполните Конфигурация → Открыть конфигурацию и в дереве объектов откройте нужный модуль через контекстное меню. Код лежит не в одном файле, а в модулях: у каждого документа, справочника, формы и общего модуля — свой.
Типичная ситуация: бухгалтер жалуется, что при проведении реализации выскакивает ошибка со ссылкой на строку кода. Программисту нужно быстро попасть в этот модуль, посмотреть строку и понять, типовой это код или чья-то доработка. Путь от окна запуска до конкретной процедуры одинаков для платформы 8.3 и любых конфигураций: Бухгалтерии, ЗУП, УТ, ERP.
1. Вход в Конфигуратор из окна выбора базы
Самый обычный способ — через стартовое окно, которое открывается ярлыком «1С:Предприятие».
- Запустите 1С. Откроется список информационных баз.
- Выделите нужную базу одним щелчком. Двойной щелчок запустит пользовательский режим — это не то.
- Нажмите кнопку «Конфигуратор» справа от списка.
- Введите имя пользователя и пароль. Если в базе нет ни одного пользователя, окно авторизации не появится.
- В Конфигураторе выполните
Конфигурация → Открыть конфигурацию. Слева появится дерево метаданных.
Если меню «Конфигурация» есть, а дерева нет — значит, конфигурацию просто не открыли. Это не ошибка, а исходное состояние Конфигуратора после запуска.
В дереве объекты разложены по веткам: «Общие», «Константы», «Справочники», «Документы», «Регистры сведений» и так далее. Код спрятан внутри этих объектов.
Какие модули бывают и где их искать
| Модуль | Где находится | Как открыть |
|---|---|---|
| Модуль объекта | Справочник, документ, обработка | ПКМ по объекту → «Открыть модуль объекта» |
| Модуль менеджера | Справочник, документ, регистр | ПКМ по объекту → «Открыть модуль менеджера» |
| Модуль формы | Форма объекта | Открыть форму → вкладка «Модуль» внизу редактора |
| Общий модуль | Общие → Общие модули | Двойной щелчок по модулю |
| Модуль набора записей | Регистры | ПКМ по регистру → «Открыть модуль набора записей» |
| Модуль команды | Команды объекта и общие команды | Открыть свойства команды → модуль |
| Модуль сеанса, управляемого приложения, внешнего соединения | Корень конфигурации | ПКМ по корню дерева → соответствующий пункт |
Если ошибка возникает при проведении документа, почти всегда смотрят модуль объекта (обработчик ОбработкаПроведения) и модуль менеджера. Если ошибка выскакивает при нажатии кнопки на форме — модуль формы.
2. Как найти нужный модуль, если знаете только экран
Чаще всего программист знает не имя объекта в метаданных, а то, что видит пользователь: «документ Реализация, кнопка Заполнить». Перевести это на язык Конфигуратора помогают три приёма.
Навигационная ссылка. Откройте документ в пользовательском режиме и нажмите Shift+F11 (команда «Получить ссылку»). В ссылке вида e1cib/data/Документ.РеализацияТоваровУслуг?ref=... после слова «Документ.» стоит точное имя объекта в дереве метаданных.
Текст ошибки. Сообщение об ошибке в 1С 8.3 обычно содержит путь к модулю и номер строки, например {Документ.РеализацияТоваровУслуг.МодульОбъекта(245)}. Это прямой адрес: объект, модуль, строка. Откройте модуль и нажмите Ctrl+G, чтобы перейти к строке 245.
Глобальный поиск. Если известен только текст на экране или фрагмент сообщения, выполните Правка → Глобальный поиск (Ctrl+Shift+F). Введите фразу и отметьте, где искать: в модулях, в формах, в макетах. Поиск пройдёт по всей конфигурации и покажет список совпадений внизу окна.
Внутри открытого модуля пригодятся ещё несколько клавиш:
- 🔎
Ctrl+F— поиск по тексту текущего модуля; - 📍
Ctrl+G— переход к строке по номеру; - 🧭
F12— переход к определению процедуры или функции, на которой стоит курсор; - 📚
Ctrl+F1— Синтакс-помощник по слову под курсором.
Список процедур модуля удобно смотреть через панель «Процедуры и функции» в меню модуля или по выпадающему списку над текстом. Так в модуле на 5000 строк вы найдёте ПередЗаписью за секунды.
3. Запуск Конфигуратора из командной строки
Командная строка выручает, когда базы нет в списке, когда нужно открыть Конфигуратор
на сервере без лишних окон или запустить что-то пакетно по расписанию. Запускают не 1cestart.exe, а исполняемый файл конкретной версии платформы, например C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe (номер каталога — ваш номер установленной версии).
Файловая база:
"C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "пароль"
"C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe" DESIGNER /S "srv1c\buh_main" /N "Администратор" /P "пароль"
Основные параметры:
| Параметр | Что делает |
|---|---|
DESIGNER | Запуск в режиме Конфигуратора (для пользовательского режима — ENTERPRISE) |
/F "путь" | Каталог файловой базы |
/S "сервер\база" | Сервер и имя базы в кластере |
/N, /P | Имя пользователя и пароль |
/ClearCache | Очистить клиентский кэш перед запуском |
/DisableStartupMessages | Не показывать стартовые предупреждения |
/Out "файл" | Писать служебные сообщения в файл (для пакетного режима) |
Пароль в bat-файле лежит открытым текстом. Не оставляйте такие файлы в общих папках и не кладите их в планировщик под учётной записью, к которой имеют доступ все.
Полный список ключей запуска есть в документации к платформе и в справке 1cv8.exe. Не подставляйте параметры «по памяти» из старых статей про 8.2: часть ключей там работала иначе.
4. Какие права нужны для входа в Конфигуратор
Окно Конфигуратора откроется не каждому. Пользователю нужна роль с правом «Администрирование». В типовых конфигурациях на БСП это роль «Полные права» (её дают профилем «Администратор»).
Где проверить права:
- 👤 в пользовательском режиме —
Администрирование → Настройки пользователей и прав → Пользователи, карточка пользователя, ссылка «Права доступа »; - 🛠 в самом Конфигураторе —
Администрирование → Пользователи, вкладка «Прочие» в карточке пользователя: там видны назначенные роли.
Три частых сценария:
- В базе нет пользователей вообще. Конфигуратор откроется без пароля. Так обычно бывает с только что созданной демонстрационной или пустой базой.
- Пользователь есть, но у него нет нужной роли. Платформа откажет во входе. Назначить права может только администратор базы.
- Пароль администратора забыт. Варианты легальные и скучные: спросить у того, кто внедрял базу, или восстановить базу из резервной копии с известным паролем. Сторонние «утилиты сброса» правят файлы базы напрямую и могут её повредить.
Не создавайте второго администратора «на всякий случай» с пустым паролем. Любой, кто откроет такую базу, получит доступ и к коду, и к данным.
5. Просмотр и изменение кода: поддержка, хранилище, монопольный режим
Смотреть код можно свободно — для просмотра ничего дополнительно включать не нужно, и пользователи в это время спокойно работают. Ограничения начинаются, когда код хочется изменить.
Типовая конфигурация на поддержке
Если вы откроете модуль типовой Бухгалтерии и попробуете набрать текст, ничего не выйдет: объект на замке поставщика. Чтобы правка стала возможной, нужно включить изменения в Конфигурация → Поддержка → Настройка поддержки.
Включение изменений в типовой конфигурации усложняет все будущие обновления. Каждое обновление после этого идёт через сравнение и объединение, а не в два клика. Поэтому сейчас доработки чаще делают расширением: Конфигурация → Расширения конфигурации. Основная конфигурация остаётся на полной поддержке, а изменённая процедура живёт отдельно. Расширения появились в платформе 8.3.6, сейчас ими пользуются для большинства мелких правок.
База в хранилище конфигурации
Если база подключена к хранилищу (так работают команды из нескольких программистов), объект перед правкой нужно захватить: ПКМ по объекту → «Захватить в хранилище». Без захвата модуль доступен только для чтения. После правки объект помещают обратно в хранилище.
Когда нужен монопольный режим
Сохранить изменённый модуль (Ctrl+S) можно, пока пользователи работают. Монопольный доступ к базе нужен в конкретных операциях:
- 🔁 обновление конфигурации
базы данных (
F7), если изменения затрагивают структуру таблиц; - 📦 загрузка информационной базы из файла
.dt; - 🩺 тестирование и исправление информационной базы.
При простой правке кода в модуле структура таблиц не меняется, и платформа обычно предлагает динамическое обновление. Но работающие пользователи увидят новый код только после перезапуска сеанса.
Если платформа просит монопольный режим, а в базе работают люди, не завершайте их сеансы без предупреждения: несохранённые документы пропадут. Обновление со сменой структуры планируйте на вечер или выходные и заранее сделайте резервную копию.
6. Отладка: как увидеть код в работе
Открыть модуль — полдела. Чтобы понять, почему код ведёт себя не так, его запускают под отладчиком.
- Откройте модуль и поставьте точку останова на нужной строке:
F9или двойной щелчок по левому полю. - Выполните
Отладка → Начать отладку(F5). Конфигуратор запустит клиент 1С:Предприятия, подключённый к отладчику. - В пользовательском режиме повторите действие пользователя: проведите документ, нажмите кнопку.
- Выполнение остановится на точке, Конфигуратор выйдет на передний план.
Дальше пригодятся:
| Действие | Клавиша |
|---|---|
| Шагнуть через (не заходя в процедуру) | F10 |
| Шагнуть в процедуру | F11 |
| Продолжить выполнение | F5 |
| Вычислить выражение | Shift+F9 |
| Поставить или снять точку останова | F9 |
Полезный режим — Отладка → Остановка по ошибке. Отладчик сам остановится на строке, где возникло исключение, даже если вы не знаете, где ставить точку.
Для поиска медленного кода есть Отладка → Замер производительности. Включите замер, выполните медленную операцию, остановите замер — получите список строк с временем выполнения и числом вызовов.
Отладка в клиент-серверной базе
В файловой базе отладка серверного кода работает сразу. В клиент-серверной серверный код выполняется на сервере 1С, и отладку на нём нужно разрешить: служба агента сервера запускается с ключом -debug. Если ключа нет, точки останова в серверных процедурах будут игнорироваться.
Изменение параметров службы требует её перезапуска. При этом оборвутся сеансы всех пользователей всех баз на этом сервере. Делайте это в нерабочее время и на тестовом сервере, а не на рабочем.
7. Ошибки при входе в Конфигуратор и при открытии кода
Сообщения, с которыми сталкиваются чаще всего, — с причиной и действием.
Если не помогло
Когда базу не удаётся открыть в Конфигураторе вообще, а код посмотреть нужно срочно, есть обходной путь. Возьмите свежую выгрузку .dt или файл .cf, загрузите в отдельную пустую базу на своём компьютере и откройте код там. Рабочую базу вы при этом не трогаете.
Для внешних обработок и отчётов база не нужна совсем: в Конфигураторе выполните Файл → Открыть и выберите файл .epf или .erf. Код откроется в редакторе так же, как модуль обработки в конфигурации.
Частые вопросы
Можно ли посмотреть код 1С без Конфигуратора?
Конфигурация → Выгрузить конфигурацию в файлы, и модули становятся обычными текстовыми файлами .bsl. Их открывают в любом редакторе или в среде разработки 1С:EDT.Почему у некоторых модулей видна только надпись, что исходный текст недоступен?
Можно ли открыть Конфигуратор, пока в базе работают пользователи?
Как вернуть типовой код, если правка всё испортила?
Конфигурация → Сравнить конфигурации и восстановите нужный модуль. Если правку делали расширением, достаточно отключить расширение.Где хранится код — в базе или в отдельном файле?
.cf — это лишь выгрузка конфигурации для переноса и обновления.