Таблица 1sconst ошибка обращения к данным при транзакции выполняемой другим пользователем

  

FEAS

09.04.10 — 09:12

У нас работают несколько расчетчиков в зп каждый формирует документ по определенным подразделениям сотр(сотрудников много), и соответсвенно ошибка «Ошибка обращения к данным при транзакции, выполняемой другим пользователем »  , также например один может проводить документы а другие печатают отчеты -тоже ошибка.

поставили 300 сек время ожидания захвата таблиц всеравно такая хрень.

Что делать ? больше ставить? тормозить будет если поставить болше может снова вылететь  ведь им постоянно нужно работать

  

povar

1 — 09.04.10 — 09:13

базу переписывать

  

Ёпрст

2 — 09.04.10 — 09:14

ставить всем 0.

  

Дядя Васька

3 — 09.04.10 — 09:15

Вот это поставь, полегче будет.

http://x-romix.narod.ru/vk_TerminalSleep.rar

А вообще, курить где тупит и переписывать на прямые…

  

supremum

4 — 09.04.10 — 09:17

Или распределить работу кадровиков, расчетчиков так, что бы не возникала обходимость одновременного обращения к одним и тем же таблицам.

  

FEAS

5 — 09.04.10 — 09:18

Если в запросе условие по подразделению он ведь блокирует толко эти записи или нет?

  

ДенисЧ

6 — 09.04.10 — 09:19

(5) Нет.

  

Ёпрст

7 — 09.04.10 — 09:20

(5) запрос вообще ничего не блокирует.

  

DrZombi

8 — 09.04.10 — 09:20

(5)Запрос блокирует весь список данных, которые использует :)
Начни разбираться в структуре хранения данных в 7.7 и все поймешь :)

… так же запросы во время проведения, это зло :)

  

Ёпрст

9 — 09.04.10 — 09:21

+7 блокировка, только ежели кто-то чего-то проводит, ибо проведение — это всегда транзакция.

  

DrZombi

10 — 09.04.10 — 09:21

(7)Может быть, но ты записать, то же нечего не смогешь :)
Только читать

  

Ёпрст

11 — 09.04.10 — 09:21

(8) Гон.
1с-кий запрос построен на «грязном чтении» и он не блокирует ничего.

  

Ёпрст

12 — 09.04.10 — 09:22

(10) да ну ?

  

FEAS

13 — 09.04.10 — 09:23

нет я понял, просто вот спросил там в основном условия по перебору элементов например справочника сотр тоже вылетает ошибка если это сделать на запросе будет лучше?

  

FEAS

14 — 09.04.10 — 09:24

При формировании отчетов

  

FEAS

15 — 09.04.10 — 09:25

выборка блокирует как я понимаю?

  

ДенисЧ

16 — 09.04.10 — 09:26

  

1dvd

17 — 09.04.10 — 09:26

(15) Твоя задача, чтобы проведение и запись шли быстрее

  

DrZombi

18 — 09.04.10 — 09:28

(11)Ну не гони, у нас как раз вот запросы от 1С и блокировали всю базу, при этом это просто отчет по регистру :)
При этом, пока не выкидывали сего пользователя, все курили :)

  

FEAS

19 — 09.04.10 — 09:30

а как тогда? одна делает расчет другая формирует отчет и ошибка но записей пока нет если перебор не влияет то что?

  

ДенисЧ

20 — 09.04.10 — 09:31

(19) Вот как разсчёт и блокирует…

  

FEAS

21 — 09.04.10 — 09:31

весь журнал расчетов?

  

Ёпрст

22 — 09.04.10 — 09:33

(18) ты бред то не неси..

  

FEAS

23 — 09.04.10 — 09:33

нет смысла ставить секунды да хоть 500? просто расчет мин 20 идет

  

Дядя Васька

24 — 09.04.10 — 09:33

(22) Руками в тот отчет транзакцию влепили, вот и блокировал походу.

  

FEAS

25 — 09.04.10 — 09:34

тогда на 20 мин все записи заблокированы транзакцией? Отчет не может?

  

Дядя Васька

26 — 09.04.10 — 09:35

(25) Ну не так чтобы все, но общий журнал блокирует, а без него все висит…

  

FEAS

27 — 09.04.10 — 09:37

в отчете нет ранзакций

  

FEAS

28 — 09.04.10 — 09:37

как тчеты формировать тогда что не правильно

  

FEAS

29 — 09.04.10 — 09:37

какой общий?

  

Ёпрст

30 — 09.04.10 — 09:38

Еще раз — ошибка блокировки возникает только при записи/проведении объектов ИБ..
и всё.

  

FEAS

31 — 09.04.10 — 09:39

Ну я понял это у расчетчика которая хочет сформировать отчет вылазит данная ошибка

  

Ёпрст

32 — 09.04.10 — 09:39

(31) ты это понял или ты это видел ?

  

FEAS

33 — 09.04.10 — 09:40

вот видел

  

DrZombi

34 — 09.04.10 — 09:40

(22)Сам был поражен, но запрос был по дебиторке и брал данные за год :(

  

Ёпрст

35 — 09.04.10 — 09:42

(34) да хоть за 100..

  

Ёпрст

36 — 09.04.10 — 09:42

(33) чего видел ? Ленина ?..

  

FEAS

37 — 09.04.10 — 09:43

вобщем если один человек формирует отчет, а у другого проводится расчет то у которого отчет вылазит ошибка блокировки данных другим пользователем

  

Ёпрст

38 — 09.04.10 — 09:44

(37) не верю.
Что за конфа ? Что за отчет ?

  

DrZombi

39 — 09.04.10 — 09:45

(30) Не говори оп, пока не перелетел через забор 1С-ных глюков :)
К примеру если делать запрос типо

Запрос=СоздатьОбъект(«Запрос»);
…тут сам запрос
…Апосле еще раз ту же переменную
Запрос=СоздатьОбъект(«Запрос»);

И так в подряд 20 раз, то на 3-ем цикле, сеи запросы вообще покажут что нет данных, но они есть :)
Пока не занулил (Запрос=0;) перед каждым запросом… отчет показывал бред

…Конечно это не относится к блокировкам, но сея 7.7 полна неожиданностей :)

  

DrZombi

40 — 09.04.10 — 09:46

(38)Я ему верю :) И еще как :)
(0)Совет, пиши прямые запросы :)

  

