Имя: Пароль:
1C
 
Отбор по регистру накопления
0 Mary01
 
21.03.19
13:17
Привет всем!

Прошу помочь с регистром накопления...
Есть задача - отобрать некоторые строки регистра накопления, внести в них изменения и записать.

Пишу запрос к регистру накопления с определенным отбором (отбор по виду начисления) - тут все ок, отбирает корректно нужные мне строки.
Но! Чтобы изменить записи регистра, необходим отбор по регистратору.
Примерно так:

     НаборЗаписей = РегистрыСведений.СведенияОДоходахНДФЛ.СоздатьНаборЗаписей();
    
     //... тут запрос
    
     Выборка = Запрос.Выполнить().Выбрать();
     Пока Выборка.Следующий() Цикл
          НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор);
          НаборЗаписей.Прочитать();
          Для каждого Движение из НаборЗаписей Цикл
            Движение.ДатаПолученияДоходаФиксирована = Истина; // (*)
          КонецЦИкла;
          НаборЗаписей.Записать();
     КонецЦИкла;

Но ведь вот это изменение (*) мне не надо делать для всех записей, а только для тех, которые выбрала запросом. Опять писать какой-то запрос или отбор? Или проверку реквизитов в цикле? Как тут правильно делать надо - не нагуглилось.
1 aleks_default
 
21.03.19
13:27
А ты и делаешь не для всех а только в записях выбранных документов-регистраторов
2 aleks_default
 
21.03.19
13:29
"Есть задача - отобрать некоторые строки регистра накопления," а потом
"НаборЗаписей = РегистрыСведений.СведенияОДоходахНДФЛ.СоздатьНаборЗаписей();" - все таки регистр сведений или накопления?
3 kuzyara
 
21.03.19
13:30
Перезаписывать весь набор по регистратору, иначе никак.
4 kuzyara
 
21.03.19
13:31
Регистр то подчинённый.
5 Mary01
 
21.03.19
13:36
(2) изменить надо в записях регистра накопления. опечатка тут.
6 Mary01
 
21.03.19
13:36
(4) да. подчиненных регистратору
7 Mary01
 
21.03.19
13:37
(1) да, но у регистратора может быть 100 записей в наборе по этому регистру, а мне надо внести изменения не во все 100, а например в 20.
8 gae
 
21.03.19
13:46
(7) Читай весь набор записей, меняй нужные записи, записывай обратно.
9 ColonelAp4u
 
21.03.19
13:56
(7) добавь еще 1 отбор по мимо регистратора, именно тех строк которые нужно изменить
10 Mary01
 
21.03.19
14:01
(8) так в том и дело, как понять, какие записи - нужные?
Для каждого Движение из НаборЗаписей Цикл ... - вот в этом цикле проверять - если Движение.*** = ***** тогда...
?
11 D_E_S_131
 
21.03.19
14:11
(10) А как Вы в запросе "понимаете"?
12 Mary01
 
21.03.19
14:18
в запросе - через условие "Где".
13 gae
 
21.03.19
14:19
(10) Я обычно запросом выбираю сразу по условию регистраторы и номера строк нужных записей (с использованием ИТОГИ ПО), потом по этим номерам прохожусь.
14 D_E_S_131
 
21.03.19
14:19
(12) Это понятно. А конкретнее, какое условие?
15 gae
 
21.03.19
14:20
+(13) такую выборку с группировкой по регистраторам
Регистатор1
2
4
Регситратор2
1
2
5
16 Mary01
 
21.03.19
14:32
(14) СведенияОДоходахНДФЛ.Начисление = &Начисление
17 Mary01
 
21.03.19
14:32
(15) спасибо, теперь понятно!)
Закон Брукера: Даже маленькая практика стоит большой теории.