При обновлении крупных типовых конфигураций, таких как 1С:ERP Управление предприятием 2.4.12, Комплексная автоматизация 2.4 или Управление торговлей 11.4, разработчики часто сталкиваются с существенными изменениями в привычных механизмах. Одним из таких сюрпризов становится «исчезновение» привычной общей формы СтруктураПодчиненности и проблемы с отладкой кода, который за нее отвечает.
В этой статье мы подробно разберем по шагам, куда переехал данный функционал, какие новые возможности он приобрел благодаря обновлению Библиотеки Стандартных Подсистем (БСП), выясним причину «молчания» отладчика на серверных точках останова и рассмотрим два надежных способа решения этой проблемы.
Начнем с анализа структуры метаданных. Если вы попытаетесь найти в конфигураторе 1С:ERP 2.4.12 общую форму или критерий отбора с привычным именем СтруктураПодчиненности, то вас постигнет неудача. В рамках планового обновления БСП этот механизм был полностью переработан и унифицирован.
Теперь за этот функционал отвечают новые объекты метаданных:
СвязанныеДокументы. Именно он определяет связи между различными документами в системе.СвязанныеДокументы. Она пришла на смену старой форме структуры подчиненности и предоставляет пользователю визуальное дерево связей.Поэтому при поиске кода или попытке кастомизации отчета всегда ориентируйтесь на имя СвязанныеДокументы.
Перенос механизма на новые рельсы БСП — это не просто переименование. Пользователи и разработчики получили мощный и современный инструмент, значительно упрощающий повседневную работу с цепочками документов. Давайте проанализируем ключевые нововведения:
СвязанныеДокументы. Можно провести документ, отменить проведение или пометить его на удаление непосредственно из дерева связей.Перейдем к технической проблеме, с которой часто сталкиваются программисты при попытке доработки или анализа алгоритмов построения связей. Вы устанавливаете точку останова в модуле менеджера критерия отбора или в модуле формы СвязанныеДокументы, запускаете сеанс «1С:Предприятие» в режиме отладки, открываете форму, но программа просто игнорирует ваши точки останова.
Выясним причину такого поведения системы. Все дело в оптимизации интерфейса и производительности. Построение дерева связанных документов на больших базах данных может занимать значительное время. Чтобы интерфейс пользователя не «зависал» в ожидании ответа сервера, разработчики БСП перевели формирование этого отчета на механизм длительных операций.
При нажатии кнопки «Связанные документы» система выполняет следующие действия:
Давайте рассмотрим два детальных способа, как обойти это ограничение и заставить отладчик останавливать выполнение кода.
Это самый быстрый и удобный способ для локальной разработки. Механизмы БСП спроектированы таким образом, что они умеют распознавать специальный флаг запуска. Если этот флаг передан системе, БСП временно отключает асинхронность, и все фоновые задачи (длительные операции) начинают выполняться синхронно прямо в текущем сеансе пользователя.
Разберем по шагам, как активировать этот режим:
РежимОтладки (без кавычек, строго соблюдая регистр букв).Теперь запустите отладку (клавиша F5). При формировании связанных документов система выполнит алгоритм в вашем основном сеансе, и отладчик гарантированно остановится на установленной точке останова.
Пример кода БСП, который анализирует этот параметр при запуске длительной операции:
Если ПараметрыСеанса.ПараметрыКлиентаНаСервере.Свойство("РежимОтладки") Тогда
ВыполнитьСвязаннуюОперациюСинхронно();
Иначе
ЗапуститьФоновоеЗадание();
КонецЕсли;
Иногда программисту важно отладить код именно в том виде, в котором он работает у реального пользователя — то есть в контексте фонового задания, не отключая механизм длительных операций. Для этого нам потребуется настроить автоматический перехват фоновых процессов отладчиком.
Выполним следующие шаги:
-debug. Если вы работаете в файловой базе, этот шаг выполнять не требуется.После такой настройки Конфигуратор будет автоматически перехватывать любые фоновые задания, инициированные вашим пользователем. Как только система запустит фоновый процесс формирования дерева связанных документов, отладчик мгновенно переключится на серверную точку останова.
Используйте эти рекомендации для эффективной разработки и адаптации механизмов 1С:ERP под нужды вашего бизнеса!