Имя: Пароль:
1C
1С v8
УПП 1.3 . Таки нет управляемых блокировок?
0 H A D G E H O G s
 
04.07.12
15:14
День добрый.

Собственно сабж.
Искал. Не нашел.
1 H A D G E H O G s
 
04.07.12
15:15
У всех регистров режим блокировок - Автоматический, нет БлокироватьДляИзменения, дофига |ДЛЯ ИЗМЕНЕНИЯ в запросах.
2 H A D G E H O G s
 
04.07.12
15:16
ЧЯДНТ?
3 Stim
 
04.07.12
15:18
платформа какая?
4 РазДва
 
04.07.12
15:18
(0) а как же расчеты по приобретению-реализации в уе?
5 H A D G E H O G s
 
04.07.12
15:21
Я смотрю - они пошли другим путем

Процедура УстановитьУправляемуюБлокировку(СтруктураПараметров, СтруктураЗначенийБлокировки = Неопределено, СтруктураИсточникаДанных = Неопределено, Отказ, Заголовок) Экспорт
6 H A D G E H O G s
 
04.07.12
15:26
еще вопрос

РежимБлокировкиДанных.Исключительный (DataLockMode.Exclusive)
РежимБлокировкиДанных (DataLockMode)
Исключительный (Exclusive)
Описание:

Исключительная блокировка не позволит конкурирующему процессу установить разделяемую или исключительную блокировку по этому же условию.


Как понимать "по этому же условию"

Тоесть, есть одна исключительная блокировка по измерению "Номенклатура", значению "Яблоки"

Вторая любая блокировка не может быть установлена по измерению "Номенклатура", значению "Груши", но может быть установлена по измерению "Склад". Так?
7 EasyRider
 
04.07.12
15:34
(6)и по значению "груши" и по измерению склад - может
8 H A D G E H O G s
 
04.07.12
16:08
(7) Чего?
9 H A D G E H O G s
 
04.07.12
16:09
По русски объясните различия Исключительной и разделяемой блокировки.
10 H A D G E H O G s
 
04.07.12
16:12
Пока практика говорит, что они работают одинаково, по алгоритму:

Исключительная блокировка не позволит конкурирующему процессу установить разделяемую или исключительную блокировку по этому же условию.
11 EasyRider
 
04.07.12
16:25
(9)разделяемая - нельзя установить исключительную,можно разделяемую.
исключительная - нельзя установить исключительную и разделяемую тоже нельзя.
по поводу (7) - проверь сам,если не веришь.
12 acsent
 
04.07.12
16:26
(11) тогда смысл разделяемой блокировки?
13 EasyRider
 
04.07.12
16:27
(12)чтобы пока читаешь никто не изменил данные,но прочесть мог
14 H A D G E H O G s
 
04.07.12
16:34
(13) РегистрНакопленияСписок использует Nolock и ему пофиг. Читать - это про запрос?
15 H A D G E H O G s
 
04.07.12
16:35
(13) То есть при исключительной - я запросом не смогу движения прочитать?
16 dimaldinho
 
04.07.12
16:36
(15) если запрос в транзакции, то не сможешь
17 H A D G E H O G s
 
04.07.12
16:36
(16) В паралельной?
18 dimaldinho
 
04.07.12
16:37
да
19 H A D G E H O G s
 
04.07.12
16:40
Тяжко че то вся. Смог.
20 H A D G E H O G s
 
04.07.12
16:45
Офигеть, оптимизаторы
21 H A D G E H O G s
 
04.07.12
16:52
ТЗ=Запрос.Выполнить().Выгрузить();
Отрабатывает

а
ТЗ=Запрос.Выполнить().Выгрузить();
Для Каждого Эл ИЗ ТЗ Цикл
Сообщить(Эл.Регистратор);
КонецЦикла;


дает блокировку
22 EasyRider
 
04.07.12
16:54
(21)В отладчике в первом случае в ТЗ что-то есть?Смотрел?
23 H A D G E H O G s
 
04.07.12
16:54
Гыы, нельзя так, Эл.Регистратор.. Я в блокированный регистратор за датой, временем лезу.

Блять, как все тяжко.
24 H A D G E H O G s
 
04.07.12
16:54
Пофиг, ничего не блокируется короче.
25 H A D G E H O G s
 
04.07.12
16:56
Различий между Разделяемой и Исключительной блокировкой по прежднему не обнаружено
26 EasyRider
 
04.07.12
16:56
конфа целиком в управляемом режиме?
27 H A D G E H O G s
 
04.07.12
16:57
Да целиком, все объекты тоже управляемые.
28 H A D G E H O G s
 
04.07.12
16:57
SQL говорит о
SET TRANSACTION ISOLATION LEVEL READ COMMITTED
при старте 1С-ки.
29 EasyRider
 
04.07.12
16:59
тут просто если конф абудет в режиме "автоматический и управляемый",то могла быть какая-то неявная автоматическая транзакция уровнем выше и все вложенные транзакции пойдут тоже в автоматическом режиме.А по (28) - там уровень изоляции частенько меняется.Читаешь список документов - он один,выполняешь запрос - другой
30 H A D G E H O G s
 
04.07.12
17:00
Все в управляемом, уровень не меняется.
31 H A D G E H O G s
 
04.07.12
17:04
32 H A D G E H O G s
 
04.07.12
17:05
Данные, которые ты хочешь ИЗМЕНИТЬ при проведении блокируются исключительной блокировкой. Данные, НЕИЗМЕННОСТЬ которых ты хочешь гарантировать в процессе проведения блокируются разделяемой.
Простейший пример остатки и резервы. При проведении тебе нужно проверить достаточность остатков с учетом резервов, но движения будут сделаны только по регистру остатков. Чтобы быть уверенным, что ты не превысишь резерв на него накладывается разделяемая блокировка. Т.е. посмотреть резерв другие могут, а вот поменять уже нет.
33 H A D G E H O G s
 
04.07.12
17:05
Только почему у меня это не работает
34 H A D G E H O G s
 
04.07.12
17:14
Ааа, похер.
35 Aprobator
 
04.07.12
17:22
Свойство конфы: Режим управления блокировкой данных тебе в помощь. Там помнится была связь режима конфы и режима блокировки регистров. Точно уж и не помню какая.
36 H A D G E H O G s
 
04.07.12
17:28
(35) Управляемая
37 Aprobator
 
04.07.12
17:52
(36) вот по моему Управялемая у конфы и Автоматическая у регистра - в данном случае ПРИ ИЗМЕНЕНИИ не отрабатывает.Ща попробую поконкретнее глянуть.
38 Aprobator
 
04.07.12
18:06
млин, помню, что где то в курсах было про это упоминание, но не нашел.
39 MM
 
06.07.12
18:04
(25) Ответ в (11) с дополнением, перед записью происходит наложение НЕЯВНОЙ исключительной блокировки по ключевым данным, которые записываются. А значит, запись будет ждать исключительную блокировку и наоборот.
Ключевые данные: это для регистра - измерения (есть нюансы с периодами, в зависимости от того включено ли разделение записи итогов), для объектов это ссылка.
А запросы, в управляемой транзакции, для сервера 1С, никак с блокировками не связаны, слово ПРИ ИЗМЕНЕНИИ игнорируется.
Замечание, разделяемая блокировка на практике редко нужна.
Основная теорема систематики: Новые системы плодят новые проблемы.