17.08.06 — 14:46
Последние несколько дней база стала давать предупреждение:При выполенении произошла ошибка! Таблица 1SJourn Ошибка обращения к данным при транзакиции, выполняемой другим пользователем.Повторить попытку? [Да Нет].Появляется при проведении доков, выполнении отчетов. Если кто встречал такую фичу, подскажите как лечить
1 — 17.08.06 — 14:47
Ошибка обращения к данным при транзакиции, выполняемой другим пользователем.
2 — 17.08.06 — 14:47
В поиске смотрел?
3 — 17.08.06 — 14:49
(1) Спасибо а то я думаю и что это значит…
4 — 17.08.06 — 14:49
(2) Не пока ща гляну
5 — 17.08.06 — 14:51
В поиске ничего подходящего нету;(
6 — 17.08.06 — 14:51
(3) Ну, думай дальше. Кто мешает?
7 — 17.08.06 — 14:59
Ну что, неужели никто не встречал ничего похожего?
8 — 17.08.06 — 15:03
(5) Плохо смотрел. Ищи: Ошибка обращения к данным при транзакции 1С
9 — 17.08.06 — 15:07
(8) Спасиб, я глянул. Насколько понял, коллизия призаписи доков в табицу, используемую для УРБД. Но, почему она стала появляться? Раньше ведь не было..
10 — 17.08.06 — 15:19
(9) См.(1) Ошибка <одновременного> обращения к <различным> данным при транзакиции, выполняемой другим пользователем. Темерь понятно?
11 — 17.08.06 — 15:48
(10) Почему «к <различным>». Наверное хотел сказать «к одним и тем же»?
12 — 17.08.06 — 15:52
(10)Нет, поясни плиз
13 — 17.08.06 — 15:52
(11) различным — значит не только к таблицам УРБД 🙂
14 — 17.08.06 — 15:54
(13) В 1SJORn хранятся записи используемые урбд.Непонятно почему это появилось и что с ним делать;)
15 — 17.08.06 — 15:56
(14) … Да тех, кто в бронепоезде: несколько пользователей хотят одновременно получить одни данные. Возникает транзакция (блокировка данных). Теперь-то понятно?
16 — 17.08.06 — 15:57
(13) ОК
17 — 17.08.06 — 15:57
(15) Rnj-nj gsnftncz ljcnexfnmcz lj lfyys[? rjnjhst ,kjrbhjdfys nhfypfrwbtq/
18 — 17.08.06 — 15:57
От тех, кто в бронепоезде: Почему этой ошибки раньше не было?
19 — 17.08.06 — 15:58
Сейчас она постоянно вылезает на экран
20 — 17.08.06 — 15:59
(19) Сейчас только один пользователь или кто-то что-то проводит?
21 — 17.08.06 — 15:59
(14) В 1SJORN хранятся журналы, все.
(18) Наиболее вероятно, что в одной из обработок проведения ты впендюрил Вопрос() или Предупреждение(). Обработка это транзакция, и она не закончится, пока пользователь не закроет окошко вызванное одной из этих функций. Пока один пользователь не закончит транзакцию, никто другой не может ее начать.
22 — 17.08.06 — 16:01
(21) Ничего я не впиндюривал, я конфу сам полностью писал.
23 — 17.08.06 — 16:02
(22) Во-от… 🙂
24 — 17.08.06 — 16:02
+(17) Разные пользователи пытаются обратиться к одним и тем-же данным, которые блокированы кем-то в транзакции.
25 — 17.08.06 — 16:04
епрст, пользователей сколько было, столько и осталось, раньше этого предупреждения не было, а сейчас све юзеры ко мне бегут дружной толпой и жалуются
26 — 17.08.06 — 16:05
(25) Попрубуй оставить одного и проверь.
27 — 17.08.06 — 16:07
(25) Объясняю на пальцах, пока один пользователь проводит документ, другие пользователи ничего провести не могут, если у тебя где-то в проведении неэффективный алгоритм, т.е. док проводится 2-3 то все будут эти 2-3 минуты наблюдать эту надпись. Такое бывает если ты неэффективно рассчитываешь остатки например, пока доков было немного проводилось быстро, чем дальше — тем хуже. Либо вариант (21). Просто бери копию базы и тупо проводи доки по очереди, наблюдай который проводится слишком долго, или задает вопросы в процессе проведения.
28 — 17.08.06 — 16:09
+(27) Проводи по сетке, зачастую локально у тебя все летает, а по сети тормозит (если, например, запрос в цикл засунул — локально будет пару секунд проводится, а по сетке пару минут)
29 — 17.08.06 — 16:12
(27) Кстати очень может быть, у меня в одном регистре висят огромные непроходящие минуса, из-за этого все доки долго черепятся
30 — 17.08.06 — 16:15
(29) Даже наверняка… Еще сделай нехитрую вешь — поиск по всем текстам «НачатьТранзакцию», если какой-нить тяжелый отчет целиком в транзакцию сунул, те несколько минут пока он формируется все будут наблюдать эту же ошибку.
31 — 17.08.06 — 16:16
+(30) Короче с такой надписью всех блокирует кусок
НачатьТранзакцию();
…
ЗафиксироватьТранзакцию();
либо ОбработкаПроведения() — это такая же транзакция, только явно не написано.
32 — 17.08.06 — 16:17
НачатьТранзакцию нигде нет, скорее всего обработка проведения подвешивает все..
33 — 17.08.06 — 16:19
(32) Осталось только оптимизировать, где-то многократные запросы, либо вместо итогов по движениям шаришься, чем больше движений — тем дольше проводится. Думай как сделать лучше.
34 — 17.08.06 — 16:22
Как вариант можно их в терминал загнать — проведение ускорится в разы, но код свой анализировать все же надо, где-то косяк.
http://www.mista.ru/articles1c/terminal.htm
Воин 1С
35 — 17.08.06 — 16:24
Спасиб , буду думать;)
Показывать по
10
20
40
сообщений
Новая тема
Ответить
sahzavod
Дата регистрации: 05.09.2003
Сообщений: 2
От чего может возникнуть «Ошибка времени выполнения» при работе транзакции в конфигурации ЗиК.<br><br>Конкретнее:<br><br>Таблица: 1SJOURN Ошибка обращения к данным при транзакции, выполняемой другим пользователем.<br><br>И как востановить потеряные данные?<br><br>Заранее спасибо ![]()
Кот, который гуляет сам по себе
Дата регистрации: 29.10.2001
Сообщений: 882
Возникновение такой ошибки как правило связано с перегруженностью<br><br>сети. Эта ошибка происходит в том случае, когда программа<br><br>в течение продолжительного периода времени пытается захватить<br><br>некоторый файл (на очень непродолжительное время), а у нее не<br><br>получается. После повторения попыток в течение 60 сек. возникает<br><br>такая ошибка.<br><br> Как показывает опыт, причиной практически во всех случаях<br><br>является недостаточная производительность сети или сервера.<br><br>В частности такая ситуация имеет место быть при использовании<br><br>невыделенных или сильно нагруженных другими задачами серверов<br><br>со стороны значительного числа клиентов.<br><br>
vela
Дата регистрации: 18.08.2003
Сообщений: 20
Если дело в этом, то можно попробовать увеличить время ожидания захвата таблиц Базы Данных, к примеру до 90 сек. От многого уберегает, может и здесь поможет.
qwer007.070
Дата регистрации: 21.08.2007
Сообщений: 1
Как можно устранить ошибку при транзакций?
Alexandr VA
Дата регистрации: 07.01.2007
Сообщений: 1666
> Как можно устранить ошибку при транзакций? <br>Способов много, пробуйте:<br>Увеличить время ожидания захвата таблиц. <br>Сжать ДБФные таблицы, выполнить дефрагментацию диска с базами.<br>Повысить производительность сервера и сети.<br>Очистить журнал регистрации (сначала сархивируйте)<br>Перейти в терминалы<br>Перейти на SQL <br><br>
Татьянаааа
Дата регистрации: 07.08.2007
Сообщений: 86
Меню СЕРВИС -> ПАРАМЕТРЫ -> (Закладка ОБЩИЕ) Время ожидания захвата таблицы поставьте 40-60
Показывать по
10
20
40
сообщений
-
Здраствуйте! Возникает такая проблема — «При выполнении транзакции произошла ошибка. Таблица 1Sjourn. Ошибка обращения к данным при транзакции, выполняемой другим пользователем»
стоит 15 клиентских компов и один сервер опрационка win server 2003. база 1с7.7 -dbf, объем 1.5гига. В данный момент сейчас бухгалтера все работают в одном документе, и я думаю что это из-за этого. Позвонил в службу поддержки которые обслуживают нашу 1с — там ничего умного не посоветовали — «сказали типа у вас сервак на котором стоит 1с слабый — меняйте» короче прогнали полную чушь и отмазались :unsure: .
Комп под сервак мы приобретали 3 месяца назад (проц. — атлон Х2 5600 оператива 2гига) вообщем понятно что дело не в этом. Так же я попробовал увеличить Значение ожидания, как было написано здесь на форуме, проблема не исчезла. Подскажите пожалуйста что можно еще сделать, и есть ли выход из этой ситуации??????? -
Offline
bob
Опытный в 1С- Регистрация:
- 7 май 2008
- Сообщения:
- 394
- Симпатии:
- 1
- Баллы:
- 29
в одном документе работать одновременно невозможно. Ошибка из-за того, что при проведении документа, блокируется определенное кол-во таблиц, и другие пользователи могут с ними работать только после окончаниЯ проведения. Это только один из множества вариантов, есть еще, звоните в более компетентную службу поддержки.
-
Offline
Kaboom
Опытный в 1С- Регистрация:
- 2 июл 2007
- Сообщения:
- 158
- Симпатии:
- 0
- Баллы:
- 26
-
Заранее всем спасибо. завтра на работе попробую!
Подскажите, почему при работе с 1С по сети, когда одновременно на нескольких компьютерах выполняются какие-либо операции, появляются ошибки: «При выполнении транзакции произошла ошибка! Таблица: 1SJOURN. Ошибка обращения к данным при транзакции, выполняемой другим пользователем. Повторить попытку выполнить транзакцию?» ???
Время ожидания захвата таблиц увеличь…
а где его можно увеличить?
в меню сервис — параметры
потому как нагрузка на ваш сервер не адекватна числу юзеров. 1С блокирует таблицы в момент проведения (например) документа, т.е. второй (и последующие) юзера, которые в этот же момент времени пытаются провести док — получают такой транспорант. +1 хотя фиг его знает, может и не помочь P.S. поздравляю 🙂
вообщем лечит это терминал, ну и дальше уже можно думать — зависит от числа пользователей, характера их работы, объема баз и т.п.
Тэги:
Комментарии доступны только авторизированным пользователям
Программа 1С является самой популярной и наиболее удобной при автоматизации предприятия. В ней предусмотрены решения, созданные на базе одной платформы, соответственно, функционируют они по одному принципу, что значительно упрощает использование ПО. Нередко пользователи сталкиваются с сообщением «В данной транзакции уже происходили ошибки». Рассмотрим как в 1С 8.3 исправить подобную проблему.