Ёпрст

41 — 09.04.10 — 09:47

сказочники.

  

Дядя Васька

42 — 09.04.10 — 09:49

(29) 1sjourn вестимо. Как правило одинэсовские запросы его джойнят, а во время проведения он заблокирован полностью, вот и обломинго с отчетом.

  

FEAS

43 — 09.04.10 — 09:51

ага на него ругается на 1sjourn правильно понял

  

FEAS

44 — 09.04.10 — 09:51

и как быть?

  

povar

45 — 09.04.10 — 09:53

(44) я ж тебе сразу сказал, базу надо переписывать

  

DrZombi

46 — 09.04.10 — 09:53

(44)Убрать запросы из модуля проведения :)
Оптимизировать сам метод проведения, постараться не писать в другие справочники, во время проведения…
Пользователям стараться вдалбливать, что не кашерно делать один документ с 20000 строк :) Лучше 20000 документов, но с одной строкой :)

  

Ёпрст

47 — 09.04.10 — 09:57

Для всех сказочников, делаем простой тест:

В модуль проведения документа втыкаем Предупреждение, у одного пользователя проводим этот документ, появляется окошко — всё, все таблички заблокированы…

У второго пользователя пробуем делать отчеты.
А потом извиняемся и больше никогда не рассказываем сказки про 1с.

  

FEAS

48 — 09.04.10 — 10:01

Обработка расчет зарпалты, она там блокирует

  

FEAS

49 — 09.04.10 — 10:01

когда считаем зарплату

  

FEAS

50 — 09.04.10 — 10:02

Там используются транзакции

  

FEAS

51 — 09.04.10 — 10:02

не документ

  

Ёпрст

52 — 09.04.10 — 10:03

(48) п..ц.
Ты разницу между отчетом — это чтение данных и Обработкой расчет зарпалты — которая вносит изменения в саму ИБ не видишь???

  

FEAS

53 — 09.04.10 — 10:04

как не вижу я понимаю

  

FEAS

54 — 09.04.10 — 10:04

там транзакции используются

  

Skom

55 — 09.04.10 — 10:05

+(47) вот именно

все запросы в 1с ке выполняются грязночтением…как то так

если посмотреть профайлер то только и видно хинты

(nolock)

  

Ёпрст

56 — 09.04.10 — 10:06

(54) тем более, журнал и другие таблички уже заблокированы другим пользователем — пока он не проведёт свой документ — ты транзакцию не сможешь поставить — идёт ожидание захвата таблички.
И всего лишь.

  

FEAS

57 — 09.04.10 — 10:07

Если так? тогда зачемошибка если просто чтение

  

FEAS

58 — 09.04.10 — 10:07

убрать транзакции?

  

FEAS

59 — 09.04.10 — 10:08

доки ни кто  вэто время может не проводит

  

FEAS

60 — 09.04.10 — 10:08

только расчет, и отчеты

  

  

Нафигатор

61 — 09.04.10 — 10:08

(0) На каких именно строчках модулей ошибки возникают?

  

FEAS

62 — 09.04.10 — 10:10

у меня в отчетах запроы чисто. Тогда ошибки не должно быть по вашему мнению.

  

povar

63 — 09.04.10 — 10:14

(48) бу га га

  

povar

64 — 09.04.10 — 10:14

это далеко не отчет

  

Ёпрст

65 — 09.04.10 — 10:14

(57) Не тупи — сам же сказал — что в обработке твоей транзакция +, на сколько я помню Зик — эта обработка делает запись в ИБ..

  

FEAS

66 — 09.04.10 — 10:21

да транзакция в обработке она вносит записи в журнал расчетов считает. В этоже время другой человек печатает отчеты

  

FEAS

67 — 09.04.10 — 10:23

уберу транзакцию

  

FEAS

68 — 09.04.10 — 10:23

и нафиг

  

FEAS

69 — 09.04.10 — 10:25

не туплю а по твоему размышлению у человека который формирует отчеты не должно быть ошибки

  

Дядя Васька

70 — 09.04.10 — 10:25

(67) Чревато… Тогда смогут двое одновременно в эту табличку писать, результат может получиться несколько неожиданным )

  

DrZombi

71 — 09.04.10 — 10:29

(47)Сказочник… не дальновидный, сделай наоборот!!!
Запусти отчет по регистру, за год… сделай его так что бы он работал час, как мин, напиши не прямыми запросами :) (короче не оптимизируй его :))

Потом попробуй провести документ по тому же самому регистру :)
И удивляйся…
При этом в тесте усложним…. Запусти в параллельно… тот же самый запрос на 10-ти разных ПК!!! (или разных терминальных сессиях)

Поразись… реальной обстановкой… а не альфо тестером на одном ПК!!

  

Ёпрст

72 — 09.04.10 — 10:31

(71) Не тупи.. у нас юзверов до 80 в базе — таких проблем нет и не было никогда.

  

DrZombi

73 — 09.04.10 — 10:32

(72)Ну я же пишу… не оптимизируй запросы, на прямые и период возьми по само использованному регистру за год, а не за 10 дней , как макс :)

  

Ёпрст

74 — 09.04.10 — 10:32

+71 Если ты такой неверующий Фома- смотри профайлер в скуле, например, там везде хинт nolock в запросе..
Табличка никогда не блокируется, хоть за пятилетку строй запросы свои.

  

DrZombi

75 — 09.04.10 — 10:32

+(72)И повиснит твоя база… не забудь отрубить ВК :)

  

Ёпрст

76 — 09.04.10 — 10:33

(75) Хорош чушь пороть, не позорился бы..

  

DrZombi

77 — 09.04.10 — 10:33

(74)Но и записать ты при этом не смогешь, 1С требует при записи в табличку (7.7) монопольного доступа, т.е. лочит всю таблицу :)

  

DrZombi

78 — 09.04.10 — 10:34

(76)Вот я то же бы утверждал, что код в (39) не реален… но он так себя и ведет :)

  

Ёпрст

79 — 09.04.10 — 10:34

(77) С какой радости то???
Еще раз — ЗАПРОС в 1с не лочит НИЧЕГО.

  

DrZombi

80 — 09.04.10 — 10:35

(79)Тоже сам все еще поражаюсь :(
Сам многому удивляюсь в 7.7, за все годы работы :)

  

