Имя: Пароль:
1C
 
Удалить движения в Регистре сведений
0 1ctube
 
25.09.19
11:23
День добрый. Регистр сведений периодический, подчинен регистратору
Нужно удалить строку движения( регистратор записывает 2 строки по сотруднику в рс, нужно удалить только одну)
Вот код:
НаборЗаписей = РегистрыСведений[ИмяРегистра].СоздатьНаборЗаписей();
        НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор);
        НаборЗаписей.Прочитать();
        Для Каждого Запись Из НаборЗаписей Цикл
            Если Запись.Период = ВыборкаПоРаботникиОрганизации.ДатаДействия И Запись.Сотрудник = ВыборкаПоРаботникиОрганизации.Сотрудник Тогда
                ДанныеУдалить = Истина;
            КонецЕсли;
        КонецЦикла;
        Если ДанныеУдалить Тогда
            НаборЗаписей.Записать();
        КонецЕсли;

Тут я сначала сделал отбор по регистратору, потом хочу обойти набор записей, и если период и сотрудник спадают то удалить строку движения. Не удаляет. В чем может быть причина?
1 Mankubus
 
25.09.19
11:26
(0) и где ты что удаляешь?
читаешь набор движений и записываешь его же никак не изменяя
2 Консультант Баранов
 
25.09.19
11:26
ДанныеУдалить = Истина; Что такое?
3 1ctube
 
25.09.19
11:26
(1) НаборЗаписей.Записать();

Это разве не удаление?
4 Консультант Баранов
 
25.09.19
11:27
Выгрузи Данные в ТЗ, очисть набор записей, а потом верни то что нудно и запиши.
5 1ctube
 
25.09.19
11:27
(2) Признак что если данные совпадают, то истина
6 mkbusiness
 
25.09.19
11:28
(3) Нет. Это - запись набора записей.
7 Консультант Баранов
 
25.09.19
11:29
тзЗАписи = НаборЗаписей.Выгрузить()
НаборЗаписей.Очистить();

     Для Каждого Запись Из тзЗАписи Цикл

    Если  НЕ  ( Запись.Период = ВыборкаПоРаботникиОрганизации.ДатаДействия И Запись.Сотрудник = ВыборкаПоРаботникиОрганизации.Сотрудник ) Тогда

зап = НаборЗаписей.Добавить();

ЗАполнитьЗначенияСвойств(зап , Запись  );
8 1ctube
 
25.09.19
11:34
(7) Работает! Спасибо!