Подскажите пытаюсь сделать отбор в непереодическом независимом регистре сведений(набор записей), нужно чтобы перезаписывались сообщения с таким же ИДСообщения. Если делаю без отбора перезаписывает просто все, а нужно, чтобы только нужные по ай ди. Что делаю не так. Есть приблизительное понимание, что отборы нужны, но глубокого еще нет, чтобы разобраться. Ошибку при отборе дает:

Запись не верна! Значение поля не соответствует установленному отбору: МАКС_ОтправленныеСообщенияSMS: 3c791165-f907-44d5-8112-cbdcddd755a1, 09.11.2022 13:51:52, 74952760010, , Исходящее, 79194948388, 79194948388 (Регистр сведений: Журнал отправленных SMS сообщений (МАКС); Номер строки: 1; Поле: ИДСообщения)
{ВнешняяОбработка.СинхроСБТБ.Форма.Форма.Форма(90)}: НаборЗаписей.Записать();
{ВнешняяОбработка.СинхроСБТБ.Форма.Форма.Форма(96)}: Команда1НаСервере();

по причине:
Запись не верна! Значение поля не соответствует установленному отбору: МАКС_ОтправленныеСообщенияSMS:

```1c
    Запрос.УстановитьПараметр("МассивТелефонов", МассивТелефонов);
    ТЗКонтрагенты = Запрос.Выполнить().Выгрузить();
    НаборЗаписей = РегистрыСведений.МАКС_ОтправленныеСообщенияSMS.СоздатьНаборЗаписей();

    Для каждого Элемент Из ТЗ Цикл

    НаборЗаписей.Отбор.ИДСообщения.Установить(Элемент.INTERNAL_ID); //нужны ли количество записей по общему количеству статусов по ид для детализации отчета затем???
    //НаборЗаписей.Отбор.ДатаСоздания.Установить(Элемент.INS_DATE); //
    СтрокаНабора = НаборЗаписей.Добавить();

    Если Элемент.SMS_STATUS <> " И Элемент.SMS_STATUS <> 0 Тогда
    ОбъектXDTO = ПолучитьОбъектXDTO(Элемент.SMS_STATUS); //доп даты
    СтатусИзБ2Б = ОбработкаСтатусаБ2Б(ОбъектXDTO.DeliveryInfo.DeliveryStatus);
    СтрокаНабора.СостояниеДоставки = СтатусИзБ2Б;
    КонецЕсли;
    СтрокаНабора.ИДСообщения = Элемент.INTERNAL_ID;
    СтрокаНабора.ДатаСоздания = Элемент.INS_DATE;
    СтрокаНабора.ДатаДоставки = Элемент.SEND_DATE;
    СтрокаНабора.ДатаНачалаДоставки = Элемент.SEND_DATE;
    СтрокаНабора.ТипСообщения = Перечисления.МАКС_НаправлениеСообщенияSMS.Исходящее; //узнать структуру приходящих данных и б2б
    СтрокаНабора.ТелефонПолучателя = Элемент.MSG_TO;
    СтрокаНабора.ИмяПолучателя = Элемент.MSG_TO;
    СтрокаНабора.ТекстСообщения = Элемент.MSG_SUBJECT;
    СтрокаНабора.ПлатформаОтправки = "B2B";
```
---
В текущем частном случае - да. В общем случае - на усмотрение разработчика.
---
Потому что для НЕпериодического и НЕзависимого РС - может существовать только один ключ записи (набор измерений). То есть каждая запись уникальна, и использовать набор просто не получится. Да и незачем (все все равно в наборе будет только одна запись, не более).

А вот уже для периодических или подчиненных регистров - ключ записи начинает включать в себя понятия Период, Регистратор (как по отдельности так и вместе). И вот уже тут можно использовать набор записей с установкой отбора.
---
СоздатьНаборЗаписей() перенеси в внутрь цикла (перед Установить()).
И добавь Прочитать() (после Установить()).

Ну и Записать() тоже должно быть в конце цикла (а не за его рамками).
---
А если внутрь цикла создание набора, он не перезаписывается на каждой итерации или как раз здесь отбор начинает действовать?
---
ПРОЧИТАТЬ() в начале цикла. ЗАПИСАТЬ() в конце цикла.
Какие буквы непонятны?
---
Тогда смысл в наборе записей, так же можно и менеджером записей обойтись. Хотел за раз записать. Т.к. строк может быть десятки тысяч. Пойду читать мат часть, чего-то недопонимаю)
---
Для непериодического и независимого РС - да, надо использовать МенеджерЗаписи.
Вроде, это известный факт...
---
Да спасибо, для меня пока не особо известный) . Буду тогда делать через менеджер записей.
---
Здравствуйте! А не подскажите по каким причинам в этом случае именно менеджер записи. С более опытными коллегами по сравнению со мной общался, говорят тоже не знают причины. Можете подсказать пожалуйста?
---
Потому что для НЕпериодического и НЕзависимого РС - может существовать только один ключ записи (набор измерений). То есть каждая запись уникальна, и использовать набор просто не получится. Да и незачем (все все равно в наборе будет только одна запись, не более).

А вот уже для периодических или подчиненных регистров - ключ записи начинает включать в себя понятия Период, Регистратор (как по отдельности так и вместе). И вот уже тут можно использовать набор записей с установкой отбора.
---
Спасибо огромное
---
Добавить еще после Прочитать() Очистить(), чтоб существующие записи не попали в набор.
---
В текущем частном случае - да. В общем случае - на усмотрение разработчика.