Invalid

81 — 09.04.10 — 10:35

FEAS, http://softpoint.ru/feedback_id40.htm

У софтпоинта спроси, может помогут.

  

DrZombi

82 — 09.04.10 — 10:36

(79)Я тоже поразился, что он при 1С-ных запросах ложет туже самую таблицу, но во временные файлы :)

  

Ёпрст

83 — 09.04.10 — 10:36

Ты там не отмазывайся…сказочник.

  

DrZombi

84 — 09.04.10 — 10:38

(83)Если бы… я тебе пишу, что и палка стреляет ;)
И твои утверждения, что нечему лочиться там тоже ошибочные :) Не ты же писать платформу 7.7 :)

  

Ёпрст

85 — 09.04.10 — 10:40

(84) оставайся дальше в своих грёзах.. только вот тут не надо этого писать..

  

FEAS

86 — 09.04.10 — 10:49

в это время никто другой не делает это , если запрос чисто читает то он должен без ошибки читать и все

  

FEAS

87 — 09.04.10 — 10:51

При транзакции запрос не может счиать или нет  Ёпрст3?

  

DrZombi

88 — 09.04.10 — 10:55

(87)Видишь ли (85) все время твердить, что нет этого у тебя, т.е. реально ты пишешь фигню и нечего не «лочится» :)
А я вообще сказочник, мне это привиделось :)
…Ты начни думать своей головой, у нас другие ошибки и баги в 7.7… Ты многие найдешь и в 8-ке :) И так же повстречаешь новые, для тебя, 7.7 :)

  

МуМу

89 — 09.04.10 — 10:58

Более 99-и процентов в 1С 7.7. идут с хинтом nolock — что означает грязное чтение. бывают исключения(очень специфические) но очень редко. В случае (0) думаю все идет действительно с грязным чтением. Поэтому основа для понимания — проведение несложного эксперимента. Документы действительно блокируют друг друга а вот отчеты практически на 100 процентов нет.  

То DrZombi.  А вот у вас нет конструктива. Не надо писать платформу для того что бы проверить очевидные вещи. для этого есть как профайлер так и просто руки с помощью которых можно провести простой эксперимент.

  

МуМу

90 — 09.04.10 — 11:02

То 88. Я редко верю тому что говорят пользователи. Поставь систему мониторинга либо проведи эксперимент и убедись в обратном.   Я уверен что если у FEAS спросить а проводил ли он лично одновременно документ(запрос в цикле на х итераций в отчете и предупреждение в конце проведения документа) и отчет и видел ли блокировку? —  скажет скорее всего нет. А ведь это несложно сделать.

  

МуМу

91 — 09.04.10 — 11:04

Единственное но — не нужно путать отчеты и обработки. Обработка выполняя в транзакции определенные действия на изменения действительно может вступать в блокировку.

  

DrZombi

92 — 09.04.10 — 11:05

(89)Я практик… мне твое написано… мало что говорит…. как правил у нас Аналитик, так красиво расписал программу, щас смотрю на ее реализацию, в 7.7.
Думаю, он много с экономил на программистах, код писали школьники, ужо не говоря про студентов с бух. факов

  

FEAS

93 — 09.04.10 — 11:07

когда отчеты формируются ошибка вылазит за чем что то проверять, сам вижу, в это время работает обработка на запись в ИБ. Документы мне пока не нужны

  

DrZombi

94 — 09.04.10 — 11:07

+(89)Не поленись… проведи експеремент на 10 различных ПК и на данных годовой давности и тогда и пиши, то что написал программер, что бы от него отвалили :)

  

FEAS

95 — 09.04.10 — 11:11

Если гвоитте отчеты не блокируют тогда зачем ошибка то не пойму, если они только на чтение.

  

МуМу

96 — 09.04.10 — 11:12

То FEAS. Ну тогда приведи точно название ошибки, название отчета и название обработки. Бывает исключение из правил (менее 1 процента) но я очень сомневаюсь что это тот случай.

  

FEAS

97 — 09.04.10 — 11:15

У нас переписанная конфига ЗП не даст название , отчет например Расчетная ведомость обработка расчет зарплаты.

вот такая хрень вылазит

Если ЖрнЗарплата.ВыполнитьРасчет()=0 Тогда

{Обработка.РасчетЗарплаты.Форма.Модуль(232)}: Таблица: 1SJOURN Ошибка обращения к данным при транзакции, выполняемой другим пользователем

  

DrZombi

98 — 09.04.10 — 11:21

(97)Где то была библиотечка, которая в дбф-е снимала нагрузку на базу при транзакции :)
Но не помню как называлось, вроде ромикса :)
Тебе она нуна

  

sapphire

99 — 09.04.10 — 11:26

(89) Это смотря как написать отчет.

  

nop

100 — 09.04.10 — 11:26

100

Здравствуйте обьясните почему появляется следующая ошибка: Конт.УстановитьНовыйНомер(СокрЛП(Константа.ПрефиксИБ) + ПрефиксЮрЛицаФирмы); : {Глобальный модуль(4064)}: Таблица: 1SDNLOCK Ошибка обращения к данным при транзакции, выполняемой другим пользователем. Как это исправить

подождать. поробовать ещё раз. +сходить в поиск.

Потому что нельзя какать вдвоем в один унитаз… Надо по очереди…

Забей. Это безнадежно. Полностью от этой проблемы ты уже не избавишься никогда.

Нет уж надо хоть немножко избавиться.Слишком часто стало появляться.ОБьясните почему происходит это

терм.сервак? или сеть? (хи-хи)

сколько одновременно компов может висеть в одном справочнике или документе

сеть с выделенным сервером

вам бы, батенька, с терминологией разобраться, для начала

Сеть с выделенным сервером под управлением Windows server 2003+ active directory в сети находится 15 машин пожно сказать одновременно работающих либо в справочнике НОменклатура либо в документе Быстрая продажа. Конфа ТИС очень часто выдается сообщение Конт.УстановитьНовыйНомер(СокрЛП(Константа.ПрефиксИБ) + ПрефиксЮрЛицаФирмы); : {Глобальный модуль(4064)}: Таблица: 1SDNLOCK Ошибка обращения к данным при транзакции, выполняемой другим пользователем. В чем проблема почему оно появляется сколько одновременно компов может висеть в одном справочнике или документе

