Как обрушить рабочий процесс на 8.3.7.2027

1. PerlAmutor 129 05.02.18 12:55 Сейчас в теме
При разработке простейшей печатной формы на рабочей базе случайно обрушил рабочий процесс на котором висело 50 пользователей. Воспроизвел баг в миниатюре (в 8.3.11 уже поправлен). Мало ли кому пригодится:

&НаСервере
Процедура Команда1НаСервере()

    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ 1 Поле1, 2 Поле2";

    РезультатЗапроса = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

    СтруктураПоиска = Новый Структура("Поле1, Поле3", 1 , 2);

    Пока ВыборкаДетальныеЗаписи.НайтиСледующий(СтруктураПоиска) Цикл
        Сообщить(ВыборкаДетальныеЗаписи.Поле1 + ", " + ВыборкаДетальныеЗаписи.Поле2);
    КонецЦикла;

КонецПроцедуры
Показать


Проблема в функции НайтиСледующий(), если поля указанного в структуре с таким именем нет в выборке, то рабочий процесс либо бесконечно что-то читает и пишет, либо падает.
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот