Ув. знатоки, подскажите как сделать так, чтобы на второй итерации цикла Пока, вопреки здравомыслию, не появлялось сообщение о проблеме?:

```1c
    Результат = Запрос.Выполнить().Выбрать();
    ПредыдущийРезультат=Неопределено;
    АктуальныйРезультат=Неопределено;

    Пока Результат.Следующий() Цикл
    АктуальныйРезультат=Результат;

    Если ПредыдущийРезультат=АктуальныйРезультат Тогда
    Сообщить("Какая-то проблема - значения равны, а теоретически не должны быть равны!")
    КонецЕсли;

    ПредыдущийРезультат=АктуальныйРезультат;
    КонецЦикла;
```
Как текущую запись выборки сохранить в переменную, чтобы можно было к ней обращаться?
---
Ответ на ваш вопрос:

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

    ПредыдущийРезультат=Неопределено;

    Выборка = Результат.Выбрать();
    Выборка.Следующий();

    ПредыдущийРезультат= Новый Структура;
    Для Каждого Колонка Из Результат.Колонки Цикл
    ПредыдущийРезультат.Вставить(Колонка.Имя, Выборка[КолонкаИмя]);
    КонецЦикла;

    Пока Выборка.Следующий() Цикл
    Ошибка = Ложь;
    Для Каждого Колонка Из Результат.Колонки Цикл
    ПредыдущийРезультат[Колонка.Имя] = Выборка[КолонкаИмя];
    Сообщить("Какая-то проблема - значения равны, а теоретически не должны быть равны!");
    Ошибка = Истина;
    Прервать;
    КонецЦикла;

    ПредыдущийРезультат= Новый Структура;
    Для Каждого Колонка Из Результат.Колонки Цикл
    ПредыдущийРезультат.Вставить(Колонка.Имя, Выборка[КолонкаИмя]);
    КонецЦикла;
    КонецЦикла;
```

Но как заметили предыдущие ораторы, для чего такие извращения - вообще не понятно.
---
ой постановке задачи - никак. Присваивая переменным значение выборки Вы не копируете саму выборку вместе с данными. Все новые переменные будут ссылаться на одну и ту же выборку. А сама выборка, вне зависимости от того, с помощью какой переменой мы к ней обращаемся, будет всегда возвращать данные, на которые ссылается ее некий внутренний указатель. Но к нему мы непосредственный доступ не имеем, и можем на него влиять лишь косвенно с помощью таких методов, как "Следующий", "НайтиСледующий", "Сбросить" и т.д.
(3) Вам строки в запросе одинаковые найти нужно? Выгрузите результат в таблицу и с ней работайте. Можете даже в самом запросе посчитать количество одинаковых строк.
Я осуществляю выгрузку поступлений/списаний на р/сч в текстовый файл в своем формате. Проблема в том, что по одному документу (регистратору) в Регистре Бухгалтерии часто бывает по несколько записей (проводок). Некоторые проводки относятся к разным реализациям, а некоторые к разным договорам. Мне необходимо объединять записи, отнесенные к одному договору (СубконтоДт2/СубконтоКт2), но с разными реализациями (СубконтоДт3/СубконтоКт3). Поэтому было бы удобно знать отличия между следующей записью и предыдущей, а копировать весь набор полей не очень хочется.
Возможно, сгруппирую в запросе результаты, без учета СубконтоДт3/СубконтоКт3.
---
В такой постановке задачи - никак. Присваивая переменным значение выборки Вы не копируете саму выборку вместе с данными. Все новые переменные будут ссылаться на одну и ту же выборку. А сама выборка, вне зависимости от того, с помощью какой переменой мы к ней обращаемся, будет всегда возвращать данные, на которые ссылается ее некий внутренний указатель. Но к нему мы непосредственный доступ не имеем, и можем на него влиять лишь косвенно с помощью таких методов, как "Следующий", "НайтиСледующий", "Сбросить" и т.д.

Расскажите по-подробнее, какую задачу Вы пытаетесь решить, сохраняя предыдущее состояние выборки?
---
ой постановке задачи - никак. Присваивая переменным значение выборки Вы не копируете саму выборку вместе с данными. Все новые переменные будут ссылаться на одну и ту же выборку. А сама выборка, вне зависимости от того, с помощью какой переменой мы к ней обращаемся, будет всегда возвращать данные, на которые ссылается ее некий внутренний указатель. Но к нему мы непосредственный доступ не имеем, и можем на него влиять лишь косвенно с помощью таких методов, как "Следующий", "НайтиСледующий", "Сбросить" и т.д.
(3) Вам строки в запросе одинаковые найти нужно? Выгрузите результат в таблицу и с ней работайте. Можете даже в самом запросе посчитать количество одинаковых строк.
Я осуществляю выгрузку поступлений/списаний на р/сч в текстовый файл в своем формате. Проблема в том, что по одному документу (регистратору) в Регистре Бухгалтерии часто бывает по несколько записей (проводок). Некоторые проводки относятся к разным реализациям, а некоторые к разным договорам. Мне необходимо объединять записи, отнесенные к одному договору (СубконтоДт2/СубконтоКт2), но с разными реализациями (СубконтоДт3/СубконтоКт3). Поэтому было бы удобно знать отличия между следующей записью и предыдущей, а копировать весь набор полей не очень хочется.
Возможно, сгруппирую в запросе результаты, без учета СубконтоДт3/СубконтоКт3.
---
В таком случае вам гораздо удобнее будет работать с ТЗ вместо Выборка.
---
Ответ на ваш вопрос:

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

    ПредыдущийРезультат=Неопределено;

    Выборка = Результат.Выбрать();
    Выборка.Следующий();

    ПредыдущийРезультат= Новый Структура;
    Для Каждого Колонка Из Результат.Колонки Цикл
    ПредыдущийРезультат.Вставить(Колонка.Имя, Выборка[КолонкаИмя]);
    КонецЦикла;

    Пока Выборка.Следующий() Цикл
    Ошибка = Ложь;
    Для Каждого Колонка Из Результат.Колонки Цикл
    ПредыдущийРезультат[Колонка.Имя] = Выборка[КолонкаИмя];
    Сообщить("Какая-то проблема - значения равны, а теоретически не должны быть равны!");
    Ошибка = Истина;
    Прервать;
    КонецЦикла;

    ПредыдущийРезультат= Новый Структура;
    Для Каждого Колонка Из Результат.Колонки Цикл
    ПредыдущийРезультат.Вставить(Колонка.Имя, Выборка[КолонкаИмя]);
    КонецЦикла;
    КонецЦикла;
```

Но как заметили предыдущие ораторы, для чего такие извращения - вообще не понятно.
---
Прошу пардону

Следует читать:

```1c
    Для Каждого Колонка Из Результат.Колонки Цикл
    Если ПредыдущийРезультат[Колонка.Имя] = Выборка[КолонкаИмя];
    Сообщить("Какая-то проблема - значения равны, а теоретически не должны быть равны!");
    Ошибка = Истина;
    Прервать;
    КонецЕсли;
    КонецЦикла;
```
---
Спасибо, думаю, как раз то, что надо.
---
Вам строки в запросе одинаковые найти нужно? Выгрузите результат в таблицу и с ней работайте. Можете даже в самом запросе посчитать количество одинаковых строк.