Имя: Пароль:
1C
1С v8
v8.3 Удаление записей из РС
0 Puzoter
 
31.03.15
14:09
почему-то следующий код не удаляет записи по отбору

Рег = РегистрыСведений.Абоненты.СоздатьНаборЗаписей();
Рег.Отбор.Номенклатура.Установить(Справочник);
Рег.Записать();

В старых релизах платформы записи удалялись, что-то изменилось в платформе?
1 Ненавижу 1С
 
гуру
31.03.15
14:11
Справочник это что?
2 Fish
 
гуру
31.03.15
14:11
Чему равно значение переменной "Справочник"?
3 butterbean
 
31.03.15
14:11
может проблема в переменной Справочник?
у меня все работает
4 Puzoter
 
31.03.15
14:11
(1) Ссылка
5 Puzoter
 
31.03.15
14:12
В РС одно измерение типа справочник
6 Fish
 
гуру
31.03.15
14:12
(4) Ну значит нет записи с такой ссылкой.
7 butterbean
 
31.03.15
14:13
отладчик что говорит?
8 Puzoter
 
31.03.15
14:13
(6) Есть, я сам пишу и тут же удаляю
9 Puzoter
 
31.03.15
14:14
(7) Ничего, просто проглатывает код и все, запись в РС остается
10 butterbean
 
31.03.15
14:15
(9) добавь Прочитать() и посмотри будут-ли записи в наборе
11 Лефмихалыч
 
31.03.15
14:19
(0) не то суешь в Установить()
12 Puzoter
 
31.03.15
14:21
Параметром Записать было Ложь, из-за этого не удалялось, сорри.
13 Лефмихалыч
 
31.03.15
14:26
(12) ты же понимаешь, что удалил таким образом вообще всё, а не только для одного значения измерений?
14 Puzoter
 
31.03.15
14:46
(13) Теперь да, позабыл малость эту арифметику. А можно одним махом удалить все записи, которые попали в набор по отбору? Или только Удалить() в переборе?
15 vyaz
 
31.03.15
14:57
(13) почему все? только по отбору ведь...
16 Puzoter
 
31.03.15
15:15
(15) Действительно )
17 Лефмихалыч
 
31.03.15
15:26
(15) нет, в данном случае все. Автор просто в Установить() сует что-то, чего нет в регистре (хотя этот момент до него еще и не дошел). При этом Записать(Истина) заменяет всё содержимое регистра тем, что записывается в текущем наборе. То есть в случае автора - пустым набором.

(14) для не подчиненных регистров можно установить вариант сравнения "В списке" в отборе и одной записью обойтись.
18 kihor
 
31.03.15
16:39
(17) Не совсем согласен с "При этом Записать(Истина) заменяет ВСЕ содержимое регистра". Согласно СП заменяется содержимое регистра в соответствии с отбором. Если отбор создает пустое множество записей, то именно оно и будет замещено.