Как найти и отладить структуру подчиненности (связанные документы) в 1С:ERP 2.4.12?

Программист 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием IT и автоматизация бизнеса
← На главную

При обновлении крупных типовых конфигураций, таких как 1С:ERP Управление предприятием 2.4.12, Комплексная автоматизация 2.4 или Управление торговлей 11.4, разработчики часто сталкиваются с существенными изменениями в привычных механизмах. Одним из таких сюрпризов становится «исчезновение» привычной общей формы СтруктураПодчиненности и проблемы с отладкой кода, который за нее отвечает.

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

Куда пропала форма структуры подчиненности?

Начнем с анализа структуры метаданных. Если вы попытаетесь найти в конфигураторе 1С:ERP 2.4.12 общую форму или критерий отбора с привычным именем СтруктураПодчиненности, то вас постигнет неудача. В рамках планового обновления БСП этот механизм был полностью переработан и унифицирован.

Теперь за этот функционал отвечают новые объекты метаданных:

  1. Критерий отбора: СвязанныеДокументы. Именно он определяет связи между различными документами в системе.
  2. Общая форма: СвязанныеДокументы. Она пришла на смену старой форме структуры подчиненности и предоставляет пользователю визуальное дерево связей.

Поэтому при поиске кода или попытке кастомизации отчета всегда ориентируйтесь на имя СвязанныеДокументы.

Новые возможности формы «Связанные документы»

Перенос механизма на новые рельсы БСП — это не просто переименование. Пользователи и разработчики получили мощный и современный инструмент, значительно упрощающий повседневную работу с цепочками документов. Давайте проанализируем ключевые нововведения:

Выясняем причину: почему «молчит» отладчик?

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

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

При нажатии кнопки «Связанные документы» система выполняет следующие действия:

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

Давайте рассмотрим два детальных способа, как обойти это ограничение и заставить отладчик останавливать выполнение кода.

Решение №1: Использование параметра запуска «РежимОтладки»

Это самый быстрый и удобный способ для локальной разработки. Механизмы БСП спроектированы таким образом, что они умеют распознавать специальный флаг запуска. Если этот флаг передан системе, БСП временно отключает асинхронность, и все фоновые задачи (длительные операции) начинают выполняться синхронно прямо в текущем сеансе пользователя.

Разберем по шагам, как активировать этот режим:

  1. Откройте Конфигуратор вашей базы данных (убедитесь, что отладка на сервере разрешена).
  2. В главном меню перейдите в раздел Сервис и выберите пункт Параметры....
  3. В открывшемся окне перейдите на вкладку Запуск 1С:Предприятия.
  4. Далее выберите вложенную вкладку Основные.
  5. Найдите поле ввода Параметры запуска.
  6. Пропишите в это поле значение РежимОтладки (без кавычек, строго соблюдая регистр букв).
  7. Нажмите кнопку Применить, а затем ОК для сохранения настроек.

Теперь запустите отладку (клавиша F5). При формировании связанных документов система выполнит алгоритм в вашем основном сеансе, и отладчик гарантированно остановится на установленной точке останова.

Пример кода БСП, который анализирует этот параметр при запуске длительной операции:


Если ПараметрыСеанса.ПараметрыКлиентаНаСервере.Свойство("РежимОтладки") Тогда
    ВыполнитьСвязаннуюОперациюСинхронно();
Иначе
    ЗапуститьФоновоеЗадание();
КонецЕсли;

Решение №2: Настройка автоматического подключения к фоновым заданиям

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

Выполним следующие шаги:

  1. Убедитесь, что служба сервера «1С:Предприятие» запущена с ключом отладки -debug. Если вы работаете в файловой базе, этот шаг выполнять не требуется.
  2. Запустите Конфигуратор и начните отладку клиентского приложения.
  3. В Конфигураторе перейдите в меню Отладка — Подключение....
  4. В открывшемся диалоговом окне нажмите кнопку Автоматическое подключение (расположена в правой части окна).
  5. В появившемся списке установите флажок напротив пункта Фоновые задания.
  6. Нажмите ОК, чтобы закрыть окно автоматического подключения, и закройте окно «Подключение».

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

Используйте эти рекомендации для эффективной разработки и адаптации механизмов 1С:ERP под нужды вашего бизнеса!

← На главную