Имя: Пароль:
1C
 
v7: Ошибка обращения к данным при транзакиции, выполняемой другим пользователем.
0 Воин 1С
 
17.08.06
14:46
Последние несколько дней база стала давать предупреждение:При выполенении произошла ошибка! Таблица 1SJourn Ошибка обращения к данным при транзакиции, выполняемой другим пользователем.Повторить попытку? [Да Нет].Появляется при проведении доков, выполнении отчетов. Если кто встречал такую фичу, подскажите как лечить
1 AeDen
 
17.08.06
14:47
Ошибка обращения к данным при транзакиции, выполняемой другим пользователем.
2 zbv
 
17.08.06
14:47
В поиске смотрел?
3 Воин 1С
 
17.08.06
14:49
(1) Спасибо а то я думаю и что это значит...
4 Воин 1С
 
17.08.06
14:49
(2) Не пока ща гляну
5 Воин 1С
 
17.08.06
14:51
В поиске ничего подходящего нету;(
6 AeDen
 
17.08.06
14:51
(3) Ну, думай дальше. Кто мешает?
7 Воин 1С
 
17.08.06
14:59
Ну что, неужели никто не встречал ничего похожего?
8 GenV
 
17.08.06
15:03
(5) Плохо смотрел. Ищи: Ошибка обращения к данным при транзакции 1С
9 Воин 1С
 
17.08.06
15:07
(8) Спасиб, я глянул. Насколько понял, коллизия призаписи доков в табицу, используемую для УРБД. Но, почему она стала появляться? Раньше ведь не было..
10 GenV
 
17.08.06
15:19
(9) См.(1) Ошибка <одновременного> обращения к <различным> данным при транзакиции, выполняемой другим пользователем. Темерь понятно?
11 ламеры спрашивают
 
17.08.06
15:48
(10) Почему "к <различным>". Наверное хотел сказать "к одним и тем же"?
12 Воин 1С
 
17.08.06
15:52
(10)Нет, поясни плиз
13 GenV
 
17.08.06
15:52
(11) различным - значит не только к таблицам УРБД :)
14 Воин 1С
 
17.08.06
15:54
(13) В 1SJORn хранятся записи используемые урбд.Непонятно почему это появилось и что с ним делать;)
15 GenV
 
17.08.06
15:56
(14) ... Да тех, кто в бронепоезде: несколько пользователей хотят одновременно получить одни данные. Возникает транзакция (блокировка данных). Теперь-то понятно?
16 ламеры спрашивают
 
17.08.06
15:57
(13) ОК
17 AeDen
 
17.08.06
15:57
(15) Rnj-nj gsnftncz ljcnexfnmcz lj lfyys[? rjnjhst ,kjrbhjdfys nhfypfrwbtq/
18 Воин 1С
 
17.08.06
15:57
От тех, кто в бронепоезде: Почему этой ошибки раньше не было?
19 Воин 1С
 
17.08.06
15:58
Сейчас она постоянно вылезает на экран
20 GenV
 
17.08.06
15:59
(19) Сейчас только один пользователь или кто-то что-то проводит?
21 zalex
 
17.08.06
15:59
(14) В 1SJORN хранятся журналы, все.
(18) Наиболее вероятно, что в одной из обработок проведения ты впендюрил Вопрос() или Предупреждение(). Обработка это транзакция, и она не закончится, пока пользователь не закроет окошко вызванное одной из этих функций. Пока один пользователь не закончит транзакцию, никто другой не может ее начать.
22 Воин 1С
 
17.08.06
16:01
(21) Ничего я не впиндюривал, я конфу сам полностью писал.
23 zalex
 
17.08.06
16:02
(22) Во-от... :)
24 AeDen
 
17.08.06
16:02
+(17) Разные пользователи пытаются обратиться к одним и тем-же данным, которые блокированы кем-то в транзакции.
25 Воин 1С
 
17.08.06
16:04
епрст, пользователей сколько было, столько и осталось, раньше этого предупреждения не было, а сейчас све юзеры ко мне бегут дружной толпой и жалуются
26 GenV
 
17.08.06
16:05
(25) Попрубуй оставить одного и проверь.
27 zalex
 
17.08.06
16:07
(25) Объясняю на пальцах, пока один пользователь проводит документ, другие пользователи ничего провести не могут, если у тебя где-то в проведении неэффективный алгоритм, т.е. док проводится 2-3 то все будут эти 2-3 минуты наблюдать эту надпись. Такое бывает если ты неэффективно рассчитываешь остатки например, пока доков было немного проводилось быстро, чем дальше - тем хуже. Либо вариант (21). Просто бери копию базы и тупо проводи доки по очереди, наблюдай который проводится слишком долго, или задает вопросы в процессе проведения.
28 zalex
 
17.08.06
16:09
+(27) Проводи по сетке, зачастую локально у тебя все летает, а по сети тормозит (если, например, запрос в цикл засунул - локально будет пару секунд проводится, а по сетке пару минут)
29 Воин 1С
 
17.08.06
16:12
(27) Кстати очень может быть, у меня в одном регистре висят огромные непроходящие минуса, из-за этого все доки долго черепятся
30 zalex
 
17.08.06
16:15
(29) Даже наверняка... Еще сделай нехитрую вешь -  поиск по всем текстам "НачатьТранзакцию", если какой-нить тяжелый отчет целиком в транзакцию сунул, те несколько минут пока он формируется все будут наблюдать эту же ошибку.
31 zalex
 
17.08.06
16:16
+(30) Короче с такой надписью всех блокирует кусок

НачатьТранзакцию();
...
ЗафиксироватьТранзакцию();

либо ОбработкаПроведения() - это такая же транзакция, только явно не написано.
32 Воин 1С
 
17.08.06
16:17
НачатьТранзакцию нигде нет, скорее всего обработка проведения подвешивает все..
33 zalex
 
17.08.06
16:19
(32) Осталось только оптимизировать, где-то многократные запросы, либо вместо итогов по движениям шаришься, чем больше движений - тем дольше проводится. Думай как сделать лучше.
34 zalex
 
17.08.06
16:22
Как вариант можно их в терминал загнать - проведение ускорится в разы, но код свой анализировать все же надо, где-то косяк.
http://www.mista.ru/articles1c/terminal.htm
35 Воин 1С
 
17.08.06
16:24
Спасиб , буду думать;)