+не в терминальном режиме и на DC

юзеры все в терминальных сессиях?

Они в терминале сидят или доступ к базе через сеть открыт?

«сколько одновременно компов может висеть в одном справочнике или документе» во-первых, не компов, а юзеров. во-вторых, теоретически сколь угодно много. в-третьих, есть понимание термина «транзакция», или надо разъяснить?

насчет транзакции понятно

это жесть при 15 юзерах. база сколько весит?

загоняй в терминал всех +

как это сделать где можно почитать где более подролбно описано

м-дя…. ты чё ждешь-то? пока база окончательно рассыпется и тебя начнуть мочить? срочно: 1. всех в терминал, базу резать или 2. базу на скуль 1-й вар. дешевле (если, конечно, лицензия на скуль уже не имеется в активе)

понятно примерно опиши как какой софт для этого надо либо средствами windows 2003

под понятием рассыпится что имено

у тебя реально на клаве выдраны знаки препинания? Или уважение к участникам форума настолько ничтожно, что знаки препинания они не достойны?

Одним из недостатков DBFной версии “1С:Предприятие 7.7” является ограничение на размер файлов – 1 гигабайт. При этом если система эксплуатируется в однопрограммном режиме, то размер файла может быть 2 гигабайта, однако если появится второй пользователь, а файл будет больше 1 гигабайта, то система 1С начинает сбоить по ЧТЕНИЮ, у одного пользователя, если другой выполняет запись/обновление данных. Например, если выполнять цикл по выборке данных, то он может “тихо” прекратиться в любой момент, не предоставив программе всего множества объектов. А ГДЕ ПРОЧИТАТЬ БОЛЕЕ ПОДРОБНУЮ ИНФОРМАЦИЮ

Тэги:

Комментарии доступны только авторизированным пользователям

Содержание:

1.       Причина ошибки в 1С Предприятие 8.3

2.       Почему ошибку «В данной транзакции уже происходили ошибки» надо устранить

3.       Как устранить ошибку в программе 1С Предприятие 8

Довольно часто пользователи программы 1С Предприятие 8 сталкиваются с ошибкой «В данной транзакции уже происходили ошибки».

В данной транзакции уже происходили ошибки

В данной транзакции уже происходили ошибки

Документ не записывается, а понять, в чем причина невозможно, т.к. текст сообщения об ошибке ни чего конкретного не сообщает.

Давайте разберемся в чем причина.  

1.    Причина ошибки в 1С Предприятие 8.3

С технической точки зрения эта ошибка в 1С:Предприятие 8.3 возникает в транзакции в момент первого обращения к базе данных после обработки исключительной ситуации операторами (Попытка-Исключение).

Ниже на рисунке продемонстрирован пример, когда при записи объекта «Объект_1» вызывается исключительная ситуация, при этом ошибка возникает в строке «Ссылка_2.Наименование», т.к. осуществляется запрос к базе данных в объектной модели данных. И не важно, запись это или чтение.

Возникновение ошибки в 1С Предприятие 8.3 при записи объекта

Возникновение ошибки в 1С Предприятие 8.3 при записи объекта

Причем в попытке-исключении обрабатываться операция, которая также выполняется в транзакции. Чаще всего это сочетание явных и неявных транзакций, т.е. транзакций, вызванных оператором НачатьТранзакцию явно и транзакций, вызванных платформой неявно (например, при записи объекта).

Как известно, система 1С:Предприятие 8.3 не поддерживает вложенных транзакций, но допускает организацию вложенной конструкции нескольких транзакций. В нашем примере явный вызов транзакции оператором НачатьТранзакцию – транзакция 1 уровня, а неявная транзакция записи – транзакция 2 уровня и т.д. Возникновение ошибки на нижних уровнях запрещает успешное завершение транзакции 1 уровня. Другими словами, откатывается все «дерево транзакций».

В чем же здесь проблема?  

2.    Почему ошибку «В данной транзакции уже происходили ошибки» надо устранить

Во-первых, пользователь никогда не поймет в чем причина, т.к. формулировка сообщения об ошибке для него не информативна.

Во-вторых, воспроизведение ошибки и ее отладка администратором тоже будет не простым занятием. Дело в том, что ошибка возникает в момент первого обращения к базе данных, т.е. в журнале регистрации будет зафиксирована именно эта строка. Хотя сама причина этой ошибки находиться в коде на самом нижнем уровне. В нашем примере «Объект_1» может содержать различные проверки перед записью, «завернутые» в конструкцию «Попытка-Исключение», которые, в свою очередь, могут также иметь глубокую иерархию вызовов процедур и функций. Попробуй разберись.

В-третьих, суть этой ошибки – некорректный код. А если быть более точным – несоблюдение требований к написанию кода с использованием транзакций.

Как решить эту проблему в 1С:Предприятие?  

3.    Как устранить ошибку в программе 1С Предприятие 8

Основным требованием к написанию кода с использованием транзакций, непосредственно связанным с ошибкой «В данной транзакции уже происходили ошибки» в 1С:Предприятие, являются правила использования обработки исключения:

1. Метод НачатьТранзакцию должен находиться за пределами блока Попытка-Исключение;

2. Все действия, выполняемые после вызова метода НачатьТранзакцию, должны находиться в одном блоке Попытка, в том числе чтение, блокировка и обработка данных;

3. Метод ЗафиксироватьТранзакцию должен идти последним в блоке Попытка перед оператором Исключение;

4. В блоке Исключение нужно сначала вызвать метод ОтменитьТранзакцию, а затем выполнять другие действия;

5. При использовании вложенных транзакций в конце блока Исключение рекомендуется добавить оператор ВызватьИсключение. Это позволит перенаправить исключение выше по стеку. В этом случае в журнале регистрации мы получим именно ту строку, которая привела к ошибке;

6. В блоке исключения рекомендуется сделать запись об ошибке средствами встроенного языка.

Общая схема во вложенной транзакции:

Схема вложенной транзакции в системе 1С:Предприятие 8.3

Пример:

Пример вложенной транзакции для решения ошибки «В данной транзакции уже происходили ошибки»

Пример вложенной транзакции для решения ошибки «В данной транзакции уже происходили ошибки»

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

Специалист компании «Кодерлайн»

Игорь Торба

   Воин 1С

17.08.06 — 14:46

Последние несколько дней база стала давать предупреждение:При выполенении произошла ошибка! Таблица 1SJourn Ошибка обращения к данным при транзакиции, выполняемой другим пользователем.Повторить попытку? [Да Нет].Появляется при проведении доков, выполнении отчетов. Если кто встречал такую фичу, подскажите как лечить

   AeDen

1 — 17.08.06 — 14:47

Ошибка обращения к данным при транзакиции, выполняемой другим пользователем.

   zbv

2 — 17.08.06 — 14:47

В поиске смотрел?

   Воин 1С

3 — 17.08.06 — 14:49

(1) Спасибо а то я думаю и что это значит…

   Воин 1С

4 — 17.08.06 — 14:49

(2) Не пока ща гляну

   Воин 1С

5 — 17.08.06 — 14:51

В поиске ничего подходящего нету;(

   AeDen

6 — 17.08.06 — 14:51

(3) Ну, думай дальше. Кто мешает?

   Воин 1С

7 — 17.08.06 — 14:59

Ну что, неужели никто не встречал ничего похожего?

   GenV

8 — 17.08.06 — 15:03

(5) Плохо смотрел. Ищи: Ошибка обращения к данным при транзакции 1С

   Воин 1С

9 — 17.08.06 — 15:07

(8) Спасиб, я глянул. Насколько понял, коллизия призаписи доков в табицу, используемую для УРБД. Но, почему она стала появляться? Раньше ведь не было..

   GenV

10 — 17.08.06 — 15:19

(9) См.(1) Ошибка <одновременного> обращения к <различным> данным при транзакиции, выполняемой другим пользователем. Темерь понятно?

   ламеры спрашивают

11 — 17.08.06 — 15:48

(10) Почему «к <различным>». Наверное хотел сказать «к одним и тем же»?

   Воин 1С

12 — 17.08.06 — 15:52

(10)Нет, поясни плиз

   GenV

13 — 17.08.06 — 15:52

(11) различным — значит не только к таблицам УРБД :)

   Воин 1С

14 — 17.08.06 — 15:54

(13) В 1SJORn хранятся записи используемые урбд.Непонятно почему это появилось и что с ним делать;)

   GenV

15 — 17.08.06 — 15:56

(14) … Да тех, кто в бронепоезде: несколько пользователей хотят одновременно получить одни данные. Возникает транзакция (блокировка данных). Теперь-то понятно?

   ламеры спрашивают

16 — 17.08.06 — 15:57

(13) ОК

   AeDen

17 — 17.08.06 — 15:57

(15) Rnj-nj gsnftncz ljcnexfnmcz lj lfyys[? rjnjhst ,kjrbhjdfys nhfypfrwbtq/

   Воин 1С

18 — 17.08.06 — 15:57

От тех, кто в бронепоезде: Почему этой ошибки раньше не было?

   Воин 1С

19 — 17.08.06 — 15:58

Сейчас она постоянно вылезает на экран

   GenV

20 — 17.08.06 — 15:59

(19) Сейчас только один пользователь или кто-то что-то проводит?

   zalex

21 — 17.08.06 — 15:59

(14) В 1SJORN хранятся журналы, все.

(18) Наиболее вероятно, что в одной из обработок проведения ты впендюрил Вопрос() или Предупреждение(). Обработка это транзакция, и она не закончится, пока пользователь не закроет окошко вызванное одной из этих функций. Пока один пользователь не закончит транзакцию, никто другой не может ее начать.

   Воин 1С

22 — 17.08.06 — 16:01

(21) Ничего я не впиндюривал, я конфу сам полностью писал.

   zalex

23 — 17.08.06 — 16:02

(22) Во-от… :)

   AeDen

24 — 17.08.06 — 16:02

+(17) Разные пользователи пытаются обратиться к одним и тем-же данным, которые блокированы кем-то в транзакции.

   Воин 1С

25 — 17.08.06 — 16:04

епрст, пользователей сколько было, столько и осталось, раньше этого предупреждения не было, а сейчас све юзеры ко мне бегут дружной толпой и жалуются

   GenV

26 — 17.08.06 — 16:05

(25) Попрубуй оставить одного и проверь.

   zalex

27 — 17.08.06 — 16:07

(25) Объясняю на пальцах, пока один пользователь проводит документ, другие пользователи ничего провести не могут, если у тебя где-то в проведении неэффективный алгоритм, т.е. док проводится 2-3 то все будут эти 2-3 минуты наблюдать эту надпись. Такое бывает если ты неэффективно рассчитываешь остатки например, пока доков было немного проводилось быстро, чем дальше — тем хуже. Либо вариант (21). Просто бери копию базы и тупо проводи доки по очереди, наблюдай который проводится слишком долго, или задает вопросы в процессе проведения.

   zalex

28 — 17.08.06 — 16:09

+(27) Проводи по сетке, зачастую локально у тебя все летает, а по сети тормозит (если, например, запрос в цикл засунул — локально будет пару секунд проводится, а по сетке пару минут)

   Воин 1С

29 — 17.08.06 — 16:12

(27) Кстати очень может быть, у меня в одном регистре висят огромные непроходящие минуса, из-за этого все доки долго черепятся

   zalex

30 — 17.08.06 — 16:15

(29) Даже наверняка… Еще сделай нехитрую вешь —  поиск по всем текстам «НачатьТранзакцию», если какой-нить тяжелый отчет целиком в транзакцию сунул, те несколько минут пока он формируется все будут наблюдать эту же ошибку.

   zalex

31 — 17.08.06 — 16:16

+(30) Короче с такой надписью всех блокирует кусок

НачатьТранзакцию();



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

либо ОбработкаПроведения() — это такая же транзакция, только явно не написано.

   Воин 1С

32 — 17.08.06 — 16:17

НачатьТранзакцию нигде нет, скорее всего обработка проведения подвешивает все..

   zalex

33 — 17.08.06 — 16:19

(32) Осталось только оптимизировать, где-то многократные запросы, либо вместо итогов по движениям шаришься, чем больше движений — тем дольше проводится. Думай как сделать лучше.

   zalex

34 — 17.08.06 — 16:22

Как вариант можно их в терминал загнать — проведение ускорится в разы, но код свой анализировать все же надо, где-то косяк.

http://www.mista.ru/articles1c/terminal.htm

  

Воин 1С

