Преобразование выборки в структуру
Иногда в целях отладки требуется изменить значение реквизиты выборки из результата запроса.
В таких случаях можно преобразовать выборку в структуру, соответствующей определенной строке результата запроса.
Вот как это делал я:
Где значок подчеркивания — это вызов функции по присвоению А = Б.
Таким образом я мог устанавливать нужные значения реквизитам объекта Выборка, по сути, подменяя объект другим.
При дальнейшем выполнении программу нужно было перезапускать, потому что у структуры нет, конечно же, метода Следующий. Но дальнейшее в моем случае было и не важно, нужно было просто загнать выполнение в определенную ветку:
Вот такой способ управления выполнением кода!
Автор конечно знатный велосипедостроитель. В отладчике есть пункт «Установить новое значение в виде выражения», позволяющее не использовать вот это вот: _(…,…)
Что касается того, что переменная Выборка «испорчена» и дальше работать невозможно — это не так, достаточно сохранять в той же структуре исходню выборк, чтобы потом к ней вернуться:
Функция СтруктураИзВыборкиДляОтладки(Выборка)
Результат = Новый Структура;
Для каждого Колонка Из Выборка.Владелец().Колонки Цикл
Результат.Вставить(Колонка.Имя);
КонецЦикла;
ЗаполнитьЗначенияСвойств(Результат,Выборка);
Результат.Вставить(«ИсходнаяВыборка»,Выборка);
Возврат Результат;
КонецФункц
О, это добавлено было в платформу? Спасибо за совет, раньше нельзя было присваивать в отладчике.
Что касается функции восстановления то да, можно, но мне не нужно было отлаживать следующий виток цикла.