tormozit / RDT1C

Подсистема "Инструменты разработчика" для платформы 1С 8
http://devtool1c.ucoz.ru
88 stars 8 forks source link

Конвертор текста БД. Некорректно конвертирует план запроса #515

Closed KovAlexey closed 10 months ago

KovAlexey commented 11 months ago

Программное окружение

Платформа: 8.3.21.1624 Режим БД: клиент-серверный Конфигурация. Название: 1С:Комплексная автоматизация 2 (2.4.13.187) Конфигурация. Основной режим запуска: Управляемое приложение Конфигурация. Вариант встроенного языка: Русский Конфигурация. Режим управления блокировкой данных: Управляемый Конфигурация. Режим совместимости: Версия8_3_14 Конфигурация. Режим использования синхронных вызовов: Использовать Конфигурация. Версия БСП: 301 Конфигурация. Использовать обычные формы в управляемом приложении: Да Инструменты разработчика. Версия: Расширение 6.89.1e Инструменты разработчика. Инструмент: Прочее Инструменты разработчика. Перехват клавиатурного ввода: Да Инструменты разработчика. Объекты на сервере: Да Инструменты разработчика. Асинхронность запрещена: Нет Инструменты разработчика. Разрешены имитаторы: Да Расширения. ПатчДоставка () Расширения. ПатчРаспределениеУдержаний () Расширения. Патч_РасширениеРоли_ЭтапыДоставки () Расширения. Патч_Цислинк_20230817 () Расширения. Патч_ГрафикПоступленияТоваров () Расширения. ИмяКомпания (1.1.1.9) Расширения. зг_ЗУП (1.0.2.7) Расширения. ЭР_Обмен_КА_БП (1.0.2.19) Расширения. ИнструментыРазработчикаTormozit (6.89.1e) Расширения. МаркетКоннекторКА2 (1.0.2.2) Клиент. Приложение: Управляемое приложение 64б Клиент. Проверка модальных вызовов: Нет Клиент. Язык интерфейса конфигурации: ru Клиент. Язык интерфейса системы: ru Клиент. Отладка разрешена: Да Клиент. Постоянный кэш метаданных: Да Клиент. ОС: Майкрософт Windows 10 Корпоративная LTSC 64-разрядная Русский Клиент. ОС от имени администратора: Нет Клиент. ОС выполнение BAT: Да Клиент. ОС Текущая кодовая страница: 866 Клиент-Сервер. Пинг: 0мс Сервер. ОС: Майкрософт Windows Server 2019 Standard 64-разрядная Русский Сервер. Процесс: 64б Сервер. Отладка: tcp

Воспроизведение проблемы

  1. Открыл инструмент Конвертор текста БД

  2. Вставляю следующий план запроса 1.zip изображение

  3. Здесь значение имеют следующие строки: <?xml version="1.0" encoding="utf-16"?>

которая конвертируется в <?Parameter1xml version="1.0" encoding="utf-16"?Parameter2>

и так же

<ColumnReference Column="@P76" ParameterDataType="nvarchar(4000)" ParameterCompiledValue="N''" />

Которая конвертируется в

<ColumnReference Column="@P76" ParameterDataType="nvarchar(4000)" ParameterCompiledValue="""" />

Соответственно конвертированный план запроса невозможно открыть в SQL Management Studio, не в SQL Sentry Plan Exlorer. Пока не удалю первую строку (или не исправлю на оригинал) И не удалю двойные кавычки из ParameterCompiledValue

Ожидаемое поведение Думаю объявление XML не должно подвергаться конвертации. Как правильнее поступить со вторым значением - не уверен. Но точно двойные кавычки внутри кавычек не нужны.

KovAlexey commented 11 months ago

Конвертированные планы сильно удобнее для дальнейшего анализа, так что очень хочется эту функцию полностью рабочую

tormozit commented 11 months ago

Для фрагмента "N''" сделаю исправление. Для знака вопроса пока не придумал как обойти его преобразование. Все таки это конвертор в первую очередь текстов БД и по возможности уже текстов смешанных форматов. Кажется первую строку вручную не долго перенести. Но если обнаружится подобная проблема и в других местах, то сообщи. Тогда подумаю сильнее. https://www.hostedredmine.com/issues/968579

tormozit commented 11 months ago

Исправлено в 6.90