Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Изменить запись в регистре сведений

Изменить запись в регистре сведений
Я
   Nzzzz
 
29.07.20 - 11:09
Доброго времени суток!
Как программно изменить реквизит в записи регистра сведений?
Не понимаю, нужно сначала как то же получить объект?(т.к. буду изменять)
   Василий Алибабаевич
 
1 - 29.07.20 - 11:12
(0) Для РС объекта не существует. Вместо него набор записей. Вот его и корректируй.
   Nzzzz
 
2 - 29.07.20 - 11:14
мНаборЗаписей = РегистрыСведений.МойРегистр.СоздатьНаборЗаписей();
//делаю отборы

мНаборЗаписей.Отбор.Фамилия.Установить(СокрЛП(МассивКолонок.Получить(2).Получить(строкаТП)));
// читаю, что есть в базе

мНаборЗаписей.Прочитать();

Но этого не достаточно для того, чтобы изменить
   Василий Алибабаевич
 
3 - 29.07.20 - 11:24
(2) Конечно недостаточно. Потом нужно еще что-то вроде такого :

Для каждого запись из мНаборЗаписей Цикл
  запись.<ИмяПоля> = <НовоеЗначение>;
  ..
КонецЦикла;

мНаборЗаписей.Записать();
   Nzzzz
 
4 - 29.07.20 - 11:31
(3) Спасибо!
   Nzzzz
 
5 - 29.07.20 - 11:32
Только не понимаю зачем создавать набор, если мне нужно существующий изменить..
   Nzzzz
 
6 - 29.07.20 - 11:32
(5) Первая строка "мНаборЗаписей = РегистрыСведений.МойРегистр.СоздатьНаборЗаписей();"
   del123
 
7 - 29.07.20 - 11:42
Набор это, грубо говоря, таблица, в которую ты получаешь нужные записи регистра, изменяешь их и записываешь обратно.
   Nzzzz
 
8 - 29.07.20 - 11:53
(7) Спасибо
   D_E_S_131
 
9 - 29.07.20 - 13:37
(5) Не нравится набор? Меняй через менеджер записи. :)
   Ц_У
 
10 - 29.07.20 - 13:42
мНаборЗаписей = РегистрыСведений.МойРегистр.СоздатьНаборЗаписей();
мНаборЗаписей.Записать();

И все, нет проблем.
Не благодари!
   Rovan
 
11 - 29.07.20 - 14:26
(0) но главное - помни,
программная запись регистра без отборов стирает ВСЕ данные в нем !!
   Ёпрст
 
12 - 29.07.20 - 14:52
(11) ага, а запись по отбору..тоже стирает. только с отбором
:)

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.