Содержание
- Причина появления сообщения о повторных ошибках в 1С 8.3
- Есть ли смысл исправлять ошибки транзакции, которые уже происходили
- Устраняем ошибку транзакции в 1С Предприятие версии 8.3
- Также можно выполнить удаление другим способом:
- Особенности написания кода, которые помогут исключить ошибку в транзакциях
Причина появления сообщения о повторных ошибках в 1С 8.3
Главная проблема заключается в том, что сообщение об ошибке «В данной транзакции уже происходили ошибки» неинформативно, нет никакой конкретики. Поэтому будем опираться на проблемы, с которыми чаще всего сталкиваются пользователи. Например, с технической стороны ошибка такого рода может возникнуть при первой транзакции, то есть и при первичном обращении к базе данных.

Подобная ошибка может произойти при обработки ситуации «Попытка-Исключение». Например, при создании записи «Объект_1» формируется исключительная ситуация, а сама ошибка появляется в «Ссылка_2.Наименование». То есть происходит запрос базы данных объектной модели.
В «Попытке-Исключение» начинается обработка операции, которая также должна быть выполнена в транзакции, которая, в свою очередь, может быть явной или неявной (создается в момент записи объекта).
1С: Предприятие 8.3 не поддерживает транзакций вложенного типа. Однако допускается создание вложенной конструкции сразу нескольких транзакций. Из-за наличия явной и неявной транзакции может возникнуть ошибка. То есть программа запрещает транзакцию 1-го уровня на более низших уровнях.
Читайте также: Значение не является значением объектного типа 1С.
Есть ли смысл исправлять ошибки транзакции, которые уже происходили
При работе с 1С 8.3 не стоит оставлять подобные вещи без внимания. Прежде всего, другой пользователь также может столкнуться с ней, но не поймет причин её возникновения. Если не выполнить отладку системы, то в дальнейшем могут возникнуть дополнительные проблемы. Так как оповещение «В данной транзакции уже происходили ошибки» появляется при первом обращении, то в журнале регистрации данная строка обязательно зафиксируется, но, опять же, без подробного пояснения. Хоть ошибка и располагается на нижнем уровне кода, она нарушит необходимую иерархию. Это приведет к сбою других функций и только еще больше запутает администратора.
При наличие некорректного кода, транзакции будут выполняться с нарушениями или не будут выполняться вовсе. Поэтому при возникновении таких сообщений стоит решить проблему.
Устраняем ошибку транзакции в 1С Предприятие версии 8.3
В первую очередь стоит очистить кэш базы данных. Сделать это можно вручную. Для этого:
- Переходим на диск, на котором расположена база 1С.
- Переходим в папку с базой (путь может отличаться, но по умолчанию она установлена в той директории, которая показана на фото ниже).

