|
Как заставить конфигуратор НЕ останавливаться в определенном месте? |
☑ |
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! Попыткой!
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший