Заблокировать обмен в 1с
Есть план обмен, работа с которым реализована следующим образом:
Функция ЗаполнитьСтруктуруИзмененийДляУзла_Справочники(УзелПланаОбмена, ИмяТаблицы)
Если Метаданные.Справочники.Найти(ИмяТаблицы) <> Неопределено Тогда
Если ЗначениеЗаполнено(УзелПланаОбмена) Тогда
Запрос = Новый Запрос;
Запрос.Текст ="ВЫБРАТЬ ПЕРВЫЕ 3000
| Изменения.Ссылка КАК Объект
|ИЗ
| Справочник." + ИмяТаблицы + ".Изменения КАК Изменения
|ГДЕ
| Изменения.Узел = &Узел";
Запрос.УстановитьПараметр("Узел", УзелПланаОбмена);
//
Если ДанныеРегистрации.Количество() > 0 Тогда
2) Происходит выгрузка сведений
3) Удаление из плана обмена успешно выгруженных данных (и не поменявшихся за момень выгрузки)
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ПланыОбмена.УдалитьРегистрациюИзменений(УзелПланаОбмена, Выборка.Объект);
КонецЦикла;
Иначе
РезультатФункции = Ложь;
КонецЕсли;
Иначе
РезультатФункции = Ложь;
КонецЕсли;
После запуска этого механизма стала возникать ошибка блокировки:
Ошибка при вызове метода контекста (ВыбратьИзменения): Конфликт блокировок при выполнении транзакции:
Microsoft SQL Server Native Client 11.0: Транзакция (идентификатор процесса 55) вызвала взаимоблокировку ресурсов блокировка с другим процессом и стала жертвой взаимоблокировки. Запустите транзакцию повторно.
Т.е. блокировку вызывает вот эта строчка:
Поиски в интернете показали, что Да "ПланыОбмена.ВыбратьИзменения" вызывает блокировку.
Но почему она длительная и мешает и как можно адекватно обойти ее - не понятно
Еще бы она не вызывала блокировку. Она же пишущая.
А вот почему другой процесс в нее упирается и какой именно процесс - вопрос.
Релиз, платформа, режим блокировок?
"какой именно процесс в нее упирается" - могу предположить .что механизм, который регистрирует изменения в узел.
Понятно, что она пишущая. Не понятно, почему она на столько "блокирующая".
Как лучше обойти проблему с присвоением номера выбираемым данным я не нашел. Во всех источниках применяется примерно такая же логика.
(1) сделай обмен почаще, что бы порцайки не такие большие были
таблица плана обмена блокируется вся и наглухо. очень узкое место во всей концепции обменов на Планах
В режиме блокировок "Автоматический" для дедлока достаточно, чтобы оба процесса успели параллельно прочитать что-то нужное друг-другу для записи.
В управляемых блокировках это бы возникло только если бы они успели записать что-то нужное друг-другу для записи (так как де-факто управляемые блокировки сейчас на версионнике работают).
Но даже для первого варианта вроде эти звезды свести непросто. Хотя "Автоматический" еще эскалировать любит. Такое ощущение, что у тебя какие-то массированные пишущие регламенты крутятся, которые одно и то же могут перезаписывать. В итоге и таблица изменений постоянно большая и куча изменений тех же данных постоянно прилетает. Если это так, то попробуй развести их по времени хотя бы.
(6) Если бы она блокировалась вся и наглухо - то дедлоков бы не было. Был бы просто большой тайм-аут на блокировке и в худшем случае "опоздавшая" транзакция отваливалась бы по тайм-ауту.
Работа с РИБ в рамках данной статьи рассмотрена не будет, так как РИБ полностью основан на описанных в статье механизмах.
Структуры данных.
План обмена на уровне СУБД это таблица, которая имеет название вида "_Node[N]", где N - это внутренний числовой код типа данных 1С:Предприятие 8. В данном случае этот код будет соответствовать плану обмена.
Создадим тестовый план обмена. В конфигураторе 1С (изображение слева) и в SQL Server Management Studio (изображение справа) это будет выглять следующим образом:
Как мы видим по структуре таблицы справа, план обмена очень похож на справочник. Это тоже ссылочный тип данных. Однако, от справочников его отличает то, что он не может иметь групп и быть иерархическим.
Структура таблицы "_Node69" плана обмена "Тестовый"
Следует отметить, что при создании плана обмена, платформа автоматически создаёт предопределённый узел, соответствующий текущей информационной базе, в которой он создаётся. Реквизиты "Код" и "Наименование" по умолчанию имеют пустые значения, их необходимо заполнить самостоятельно. Для того, чтобы убедиться в этом, выполним следующий код в SQL Server Management Studio:
После того, как мы добавили план обмена, необходимо включить в его состав какой-нибудь объект, чтобы начать ослеживать изменения его данных. Включим в наш тестовый план обмена справочник "Номенклатура". После сохранения конфигурации платформа создаёт для этого справочника служебную таблицу регистрации изменений. Такую таблицу платформа создаёт для каждого включённого в план обмена объекта. Если объект включается в состав нескольких планов обмена, то таблица для регистрации изменений на уровне СУБД используется одна и та же.
Структура таблицы "_ReferenceChngR71" справочника "Номенклатура".
Таким образом, таблица регистрации изменений состоит из трёх обязательных полей и одного и более полей, которые необходимы для поиска изменившихся данных в основной таблице объекта. Для ссылочных типов данных таких, как справочники или документы, достаточно одного поля - "Ссылка". Однако для табличных типов данных, как, например, регистры сведений или регистры накопления, этих полей может быть несколько. Это зависит от установленного для измерений таких объектов свойства "Основной отбор". Более подробно об этом можно прочитать в книге "Профессиональная разработка в системе 1С:Предприятие 8. Издание 2." на странице 484.
По умолчанию планы обмена используют автоматическую регистрацию изменений объектов, которые включены в их состав. Однако это поведение можно изменить. В таком случае придётся использовать программную (ручную) регистрацию. Отключить авторегистрацию можно так, как это показано на картинке ниже.
Индексы таблиц регистрации изменений.
Для полноты картины приведу здесь информацию об индексах, которые создаёт платформа для таблиц регистрации изменений. Комментировать ничего не буду, так как, по моему и так всё понятно. Их всего два:
1. Ключ + Узел (кластерный).
Момент выполнения регистрации изменений.
Интересным является то, в какой момент при записи объекта в информационную базу выполняется регситрация его изменения. Ниже я привожу последовательность возникновения событий, которая возникает при проведении документа. При этом включена автоматическая регистрация изменений для этого документа в плане обмена. При ручной регистрации мы можем вставить код регистрации изменений в любом месте нижеприведёной последовательности событий.
1. Начало транзакции записи документа.
9. Фиксация транзакции записи документа.
Почему важно понимать в какой момент происходит регистрация изменений? И почему я привёл в пример именно документ? Дело в том, что регистрация изменений выполняется в одной транзакции с записью и проведением документа. Это обеспечивает согласованность этих двух операций: проведения и регистрации. Следовательно, любая логика регистрации изменений влияет на продолжительность этой транзакции, а также на момент выполнения запроса на блокировку записей таблицы регистрации изменений. В высоко нагруженных системах такой запрос часто приводит к ожиданию на блокировках, которые ранее уже наложила, например, процедура выгрузки изменений. Далее в статье я расскажу об этом более подробно.
Для регистрации изменения выполним следующий код 1С:
Если мы воспользуемся SQL Server Profiler и посмотрим, что происходит при вызове процедуры "ЗарегистрироватьИзменения", то мы увидим следующий код (для удобства восприятия код немного "причёсан"):
Обратите внимание, что если мы изменим один и тот же объект несколько раз, то запись изменений для этого объекта будет только одна. Это ключевая особенность планов обмена! Фактически это делает такую запись дефицитным ресурсом, за захват которого конкурируют разные транзакции. Если быть более точным, то таким ресурсом является поле "_MessageNo" этой записи.
По сути, если вы знакомы с проблемой блокировок при обновлении таблицы итогов регистров накопления, то здесь вы увидите схожую ситуацию. Ситуация аналогичная таблицам итогов возникает для планов обмена периодически и только в тех случаях, когда происходит выгрузка изменений. Однако, если в случае с регистрами накопления мы можем использовать режим разделения итогов, чтобы распраллелить хотя бы запись в таблицу итогов, то здесь этой возможности нет. Более подробно об этом будет рассказано ниже.
Ещё одним нюансом, который следует учитывать в высоко нагруженных системах, является то, что даже если мы просто перезапишем объект, ничего в нём не изменив, регистрация изменения этого объекта всё-равно будет выполнена. По этому для таких систем, в качестве оптимизации производительности, можно рекомендовать использование ручной регистрации изменений с контролем фактического изменения данных объекта.
Кроме этого очень важно то, что изменение регистрируется для всех узлов плана обмена. То есть если бы в нашем плане обмена было 10 узлов, то изменение одного объекта потребовало бы создания 10 записей, 100 узлов - 100 записей и так далее. И это только для одного изменения. Этот факт тоже важно учитывать.
Просмотр изменений.
Теперь попробуем изменить что-нибудь в нашем справочнике "Номенклатура" и посмотрим как это отразится в таблице регистрации изменений. Для этого можно воспользоваться следующими запросами 1С или T-SQL:
Однако, мы ничего не увидим . Дело в том, что регистрация изменений выполняется только в контексте узлов плана обмена. Это ещё одна ключевая особенность этого объекта конфигурации: все изменения регистрируются только в контексте какого-нибудь узла обмена. Поэтому добавляем новый узел в созданный ранее план обмена "Тестовый", и пытаемся изменить что-нибудь в справочнике "Номенклатура" снова. После этого проверяем таблицы изменений ещё раз и видим, что там появились записи.
Удаление регистрации изменений.
Теперь, чтобы удалить регистрацию изменения, выполним такой код 1С:
На этот раз 1С ограничивается одной командой SQL, пытаясь наложить всю ту же самую эксклюзивную блокировку по тому же самому ключу, что в общем-то ожидаемо и вполне нормально:
Версия платформы 1С:Предприятие 8.3.7.2027. Управляемый режим блокировок.
В книге "Профессиональная разработка в системе "1С:Предприятие 8" (издание 2) от 2012 года на странице 491 написано следующее:
Если посмотреть ТЖ 1С, то там мы не увидим установки блокировки. Значит управляемая блокировка не устанавливается. На уровне СУБД мы увидим обычный запрос, который характерен для вызова метода ссылки "ПолучитьОбъект":
Теперь проверим, что изменилось:
Ошибок блокировки не было. Поле "_MessageNo" изменилось, сигнализируя нам, что его необходимо выгрузить. Так какая же блокировка имелась ввиду в книге? Неужели всё-таки ошибка? Ошибки никакой нет. Чтобы убедиться в этом выполним в сессии № 2 следующий код 1С:
: Ошибка при вызове метода контекста (Заблокировать): Не удалось заблокировать запись. Действие (изменение, удаление или блокировка записи) не выполнено.
Ошибка блокировки объекта. Объект уже заблокирован:
компьютер: Zhichkin, сеанс: 45, начат: 24.11.2016 в 1:00:46, приложение: Толстый клиент
Получается, что автор книги имел в виду объектную блокировку узла, а не блокировку записи базы данных. Следовательно, для того, чтобы убедиться в том, что выполняется выгрузка изменений по узлу, необходимо выполнить выше приведённый код и, если возникнет ошибка блокировки, то значит так оно и есть. Посмотрим что будет происходить дальше:
При этом если мы зарегистрируем по этому узлу и типу объекта новое изменение, то оно успешно запишется. Более того, если это произойдёт до команды SELECT, то в выборку изменений попадут и эти новые изменения. Что интересно номер отправленного у них будет равен NULL, хотя это совершенно не так.
Кроме этого если записей будет более 5000, то может произойти эскалация блокировок SQL Server. В таком случае может оказаться заблокированной вся таблица. Чтобы этого не происходило, администраторы баз данных часто отключают на уровне SQL возможность возникновения такой эскалации, однако это не запрещает эскалации до уровня страниц (имеют размер 8 Kb), что может приводить к избыточной блокировке записей не попадающих в условия отбора команды UPDATE, но находящихся на одной странице вместе с нужными записями.
Таким образом к негативным последствиям выполнения операции выборки изменений можно отнести следующие:
1. Конфликт блокировок при одновременной работе пользователей и выгрузки изменений. Это может происходить, например, при частом перепроведении одних и тех же документов. При этом следует иметь в виду, что, чем больше изменений накопилось к моменту выгрузки, тем дольше выполняется транзакция и тем выше вероятность возникновения блокировок. В высоко нагруженных информационных системах это обстоятельство может приводить к большим проблемам.
2. Избыточные блокировки при больших объёмах изменений из-за эскалации блокировок SQL Server. Усугубляет последствия первого пункта.
Все выбранные изменения обрабатываются в оперативной памяти. Это происходит в следующем цикле:
Заключение.
Плюсы планов обмена:
1. Простота программирования и настройки.
Минусы планов обмена:
1. Избыточные блокировки данных.
2. Конфликты блокировок транзакций.
4. Гранулярность обработки данных - узел обмена.
5. Дублирование выгрузки данных.
6. Плохие возможности для распараллеливания процессов.
Во многих базах 1С работают обмены данными и загрузки из различных источников в Базу-приемник. И было бы неплохо в такой ситуации дать возможность пользователю защитить объект (документ, справочник) в Базе-приемнике от повторного затирания следующими итерациями обменов. Это необходимо, например, когда объекты в Базу-приемник приходят частично или не совсем корректно заполненными и ответственные пользователи вручную проверяют пришедший объект и дозаполняют его до нужного состояния. Но не могут зафиксировать свою работу предотвратив случайное затирание при следующей загрузке.
Примечание: Стандартная дата запрета не защищает объекты 1С от изменения загрузками данных, т.к. не контролирует внесение изменений объекта в режиме ЭтотОбъект.ОбменДанными.Загрузка = Истина, в котором работают загрузки и обмены, поэтому требуется доработка контроля. Я, например, использовал это расширение при загрузках универсальным обменом данными из УПП в ЕРП в период перехода с одной базы на другую, вообще можно использовать при любых обменах между базами (см. ниже блок Проверка работоспособности в конфигурациях).
Немного о расширении:
Ниже пара простых примеров установки блокировки:
Блокируем документ прием на работу от изменения обменом, нажав кнопку защиты (на картинке - обмен открыт, - обмен закрыт)
Картинка изменяется, что значит что объект защищает от затирания повторными загрузками.
Также, например, можем за блокировать и сотрудника (напомню, что сотрудник и физическое лицо есть разные справочники, поэтому при необходимости физическое лицо блокируйте отдельно)
Также, например, можем за блокировать и контрагента (напомню, что контрагент и партнер есть разные справочники, поэтому при необходимости блокируйте их отдельно)
Работа расширения успешно проверено на платформе 1С:Предприятие 8.3 (8.3.18.1520) в конфигурациях:
- 1С:ERP Управление предприятием 2 (2.4.11.91, 2.5.7.201)
- 1С:Комплексная автоматизация 2 (2.4.9.98)
- 1С:Управление торговлей, редакция 11 (11.4.8.84)
- 1С:Зарплата и управление персоналом, редакция 3.1 (3.1.18.337, 3.1.20.97)
- 1С:Бухгалтерия предприятия, редакция 3.0 (3.0.106.60)
Т.к. в расширении подписки на события используются, то Режим совместимости конфигурации нужен от Версия 8.3.16 (либо удаляйте подписки из расширения и делайте перехват процедур от подписок перед записью из конфигурации)
Расширение использует универсальные механизмы, общие для многих продуктов 1С, поэтому может быть подключено к разным продуктам 1С либо доработано с минимальными затратами. Конфигурация продукта 1С должна быть построена на базе БСП (Библиотеки стандартных подсистем, входит в типовые конфигурации 8.3)
ВЕРСИИ ДЛЯ СКАЧИВАНИЯ:
-
Расширение: Защита объектов от изменения обменом (версия 04.01.2022 с отказом) - При загрузка выполняется отказ от записи защищенного объекта, нужно сочетать с признаком продолжения загрузки при возникновении ошибки, либо анализировать и убирать из регистрации в источнике запрещенный объект. Обратите внимание, что
ЭтотОбъект.ОбменДанными.Загрузка=Истина может вызываться, например, в обработке редакторе объекта
и других местах, поэтому можно в код добавить проверку пользователя или специальной роли. Так на автообмены для фонового обычно выделяют определенного пользователя и можно добавить проверку на его имя. Вообщем, код открыт, используйте расширение как шаблон, дополняя по своей специфике. Вместо подписок на событие в Правилах обмена можно обращаться к регистру, хранящему защищенные объекты и выполнять отказ от записи объекта (зависит от контекста задачи).
Подключить расширение может в режиме конфигуратора Администратор1С (описание он сам знает) либо Пользователь1С, открыв 1С:Предприятие, и далее в главном окне:
1) Переходим в Главное меню - Настройки - Параметры - Режим технического специалиста;
2) Переходим в Главное меню - Функции для технического специалиста - Стандартные - Управление расширениями конфигурации - Добавляем расширение;
3) Перезапускаем сеанс 1С:Предприятие;
Рис. Форма подключения расширения
Обработка выгрузки и загрузки данных через XML между идентичными конфигурациями с возможностью установки произвольных отборов на выгружаемые объекты.
Подключаемый отчет на системе компоновки данных по типам объектов 1С показывает: 1) Совокупности таблиц SQL для хранения объекта 1С и их предназначение; 2) Число объектов данного типа; 3) Размеры хранения данных и индексов в MB (мегабайтах); 4) Сравнение данных двух баз
Предназначается для запуска сеанса другого пользователя из своего сеанса 1С (если пароль вам неизвестен).
Если пользователю не хватает прав на объект, то на практике в 90 % случаев, недостающую роль можно найти через типовой регистр сведений Права ролей. Также с помощью дополнительного отчета или небольшого расширения можно ускорить описанный процесс.
Онлайн диаграмма доступных лицензий 1С и показателей ресурсов сервера 1С в различных измерениях и отборах.
Обработка ищет все объекты базы, в которых одновременно присутствуют перечисленные элементы. Построена на базе типовой обработки Все функции - Стандартные - Поиск ссылок на объект, но позволяет накладывать отбор не по одному объекту, а по нескольким, что позволяет настраивать поиск по комбинациям условий
Часто не хватает визуализации хронологии документов в структуре подчиненности и кнопок проведения. Это расширение конфигурации, с функционалом структуры подчиненности документов, отображающее хронологическую последовательность документов во времени и дающее доступ к проведению, отмене проведения, пометке на удаление документов непосредственно в форме подчиненности.
Обработка для массовой проверки доработок конфигурации: Открытие форм, Печать, Формирование отчетов, Проведение документов, Запись справочников, ПВХ, ПВР. Выдает список обнаруженных ошибок. Рекомендуется применять для тестирования обновленной конфигурации, перед установкой пользователям. В коде используются универсальные методы поэтому подходит для большинства конфигураций, построенных на базе библиотеки стандартных подсистем.
Групповая обработка ссылок вида Объект не найден (502:37855254002e11eb11e73b8f36150d9e) заполняется максимально просто копированием и вставкой из буфера: 1) Выделяет уникальные идентификаторы (далее УИ); 2) Ищет ссылки на объекты базы по УИ; 3) Создаёт пустые объекты с указанным УИ; 4) Регистрирует найденные ссылки для обмена данными. Работает на любых продуктах 8.3
Обработка на управляемых формах для работы с календарями google, событиями календарей и контактами.
Обработка проверяет наличие и решает проблему с ошибкой развернутого сальдо в Оборотно-сальдовой ведомости (регистр бухгалтерии Хозрасчетный) из-за ошибки Универсального редактора реквизитов или кода программиста, устанавливающего пустые ссылки в значениях Валюты, Подразделения, Направления деятельности не равными NULL. И пересчёт итогов тут точно не поможет.
Выполнил 3 разных теста для проверки серверного оборудования (тест 1С, тесты gilev) на возможное число 1С онлайн-пользователей одновременно работающих на нем и интерпретировал результаты тестов через легких, средних и тяжелых пользователей с помощью таблицы с профилями реальных пользователей.
Перед началом проекта требуется определить параметры серверного и клиентского оборудования, необходимые для работы внедряемой программы 1С:Предприятие, и учесть будущую нагрузку, которая ляжет на систему в реальной рабочей обстановке. Мощность оборудования должна быть достаточной для нормальной работы пользователей. Но как подобрать сервер простым способом?
На время сеанса отключаем контроль остатков и проверку документов в ERP, КА, УТ типовыми средствами и простым расширением.
Часто при моделировании примеров бизнес-процессов, на запуске в эксплуатацию или закрытии требуется несколько раз прогнать ситуацию с разными настройками, а для этого изменить, удалить ранее введенную цепочку документов. Дается все это с трудом. Ты уверен, что не навредишь своими действиями системе, но документы цепляют друг друга и ругаются контролями остатков, не разрешая тебе менять их в произвольном порядке.
Есть несколько удобных опций для облегчения внесения изменений.
Для уведомления пользователей программных продуктов 1С о разных событиях, в них включена подсистема «Новостной центр». Это довольно удобная штука, т.к. новостные ленты сообщают о выходе обновлений, о новостях и событиях в сфере учёта. Но можно увеличить пользу от новостной подсистемы используя её локально в рамках 1С базы. Например, внутренняя служба техподдержки или внедряющая компания может через новостную ленту оповещать пользователей информационной базы об изменениях в программе, совещаниях, проведении тестирований, заполнения нужных документов или сдача отчетов к определенной дате и т.п.
Пример технического задания для практического понимания основных разделов.
Кратко описаны основополагающие моменты при старте групповой разработки конфигурации несколькими программистами. Полезно для проектной документации как требование к разработчикам или сопровождающей компании
В многопользовательских системах важную роль играет правильная организация структуры и настройка блокировок. Если ее нет, пользователям придется часто сталкиваться с ошибками, вызванными конкуренцией за определенные ресурсы системы. Но существует проблема конфликта блокировок, знакомая многим пользователям. Почему возникает конфликт блокировок 1С и как его устранить?
Конфликт блокировок в 1С 8.3 и его значение
Рис.1 Конфликт блокировок
Причины возникновения ошибок блокировки в 1С
Показательные нагрузочные тестирования демонстрируют, что сервер 1С выдерживает параллельную работу более чем пяти тысяч пользователей. Но идеальные условия подобных экспериментов недостижимы в повседневных условиях крупных и средних компаний. Чтобы добиться аналогичного быстродействия и безошибочности, конфигурация должна быть идеально разработана и заточена под конкретные бизнес-процессы предприятия.
Если не брать идеальные варианты, то конфликты блокировок 1С встречаются по следующим причинам:
Одновременная работа пользователей с большим объемом данных. Эта первопричина продиктована внутренними механизмами 1С. Они предполагают запрет изменения данных, вовлеченных в транзакцию, запущенную от имени другого пользователя;
Ошибки и недочеты в конфигурации. В структуре типовых решений от компании «1С» учтены рекомендации по максимизации производительности. Но сторонние разработчики не всегда придерживаются высоких стандартов, и в их коде часто можно встретить следующие недочеты:
- Неоптимальные запросы;
- Запрос остатков в начале действий;
- Непонимание предназначения объектов конфигурации и их неправильное применение;
- Избыточность заложенных в системе или дополнительно разработанных блокировок.
Решением проблемы конфликта блокировок в 1С 8.3 может стать перевод конфигурации на управляемый (ручной) режим управления блокировками. Реализованный в версии 8.1, механизм в руках грамотных специалистов решает проблему конфликта блокировок при транзакции в 1С.
Рис.2 Перевод на ручной режим управления блокировками
Но стоит иметь в виду, что это действие снизит уровень защиты данных от изменения в процессе чтения их другими пользователями. Поэтому, если вы не готовы самостоятельно контролировать все блокировки в системе, не торопитесь изменять настройки конфигурации.
Быстрое решение конфликта блокировок 1С
В работе администратора или разработчика может произойти ситуация, когда нет времени на проверку ошибки и поиск первопричин проблемы. Например, необходимо сдать отчет или подать данные к определенному времени, а ошибки блокировок 1С препятствуют этому.
Для быстрого решения проблемы существуют два пути:
- Найти и завершить сеанс, заблокировавший необходимые данные. В небольших компаниях, где количество пользователей 1С не превышает пары десятков человек, это оптимальный вариант решения;
- Если вы контролируете систему, в которой работают сотни сотрудников, поиск нужного сеанса без специализированного программного обеспечения может затянуться надолго. В этом случае намного эффективнее будет перезагрузить сервер.
Эти решения радикальные и направлены только на быстрое решение проблемы и освобождение данных для срочной сдачи отчетов. Искоренить ее можно только разобравшись в причине, из-за которой возник конфликт блокировок при выполнении транзакции 1С. После таких действий необходимо найти уязвимые места в системе, оптимизировать конфигурацию или работу сотрудников. Использовать подобные меры на постоянной основе при регулярных конфликтах блокировок на транзакциях не рекомендуется.
При работе с 1С иногда требуется корректно заставить всех пользователей выйти из базы данных, причем вне зависимости от того, находятся ли они на рабочем месте или нет. Этот процесс можно реализовать с помощью процедуры «Блокировка пользователей в 1С».
2. Пошаговый процесс Блокировки сеансов в 1С
Для того чтобы вы могли запустить процедуру «Блокировка пользователей в 1С», в первую очередь вы должны быть пользователем с административными правами к текущей базе данных. Мы рассмотрим запуск процедуры на примере демонстрационной базы «1С:Бухгалтерия 8».
Откройте справочник Пользователи в 1С и убедитесь, что у «вашего» пользователя есть необходимые права доступа для блокировки сеансов в 1С.
Далее в справочнике Пользователи 1С нужно перейти в пункт меню Администрирование / Обслуживание и запустить процедуру «Блокировка пользователей в 1С» по ссылке:
После того как вы нажмете кнопку «Установить блокировку» на платформе «1С:Предприятие 8» начнется процесс блокировки сеансов в 1С пользователей и будет происходить автоматическое завершение их работы в системе. Для пользователя с административными правами будет выводиться запрос о завершении работы 1С, т.к. возможно администратору нужно провести некоторые процедуры над данными в базе.
Если вам необходимо реализовать регламентные процедуры, создать систему прав для администрирования системы, вы всегда можете связаться со специалистами «Кодерлайн».
Специалист компании ООО «Кодерлайн»
Вас могут заинтересовать следующие статьи:
Читайте также: