Разработка и Конфигурация · 12 мин
Как открыть код в 1С: конфигуратор, модули и внешние обработки
Как открыть и посмотреть код в 1С: конфигуратор, модули объектов и форм, внешние обработки, отладка, защищённые модули и типичные ошибки при работе с кодом.
Открыть код в 1С можно несколькими способами — через конфигуратор, через редактор внешних обработок, а также прямо из режима «Предприятие», если включена соответствующая настройка. Выбор способа зависит от того, что именно нужно посмотреть: модуль формы документа, общий модуль конфигурации, код внешней обработки или текст запроса. Во всех случаях основным инструментом остаётся конфигуратор — штатная среда разработки, входящая в состав платформы 1С:Предприятие.
Важно сразу разграничить два сценария. Первый — просмотр и изменение кода типовой конфигурации, что требует прав администратора, снятия конфигурации с поддержки и понимания последствий для обновлений. Второй — безопасное изучение кода без изменений, которое доступно любому пользователю с правами на запуск конфигуратора и не несёт рисков для базы. Ниже разобраны оба сценария, а также работа с внешними файлами и защищёнными модулями.
Как запустить конфигуратор и открыть конфигурацию
Конфигуратор запускается двумя способами. Первый — из окна запуска 1С: выделите нужную информационную базу в списке и нажмите кнопку «Конфигуратор». Второй — напрямую через исполняемый файл платформы с параметром DESIGNER: 1cv8.exe DESIGNER /F"путь_к_базе" для файловой базы или с параметром /S"сервер\база" для клиент-серверной. Для входа потребуются логин и пароль пользователя с правами администратора или разработчика.
После входа конфигурация может быть не открыта — окно дерева объектов окажется пустым. В этом случае выполните команду меню «Конфигурация → Открыть конфигурацию». Платформа загрузит структуру метаданных, и слева появится дерево объектов: справочники, документы, отчёты, общие модули и другие разделы. Если конфигурация уже открыта, пункт меню будет неактивен — это нормально.
Если база открыта в монопольном режиме другим сеансом или идёт обновление, конфигуратор сообщит об ошибке соединения. Проверьте, что никто не работает в базе в режиме «Предприятие» при необходимости монопольного доступа, либо дождитесь завершения фоновых процессов. Для простого просмотра кода монопольный режим обычно не требуется.
- 1Откройте окно запуска 1С и выделите нужную базу
- 2Нажмите кнопку «Конфигуратор» и войдите под пользователем с правами разработчика
- 3Выполните меню «Конфигурация → Открыть конфигурацию»
- 4Дождитесь загрузки дерева метаданных
- 5Найдите нужный объект и откройте его модуль
Где находится код: виды модулей в дереве конфигурации
Код в 1С не лежит одним файлом — он распределён по модулям, привязанным к объектам метаданных. У каждого документа, справочника или отчёта есть модуль объекта, модуль менеджера, а у форм — модуль формы. Общая логика выносится в общие модули, а код всего приложения — в модуль приложения (или модуль обычного приложения для старого интерфейса).
Чтобы открыть модуль объекта, найдите объект в дереве конфигурации, щёлкните по нему правой кнопкой мыши и выберите «Открыть модуль объекта». Тот же пункт доступен из палитры свойств объекта. Для формы сначала раскройте ветку «Формы» у объекта, откройте нужную форму двойным щелчком — откроется конструктор формы — и перейдите на вкладку «Модуль» в нижней части окна.
Общие модули находятся в ветке «Общие → Общие модули». Двойной щелчок по общему модулю сразу открывает его код. Модуль приложения открывается через корень дерева: правый щелчок по самой верхней строке с именем конфигурации → «Открыть модуль управляемого приложения». Там обычно находятся обработчики событий запуска и завершения системы.
Как быстро найти нужный фрагмент кода
В большой конфигурации искать код вручную по дереву объектов долго. Используйте глобальный поиск: меню «Правка → Глобальный поиск по текстам» или сочетание Ctrl+Shift+F. Укажите строку поиска, например имя процедуры или фрагмент сообщения об ошибке, и запустите поиск по всем модулям конфигурации. Результаты покажут файл (объект) и строку, где встречается текст.
Если известно имя процедуры, но неизвестно, где она вызывается, встаньте на её имя в коде и нажмите Ctrl+F12 или используйте контекстное меню «Найти использование». Платформа покажет все места вызова. Обратная операция — F12 на вызове процедуры — перенесёт курсор к её определению, даже если она находится в другом общем модуле.
Полезен и поиск по конфигурации через Ctrl+Shift+O (быстрый переход к метаданным): начните вводить имя объекта, и платформа предложит совпадения. Это самый быстрый способ открыть модуль конкретного документа или отчёта, не раскрывая ветки дерева вручную.
Перед глобальным поиском сузьте область: искать по всем модулям типовой конфигурации можно несколько минут. В окне поиска ограничьте область, например, только общими модулями или только тем разделом дерева, где ожидается результат.
Как открыть код внешней обработки или отчёта
Внешние обработки и отчёты хранятся в файлах с расширением .epf и .erf. Чтобы посмотреть их код, откройте конфигуратор, выполните «Файл → Открыть» и укажите нужный файл. Откроется конструктор обработки с деревом реквизитов и форм. Код основного модуля доступен через «Действия → Открыть модуль объекта», а код формы — через открытие формы и вкладку «Модуль».
Если обработка подключена к базе через механизм «Дополнительные отчеты и обработки», сначала выгрузите её в файл: в режиме «Предприятие» откройте список дополнительных обработок, выделите нужную и используйте команду выгрузки. После этого файл открывается в конфигураторе стандартным способом.
Некоторые обработки поставляются в скомпилированном виде без исходного кода — при попытке открыть модуль вы увидите пустое окно или сообщение о недоступности. Это осознанное решение автора обработки, и обойти такую защиту штатными средствами нельзя. В этом случае остаётся использовать обработку как есть или искать её исходную версию у разработчика.
Как включить возможность изменения кода
По умолчанию типовая конфигурация находится на поддержке, и её модули открываются только для чтения — текст виден, но редактировать его нельзя. Чтобы разрешить изменения, выполните «Конфигурация → Поддержка → Настройка поддержки», нажмите кнопку «Включить возможность изменения» и подтвердите действие. После этого для конкретного объекта в настройках поддержки можно выбрать режим «Редактируется с сохранением поддержки» или «Снят с поддержки».
Режим «Редактируется с сохранением поддержки» предпочтительнее: объект остаётся в механизме сравнения при обновлении, и платформа покажет ваши изменения при накатывании нового релиза. Полное снятие с поддержки означает, что при обновлении объект не будет сравниваться автоматически, и контроль изменений полностью ложится на разработчика.
Перед любыми правками типового кода сделайте резервную копию базы или выгрузку конфигурации в файл .cf через «Конфигурация → Сохранить конфигурацию в файл». Это позволит откатить изменения, если правка приведёт к ошибкам. Прямое изменение типовых модулей — крайняя мера; сначала рассмотрите расширения конфигурации, которые не затрагивают типовой код.
Просмотр кода без конфигуратора: расширения и отладка
Если изменения вносились через расширение конфигурации, его код открывается отдельно: «Конфигурация → Расширения конфигурации», двойной щелчок по расширению — откроется его собственное дерево объектов с модулями. Расширение — самостоятельная единица, и его код не смешивается с типовым, что упрощает анализ.
Для анализа поведения кода без его открытия в редакторе используется отладчик. Включите в конфигураторе «Отладка → Подключение» и установите, какие сеансы отлаживать, затем поставьте точку останова в нужном модуле (щелчок по полю слева от строки или F9). При выполнении кода в режиме «Предприятие» конфигуратор остановится на этой строке и покажет значения переменных.
Отладка требует, чтобы сервер или файловая база были запущены с разрешением отладки. Для клиент-серверного режима это параметр запуска сервера 1С; для файловой базы отладка включается автоматически при запуске из конфигуратора через «Начать отладку» (F5). Если точка останова не срабатывает, проверьте, что отлаживается именно тот сеанс, в котором выполняется действие.
Защищённые модули и ограничения доступа
Часть модулей в коммерческих конфигурациях поставляется без исходного текста — вместо кода вы увидите сообщение о том, что модуль защищён. Так поставщики защищают лицензируемые механизмы. Открыть такой модуль штатными средствами невозможно, и попытки обхода защиты могут нарушать лицензионное соглашение.
Доступ к коду может быть ограничен и правами пользователя. Если при входе в конфигуратор система сообщает о недостатке прав, проверьте роли учётной записи: нужны права «Администрирование» или как минимум право на конфигурирование. В файловых базах без списка пользователей конфигуратор открывается без аутентификации.
Отдельный случай — пароль на модуле, который разработчик может установить при поставке конфигурации. Если пароль неизвестен, исходный текст недоступен. Легальный путь — запросить исходники у поставщика конфигурации, если это предусмотрено договором.
Проверка результата и сохранение изменений
После редактирования модуля проверьте синтаксис: «Конфигурация → Проверка конфигурации» или кнопка проверки модуля на панели инструментов. Платформа укажет строки с ошибками — незакрытые конструкции «Если... КонецЕсли», несуществующие переменные и другие проблемы. Сохранение с синтаксическими ошибками возможно, но обновление конфигурации базы данных может завершиться неудачей.
Чтобы изменения вступили в силу для пользователей, выполните «Конфигурация → Обновить конфигурацию базы данных» (F7). Для серверной базы при активных сеансах платформа предложит завершить сеансы или отложить обновление. После обновления проверьте работу изменённой функциональности в режиме «Предприятие».
Как проверить результат
Проверка конфигурации завершается без ошибок
Сообщения об ошибках с указанием строк модуля
Обновление завершено, пользователи могут войти
Окно с ошибками реструктуризации или блокировками
Изменённый код выполняется и даёт ожидаемый результат
Ошибки времени выполнения, сообщения о несуществующих методах
Часто задаваемые вопросы
Можно ли открыть код 1С без конфигуратора?
Штатно — нет, весь код конфигурации просматривается и редактируется только в конфигураторе. Косвенно посмотреть логику можно через отладчик или выгрузив конфигурацию в файлы XML («Конфигурация → Выгрузить конфигурацию в файлы»), где модули сохраняются как текстовые файлы .bsl, читаемые любым редактором.
Почему модуль открывается пустым или с сообщением о защите?
Модуль поставляется без исходного текста — так поставщик защищает код. Это штатная ситуация для коммерческих конфигураций и платных обработок. Обойти защиту штатными средствами нельзя; исходники запрашиваются у поставщика.
Как открыть код формы документа?
В дереве конфигурации раскройте нужный документ, найдите ветку «Формы», откройте форму двойным щелчком и в нижней части окна конструктора перейдите на вкладку «Модуль». Либо щёлкните по форме правой кнопкой и выберите открытие модуля из контекстного меню.
Что делать, если кнопка «Конфигуратор» неактивна в окне запуска?
Обычно это означает, что база опубликована на веб-сервере или запуск настроен только в тонком клиенте без доступа к конфигуратору. Проверьте тип подключения базы в свойствах списка и убедитесь, что у вас установлена полная версия платформы, а не только клиентский компонент.
Изменится ли что-то для пользователей, если я просто открою и посмотрю код?
Нет. Просмотр модулей без редактирования и обновления конфигурации базы данных ничего не меняет. Изменения применяются только после сохранения конфигурации и выполнения команды «Обновить конфигурацию базы данных».
Как посмотреть код обработки, подключённой как дополнительная?
В режиме «Предприятие» откройте справочник дополнительных отчётов и обработок, найдите нужную и выгрузите её в файл .epf или .erf. Затем в конфигураторе выполните «Файл → Открыть» и укажите выгруженный файл — его модули будут доступны для просмотра.
Что важно запомнить
Код в 1С открывается через конфигуратор: «Конфигурация → Открыть конфигурацию», затем модуль нужного объекта через контекстное меню или конструктор формы. Внешние обработки открываются через «Файл → Открыть». Для правок типового кода включите возможность изменения в настройке поддержки, сделайте резервную копию и предпочитайте расширения прямым доработкам.