35 — 17.08.06 — 16:24

Спасиб , буду думать;)

Здравствуйте обьясните почему появляется следующая ошибка: Конт.УстановитьНовыйНомер(СокрЛП(Константа.ПрефиксИБ) + ПрефиксЮрЛицаФирмы); : {Глобальный модуль(4064)}: Таблица: 1SDNLOCK Ошибка обращения к данным при транзакции, выполняемой другим пользователем. Как это исправить

подождать. поробовать ещё раз. +сходить в поиск.

Потому что нельзя какать вдвоем в один унитаз… Надо по очереди…

Забей. Это безнадежно. Полностью от этой проблемы ты уже не избавишься никогда.

Нет уж надо хоть немножко избавиться.Слишком часто стало появляться.ОБьясните почему происходит это

терм.сервак? или сеть? (хи-хи)

сколько одновременно компов может висеть в одном справочнике или документе

сеть с выделенным сервером

вам бы, батенька, с терминологией разобраться, для начала

Сеть с выделенным сервером под управлением Windows server 2003+ active directory в сети находится 15 машин пожно сказать одновременно работающих либо в справочнике НОменклатура либо в документе Быстрая продажа. Конфа ТИС очень часто выдается сообщение Конт.УстановитьНовыйНомер(СокрЛП(Константа.ПрефиксИБ) + ПрефиксЮрЛицаФирмы); : {Глобальный модуль(4064)}: Таблица: 1SDNLOCK Ошибка обращения к данным при транзакции, выполняемой другим пользователем. В чем проблема почему оно появляется сколько одновременно компов может висеть в одном справочнике или документе

+не в терминальном режиме и на DC

юзеры все в терминальных сессиях?

Они в терминале сидят или доступ к базе через сеть открыт?

«сколько одновременно компов может висеть в одном справочнике или документе» во-первых, не компов, а юзеров. во-вторых, теоретически сколь угодно много. в-третьих, есть понимание термина «транзакция», или надо разъяснить?

насчет транзакции понятно

это жесть при 15 юзерах. база сколько весит?

загоняй в терминал всех +

как это сделать где можно почитать где более подролбно описано

м-дя…. ты чё ждешь-то? пока база окончательно рассыпется и тебя начнуть мочить? срочно: 1. всех в терминал, базу резать или 2. базу на скуль 1-й вар. дешевле (если, конечно, лицензия на скуль уже не имеется в активе)

понятно примерно опиши как какой софт для этого надо либо средствами windows 2003

под понятием рассыпится что имено

у тебя реально на клаве выдраны знаки препинания? Или уважение к участникам форума настолько ничтожно, что знаки препинания они не достойны?

Одним из недостатков DBFной версии “1С:Предприятие 7.7” является ограничение на размер файлов – 1 гигабайт. При этом если система эксплуатируется в однопрограммном режиме, то размер файла может быть 2 гигабайта, однако если появится второй пользователь, а файл будет больше 1 гигабайта, то система 1С начинает сбоить по ЧТЕНИЮ, у одного пользователя, если другой выполняет запись/обновление данных. Например, если выполнять цикл по выборке данных, то он может “тихо” прекратиться в любой момент, не предоставив программе всего множества объектов. А ГДЕ ПРОЧИТАТЬ БОЛЕЕ ПОДРОБНУЮ ИНФОРМАЦИЮ

Тэги:

Комментарии доступны только авторизированным пользователям

  1. Здраствуйте! Возникает такая проблема — «При выполнении транзакции произошла ошибка. Таблица 1Sjourn. Ошибка обращения к данным при транзакции, выполняемой другим пользователем»
    стоит 15 клиентских компов и один сервер опрационка win server 2003. база 1с7.7 -dbf, объем 1.5гига. В данный момент сейчас бухгалтера все работают в одном документе, и я думаю что это из-за этого. Позвонил в службу поддержки которые обслуживают нашу 1с — там ничего умного не посоветовали — «сказали типа у вас сервак на котором стоит 1с слабый — меняйте» короче прогнали полную чушь и отмазались :unsure: .
    Комп под сервак мы приобретали 3 месяца назад (проц. — атлон Х2 5600 оператива 2гига) вообщем понятно что дело не в этом. Так же я попробовал увеличить Значение ожидания, как было написано здесь на форуме, проблема не исчезла. Подскажите пожалуйста что можно еще сделать, и есть ли выход из этой ситуации???????


  2. bob

    Offline

    bob
    Опытный в 1С

    Регистрация:
    7 май 2008
    Сообщения:
    394
    Симпатии:
    1
    Баллы:
    29

    в одном документе работать одновременно невозможно. Ошибка из-за того, что при проведении документа, блокируется определенное кол-во таблиц, и другие пользователи могут с ними работать только после окончаниЯ проведения. Это только один из множества вариантов, есть еще, звоните в более компетентную службу поддержки.


  3. Kaboom

    Offline

    Kaboom
    Опытный в 1С

    Регистрация:
    2 июл 2007
    Сообщения:
    158
    Симпатии:
    0
    Баллы:
    26

  4. Заранее всем спасибо. завтра на работе попробую!


1C-pro.ru - форум по 1С:Предприятию 7.7, 8.0, 8.1, 8.2, 8.3

Ошибка доступа к таблице

Я

vintik007

18.06.10 — 12:23

Здравствуйте. Столкнулся с такой проблемой.

При запуске 1С выдает ошибку «Ошибка доступа к таблице DH…» (их около 20 штук) и дальше не грузится.

При работе Конфигуратор — Администрирование — Тестирование и исправление ИБ пишет

«Проверка физической целостности таблиц ИБ. Неисправимая ошибка»

«Не удалось открыть файл DH…»

Установлена Версия 7.7

Ось windows server 2003

Пользователи по удаленному рабочему столу заходят каждый под своим логином на сервер и там запускают 1С уже под своим именем.

Все работало отлично.

Помогите решить проблему.

Спасибо

Жан Пердежон

1 — 18.06.10 — 12:53

восстановить из бекапа не предлагать?)

Ёпрст

2 — 18.06.10 — 12:59

автономный файлы поди запороли базёнку..

Мулька

3 — 18.06.10 — 13:00

(0) МД обычным копированием «обновил»?

Ёпрст

4 — 18.06.10 — 13:00

(1) ну ты же знаешь ответ — архивы делают только трусы..

