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