Имя: Пароль:
1C
1С v8
Запись регистра сведений
,
0 Случайный прохожий
 
04.10.12
13:16
Добрый день.
Помогите разобраться с таким моментом: имеется периодический регистр сведений "Показатели" (периодичность - 1 сек). Программно заполняю его в цикле:

НоваяЗапись = РегистрыСведений.Показатели.СоздатьМенеджерЗаписи();
НоваяЗапись.Период = ТекущаяСтрока.Период;
НоваяЗапись.Показатель = ТекущаяСтрока.Показатель;
......
Попытка
НоваяЗапись.Записать();
Исключение
Сообщить("Ошибка записи");
КонецПопытки;

Попытка сделана для того, чтобы отследить, когда программа пытается записать данные с одинаковыми ключевыми полями (Период,Показатель) и обругнуться. Но она на исключение вообще не вылетает! Она просто пишет новую запись поверх старой. Если добавлять эту запись вручную, то 1С-ка ведет себя адекватно (выводит ошибку "Запись с такими ключевыми полями существует"). Я правильно понял принцип программной записи или где-то сглупил?
1 Maxus43
 
04.10.12
13:18
и должен писать поверх.
НоваяЗапись.Прочитать() - если там не пусто - тогда ругайся
2 Случайный прохожий
 
04.10.12
13:19
"Прочитать()" - офигенный метод! :) Спасибо, Максимус :)
3 Maxus43
 
04.10.12
13:19
точней у Менеджера - получить
4 Случайный прохожий
 
04.10.12
13:19
Т.е. Максус :)
5 Maxus43
 
04.10.12
13:36
всё правильно короче, прочитать()
6 Случайный прохожий
 
04.10.12
13:40
Блин, я уже через Получить() все сделал и все работает))) Как думаешь - лучше переделать? По-идее же через Прочитать() должно быстрее все делаться...
7 Maxus43
 
04.10.12
13:40
прочитать - легче потом код читать)
8 Случайный прохожий
 
04.10.12
13:40
Большое спасибо, сейчас переделаю)
9 Maxus43
 
04.10.12
13:42
ещё раз переделывай.
Попытка
НоваяЗапись.Записать(Ложь);

Будет ругатся
10 Maxus43
 
04.10.12
13:48
цель озвучь, исходя из этого надо выбирать способ
11 y88
 
04.10.12
13:53
(9) издеваешься :)
12 Maxus43
 
04.10.12
13:54
(11) да не, вариантов много просто)
13 GANR
 
04.10.12
13:55
(0) см. синтаксис-помощник
14 Случайный прохожий
 
04.10.12
13:58
Максус, спасибо, я уже второй раз переделал, третий раз не собираюсь))) И так все нормально пашет)