Ёпрст

5 — 18.06.10 — 13:00

(3) так база бы открывалась..

Torquader

6 — 18.06.10 — 13:02

(5) Не факт, если в старом MD данный файл вообще не планировался, то его и не будет.

Ёпрст

7 — 18.06.10 — 13:04

(6) ТиИ его по-идее создаст новым, не помню уже.. лень эксперементировать

Мулька

8 — 18.06.10 — 13:09

(5) Тогда ДД чужой.

(0) Убей *.ДД, зайди в пофигуратор и создай новый. ТОЛЬКО НА КОПИИ, ест-но

vde69

9 — 18.06.10 — 13:14

1. для начала сделай копию всего каталога и ее нетрожь!!!!

2. смотри почту

vintik007

10 — 18.06.10 — 13:25

бэкапов нету, мне досталась сеть со всем софтом по наследству от нерадивого админа похоже )
все усложняется тем что с 1с не приходилось так плотно работать… вот на ошибках и методом тыка приходится делать

vde69

11 — 18.06.10 — 13:30

(10) один битый файлик выложи или кинь на почту, хоть диагноз поставлю

vintik007

12 — 18.06.10 — 13:35

пытаюсь сделать архив
Конфигуратор — Администрирование — Сохранить данные
там у нас *.DBF, 1CV7.DD, 1CV7.MD, 1CV7.ORD, 1CV7.SPL, USRDEFUSERS.USR

жму сохранить происходит какие то действия потом ошибка «Ошибка при открытии архива»

Ёпрст

13 — 18.06.10 — 13:36

(12) сделай хотя-бы архив каталога ИБ целиком.. винраром каким нить, для начала тупо скопиряв каталог в новое место.

Rie

14 — 18.06.10 — 13:37

(12) Скопируй всю папку куда-нибудь

vde69

15 — 18.06.10 — 13:37

(12) скопируй ВЕСЬ КАТАЛОГ — и не трогай его

Cthulhu

16 — 18.06.10 — 13:40

(10): досталась уже в слетевшем состоянии???

vintik007

17 — 18.06.10 — 14:02

Досталось в рабочем. Я просто перегрузил сегодня сервер, но все отключил при этом. И вот результат
Сейчас копирую все в сэйф моде, так как в норм режиме капировать не дает.
Вроде есть позовчерашний бэкап, это радует, только где он надо поискать)
Есть ли в 1С чтобы автоматом делало бэкапы скажем 2 раза в сутки?

vde69

18 — 18.06.10 — 14:06

(17) ты-бы позвонил старому админу и 1с нику и спросил про тонкости

Мулька

19 — 18.06.10 — 14:07

(17) Ты не поверишь, но это есть в Винде — Планировщик называется

Cthulhu

20 — 18.06.10 — 14:08

(17): тогда на фразе «бэкапов нет» да ещё с попыткой самооправдания песнями про криворукого админа — разговор закончен.

Мулька

21 — 18.06.10 — 14:09

(19) + А сервер ты, похоже не перегрузил, а выключил. Последний совет. Убей все *.cdx и Зайди монопольно

(20) +1

Ёпрст

22 — 18.06.10 — 14:09

(17) старый кодер куда делся ? Не исключена преднамерянная порча данных программными средствами…

Kreont

23 — 18.06.10 — 14:09

(0) Может просто права стоят только на чтения для каталога 1С-ки

vintik007

24 — 18.06.10 — 14:13

скопировал базу в другое место, запустил 1С, указал новый путь все загрузилось, сейчас проверят утеряно что то или нет

Иду

25 — 18.06.10 — 14:19

Пользователи по удаленному рабочему столу заходят…

Если админу полный расчет не дадут… то не только права на каталог «уехать» могут.

vintik007

26 — 18.06.10 — 14:21

все отлично все сохранилось.

Пользователи по удаленному рабочему столу заходят…
ну там стоят ограничения на запуск программы по пользователям, тоесть 4 человека могут только пользоваться…
сейчас как раз все и буду переделывать, переназначать права и пользователей.
ну и поплотее 1С поизучать )

всем спасибо за помощь и подсказки!

vintik007

27 — 18.06.10 — 18:21

эх, не все оказалось так просто.
Я запускал Конфигуратор, тестирование и исправление ИБ, и он похоже поудалял файлы которые были связанны с битой таблицей этой.
Сейчас если зайти в Журнал операция, то исчезли записи о добавлении документов, как и сами документы.
БакАп последний сделан на 11 июня, может он мне чем то помочь?

vintik007

28 — 18.06.10 — 18:24

Ну и так же в разделе Документы, есть список документов, тот который исчез нумирация у него началоась с самого начала, тоесть все доки что были до этого сделаны в этом разделе про них 1С забыло

vintik007

29 — 18.06.10 — 18:48

незнаю насколько я прав, но сделал так
создал документ он получился с номером 000001, нашел в файлах базы по времени этот созданный документ DH53517.CDX, нашел этот файл в бэкапе, даст ли мне это что то? смущает вес файла 5кб.

vintik007

30 — 21.06.10 — 11:07

Ну вот началась новая неделя, а геморой со старой продолжается…)

Подскажите как сделать частичное восстановление записей… имея на руках старый бэкап, весь его востанавливать нельзя, так как он недельной давности…

Ёпрст

31 — 21.06.10 — 11:13

(30) пригласите кого-нить со стороны.. вон, vde69 вам ужо предлагал свои услуги.

Kreont

32 — 21.06.10 — 11:16

Откатай базу архивную в сторонке, посмотри в ней макс.номера документов пропавших, создай в рабочей базе док. с максномером+1, и пусть работают

Сам тем временем через обмен xml/ole и т.д. перебрось все недостающие документы

vintik007

33 — 21.06.10 — 11:44

Kreont
так как не когда не занимался этим, но учиться не когда не поздно
не подскажешь для обмена это стороняя программа или средствами 1С делается?

Ёпрст

34 — 21.06.10 — 12:01

(32) ага .. зачет пускать в неработающую базу юзверей.. и.. чем они торговать будут, товаром недельной давности, которого ужо нет ?

(33) лучше не связываться с тем, чего не знаешь вообще, дешевле (и быстрее) будет для бизнеса нанять того, кто всё сделает без лишних вопросов.