- Удаляем кэш вручную.

- То же самое делаем с кэшем в папке 1с8.2.
Также можно выполнить удаление другим способом:
- Создаем на рабочем столе пустой документ. Назовем его «Удаление пользовательского кэша».

- Указываем в нем следующую строчу и сохраняем документ в формате .bat.

После того, как файл преобразуется, его можно запустить и весь пользовательский кэш удалится автоматически. Пробуем снова запустить программу и выполнить операцию. Если не помогло, то лучше всего обратиться к администратору. Также нужно помнить про основные особенности написания кода с использованием транзакций. Это поможет исключить ряд распространенных ошибок.
Также вам будет интересно: Ошибка в 1С 7.7 «Порядок сортировки, установленный для базы данных, отличается от системного».
Особенности написания кода, которые помогут исключить ошибку в транзакциях
Прежде всего нужно опираться на нюансы корректной обработки исключений:
- Метод «Начать транзакцию» должен быть вынесен за пределы «Попытка-Исключение».
- Действия, осуществляемые после вызова «Начать транзакцию» должны быть в пределах блока «Попытка». К этом также относится чтение, обработка или блокировка данных.
- Метод «Зафиксировать транзакцию» необходимо прописывать последним в блоке «Попытка» и до «Исключение».
- В блоке «Исключение» необходимо сначала обратиться к методу «Отменить транзакцию» и уже потом выполнять прочие действия.
- Если применяются вложенные транзакции, то в конце «Исключение» не лишним будет добавить оператора «Вызвать исключение».
- В «Исключения» следует добавить соответствующую запись об ошибке.
- Если транзакция неявная, то нет никакого смысла переходить к методу «Начать транзакцию». Некоторые также пробуют «обернуть» в явную транзакцию те операции, которые и вовсе не нуждаются в согласовании.
Решить проблему транзакций, в которых происходят ошибки, самостоятельно получается не всегда. Поэтому стоит попробовать выполнить простейшие действия – перезагрузить программу или очистить кэш. К более серьезным манипуляциям в 1С стоит переходить только при уверенности, что вы обладаете достаточным опытом.