Всем привет. Подскажите в чем ошибка, выполняю код в регламентном задании, выполняется успешно без ошибок, но заказы не закрывает. 1С:Комплексная автоматизация 2 (2.4.13.136)

```1c
    Процедура ЗакрытиеЗаказовКлиентовИПоставщиков() Экспорт
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ЗаказКлиента.Ссылка КАК Ссылка,
    | СостоянияЗаказовКлиентов.Заказ КАК Заказ,
    | СостоянияЗаказовКлиентов.Состояние КАК Состояние,
    | ЗаказКлиента.Статус КАК Статус,
    | СтатусыЗаказовКлиентов.Ссылка КАК СтатусПеречисление
    |ИЗ
    | РегистрСведений.СостоянияЗаказовКлиентов КАК СостоянияЗаказовКлиентов
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента КАК ЗаказКлиента
    | ЛЕВОЕ СОЕДИНЕНИЕ Перечисление.СтатусыЗаказовКлиентов КАК СтатусыЗаказовКлиентов
    | ПО ЗаказКлиента.Статус = СтатусыЗаказовКлиентов.Ссылка
    | ПО СостоянияЗаказовКлиентов.Заказ = ЗаказКлиента.Ссылка";

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

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

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

    Если ВыборкаДетальныеЗаписи.Состояние = Перечисления.СостоянияЗаказовКлиентов.ГотовКЗакрытию Тогда

    Статус = ВыборкаДетальныеЗаписи.СтатусПеречисление;
    Статус = Перечисления.СтатусыЗаказовКлиентов.Закрыт;

    ДокументОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
    ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);

    КонецЕсли;

    КонецЦикла;

    КонецПроцедуры
```
---
Код ужасен, конечно.
Но какой есть.

Ошибка здесь:

```1c
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

    Если ВыборкаДетальныеЗаписи.Состояние = Перечисления.СостоянияЗаказовКлиентов.ГотовКЗакрытию Тогда

    Статус = ВыборкаДетальныеЗаписи.СтатусПеречисление;
    //Статус = Перечисления.СтатусыЗаказовКлиентов.Закрыт;

    ДокументОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
    ДокументОбъект.Статус = Перечисления.СтатусыЗаказовКлиентов.Закрыт;
    ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);

    КонецЕсли;

    КонецЦикла;
```
---
Статус это наверное реквизит документа обьекта
Тогда та малость промахнулся
---
Вы не присваиваете заказу клиента статус, просто перепроводите документ
---
Код ужасен, конечно.
Но какой есть.

Ошибка здесь:

```1c
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

    Если ВыборкаДетальныеЗаписи.Состояние = Перечисления.СостоянияЗаказовКлиентов.ГотовКЗакрытию Тогда

    Статус = ВыборкаДетальныеЗаписи.СтатусПеречисление;
    //Статус = Перечисления.СтатусыЗаказовКлиентов.Закрыт;

    ДокументОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
    ДокументОбъект.Статус = Перечисления.СтатусыЗаказовКлиентов.Закрыт;
    ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);

    КонецЕсли;

    КонецЦикла;
```
---
Спасибо. Покажи как можно было сделать код не ужасным, пожалуйста.
---
У меня нет конфигурации, но навскидку - в запросе надо проверять, что у документа статус не такой, какой вам нужен, и отбор делать не в коде, а в самом запросе. Иначе вы получаете лишние записи и переаписываете документы.

Что-то типа того.

```1c
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | СостоянияЗаказовКлиентов.Заказ КАК Заказ,
    | СостоянияЗаказовКлиентов.Состояние КАК Состояние,
    | ЗаказКлиента.Статус КАК Статус
    |ИЗ
    | РегистрСведений.СостоянияЗаказовКлиентов КАК СостоянияЗаказовКлиентов
    | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента КАК ЗаказКлиента
    | ПО СостоянияЗаказовКлиентов.Заказ = ЗаказКлиента.Ссылка
    | И СостоянияЗаказовКлиентов.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияЗаказовКлиентов.ГотовКЗакрытию)
    | И ЗаказКлиента.Статус <> ЗНАЧЕНИЕ(Перечисление.СтатусыЗаказовКлиентов.Закрыт)";

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