В 1С почему код в отборе записывается после запросов?

Код:

НЗТовКомп = РегистрыНакопления.ПодарочныеДвижы.СоздатьНаборЗаписей();
НЗТовКомп.Отбор.Регистратор.Значение = ДокКорректировкаСсылка;
    
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   СерийныеНомера.Ссылка КАК Ссылка
        |ИЗ
        |   Справочник.СерийныеНомера КАК СерийныеНомера
        |ГДЕ
        |   СерийныеНомера.Владелец = &Владелец";
    
    Запрос.УстановитьПараметр("Владелец", Справочники.Номенклатура.НайтиПоНаименованию("Движ 1200р"));
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
         
        СтрРег = НЗТовКомп.Добавить();
        СтрРег.Период                         = ДокКорректировка.Дата;
        СтрРег.Активность                     = Истина;
        СтрРег.ВидДвижения                     = ВидДвиженияНакопления.Приход;
        СтрРег.Регистратор                     = ДокКорректировкаСсылка;
        СтрРег.ПодарочныйДвиж            = Справочники.Номенклатура.НайтиПоНаименованию("Движ 1200р");
        СтрРег.НомерДвижа                = ВыборкаДетальныеЗаписи.Ссылка;
        СтрРег.Сумма                          = 1200;
                
    КонецЦикла;
    НЗТовКомп.Записать();

Здесь сперва идет: НЗТовКомп.Отбор.Регистратор.Значение = ДокКорректировкаСсылка; далее идет запрос, и только потом записывается: НЗТовКомп.Записать();.

Для чего служит: НЗТовКомп.Отбор.Регистратор.Значение? А что будет если сразу записать? До запроса.


Ответы (1 шт):

Автор решения: Sagittarius

А что будет если сразу записать? До запроса.

Вы запишите пустой набор с отбором по установленному регистратору. Все движения сотрутся.

→ Ссылка