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

open

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

Added by Сергей Старых almost 3 years ago. Updated 8 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
https://bugboard.v8.1c.ru/error/000121166

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

1С 8.3.19.1331, 8.3.20.1710, 8.3.21.1197, 8.3.22

Проблема

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

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

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

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

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

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

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


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

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

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

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

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

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

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


Files

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

Related issues

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

Actions
Actions #1

Updated by Сергей Старых almost 3 years ago

  • Description updated (diff)
Actions #2

Updated by Сергей Старых almost 3 years ago

  • Description updated (diff)
Actions #3

Updated by Сергей Старых almost 3 years ago

  • Description updated (diff)
Actions #4

Updated by Сергей Старых almost 3 years ago

  • Description updated (diff)
Actions #5

Updated by Сергей Старых almost 3 years ago

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

Updated by Сергей Старых over 1 year ago

  • Subject changed from 8.3.19-21+ ПодробноеПредставлениеОшибки() отрезает самую нужную часть описания ошибки to 8.3.19-22+ ПодробноеПредставлениеОшибки() отрезает самую нужную часть описания ошибки
  • Description updated (diff)
Actions #7

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

  • Description updated (diff)

Also available in: Atom PDF