|
Изменить запись в регистре сведений
| ☑ |
0
Nzzzz
29.07.20
✎
11:09
|
Доброго времени суток!
Как программно изменить реквизит в записи регистра сведений?
Не понимаю, нужно сначала как то же получить объект?(т.к. буду изменять)
|
|
1
Василий Алибабаевич
29.07.20
✎
11:12
|
(0) Для РС объекта не существует. Вместо него набор записей. Вот его и корректируй.
|
|
2
Nzzzz
29.07.20
✎
11:14
|
мНаборЗаписей = РегистрыСведений.МойРегистр.СоздатьНаборЗаписей();
//делаю отборы
мНаборЗаписей.Отбор.Фамилия.Установить(СокрЛП(МассивКолонок.Получить(2).Получить(строкаТП)));
// читаю, что есть в базе
мНаборЗаписей.Прочитать();
Но этого не достаточно для того, чтобы изменить
|
|
3
Василий Алибабаевич
29.07.20
✎
11:24
|
(2) Конечно недостаточно. Потом нужно еще что-то вроде такого :
Для каждого запись из мНаборЗаписей Цикл
запись.<ИмяПоля> = <НовоеЗначение>;
..
КонецЦикла;
мНаборЗаписей.Записать();
|
|
4
Nzzzz
29.07.20
✎
11:31
|
(3) Спасибо!
|
|
5
Nzzzz
29.07.20
✎
11:32
|
Только не понимаю зачем создавать набор, если мне нужно существующий изменить..
|
|
6
Nzzzz
29.07.20
✎
11:32
|
(5) Первая строка "мНаборЗаписей = РегистрыСведений.МойРегистр.СоздатьНаборЗаписей();"
|
|
7
del123
29.07.20
✎
11:42
|
Набор это, грубо говоря, таблица, в которую ты получаешь нужные записи регистра, изменяешь их и записываешь обратно.
|
|
8
Nzzzz
29.07.20
✎
11:53
|
(7) Спасибо
|
|
9
D_E_S_131
29.07.20
✎
13:37
|
(5) Не нравится набор? Меняй через менеджер записи. :)
|
|
10
Ц_У
29.07.20
✎
13:42
|
мНаборЗаписей = РегистрыСведений.МойРегистр.СоздатьНаборЗаписей();
мНаборЗаписей.Записать();
И все, нет проблем.
Не благодари!
|
|
11
Rovan
гуру
29.07.20
✎
14:26
|
(0) но главное - помни,
программная запись регистра без отборов стирает ВСЕ данные в нем !!
|
|
12
Ёпрст
29.07.20
✎
14:52
|
(11) ага, а запись по отбору..тоже стирает. только с отбором
:)
|
|