Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) Как узнать, кто начал транзакцию? (число прочтений - 6370 )
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 854
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Как узнать, кто начал транзакцию?
14. Декабря 2012 :: 11:46
Печать  
Вопрос - а как узнать, кто начал транзакцию? На ДБФ базе. Вот если бы был перехватчик для НачатьТранзакцию().....
« Последняя редакция: 18. Декабря 2012 :: 09:42 - artbear »  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Известие о блокировке таблиц (глобальное)
Ответ #1 - 14. Декабря 2012 :: 11:52
Печать  
ну можешь писать ( в любую табличку) последнего в ОбработкаПроведения... более чем достаточно.
  
Наверх
 
IP записан
 
Злоп
Senior Member
****
Отсутствует


Ябба!

Сообщений: 317
Местоположение: г.Москва
Зарегистрирован: 14. Августа 2006
Пол: Мужской
Re: Известие о блокировке таблиц (глобальное)
Ответ #2 - 14. Декабря 2012 :: 20:06
Печать  
ну... обработки проведения могут быть достаточно развесистыми.. во все точки обпихаешься...
  
Наверх
www  
IP записан
 
Bill
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Известие о блокировке таблиц (глобальное)
Ответ #3 - 15. Декабря 2012 :: 04:00
Печать  
Злоп писал(а) 14. Декабря 2012 :: 20:06:
ну... обработки проведения могут быть достаточно развесистыми.. во все точки обпихаешься...

зачем везде пихать? можно в одном месте, перехватчик  Событие_ОбработкаПроведения
  
Наверх
 
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 854
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Известие о блокировке таблиц (глобальное)
Ответ #4 - 17. Декабря 2012 :: 10:32
Печать  
Этот перехват помогает только для Документов, и то - только для интерактивной записи и проведения. Программное проведение не перехватывает. А как быть с транзакциями для записи, например, справочников? Запустили обработку - и заблокировали всех. А кто? Вот и выясняй... Улыбка

Был бы перехват НачалаТранзакции - это была бы помощь!
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Известие о блокировке таблиц (глобальное)
Ответ #5 - 17. Декабря 2012 :: 10:40
Печать  
Дык а со справочниками то какие могут быть проблемы вообще ?
Там все проще - узнаешь кто последний открыл форму и привет..
  
Наверх
 
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 854
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Известие о блокировке таблиц (глобальное)
Ответ #6 - 17. Декабря 2012 :: 10:42
Печать  
Я про программную запись. Т.е. когда выполняется какая-то обработка, а в ней создается Транзакция.
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
Bill
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 64
Зарегистрирован: 04. Ноября 2008
Re: Известие о блокировке таблиц (глобальное)
Ответ #7 - 17. Декабря 2012 :: 12:03
Печать  
alyuev писал(а) 17. Декабря 2012 :: 10:32:
Этот перехват помогает только для Документов, и то - только для интерактивной записи и проведения. Программное проведение не перехватывает. ...

Странно, у меня и программное проведение перехватывает.
Может я чего ни так делаю? Улыбка
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Известие о блокировке таблиц (глобальное)
Ответ #8 - 17. Декабря 2012 :: 12:16
Печать  
и у меня тоже, перехватывает..
  
Наверх
 
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 854
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Известие о блокировке таблиц (глобальное)
Ответ #9 - 18. Декабря 2012 :: 09:16
Печать  
Ладно Улыбка Почти убедили на счет Перехвата. Но как определить именно наличие транзакции у пользователя? То, что проводится - это одно, а проводится в транзакции - это другое. Вы с этим согласны?
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Известие о блокировке таблиц (глобальное)
Ответ #10 - 18. Декабря 2012 :: 09:24
Печать  
Как автор Перехватчика скажу:
1. ловится событие проведение документа. Обработчик перехвата работает в контексте транзакции проведения и в контексте модуля проведения. Т.е. как программное проведение, так и проведение из формы.
2. Проведение документа всегда идет в транзакции.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 854
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Известие о блокировке таблиц (глобальное)
Ответ #11 - 18. Декабря 2012 :: 09:30
Печать  
Ух... Ёлки... Неужели я так плохо задал вопрос? Улыбка... Чего вы все прицепились к Проведению...

Я ж начал с того, что спросил - как определить - кто начал транзакцию? Когда в коде была установлена транзакция оператором НачатьТранзакцию(). И всё...

  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
zk96
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 320
Местоположение: Киев
Зарегистрирован: 15. Ноября 2009
Пол: Мужской
Re: Как узнать, кто начал транзакцию?
Ответ #12 - 18. Декабря 2012 :: 13:29
Печать  
У тебя в в конфигурации много раз используется "НачатьТранзакцию"?
Если не очень много, то добавь глобальную процедуру "__НачатьТранзакцию", замени во всех местах на нее стандартную процедуру, и так лови.
  
Наверх
 
IP записан
 
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: Как узнать, кто начал транзакцию?
Ответ #13 - 20. Декабря 2012 :: 07:52
Печать  
а Select @@TRANCOUNT ничем не поможет?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Как узнать, кто начал транзакцию?
Ответ #14 - 20. Декабря 2012 :: 08:18
Печать  
Satans Claws писал(а) 20. Декабря 2012 :: 07:52:
а Select @@TRANCOUNT ничем не поможет?

это количество СВОИХ незаконченных вложенных транзакций
  

1&&2&&3
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать