tormozit / RDT1C

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

Консоль запросов. Структура. Падение платформы. #424

Closed PerlAmutor closed 1 year ago

PerlAmutor commented 1 year ago

ТекстЗапроса.txt

https://user-images.githubusercontent.com/87958986/232097587-7437cb2f-77cc-4594-b6e4-8fc9a082e9a1.mp4

Информация для технической поддержки Платформа: 8.3.20.1996 Режим БД: файловый Конфигурация. Название: 1С:ERP Управление предприятием 2 (2.5.12.28) Конфигурация. Основной режим запуска: Управляемое приложение Конфигурация. Вариант встроенного языка: Русский Конфигурация. Режим управления блокировкой данных: Управляемый Конфигурация. Режим совместимости: Версия8_3_17 Конфигурация. Режим использования синхронных вызовов: Использовать Конфигурация. Версия БСП: 301 Инструменты разработчика. Версия: Портативный 6.71.4p Инструменты разработчика. Инструмент: Консоль запросов Инструменты разработчика. Перехват клавиатурного ввода: Да Инструменты разработчика. Объекты на сервере: Да Инструменты разработчика. Серверный модуль: Да Клиент. Приложение: Обычное приложение 64б Клиент. Проверка модальных вызовов: Нет Клиент. Язык интерфейса конфигурации: ru Клиент. Язык интерфейса системы: ru Клиент. Отладка разрешена: Нет Клиент. Постоянный кэш метаданных: Да Клиент. ОС: Майкрософт Windows 10 Pro 64-разрядная Русский Клиент. ОС от имени администратора: Нет Клиент. ОС выполнение BAT: Да Клиент. ОС Текущая кодовая страница: 866

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

  1. В Консоли Запросов выполнить команду "Установить текст"->"Все типы ссылок"
  2. Нажать кнопку "Структура"
  3. Падает платформа
tormozit commented 1 year ago

Мы уже с тобой это проходили https://github.com/tormozit/RDT1C/issues/76 . Тогда я поставил защиту на 1000 глубину стека. В новом случае ее видимо не хватило в твоем окружении

    Если УровеньВложенности > 1000 Тогда
        ВызватьИсключение "Слишком много частей в объединении или запросов в пакете";
    КонецЕсли; 

В моем окружении сработало исключение. Попробуй поставь там поменьше число.

PerlAmutor commented 1 year ago

Разработчики ERP опытным путем определили максимальный уровень вложенности в 650 при расчете себестоимости. О чем написали в комментарии.

image

tormozit commented 1 year ago

Мои тесты примерно тот же минимум (640) показали. Но он зависит от окружения и характера рекурсивной функции, т.е. сохраняемого в стеке набора ее локальных переменных и несквозных параметров. Поэтому повторяю свой совет - попробуй поставь там поменьше число и сообщи его мне, когда оно начнет срабатывать в твоем окружении.

PerlAmutor commented 1 year ago

80 уровней отрабатывает нормально 85 уже падает. Возможно в файловых базах этот порог гораздо ниже.

tormozit commented 1 year ago

Проверил еще в файловой базе в вариантах "Портативный" и "Расширение". У меня не падает - доходит до 1000 и получаю ошибку "Слишком много частей в объединении или запросов в пакете"

Платформа: 8.3.22.1851 Режим БД: файловый Конфигурация. Название: Инструменты разработчика (6.71.4) Конфигурация. Основной режим запуска: Обычное приложение Конфигурация. Вариант встроенного языка: Русский Конфигурация. Режим управления блокировкой данных: Автоматический Конфигурация. Режим совместимости: Версия8_2_13 Конфигурация. Режим использования синхронных вызовов: Использовать Инструменты разработчика. Версия: Конфигурация 6.71.4 Инструменты разработчика. Инструмент: Прочее Инструменты разработчика. Перехват клавиатурного ввода: Да Инструменты разработчика. Объекты на сервере: Да Инструменты разработчика. Асинхронность запрещена: Нет Инструменты разработчика. Разрешены имитаторы: Да Клиент. Приложение: Обычное приложение 32б Клиент. Проверка модальных вызовов: Нет Клиент. Язык интерфейса конфигурации: ru Клиент. Язык интерфейса системы: ru Клиент. Отладка разрешена: Нет Клиент. Постоянный кэш метаданных: Да Клиент. ОС: Майкрософт Windows 10 Pro 64-разрядная Русский Клиент. ОС от имени администратора: Нет Клиент. ОС выполнение BAT: Да Клиент. ОС Текущая кодовая страница: 866

Платформа: 8.3.22.1851 Режим БД: файловый Конфигурация. Название: () Конфигурация. Основной режим запуска: Обычное приложение Конфигурация. Вариант встроенного языка: Русский Конфигурация. Режим управления блокировкой данных: Управляемый Конфигурация. Режим совместимости: Версия8_3_18 Конфигурация. Режим использования синхронных вызовов: НеИспользовать Инструменты разработчика. Версия: Портативный 6.71.4p Инструменты разработчика. Инструмент: Прочее Инструменты разработчика. Перехват клавиатурного ввода: Да Инструменты разработчика. Объекты на сервере: Нет Инструменты разработчика. Серверный модуль: Нет Расширения. Расширение1 () Клиент. Приложение: Обычное приложение 32б Клиент. Проверка модальных вызовов: Нет Клиент. Язык интерфейса конфигурации: ru Клиент. Язык интерфейса системы: ru Клиент. Отладка разрешена: Нет Клиент. Постоянный кэш метаданных: Да Клиент. ОС: Майкрософт Windows 10 Pro 64-разрядная Русский Клиент. ОС от имени администратора: Нет Клиент. ОС выполнение BAT: Да Клиент. ОС Текущая кодовая страница: 866

tormozit commented 1 year ago

Пробуй в 32б приложении и на другом ПК