|
Перезапись значения в РегистреСведений | ☑ | ||
|---|---|---|---|---|
|
0
leoshko84
01.02.18
✎
10:48
|
Есть регистр "ЗначенияСвойствОбъектов", в нем измерения -Объект, Свойство и ресурс-Значение.
Хочу переписать значение: НаборЗаписей = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Объект.Установить(Выборка.Ссылка); НаборЗаписей.Отбор.Свойство.Установить(Свойство); НаборЗаписей.Прочитать(); НоваяЗапись = НаборЗаписей.Добавить(); НоваяЗапись.Объект=Выборка.Ссылка; НоваяЗапись.Свойство=Свойство; НоваяЗапись.Значение = выборка.Ссылка.БрендИнтернетМагазин; НаборЗаписей.Записать(Истина); Пишет запись с такими ключевыми полями существует. |
|||
|
1
hhhh
01.02.18
✎
10:50
|
(0) НаборЗаписей.Прочитать(); выкинь
|
|||
|
2
Стэн5
01.02.18
✎
10:53
|
Вы ее читаете НаборЗаписей.Прочитать();
а потом добавляете новую с запись с такими же измерениями, необходимо эту переписать |
|||
|
3
FIXXXL
01.02.18
✎
10:55
|
(1) или добавь .Очистить() :)
|
|||
|
4
Serg_1960
01.02.18
✎
11:05
|
А ещё можно выбросить Добавить() и оставить Прочитать() и изменить. Не знаю зачем, честно говоря, но - можно :)
|
|||
|
5
Малыш Джон
01.02.18
✎
11:07
|
(0) Перед тем как добавить запись в набор, проверь, вдруг там такая уже есть. Тогда надо не добавлять новую запись, а брать найденную и работать с ней.
НаборЗаписей = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Объект.Установить(Выборка.Ссылка); НаборЗаписей.Отбор.Свойство.Установить(Свойство); НаборЗаписей.Прочитать(); Если НаборЗаписей.Количество()>0 Тогда Запись = НаборЗаписей[0]; //т.к. отбор по всем измерениям, то запись может быть только одна, если она есть Иначе Запись = НаборЗаписей.Добавить(); Запись .Объект=Выборка.Ссылка; Запись .Свойство=Свойство; КонецЕсли; Запись.Значение = выборка.Ссылка.БрендИнтернетМагазин; НаборЗаписей.Записать(Истина); |
|||
|
6
Serg_1960
01.02.18
✎
11:11
|
Да и вообще, тут через СоздатьМенеджерЗаписи() работаь проще.
|
| Форум | Правила | Описание | Секции | Поиск |