Имя: Пароль:
1C
1С v8
поменять значение одного поле в периодическом регистре сведений
0 lucifer
 
26.07.12
12:14
выборка = РегистрыСведений.ФизЛицо.Выбрать();
Пока выборка.Следующий() Цикл
// ???
КонецЦикла;

выбрать все записи из регистра не проблема, а дальше не могу сообразить, мне нужно у каждой записи изменить одно поле, например индекс (в принципе не важно какое поле)
1 AaNnDdRrEeYy
 
26.07.12
12:17
набор = НаборЗаписей.ФизЛицо.создатьНаборЗаписей();
набор.отбор.измерение = выборка.измерение; //установить отбор по всем измерениям если менять ресурс
набор.прочитать();
Для каждого стр из набор цикл
 набор.Поле = НужноеЗначение;
КонецЦикла;
набор.Записать();
2 lucifer
 
26.07.12
12:23
НаборЗаписей - это что?
3 AaNnDdRrEeYy
 
26.07.12
12:31
(2)Прикалываешся?
4 lucifer
 
26.07.12
12:40
этот код в цикле (0)

ФизЛицо = РегистрыСведений.ФизЛицо.СоздатьНаборЗаписей();
ФизЛицо.отбор.Добавить("Ключ", выборка.Ключ);
ФизЛицо.отбор.Добавить("Период", выборка.Период);

Ругается:
Метод не доступен для данного объекта

так
ФизЛицо.отбор.Период = выборка.Период;

тоже не катит
5 AaNnDdRrEeYy
 
26.07.12
12:42
ФизЛицо = РегистрыСведений.ФизЛицо.СоздатьНаборЗаписей();
ФизЛицо.отбор.Установить("Ключ", выборка.Ключ);
6 lucifer
 
26.07.12
12:46
(5) нет такого метода "Установить"
7 AaNnDdRrEeYy
 
26.07.12
12:46
совсем запутал уже, вот так
ФизЛицо.отбор.Ключ.Установить(выборка.Ключ);
8 lucifer
 
26.07.12
12:56
да да, правильно, я уже додумался
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший