Доброе время суток,

Бухгалтерия 2.0.
Сделал отбор по регистратору у подчиненного регистра сведений:

```1c
    НаборЗаписей = РегистрыСведений.ПлановыеНачисленияРаботниковОрганизаций.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(ТекущийРег.Регистратор);
    НаборЗаписей.Прочитать();
```

Но этого не достаточно, надо набор записей отбирать дополнительно по сотруднику.
Пытался так сделать:

```1c
    НаборЗаписей = РегистрыСведений.ПлановыеНачисленияРаботниковОрганизаций.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(ТекущийРег.Регистратор);
    НаборЗаписей.Отбор.Сотрудник.Установить(ТекущийСотрудник);
    НаборЗаписей.Прочитать();
```

Получаю ошибку: Поле объекта не обнаружено (Сотрудник)

Это стандартная конфигурация и там есть данное измерение:
---
Выгрузка в ТЗ лишняя. Если ТЗ вам больше ни для чего не надо, то тот же подход работает напрямую с набором записей. Очень многие коллекции в 1С можно обрабатывать единообразно.

```1c
    НаборЗаписей = РегистрыСведений.ПлановыеНачисленияРаботниковОрганизаций.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(ТекущийРег.Регистратор);
    НаборЗаписей.Прочитать();
    УдаляемыеЗаписи = Новый Массив;
    Для Каждого Запись Из НаборЗаписей Цикл
    Если Запись.Сотрудник<>ТекущийСотрудник.Ссылка Тогда
    УдаляемыеЗаписи.Добавить(Запись);
    КонецЕсли;
    КонецЦикла;
    Для Каждого УдаляемаяЗапись Из УдаляемыеЗаписи Цикл
    НаборЗаписей.Удалить(УдаляемаяЗапись);
    КонецЦикла;
```
---
А с ТЗ можно так:

```1c
    НаборЗаписей = РегистрыСведений.ПлановыеНачисленияРаботниковОрганизаций.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(ТекущийРег.Регистратор);
    НаборЗаписей.Прочитать();

    ТЗНабора=НаборЗаписей.Выгрузить();
    ТЗНабора = ТЗНабора.Скопировать(Новый Структура("Сотрудник", ТекущийСотрудник.Ссылка));
    НаборЗаписей.Загрузить(ТЗНабора);
```
---
Так это не работает.
Для подчиненного работает только отбор по регистратору.
А дальше уже работаешь с набором записей этого регистратора как хочешь.
Но перезаписать сможешь только набор записей регистратора целиком.
---
В любой непонятной ситуации читайте синтаксис-помощник:
---
А удалить из набора не нужные записи можно ?
---
Можно. Посмотрите методы Выгрузить() и Загрузить() набора записей регистра, выгружаете в таблицу, обрабатываете нужным вам образом, загружаете обратно
---
Конечно. Можно как в (5), но я для выборочного удаления записей из коллекций предпочитаю такой стиль (когда без обхода не обойтись):

```1c
    УдаляемыеЗаписи = Новый Массив;
    Для Каждого Запись Из НаборЗаписей Цикл
    Если <нужно удалить> Тогда
    УдаляемыеЗаписи.Добавить(Запись);
    КонецЕсли;
    КонецЕсли;
    Для Каждого УдаляемаяЗапись Из УдаляемыеЗаписи Цикл
    НаборЗаписей.Удалить(УдаляемаяЗапись);
    КонецЦикла;
```
---
Спасибо большое, а я думал как решить без повторного обхода.
---
В итоге получилось так:

```1c
    НаборЗаписей = РегистрыСведений.ПлановыеНачисленияРаботниковОрганизаций.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(ТекущийРег.Регистратор);
    НаборЗаписей.Прочитать();

    ТЗНабора=НаборЗаписей.Выгрузить();
    УдаляемыеЗаписи = Новый Массив;
    Для Каждого СтрТЗ Из ТЗНабора Цикл
    Если СтрТЗ.Сотрудник<>ТекущийСотрудник.Ссылка Тогда
    УдаляемыеЗаписи.Добавить(СтрТЗ);
    КонецЕсли;
    КонецЦикла;
    Для Каждого УдаляемаяЗапись Из УдаляемыеЗаписи Цикл
    ТЗНабора.Удалить(УдаляемаяЗапись);
    КонецЦикла;

    НаборЗаписей.Загрузить(ТЗНабора);
```

Есть что-то лишнее ?
---
Выгрузка в ТЗ лишняя. Если ТЗ вам больше ни для чего не надо, то тот же подход работает напрямую с набором записей. Очень многие коллекции в 1С можно обрабатывать единообразно.

```1c
    НаборЗаписей = РегистрыСведений.ПлановыеНачисленияРаботниковОрганизаций.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(ТекущийРег.Регистратор);
    НаборЗаписей.Прочитать();
    УдаляемыеЗаписи = Новый Массив;
    Для Каждого Запись Из НаборЗаписей Цикл
    Если Запись.Сотрудник<>ТекущийСотрудник.Ссылка Тогда
    УдаляемыеЗаписи.Добавить(Запись);
    КонецЕсли;
    КонецЦикла;
    Для Каждого УдаляемаяЗапись Из УдаляемыеЗаписи Цикл
    НаборЗаписей.Удалить(УдаляемаяЗапись);
    КонецЦикла;
```
---
Спасибо помогло, еще в конце запись нужно дописать)

НаборЗаписей.Записать();
---
А с ТЗ можно так:

```1c
    НаборЗаписей = РегистрыСведений.ПлановыеНачисленияРаботниковОрганизаций.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(ТекущийРег.Регистратор);
    НаборЗаписей.Прочитать();

    ТЗНабора=НаборЗаписей.Выгрузить();
    ТЗНабора = ТЗНабора.Скопировать(Новый Структура("Сотрудник", ТекущийСотрудник.Ссылка));
    НаборЗаписей.Загрузить(ТЗНабора);
```
---
Спасибо большое !
---
Есть еще обработка "Выгрузка и загрузка данных XML" любой элемент можно выгрузить.
https://its.1c.ru/db/metod8dev#content:4126:hdoc
---
Извиняюсь, ошибся темой