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

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

Как открыть код в 1С: конфигуратор, модули и внешние обработки

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

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

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

Как запустить конфигуратор и открыть конфигурацию

Конфигуратор запускается двумя способами. Первый — из окна запуска 1С: выделите нужную информационную базу в списке и нажмите кнопку «Конфигуратор». Второй — напрямую через исполняемый файл платформы с параметром DESIGNER: 1cv8.exe DESIGNER /F"путь_к_базе" для файловой базы или с параметром /S"сервер\база" для клиент-серверной. Для входа потребуются логин и пароль пользователя с правами администратора или разработчика.

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

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

Порядок открытия конфигурации
  1. 1
    Откройте окно запуска 1С и выделите нужную базу
  2. 2
    Нажмите кнопку «Конфигуратор» и войдите под пользователем с правами разработчика
  3. 3
    Выполните меню «Конфигурация → Открыть конфигурацию»
  4. 4
    Дождитесь загрузки дерева метаданных
  5. 5
    Найдите нужный объект и откройте его модуль

Где находится код: виды модулей в дереве конфигурации

Код в 1С не лежит одним файлом — он распределён по модулям, привязанным к объектам метаданных. У каждого документа, справочника или отчёта есть модуль объекта, модуль менеджера, а у форм — модуль формы. Общая логика выносится в общие модули, а код всего приложения — в модуль приложения (или модуль обычного приложения для старого интерфейса).

Чтобы открыть модуль объекта, найдите объект в дереве конфигурации, щёлкните по нему правой кнопкой мыши и выберите «Открыть модуль объекта». Тот же пункт доступен из палитры свойств объекта. Для формы сначала раскройте ветку «Формы» у объекта, откройте нужную форму двойным щелчком — откроется конструктор формы — и перейдите на вкладку «Модуль» в нижней части окна.

Общие модули находятся в ветке «Общие → Общие модули». Двойной щелчок по общему модулю сразу открывает его код. Модуль приложения открывается через корень дерева: правый щелчок по самой верхней строке с именем конфигурации → «Открыть модуль управляемого приложения». Там обычно находятся обработчики событий запуска и завершения системы.

Как быстро найти нужный фрагмент кода

В большой конфигурации искать код вручную по дереву объектов долго. Используйте глобальный поиск: меню «Правка → Глобальный поиск по текстам» или сочетание Ctrl+Shift+F. Укажите строку поиска, например имя процедуры или фрагмент сообщения об ошибке, и запустите поиск по всем модулям конфигурации. Результаты покажут файл (объект) и строку, где встречается текст.

Если известно имя процедуры, но неизвестно, где она вызывается, встаньте на её имя в коде и нажмите Ctrl+F12 или используйте контекстное меню «Найти использование». Платформа покажет все места вызова. Обратная операция — F12 на вызове процедуры — перенесёт курсор к её определению, даже если она находится в другом общем модуле.

Полезен и поиск по конфигурации через Ctrl+Shift+O (быстрый переход к метаданным): начните вводить имя объекта, и платформа предложит совпадения. Это самый быстрый способ открыть модуль конкретного документа или отчёта, не раскрывая ветки дерева вручную.

Перед глобальным поиском сузьте область: искать по всем модулям типовой конфигурации можно несколько минут. В окне поиска ограничьте область, например, только общими модулями или только тем разделом дерева, где ожидается результат.
ПЗ
Практическое замечание

Как открыть код внешней обработки или отчёта

Внешние обработки и отчёты хранятся в файлах с расширением .epf и .erf. Чтобы посмотреть их код, откройте конфигуратор, выполните «Файл → Открыть» и укажите нужный файл. Откроется конструктор обработки с деревом реквизитов и форм. Код основного модуля доступен через «Действия → Открыть модуль объекта», а код формы — через открытие формы и вкладку «Модуль».

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

Некоторые обработки поставляются в скомпилированном виде без исходного кода — при попытке открыть модуль вы увидите пустое окно или сообщение о недоступности. Это осознанное решение автора обработки, и обойти такую защиту штатными средствами нельзя. В этом случае остаётся использовать обработку как есть или искать её исходную версию у разработчика.

