Имя: Пароль:
1C
1С v8
Удаление записи из периодического независимого РегистраСведений
0 Наська72
 
25.09.12
13:06
Добрый день!
Есть периодический независимый РегистрСведений.
В нем измерения: Сотрудник, НомерКарты, Операция, ДатаНачалаДействия. ДатаОкончанияДействия, Документ. *(у всех измерений стоит Основной отбор и Индексировать)
Ресурс: ПраваДоступа

Есть Документ после проведения которого в регистр пишется запись, при отмене проведения хочу убрать запись оставленную в регистре документом.

Форма управляемая.

Мой код:

НаборЗаписей = РегистрыСведений.ИТ_ПраваДоступаВPerCo.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Документ.Установить(Ссылка);
НаборЗаписей.Записать();

Пробовала еще так:

Выборка = РегистрыСведений.ИТ_ПраваДоступаВPerCo.Выбрать();
Пока Выборка.Следующий() Цикл
Если Выборка.Документ = Ссылка Тогда                Выборка.ПолучитьМенеджерЗаписи().Удалить();
КонецЕсли;
КонецЦикла;

Запись не удаляется. В чем может быть дело?
1 Mort
 
25.09.12
13:13
1. Почему не сделать регистр зависимым?
2. Код в первом случае должен работать - смотри отладчик.
3. Код во втором случае - клиника.
2 Reset
 
25.09.12
13:17
(0) В первый вариант нужно добавить еще отбор по периоду
3 DrShad
 
25.09.12
13:18
(1) 1. Для независимого РС не работает - нужно через Менеджер записи
2. Действительно клиника
4 DrShad
 
25.09.12
13:18
ну и не включена опция "Фотка"
5 Heckfy
 
25.09.12
13:18
(0) А так:
НаборЗаписей = РегистрыСведений.ИТ_ПраваДоступаВPerCo.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Документ.Установить(Ссылка);

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

НаборЗаписей.Записать();
6 Reset
 
25.09.12
13:19
(+) к идее сделать зависимым, раз документом пишется
7 Reset
 
25.09.12
13:20
(5) ничем не отличается от (0)
8 Mort
 
25.09.12
13:21
(3) У меня работает...
9 Kashemir
 
25.09.12
13:23
(7) Код в (5) перезапишет набор. В (0) пишет пустой набор
10 Kashemir
 
25.09.12
13:25
(0)

НаборЗаписей = РегистрыСведений.ИТ_ПраваДоступаВPerCo.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Документ.Установить(Ссылка);
НаборЗаписей.Записать();


Этот код должен работать. Другое дело что при попытке зарегистрировать обмен будет вылетать - ибо не все измерения основного обмена определены.
11 Kashemir
 
25.09.12
13:25
+(10) Т.е. основного отбора
12 Reset
 
25.09.12
13:25
(9) Да, тормознул. (5) ПРосто не выполняет задачу удаления.
13 Heckfy
 
25.09.12
13:26
(9) Ну да, не дописал.

НаборЗаписей = РегистрыСведений.ИТ_ПраваДоступаВPerCo.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Документ.Установить(Ссылка);

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

НаборЗаписей.Записать();
14 Reset
 
25.09.12
13:26
(13) Вот сейчас не отличается :)
15 DrShad
 
25.09.12
13:27
(8) в независимом регистре!? не смеши
16 Mort
 
25.09.12
13:29
(15) O_o не используешь наборы записей с независимыми регистрами сведений? О блин как...
17 Наська72
 
25.09.12
13:48
(1) 1. Идея была в другом, до того как появилось измерение Документ. Сейчас сделала Зависимым, так конечно работает.
2. Не работает =)
3. А вот и не клиника

(2) Отбор по периоду не спасает

(5) Тоже не работает

(13) Не рабочее

Вобщем. Спасибо всем. Сделала зависимым. Как-нибудь уж прогнусь под это.
18 Наська72
 
25.09.12
13:52
Ан нет. Я не смогу потом обращаться к регистру сведений не зная регистратора.
Подскажите тогда как выдернуть данные по интересующему сотруднику, не зная регистратора. Запрос? СрезПоследних?
19 Mort
 
25.09.12
13:53
Запрос рулит. А к какой таблице уже от задачи зависит. Историю получить или последнее.
20 Feanorko
 
25.09.12
13:54
(18) хм, а как до этого выдергивала данные из регистра? Оо
и зачем ещё нужен периодический РС, если не используется срез первых/последних? оО
21 Reset
 
25.09.12
13:54
(17)
Проверил, действительно должен работать первоначальный вариант 1, без каких-либо изменений. (1) полностью прав
22 Reset
 
25.09.12
13:57
(18) Точно также, как и при незавимомом
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший