Как запретить одновременное выполнение обработки разными пользователями #607275


#0 by Drufa
1С 8.1 Как запретить одновременное выполнение обработки разными пользователями? Если я запустил обработку то у другого пользователя при нажатии на кнопку выполнить должно выскочить сообщение о том что эта обработка запущена "Ивановым Иваном Ивановичем" Сохранять данные на время обработки в константу или регистр не вариант. т.к. могут закрыть программу аварийно и тогда вообще никто не сможет запустить эту обработку, пока эту константу или регистр не очистить.
#1 by Нуф-Нуф
сделай документ
#2 by Drufa
Для чего?
#3 by Нуф-Нуф
хз. сам еще думаю
#4 by mikecool
+1
#5 by pumbaEO
Блокируй элемент справочника : внешние обработки.
#6 by mikecool
а чо думать - создавать один в день проверять заблокированность
#7 by Ненавижу 1С
блокировать запросом ДЛЯ ИЗМЕНЕНИЯ, по идеи не прочтут, пока транзакция не окончится
#8 by mikecool
хотя с блокировкой - овно, не факт , что первый нажал Выполнить задача - тоже овно, не стоит ее делать )))
#9 by NS
Блокировка служебного элемента справочника.
#10 by mikecool
под постгри я не был бы так уверен
#11 by Drufa
Не получилось с методом Заблокировать например справочника. И не получилось с запросом ДЛЯ ИЗМЕНЕНИЯ вроде запрос выполняется в транзакции но 2-я сессия все ровно читает объект.
#12 by pumbaEO
[Сохранять данные на время обработки в константу или регистр не вариант. ] - ну сделай на обработке "Секретную кнопку" которая будет обходить этот вариант.
#13 by NS
Не понял - два пользователя одновременно могут заблокировать один элемент справочника? Это шутка?
#14 by Stim
можно ЖР читать при открытии обработки. наверное..
#15 by Drufa
13 еще проверяю Я использовал проверку Заблокирован он говорит что не заблокирован. Счас пробую по попытке заблокировать повторно другой сессией.
#16 by NS
Зачем по попытке?
#17 by mikecool
Заблокировать делай, когда начинает выполняться отчет
#19 by Ненавижу 1С
разве читает? а мне Митичкин говорил, что и прочитать не сможет
#20 by kosts
+ к Переменную Блокировка на уровень модуля вынести
#21 by Drufa
Я думаю в обработке проведения не прочитает. Но в обработке прочитал.
#22 by ssh2006
Или режим управления блокировками - управляемый или не в транзакции запрос
#23 by Argon
аварийный выход снимет блокировку?
#24 by Drufa
Я в обработке начинал транзакцию не помогло.
#25 by Drufa
Должен.
#26 by ssh2006
режим управления блокировками в конф-ии какой?
#27 by NS
У меня обработка загрузки с ФТП была написана так что может глюкнуть только если запустить с двух машин одновременно, на счет раз-два-три (файл после загрузки документа сразу удаляется). Не поверишь - но начальник ночной смены с оператором именно так и сделали :) Пришлось добавить блокировку на справочнике. С дебилами иначе бороться бесполезно. Надо было их еще и оштрафовать на всякий случай. На справочнике самое то, нет смысла делать иначе.
#28 by ssh2006
2
#29 by Конфигуратор1с
в настройки пользователя писать, а при начале работы системы этого пользователя сбрасывать флаг
#30 by NS
Да, снимет.
#31 by Ненавижу 1С
просто транзакцию надо явно открыть
#32 by Конфигуратор1с
+ естественно вручную настройку не давать менять
#33 by Тим
если не блокировки, то можно попробовать сохранять сведения о сеансе, запустившем обработку. В случае, когда не почистили данные, делать опрос текущих сеансов, и если он не идентифицирован - снимать лок, т.е. чистить данные, писать свои.
#34 by Тим
В прнципе, у запустившего сеанса время начала работы достаточно уникально. Если не найден сеанс под тем же номером и с тем же временем - можно снимать лок.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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