А щас — наворотишь — хрен отмоешься, кончится тупо твоим увольнением.

vintik007

35 — 21.06.10 — 12:07

Ёпрст3
волков бояться в лес не ходить )
перед любым изменением базы делаю бэкап теперь…

«лучше не связываться с тем, чего не знаешь вообще» знания это приобреьенноая вещь, они приобретаются путем обучения или проб и ошибок…
спасибо за переживания, но надо попробывать и добить уже все

нашел программу OLE-Automation (1С->1С), описание http://www.center-comptech.ru/st_kak_nastroint_obmen_info.html
думаю то что надо

Ёпрст

36 — 21.06.10 — 12:10

(35) так то оно так, но твоё обучение методом тыка для фирмы слишком дорого обходится..

Ёпрст

37 — 21.06.10 — 12:13

Если документооборот небольшой, то развернуть архив от 11 числа, посадить девочек, и пусть заново колотят первичку за 10 дней — это будет быстрее, чем ты будешь разбираться с переносом, и что самое главное — будут верными данные.

Ёпрст

38 — 21.06.10 — 12:14

+37 это тебе самый бюджетный  и безопасный вариант на сейчас.
Коли не хотите привлекать кого-то со стороны.

vintik007

39 — 21.06.10 — 12:22

удалились записи за 2 года
фирама работает бугалтера пашут, я все делаю на тестовой базе. база вес ок работает только пропали записи по одной проводке… так называемая Комплектация… вот ее надо за все время базы восстановить из архива

Ёпрст

40 — 21.06.10 — 12:24

(39) конфа то какая хоть?

Ёпрст

41 — 21.06.10 — 12:24

+40 и 2 года записей, только по этой проводке, или вообще все ?

vintik007

42 — 21.06.10 — 12:41

правильнее будет его назвать Документ по имени Комплектация
тоесть в проводках и тд, записи есть есть то когда открываешь детально, то пустой документ…
ну и в журнале операций пустые строки где упоминается данный документ

Ёпрст

43 — 21.06.10 — 12:43

(42) судя по (0) побилась табличка шапки (DH) этого документа..
Открой её дбф редактором и посмотри, есть ли в ней записи, и какого размера сама табличка, на крайняк, можно часть таблички с архивной копии взять.

Ёпрст

44 — 21.06.10 — 12:44

+43 недостающие реквизиты вытащить с проводок/регистров (смотря что за конфа)

vintik007

45 — 21.06.10 — 13:07

Сегодня при добавлениее нового документа Комплектации, по времени смотрю, изменены были 6 файлов. Сейчас попробую сверить файлы из бэкапа и тот что изменен сегодня.

Ёпрст

46 — 21.06.10 — 13:11

(45) че там смотреть то?
1sjourn , DH, DT, возможно 1SCRDOC (если есть отборы или подчиение), далее файлы движений и итогов регистра(ов), если опер учет, файло операций,проводок, итоги по счетам,итоги по отборам, если есть бух учет..

Тебе это ничего не даст, если что.

vintik007

47 — 21.06.10 — 13:22

есть файл SC156.DBF в нем все записи что делались в Компектации, от самомго начала, по последнюю которая сегодня была добавлена 11000 записей.
в нем есть названия колонок
ID, ParentID, Code, Descr и тд…
тоесть сам файл то жив…

Ёпрст

48 — 21.06.10 — 13:24

(47) алё.. SC156.DBF — это табличка справочника..Открой *.dd и посмотри, какого именно.
А тебе нужна табличка документа, шапки в DH, табличная часть в DT.. если что

vintik007

49 — 21.06.10 — 13:35

я потерял суть что мы ищем )))
есть DT53517.DBF он что в бэкапе весит 32кб в рабочей весит 34кб
есть DH53517.DBF вес одинаковый 5 кб

vintik007

50 — 21.06.10 — 13:36

DT53517.DBF в рабочей имеет 538 записей
в бэкапе 516

Ёпрст

51 — 21.06.10 — 13:39

(50) че-то мало слишком записей.. архив что, тоже битый ужо ?

Разверни архивную копию в отдельный каталог и разверни базу, в ней то хоть есть эти документы ?

vintik007

52 — 21.06.10 — 13:43

Разверни архивную копию в отдельный каталог и разверни базу, в ней то хоть есть эти документы ?
так и сделал, там все оки все есть

Ёпрст

53 — 21.06.10 — 13:46

(52) их совсем мало что ли?

а в рабочей чего не хватает ?

Ёпрст

54 — 21.06.10 — 13:49

+53 размер DH какой в рабочей/копии ?

vintik007

55 — 21.06.10 — 13:52

есть DH53517.DBF вес одинаковый 5 кб

Ёпрст

56 — 21.06.10 — 13:56

(55) и ? в новой базе есть документы  и нет реквизитов шапки, или что? Или нет реквизитов табличной части ?
Или нет самих документов в журнале ?
Или нет проводок/движений по регистрам по этим документам ?

vintik007

57 — 21.06.10 — 13:58

может проще сделать скрин чего не хвататет?

Ёпрст

58 — 21.06.10 — 13:59

vintik007

59 — 21.06.10 — 14:18

vintik007

60 — 21.06.10 — 14:22

на нижних двух скринах то что именно пропало, первое в карточках, второе в журнале

при запуске Тестирование и исправление  пишет
Проверка таблиц документов. Табл. часть документа Комплектация(DT53517. Запись …). Нет в журнале документов

  

Ёпрст

61 — 21.06.10 — 14:32

(59) перепроведи доки комплектациии

Ёпрст

62 — 21.06.10 — 14:32

(60) и много таких записей ?

vintik007

63 — 21.06.10 — 14:49

не поверите, спасло очередной запуск Тесторования и испровления ИС
перенес каталог в другое место запустился снового места, запустил Исправление и вроде как все исправило)… точно буду знать только вечером когад перекину все в рабочей каталог

  

vintik007

64 — 22.06.10 — 10:40

ну вроде все оки
спасибо за помощь

  • Таблица 1 сведения поясняющие расхождения ошибки противоречия несоответствия как заполнить
  • Таблетка полностью разложилась во рту ошибка
  • Табель учета рабочего времени ошибки при заполнении
  • Табдок прочитать 1с ошибка при выполнении файловой операции
  • Табачный дым у пассивного курильщика вызывает найдите допущенную ошибку тест