Project

Profile

Help

HostedRedmine.com has moved to the Planio platform. All logins and passwords remained the same. All users will be able to login and use Redmine just as before. Read more...

Bug #941533

8.3.19-21+ ПодробноеПредставлениеОшибки() отрезает самую нужную часть описания ошибки

Added by Сергей Старых 5 months ago. Updated 5 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
% Done:

0%

Estimated time:

Description

https://partners.v8.1c.ru/forum/t/2048214/m/2048214

Конфигурация ПО

1С 8.3.19.1331, 8.3.20.1710, 8.3.21.1197

Проблема

Функция ПодробноеПредставлениеОшибки обрезает описание ошибки.

Воспроизведение

Восстановить базу из выгрузки. Запустить управляемое клиентское приложении. Нажать кнопку "Команда1". При этом выполнится код
Объект = Справочники.Справочник1.Тест.ПолучитьОбъект();
Попытка
Объект.Записать();
Исключение
Сообщить(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
Сообщить("---" + Символы.ПС + ОписаниеОшибки());
КонецПопытки;

// Справочники.Справочник1.МодульОбъекта:
Процедура ПередЗаписью(Отказ)
ВызватьИсключение 1; // Тест
КонецПроцедуры

И в окно сообщений будет выведено

1 {ОбщаяФорма.Форма.Форма(11)}: Объект.Записать();

по причине:
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
1


{ОбщаяФорма.Форма.Форма(11)}: Ошибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика - 'ПередЗаписью': {Справочник.Справочник1.МодульОбъекта(8)}: 1

В первом сообщении не видно строки исходного кода, которой возникла ошибка, т.е. {Справочник.Справочник1.МодульОбъекта(8)}

А ожидалось ее увидеть.

В 8.3.18 и ниже она в первом сообщении выводится.

Обход проблемы

Использовать прикладную функцию

Функция ПодробноеПредставлениеОшибкиХ(ИнформацияОбОшибке) Экспорт
    #Если Сервер И Не Сервер Тогда
        ИнформацияОбОшибке = ИнформацияОбОшибке();
    #КонецЕсли
    Если ИнформацияОбОшибке = Неопределено Тогда
        Результат = "<>";
    Иначе
        Результат = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке);
        ТекстовыйДокумент = Новый ТекстовыйДокумент;
        ТекстовыйДокумент.УстановитьТекст(Результат);
        НомерПоследнейСтроки = ТекстовыйДокумент.КоличествоСтрок();
        Если Найти(ТекстовыйДокумент.ПолучитьСтроку(НомерПоследнейСтроки), "{") = 0 Тогда
            Пока Истина
                И ИнформацияОбОшибке.Причина <> Неопределено
                И (Ложь
                    Или ЗначениеЗаполнено(ИнформацияОбОшибке.Причина.ИмяМодуля)
                    Или ИнформацияОбОшибке.Причина.Причина <> Неопределено)
            Цикл
                ИнформацияОбОшибке = ИнформацияОбОшибке.Причина;
            КонецЦикла;
            ТекстовыйДокумент.УдалитьСтроку(НомерПоследнейСтроки);
            Результат = ТекстовыйДокумент.ПолучитьТекст() + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке);
        КонецЕсли;
    КонецЕсли;
    Возврат Результат;
КонецФункции

clipboard-202202181153-56lke.png (15.7 KB) clipboard-202202181153-56lke.png Сергей Старых, 2022-02-18 09:53 AM
clipboard-202202181153-g2hic.png (22.6 KB) clipboard-202202181153-g2hic.png Сергей Старых, 2022-02-18 09:53 AM
тест.dt (60.9 KB) тест.dt Сергей Старых, 2022-02-18 09:53 AM
250
250

Related issues

Related to Инструменты разработчика Tormozit для 1С - Bug #941636: Исправлено получение полных описаний ошибок на платформе 8.3.19+Closed

<a title="Actions" class="icon-only icon-actions js-contextmenu" href="#">Actions</a>

History

#1 Updated by Сергей Старых 5 months ago

  • Description updated (diff)

#2 Updated by Сергей Старых 5 months ago

  • Description updated (diff)

#3 Updated by Сергей Старых 5 months ago

  • Description updated (diff)

#4 Updated by Сергей Старых 5 months ago

  • Description updated (diff)

#5 Updated by Сергей Старых 5 months ago

  • Related to Bug #941636: Исправлено получение полных описаний ошибок на платформе 8.3.19+ added

Also available in: Atom PDF