Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / [игнор отключен] [закрыт для гостей] / Режим блокировки / 10 сообщений из 10, страница 1 из 1
08.05.2011, 19:12
    #37251397
The Dim!
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Режим блокировки
1С умеет работать с двумя видами блокировок: Управляемая и Автоматическая (ну и конечно смешаный режим).

Если в свойствах конфигурации установлены Управляемые блокировки, а у справочника (например, Номенклатура) стои Автоматический. То в какой тип блокировок используется при записи элемента справочника?



Навеяно вот чем.

Из описание НачатьТранзакцию(<РежимБлокировок>).

Установка параметра имеет смысл, если для свойства конфигурации "Режим управления блокировкой данных" выбрано значение "Автоматический и Управляемый".
...
Если к моменту вызова данного метода была начата транзакция, выполняющаяся в управляемом режиме блокировок, то установка значения параметра Автоматический приведет к возникновению исключительной ситуации



Имеется УПП 1.3.8.1, платформа 8.2.13.219.

Вот такой вот код
Код: plaintext
1.
2.
3.
4.
Элемент = Справочники.Номенклатура.СоздатьЭлемент();
Элемент .Наименование = "Блокировка";
НачатьТранзакцию(РежимУправленияБлокировкойДанных.Управляемый);
Элемент .Записать();
ЗафиксироватьТранзакцию();

У справочника Номенклатура тип блокировок - Автоматический.

Если у конфигурации выставлен смешаный тип блокировок, то код - как и положено - валится с ошибкой.
Если у конфигурации выставлен управляемый режим блокировок, то код отрабатывает. Почему так, тоесть все транзакции "автоматически" стали управляемыми... ?

P.S.
В Управляемом режиме блокировок, делал так:

Код: plaintext
1.
2.
3.
4.
НачатьТранзакцию(РежимУправленияБлокировкойДанных.Управляемый);
НачатьТранзакцию(РежимУправленияБлокировкойДанных.Автоматический);
Элемент .Записать();
ЗафиксироватьТранзакцию();
ЗафиксироватьТранзакцию();

код так же успешно отрабатывает...
...
Рейтинг: 0 / 0
08.05.2011, 19:58
    #37251420
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Режим блокировки
Автоматический - означает что берется из конфигурации - тоесть управляемые блокировки (если конечно в конфе стоят).

Или я что-то не понял в вопросе?

ps Внутренняя транзакция - игнорируется, насколько я помню.
...
Рейтинг: 0 / 0
08.05.2011, 19:58
    #37251421
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Режим блокировки
не внутренняя а вложенная
...
Рейтинг: 0 / 0
08.05.2011, 23:07
    #37251532
The Dim!
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Режим блокировки
Программист 1сАвтоматический - означает что берется из конфигурации - тоесть управляемые блокировки (если конечно в конфе стоят).

Или я что-то не понял в вопросе?

ps Внутренняя транзакция - игнорируется, насколько я помню.

Исходя из описания , при Автоматической блокировке, блокировками уравляет СУБД. В случае Управляемых - платформа(менеджер транзакционных блокировок 1С:Предприятия, независимый от используемой СУБД). Причем этот менеджер - насколько я понимаю - находится в ядре сервера приложений, потому как в случае обоих видов блокировок файловый вариант всегда блокирует таблицу целиком.


Попробую перефразировать вопрос...

В случае, когда у конфигурации установлен смешаный режим блокировок он определяется установкой объектов. Ну тоесть, если у справочника(например Номенклатура) стоит Автоматический режим, то блокировками будет управлять СУБД. Если управляемый - платформа.

Вопрос 1.
А вот в каком режиме будет работать блокировки, если у справочника стоит Автоматичский, а у конфигурации выставлен Управляемый режим блокировок?

Вопрос 2.
Почему, в такой конфигурации отрабатывает код, в котором внутрь Управляемой транзакции вложена Автоматическая?
В документации сказано что должна генерится ошибка.


Как-бы у меня напрашивается два варианта ответа.

1. Данные на сайте приведены для 8.1, а на 8.2 оно как-то иначе работает - тогда интересно как. Тогда непонятно почему во встроенной справке это не отражено.
2. В случае, когда у конфигурации усновлен Управляемый режим, все объекты- независимо от своих установок - переводятся в управляемый режим блокировок. Но.... тогда опять-же, почему при явном указании типов транзакций (см. пример кода 2) не генерится ошибка. Или... тогда получается, что в этом режиме все работает в управляемых блокировках или приводится к ним...
3.... ?
...
Рейтинг: 0 / 0
08.05.2011, 23:09
    #37251535
The Dim!
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Режим блокировки
[quot The Dim!Причем этот менеджер - насколько я понимаю - находится в ядре сервера приложений, потому как в случае обоих видов блокировок файловый вариант всегда блокирует таблицу целиком.[/quot]

Не знаю где он находится, но смысл переводить базу в режим Управляемых блокировок есть только у Клиент-Серверных вариантов. Так получается... ?
...
Рейтинг: 0 / 0
09.05.2011, 09:28
    #37251640
DmitriyZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Режим блокировки
The Dim!, Если у конфигурации установлен режим блокировок "Управляемый" все объекты записываются в режиме управляемых блокировок. Ошибка будет генериться только в случае режима "Автоматический и управляемый" у конфигурации. В этом случае система берет вид блокировки из объекта и таки да, тогда возможны конфликты.
...
Рейтинг: 0 / 0
09.05.2011, 09:32
    #37251641
DmitriyZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Режим блокировки
The Dim![quot The Dim!Причем этот менеджер - насколько я понимаю - находится в ядре сервера приложений, потому как в случае обоих видов блокировок файловый вариант всегда блокирует таблицу целиком.

Не знаю где он находится, но смысл переводить базу в режим Управляемых блокировок есть только у Клиент-Серверных вариантов. Так получается... ?[/quot]

Да, имеет смысл для клиент - сервреных вариантов. Больше скажу, в случае ORACLE и POSTGRES это сделать необходимо (т.к. это версионники и 1С в режиме автоматических блокировок будет тоже блокировать всю таблицу целиком)
...
Рейтинг: 0 / 0
09.05.2011, 21:20
    #37251989
The Dim!
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Режим блокировки
DmitriyZThe Dim!, Если у конфигурации установлен режим блокировок "Управляемый" все объекты записываются в режиме управляемых блокировок. Ошибка будет генериться только в случае режима "Автоматический и управляемый" у конфигурации. В этом случае система берет вид блокировки из объекта и таки да, тогда возможны конфликты.

Надо думать, что так и есть на самом деле. А можно ссылку где это написано?
...
Рейтинг: 0 / 0
10.05.2011, 07:54
    #37252170
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Режим блокировки
1. Управляемая.
2. Как уже сказал вложенная транзакция фактически игнорируется... а ошибка не выдается - отпишитесь им - может скажут Фича
...
Рейтинг: 0 / 0
10.05.2011, 09:03
    #37252202
DmitriyZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Режим блокировки
The Dim!DmitriyZThe Dim!, Если у конфигурации установлен режим блокировок "Управляемый" все объекты записываются в режиме управляемых блокировок. Ошибка будет генериться только в случае режима "Автоматический и управляемый" у конфигурации. В этом случае система берет вид блокировки из объекта и таки да, тогда возможны конфликты.

Надо думать, что так и есть на самом деле. А можно ссылку где это написано?

Если есть доступ http://kb.1c.ru/articleView.jsp?id=30, если нет книга: http://v8.1c.ru/metod/books/book.jsp?id=105
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Режим блокировки / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]