Как включить возможность изменения кода

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

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

Перед любыми правками типового кода сделайте резервную копию базы или выгрузку конфигурации в файл .cf через «Конфигурация → Сохранить конфигурацию в файл». Это позволит откатить изменения, если правка приведёт к ошибкам. Прямое изменение типовых модулей — крайняя мера; сначала рассмотрите расширения конфигурации, которые не затрагивают типовой код.

Просмотр кода без конфигуратора: расширения и отладка

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

Для анализа поведения кода без его открытия в редакторе используется отладчик. Включите в конфигураторе «Отладка → Подключение» и установите, какие сеансы отлаживать, затем поставьте точку останова в нужном модуле (щелчок по полю слева от строки или F9). При выполнении кода в режиме «Предприятие» конфигуратор остановится на этой строке и покажет значения переменных.

Отладка требует, чтобы сервер или файловая база были запущены с разрешением отладки. Для клиент-серверного режима это параметр запуска сервера 1С; для файловой базы отладка включается автоматически при запуске из конфигуратора через «Начать отладку» (F5). Если точка останова не срабатывает, проверьте, что отлаживается именно тот сеанс, в котором выполняется действие.

Защищённые модули и ограничения доступа

Часть модулей в коммерческих конфигурациях поставляется без исходного текста — вместо кода вы увидите сообщение о том, что модуль защищён. Так поставщики защищают лицензируемые механизмы. Открыть такой модуль штатными средствами невозможно, и попытки обхода защиты могут нарушать лицензионное соглашение.

Доступ к коду может быть ограничен и правами пользователя. Если при входе в конфигуратор система сообщает о недостатке прав, проверьте роли учётной записи: нужны права «Администрирование» или как минимум право на конфигурирование. В файловых базах без списка пользователей конфигуратор открывается без аутентификации.

Отдельный случай — пароль на модуле, который разработчик может установить при поставке конфигурации. Если пароль неизвестен, исходный текст недоступен. Легальный путь — запросить исходники у поставщика конфигурации, если это предусмотрено договором.

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

Проверка результата и сохранение изменений

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

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

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

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

Синтаксис модуля
Норма

Проверка конфигурации завершается без ошибок

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

Сообщения об ошибках с указанием строк модуля

Обновление базы данных
Норма

Обновление завершено, пользователи могут войти

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

Окно с ошибками реструктуризации или блокировками

Работа функциональности
Норма

Изменённый код выполняется и даёт ожидаемый результат

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

Ошибки времени выполнения, сообщения о несуществующих методах

Часто задаваемые вопросы

Можно ли открыть код 1С без конфигуратора?

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

Почему модуль открывается пустым или с сообщением о защите?

Модуль поставляется без исходного текста — так поставщик защищает код. Это штатная ситуация для коммерческих конфигураций и платных обработок. Обойти защиту штатными средствами нельзя; исходники запрашиваются у поставщика.

Как открыть код формы документа?

В дереве конфигурации раскройте нужный документ, найдите ветку «Формы», откройте форму двойным щелчком и в нижней части окна конструктора перейдите на вкладку «Модуль». Либо щёлкните по форме правой кнопкой и выберите открытие модуля из контекстного меню.

Что делать, если кнопка «Конфигуратор» неактивна в окне запуска?

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

Изменится ли что-то для пользователей, если я просто открою и посмотрю код?

Нет. Просмотр модулей без редактирования и обновления конфигурации базы данных ничего не меняет. Изменения применяются только после сохранения конфигурации и выполнения команды «Обновить конфигурацию базы данных».

Как посмотреть код обработки, подключённой как дополнительная?

В режиме «Предприятие» откройте справочник дополнительных отчётов и обработок, найдите нужную и выгрузите её в файл .epf или .erf. Затем в конфигураторе выполните «Файл → Открыть» и укажите выгруженный файл — его модули будут доступны для просмотра.

Итог

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

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