Имя: Пароль:
1C
1С v8
Вопрос по блокировкам
0 razbiralshik
 
16.07.13
14:21
//Блокировка остатков на складах
       БлокировкаДанных = Новый БлокировкаДанных;
       ЭлементБлокировки = БлокировкаДанных.Добавить("РегистрНакопления.УчетНоменклатуры");
       ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
       ЭлементБлокировки.УстановитьЗначение("Склад", Склад);
       ЭлементБлокировки.ИсточникДанных = Состав;  
       ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");
       БлокировкаДанных.Заблокировать();

       Запрос.Текст = "ВЫБРАТЬ
                      |    Док.Номенклатура,
                      |    Док.Количество,
                      |    ОстаткиСкл.КоличествоОстаток КАК КоличествоСкл
                      |ИЗ
                      |    Документ.РасходнаяНакладная.Состав КАК Док
                      |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.УчетНоменклатуры.Остатки(
                      |        ,
                      |        Номенклатура В (&ПарНоменклатура)
                      |            И Склад = &ПарСклад) КАК ОстаткиСкл
                      |        ПО Док.Номенклатура = ОстаткиСкл.Номенклатура
                      |ГДЕ
                      |    Док.Ссылка = &Ссылка
                      |
                      |ДЛЯ ИЗМЕНЕНИЯ
                      |    РегистрНакопления.УчетНоменклатуры.Остатки";


Нужно ли в одном месте использовать и блокировку и ключевое слово "|ДЛЯ ИЗМЕНЕНИЯ" как в данном примере, или достаточно указать одно из двух, например в запросе указать "|ДЛЯ ИЗМЕНЕНИЯ" ?
1 Maxus43
 
16.07.13
14:29
ДЛЯ ИЗМЕНЕНИЯ - это для блокировки в рамках транзакции при автоматическом режиме блокировок
2 Maxus43
 
16.07.13
14:30
хотя не только для автоматических, судя по СП. не проверял