Имя: Пароль:
1C
1С v8
Как заставить конфигуратор НЕ останавливаться в определенном месте?
0 bolero
 
13.02.19
14:12
Отлаживаю синхронизацию через универсальный формат => огромный и путанный модуль.

Выставляю "останавливаться по ошибке", чтобы попасть в место, где нехорошо. При этом исполнение постоянно стопорится в ОбщийМодуль.ДлительныеОперации:


        Попытка
            Задание.ОжидатьЗавершения(ПараметрыВыполнения.ОжидатьЗавершение);
            ЗаданиеВыполнено = Истина;
        Исключение
            // Специальная обработка не требуется, возможно исключение вызвано истечением времени ожидания.
        КонецПопытки;


Попытошники, блин.

Это место крадет на себя текущую строку выполнения, и можешь забыть где шагал, придется все заново запускать.

Можно установить текст, по которому НУЖНО останавливаться, а указать, где НЕ НУЖНО останавливаться - нельзя.

Как эту засаду обойти-то?
1 runoff_runoff
 
13.02.19
14:15
Список точек останова
2 ДенисЧ
 
13.02.19
14:16
В остановке по ошибке есть список текстов ошибок, на которых останавливаться
3 mmmarat
 
13.02.19
14:19
(0) Укажите в конфигураторе параметр запуска РежимОтладки и отлаживайте свой процесс не в фоновом задании.
4 bolero
 
13.02.19
14:19
(1) да я уже ушагал через три-четыре модуля, точек за собой не наставил.

Даже если наставил - при следующем запуске предыдущая точка 500 раз отработает, пока до нужного объекта дойду.

Как Гензель и Гретель, крошки хожу разбрасываю, и собираю обратно ненужные.

(2) в этом и вопрос. Я НЕ ЗНАЮ, какой текст будет в той строчке, где мне нужно остановиться по ошибке. Я хочу, чтобы меня отладка сама привела в эту точку.
5 bolero
 
13.02.19
14:20
(3) штатная синхронизация запускается в фоновом, я даже не представляю себе, сколько там перепиливать, чтобы ее запустить не в фоновом.
6 ДенисЧ
 
13.02.19
14:21
(4) Текст не в строчке, а в сообщении об ошибке
7 mmmarat
 
13.02.19
14:23
(5) Режим отладки проверяется в механизме длительных операций и соответственно запускается или в фоне или непосредственно. Могу лишь ошибаться, с какой версии это появилось в БСП.
8 bolero
 
13.02.19
14:24
(6) а в ЖР и нет никакого сообщения об ошибке.

Объект создается, и потом бесшумно удаляется БЕЗ ОШИБКИ, остается битая ссылка.

Это 100% какой-то попытошник написал:


Попытка
  ну-ка, контрагента создадим?
Исключение
  // не получилось - ничего страшного, как-нибудь потом
КонецПопытки;
9 bolero
 
13.02.19
14:34
(7) Спасибо, прям в модуле подсказка есть:

// При выполнении любого из следующих условий запуск выполняется не в фоне, а сразу в основном потоке:
...
//  * если приложение запущено в режиме отладки (параметр /C РежимОтладки) - для упрощения отладки конфигурации;


пошло не в фоне - уже легче, но:


    // Вычисление версии формата менеджера обмена - от этого зависит формирование правил.
    Попытка
        КомпонентыОбмена.Вставить("ВерсияФорматаМенеджераОбмена", МенеджерОбмена.ВерсияФорматаМенеджераОбмена());
    Исключение
        КомпонентыОбмена.Вставить("ВерсияФорматаМенеджераОбмена", "1");
    КонецПопытки;


Вычисление, my ass! Попыткой!

https://cs.pikabu.ru/post_img/2013/01/27/5/1359268459_542111991.jpg