Сервер 1С 8.3 УФ место хранения блокировок объектов #785205


#0 by Garykom
Собственно сабж где хранится в базе данных или памяти сервера 1С или и там и там?
#1 by H A D G E H O G s
В сеансовых данных
#2 by Garykom
Это гениальный ответ... А "где хранятся сеансовые данные?" это у меня был как бы 2-й вопрос
#3 by Garykom
+ в 8.0 было "Файл 1Cv8cl является носителем блокировок объектов базы данных, расположенной в файле" во временном каталоге юзера от кого процесс сервера запущен.
#4 by H A D G E H O G s
Открой для себя мануал. snccntx.dat
#5 by Garykom
Уже. А никакой разницы в месте хранения в вида блокировок (Автоматические/Управляемые/Оба) нет? Или какое то дублирование происходит?
#6 by Torquader
Автоматические и управляемые - это блокировки транзакций. А блокировки объектов - это немного другое - это когда вызывается Заблокировать(Истина).
#7 by H A D G E H O G s
Автоматических блокировок в 1С нет.
#8 by Garykom
"Режим автоматических блокировок в 1С:Предприятии 8.1 полностью аналогичен механизму транзакционных блокировок, использовавшемуся в версии 8.0. В этом режиме 1С:Предприятие целиком «полагается» на возможности, предоставляемые СУБД (рис. 15)."
#9 by H A D G E H O G s
"В этом режиме 1С:Предприятие целиком «полагается» на возможности, предоставляемые СУБД" Автоматических блокировок нет в 1С.
#10 by Garykom
"При выборе значений Автоматический или Управляемый режим блокировок при чтении или записи данных любого объекта конфигурации будет определяться именно этим выбранным значением. Например, если установлен режим Автоматический, то при записи, скажем, любого элемента справочника, будут использоваться автоматические блокировки, устанавливаемые СУБД. Собственнный менеджер блокировок задействован не будет. Поведение системы будет полностью аналогичным поведению версии 8.0. Если же установлен режим Управляемый, то, независимо от того, какие режимы управления блокировками установлены для конкретных объектов конфигурации (об этом смотри далее), при записи, скажем, документа система всегда будет самостоятельно устанавливать необходимые управляемые блокировки, которые будут обрабатываться собственным менеджером транзакционных блокировок. Этот режим предназначен для работы всей конфигурации только с управляемыми блокировками в транзакции. Если же для свойства конфигурации выбран режим Автоматический и управляемый, то для конкретного объекта конфигурации режим блокировки будет определяться значением свойства Режим управления блокировкой данных самого объекта конфигурации (рис. 18)."
#11 by Garykom
Вот это и пытался узнать в . Итого блокировки или хранятся в БД или + в файле на диске (отображаемом в память)
#12 by H A D G E H O G s
Уже неплохо.
#13 by Garykom
+ По сути сервер 1С не знает при записи (только автоматические блокировки от БД) заблокирован объект или нет. И получив ошибку от БД возвращает ее, так? Выходит в этом случае хрен получишь "полный список заблокированных объектов"
#14 by H A D G E H O G s
Она и при управляемых блокировках этого не знает.
#15 by Torquader
SQL ставит блокировки на записи в таблице на уровне сервера, и узнать, что он там поставил - не так уж и просто.
#16 by H A D G E H O G s
Да можно, dm_tran_locks никто не отменял. Но... зачем? Да и муторно это и что даст?
#17 by H A D G E H O G s
Ковыряться 1Су в толпе различных СУБД. Сделаешь для православной ms sql - набигут всякие postgree/oracle фрики.
#18 by Garykom
Да в этом и проблема, еще и сервера могут быть разными ((
#19 by Garykom
+ сорри не то вставил БлокировкаДанных (DataLock) Элементы коллекции: ЭлементБлокировкиДанных Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы блокировки. Возможно обращение к элементам блокировки посредством оператора [...]. В качестве аргумента передается индекс (нумерация с 0). Методы: Конструкторы: По умолчанию Описание: Предназначен для явной блокировки данных от чтения или изменения другими сессиями. Доступность: Сервер, толстый клиент, внешнее соединение. Возможен обмен с сервером. Сериализуется.
#20 by Garykom
узнать какая *ука запрос в цикле внутри транзакции запустила...
#21 by TormozIT
Управляемая блокировка живет по адресу Сервер1С/ПроцессМенеджераКластера
#22 by Torquader
Просто, у документа несколько таблиц - при блокировке на уровне SQL может оказаться заблокирована только та таблица, в которую писали изменения или из которой читали. В той коллекции будут только те объекты, которые туда явно добавлены - неявные блокировки сию таблицу не посетят.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С