Имя: Пароль:
1C
1С v8
ошибка с управляемыми блокировками
0 vde69
 
модератор
22.11.13
10:55
устанавливаю блокировку.
Сделка есть в каждом из перечисленом объекте
в последовательности - как реквизит
в регистрах - как индексированое измерение

выдает ошибку на последовательности "Ошибка при вызове метода контекста (Заблокировать): У пространства блокировок Последовательность.ПоследовательностьСделок.НаборЗаписей не существует поля с именем Сделка"

база тестовая, никаких других процессов кроме моего нет...

вот код (вызов идет в транзакции)

Процедура УстановитьБлокировкуПоСделке(Сделка)
    Блокировка = Новый БлокировкаДанных;
    ЭлементБлокировки = Блокировка.Добавить("Последовательность.ПоследовательностьСделок.НаборЗаписей");
    ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
    ЭлементБлокировки.УстановитьЗначение("Сделка", Сделка);

    ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.ПараметрыСделок");
    ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
    ЭлементБлокировки.УстановитьЗначение("Сделка", Сделка);

    ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.СостояниеБлоковУчета");
    ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
    ЭлементБлокировки.УстановитьЗначение("Сделка", Сделка);
    Блокировка.Заблокировать();            
КонецПроцедуры
1 vde69
 
модератор
22.11.13
11:08
короче записи блокировать можно а весь набор нельзя...

а как мне заблокировать возможность добавления в последовательность по конкретной сделки нового документа (и следовательно новой строки)???

и почему по РС не подчиненному регистратору нельзя блокировать набор по определенным имерениям?
2 Жан Пердежон
 
22.11.13
12:10
(1) опять ты воду мутишь?
3 Рэйв
 
22.11.13
12:13
(1)Набор- это программный объект,в базе нигде незаписан, его блокировать ты не можешь. Запись дело другое
4 Рэйв
 
22.11.13
12:13
Но можешь блокировать список
5 Жан Пердежон
 
22.11.13
12:14
Блокировка = Новый БлокировкаДанных;
    ЭлементБлокировки = Блокировка.Добавить("Последовательность.ПоследовательностьСделок");
    ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
    ЭлементБлокировки.УстановитьЗначение("Сделка", Сделка);

    ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.ПараметрыСделок");
    ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
    ЭлементБлокировки.УстановитьЗначение("Сделка", Сделка);
...
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.