|
Удалить движения в Регистре сведений
| ☑ |
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) Работает! Спасибо!
|
|