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

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

Как посмотреть код документа в 1С

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

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

Код документа отвечает за логику проведения, заполнение реквизитов, проверки при записи, формирование движений по регистрам и поведение формы документа. Если документ работает не так, как ожидается — не проводится, не создаёт движения, выдаёт ошибку при записи — первым делом смотрят именно его модули.

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

Где хранится код документа: какие модули бывают

У объекта конфигурации «Документ» код распределён по нескольким модулям, и важно понимать, какой из них открывать под конкретную задачу. Модуль объекта содержит серверную логику: обработчики ОбработкаПроведения, ОбработкаЗаполнения, ПередЗаписью, ПриЗаписи, ОбработкаПроверкиЗаполнения. Именно здесь формируются движения по регистрам.

Модуль формы отвечает за поведение формы документа на клиенте и на сервере: обработчики ПриОткрытии, ПриСозданииНаСервере, обработчики изменения реквизитов, команды формы. Модуль менеджера содержит код, который работает без конкретного объекта — например, формирование печатных форм и получение данных для отчётов.

Модуль объектаПроведение и запись

ОбработкаПроведения, ПередЗаписью, движения по регистрам

Модуль формыПоведение формы

ПриОткрытии, обработчики реквизитов, команды формы

Модуль менеджераОбщие процедуры

Печатные формы, запросы к данным документов

Модуль командыКоманды интерфейса

Обработчики команд, связанных с документом

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

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

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

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

Как открыть модуль объекта и посмотреть код проведения

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

Чтобы быстро перейти к нужной процедуре, используйте выпадающий список процедур и функций в верхней части окна модуля (сочетание Ctrl+Alt+P в большинстве версий платформы) либо поиск по тексту — Ctrl+F. Если модуля много, удобно искать по имени обработчика, например «ПередЗаписью».

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

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

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

В модуле формы обратите внимание на директивы компиляции: &НаКлиенте, &НаСервере, &НаСервереБезКонтекста. Они показывают, где выполняется код. Ошибки вида «Процедура или функция с указанным именем не определена» часто возникают именно из-за вызова серверной процедуры из клиентского контекста.

Чтобы узнать, какой обработчик привязан к элементу формы (например, к полю «Контрагент»), выделите элемент в дереве элементов формы и посмотрите его свойства: события вроде «ПриИзменении» содержат имя процедуры-обработчика. По этому имени легко найти код в модуле через поиск.

Как посмотреть код без изменения конфигурации

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

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

Отладка: как посмотреть код в действии

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

Установите точку останова клавишей F9 на строке в ОбработкаПроведения, запустите отладку (F5), проведите документ в открывшемся сеансе предприятия — выполнение остановится на точке. Дальше пошагово (F11 — с заходом в процедуры, F10 — без захода) можно пройти код и смотреть значения переменных через «Вычислить выражение» (Shift+F9) или табло (Alt+F2).

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

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

Модуль открыт
Норма

Виден текст программы с обработчиками событий

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

Сообщение «Модуль недоступен» — нет прав или объект поставщика закрыт

Переход по F12
Норма

Открывается определение вызываемой процедуры

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

Ничего не происходит — процедура в недоступном модуле или имя устарело

Отладка запущена
Норма

Выполнение останавливается на точке останова

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

Точка не срабатывает — отладка отключена или код выполняется на сервере без отладки

Типичные ошибки и ограничения

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

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

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

Частые вопросы

Можно ли посмотреть код документа без конфигуратора?

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

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

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

Где искать код, который формирует движения документа?

Начните с обработчика ОбработкаПроведения в модуле объекта. В типовых конфигурациях оттуда вызываются процедуры общих модулей — переходите к ним клавишей F12. Дополнительно проверьте подписки на события с источником этого документа.

Как найти, какой код выполняется при изменении реквизита на форме?

Откройте форму документа в конфигураторе, выделите элемент формы, в палитре свойств найдите событие (например, «ПриИзменении») — там указано имя процедуры-обработчика. Найдите её в модуле формы через поиск (Ctrl+F).

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

Нет, просмотр кода на чтение безопасен и не влияет на работу пользователей. Риск появляется только при сохранении изменений в конфигурации и обновлении конфигурации базы данных — этого следует избегать без резервной копии.

Что делать, если поведение документа не совпадает с кодом в модуле?

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

Итог

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

Код документа смотрят в конфигураторе через контекстное меню объекта: модуль объекта — проведение и запись, модуль формы — поведение формы, модуль менеджера — печать и общие процедуры. Для навигации по типовому коду используйте F12, для анализа выполнения — отладку. Чтение кода безопасно, изменения — только после резервной копии.