Не удалось заблокировать таблицу sessions 1с как исправить

Как часто приходиться видеть это сообщение? Думаю, каждый кто имеет продолжительный опыт работы с 1С, хоть один раз да сталкивался с такой ошибкой. Из-за чего же программа выдает такую вот ошибку «Конфликт блокировок при выполнении транзакции: Не удалось заблокировать таблицу»?

Как часто приходиться видеть это сообщение? Думаю, каждый кто имеет продолжительный опыт работы с 1С, хоть один раз да сталкивался с такой ошибкой. Из-за чего же программа выдает такую вот ошибку «Конфликт блокировок при выполнении транзакции: Не удалось заблокировать таблицу»?

Ну чаще всего это происходит из за того, что кто-то из пользователей уже проводит какую-то операцию, которая заблокировала данную таблицу. Чтобы решить данную проблемы всем пользователям достаточно выйти из программы. Но бывает и так что пользователь вышел из программы, а процесс программы из памяти не выгрузился. Не паникуйте! Если все пользователи вышли из программы, а сообщение все равно выходит, нужно открыть меню Сервис — >Активные пользователи.

И посмотреть, кто кроме вас в данный момент работает с программой. Если все пользователи вышли, а вы все таки видите, что кроме вас есть еще кто-то, не пугайтесь. Так бывает. Завис процесс. Перезагрузите компьютер пользователя который находиться в активных.

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

В данном случае и почти всегда, если приведенные выше рецепты не помогли, помогает утилита chdbfl.exe. Находиться она в папке с исполняемым файлом 1С. Путь до файла будет приблизительно такой «C:Program Files1Cv82номер_версии_платформыbinchdbfl.exe». Обратите внимание что данная утилита от одной версии платформы, может не подойти к другой.

Поэтому открыть нужно папку, именно с номером текущей платформы, на которой вы работаете.

Как посмотреть номер платформы? Очень просто. Заходим в меню Сервис -> О программе. И дальше на картинке показано, где смотреть номер платформы.

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

Симптомы пациента и анамнез:

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

Основные признаки работы блокировок:

  • быстрая работа пользователя с базой по сети в монопольном режиме и крайне медленная — при одновременной работе нескольких пользователей
  • быстрая работа пользователя с локальной базой на сервере и медленная — по сети
  • обращения к файловой системе чуть менее 10 мбайт/сек

Итак, мне досталась задача — сделать так, чтобы в 1С могли одновременно работать целых три пользователя! Смешно, не так ли?

Все шуточки я забыл, когда увидел, с чем предстоит иметь дело: «сервер» в лице обычного офисного компьютера и два ноутбука.

Счастье было бы неполным, если бы не замечательные операционные системы — на компьютере и на одном ноутбуке Windows 7, на другом — Windows 8.

При попытке одновременно провести документы на ноутбуках один тупил около минуты, а второй вылетел из 1С с текстом ошибки «не удалось заблокировать таблицу…».

Запуск 1С на ноутбуке — это отдельное шоу, длившееся порядка 3 минут!

На многих ресурсах сталкивался с советом перейти на работу в терминальном доступе. К сожалению, Windows 7 не позволяет штатными средствами превратиться в сервер терминалов — максимум одно активное подключение. При этом остальные сеансы не прекращаются, можно переподключиться под другим пользователем — «выкинув» при этом предыдущего пользователя, но не завершив его сеанс. Поэтому следует перенести 1С на серверную ОС, где таких ограничений нет. Клиент на свой страх и риск решил проблему вместо этого с помощью сторонней утилиты
Windows7_SP1_RDPhack.

Но на этом приключения не закончились. Даже в терминальном подключении остались значительные тормоза. Вновь меня выручили всемогущие поисковики. Ниже даны советы по ускорению файловой 1С, которым я последовал:

1. Отключить
использование протокола сети IPv6
, настроить адресацию на «старом» IPv4.

2. Добавить процессы 1С в исключения брандмауэра Windows, а также в исключения антивируса, либо отключить их вовсе (более рискованно, но простой тест показал увеличение скорости
перепроведения документов при отключенном антивирусе Avast в разы
!)

3. Запустить индексацию полнотекстового поиска в 1С либо выключить его вовсе

4. Запустить Тестирование и исправление базы, проверку утилитой ChDbfl

5. Запустить в конфигурации пункт Проверка конфигурации (если конфигурация не типовая, это может быть полезным). По результатам проверки конфигурации она волшебным образом уменьшилась в размерах почти на треть. Что уж и как до меня обновляли приходящие программисты — особо не вникал, но факт налицо.

6. Отключить ненужные функциональные опции.

7. Настроить права пользователям. (Этот и предыдущий советы показались глупостью, до тех пор, пока я не понаблюдал за отрисовкой управляемых форм при открытии списка документов. Чем меньше лишнего в управляемом интерфейсе — тем, как правило, быстрее он работает)

8. Запустить пересчет итогов и восстановление последовательности (значительный прирост может быть только в случае, если долгое время итоги не восстанавливались)

9. Указать «Скорость соединения — низкая» в настройках списка баз (это особого результата не дало, разве что отключились картинки у подсистем:))

После выполнения всех этих шагов файловая база 1С заработала на порядок шустрее. Запускаться стала максимум секунд за 10, а скорость перепроведения документов увеличилась в среднем в 12 раз.

Возможно, эта небольшая статья пригодится и вам, если вдруг понадобится ускорить файловую базу 1С.

P.S: А запустить файловую 1С, используя сетевой доступ к общей папке — все же нереально, т.к. даше самый шустрый твердотельный диск, оперативная память и процессор уткнутся в сетевые блокировки, и работа более одного пользователя будет фактически невозможна. Речь идет конкретно о конфигурации УТ 11.1. Самописные небольшие конфигурации вполне могут работать весьма быстро даже в файловом варианте.

Дополнения из комментариев
к публикации:

Дефрагментация диска
с файловой базой

Свертка
базы (может оказаться полезной, если база большого объема, например, за несколько лет). У клиента база была достаточно молодая, поэтому свертка была нецелесообразна.

Модернизация аппаратной части — более быстрый винчестер, новый свитч, процессор, и т.д.

Установить на веб-сервер
, доступ с помощью тонкого клиента. Тут мнения разделились. Кто-то говорит, в разы быстрее, кто-то — что ускорения не отмечено.

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

Большое количество выполняемых операций

Первым делом при поиске причин следует уточнить, сколько же одновременно работающих пользователей находится в той информационной базе, в которой выдается подобная ошибка. Как мы знаем, максимальное их количество может быть довольно большим. Это и тысяча, и пять тысяч.

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

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

Регламентные задания

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

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

«Зависшие сеансы»

Проблема «зависших сеансов» пользователей знакома практически каждому, кто сталкивался с обслуживанием 1С. Пользователь мог уже давно выйти из программы, или закрыть какой-либо документ, но его сеанс по-прежнему остается в системе. Проблема чаще всего единичная и достаточно завершить подобный сеанс через консоль администратора. Такие же проблемы могут возникнуть и с фоновыми заданиями.

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

Ошибки при написании конфигурации

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

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

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

Стоит 8.1 комплект на 5 пользователей.
Юзаем типовую бухгалтерию.
Работают в основном через терминал, иногда и без него.
Вариант базы данных — файловый
Ошибки замечены у тех, кто в терминале

как-то так. Порылся в нете, Яндексе — вообщем как-то неконкретно всё.
Основные найденные рекомендации:
1) Выгрузить/Загрузить базу — в смысле новую состряпать из конфигуратора
2) запустить Prоgram Files1cv81binchdbfl.exe — проверка физической целостности базы
3) Провести Тестирование и исправление информационной базы
4) обновиться на последний релиз 8.1

Кто-нибудь что-нибудь поконкретнее знает?

13.5.2010, 10:05

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

13.5.2010, 10:56

Дык эта… если рассматривать безотносительно 1С, а в общем, то тупо кто то из двух мест пытается заблокировать одну таблицу, первый успевает, а остальных посылают. Смотри какие операции/транзакции/обработки (или как это называется в 1С) выполняются в это время. Вполне может быть, что дело не в платформе, а криво написанных конфигурациях или особенносятх работы этих конфигураций на ваших данных.

P.S. А файловые БД в многопользовательском режиме это извращение.

13.5.2010, 10:58

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

13.5.2010, 11:06

Да сдается мне, восьмерина как платформа — сырость та еще. Где-то писали, что ПЕРИОДИЧЕСКИ тестирование с исправлением приходиться делать

13.5.2010, 11:10

маловероятно. Для восьмерки новый сервак куплен аж с лицензионной виндой

Суть в том, что один блокирует таблицу, остальные ждут до тайм-аута.
Почему не успевают, это большой вопрос. Физический носитель поглядеть, может тупит. Системный журнал, MHDD. И все те действия, что написаны в первом посте обязательно.

P.S. Новое не значит что 100% рабочее.

13.5.2010, 11:38

Все что надо, вам уже предложили, сначала это пробовать

так то да, это до вечера надо ждать.
Была маленькая надежда что-нибудь новое услышать

Не рассказывайте чудес. Там бед хватает, но это не они.

где чудеса-то? Я не понял, кто-то собрался утверждать, что 8.1 крутая безупречная платформа?

писали, что ПЕРИОДИЧЕСКИ тестирование с исправлением приходиться делать

у нас похоже такой случай и есть.
Опрос пользователей поодиночке (чтобы не врали дружно) показал, что эта ситуация встречается вроде бы ТОЛЬКО у пользователей, работающих в терминале. А те кто ходят не через терминал, на котором
Windows Server 2003 R2 Standart 64, либо не помнят такой ситуации, либо её просто не возникало у них.
Причем двое особо наблюдательных отметили, что 1.5-2 месяца назад это явление наблюдалось НАМНОГО реже

13.5.2010, 12:42

Born Killer
, Антивирь какой-нить стоит на серваке? Если да, попробуй отключить или базу в исключения добавить

13.5.2010, 13:14

Антивирь какой-нить стоит на серваке?

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

нет там похоже антивируса…

13.5.2010, 13:23

Я не понял, кто-то собрался утверждать, что 8.1 крутая безупречная платформа?
да ну нах. 7.7 то лажа местами до сих пор, а про 8-ку впору слагать легенды о её глючности

Сколько база размером и какое количество пользователей?

Слагайте. Приведите конкретный пример.
Сколько база размером и какое количество пользователей?

ночью сделал тестир и исправл. До этого 1cv8.1CD был 2Гб, сейчас 1.5Гб стал.
Пользователей 5 штук, как и собсвенно лицензия.
Насчет легенд о глючности, был один случай. Вот если взять 7.7 и просто через Тотал скопировать 1 базу в другое место — копия без проблем.
Однажды попробовал тоже самое сделать с восьмерошной базой, скопировал каталог базы в другое место,
прописал, открыл обе базы одновременно, одна предполагалась для извращений.
В копии пометил на удаление несколько документов, переключился в окно с реальной базой не поверил глазам: те же самые документы пометились на удаление и там

Ясень пень, у 1С на всё есть ответ: делайте ежедневную копию базы данных.
Да только это ху е вый ответ

МММарина

Born Killer
,

привет, друг…

Миф!
Вот так рождаются легенды…

привет, друг…

привет, подруга. Вот тебя занесло то

А потом замироточили иконки на рабочем столе

Миф!
Вот так рождаются легенды…

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

не помню какая платформа тогда стояла.

попробуйте сделать также. Может и у вас чо получится

Вот так рождаются легенды…

скажу больше: когда я в копии вручную у парочки документов снял пометку на удаление,
в реальное базе произошло тоже самое. Мне тогда не до того было, чтобы как-то документировать эту сенсацию.
Поэтому я просто вернул все как было, и больше так не делал

устраняю зияющие дыры в познаниях компьютера…
правда, по-моему, я безнадежна…

конкретно эта тема вообще не для тебя, родная (с)
а вообще, всё поддается осмыслению
заведи друга компьютерщика, как вариант)))

В копии пометил на удаление несколько документов, переключился в окно с реальной базой не поверил глазам: те же самые документы пометились на удаление и там shok.gif

Вот уж никогда файловую базу то ни копировал 8-шную
Это была отнюдь не сенсация.

Вы блин можете не верить, но это БЫЛО.

Дело в том, что с 8-кой несколько лет работал очень плотно. Как только их не копировали. Так что поверить не могу
Но могу предположить, что когда чел переутомился — возможно многое. По себе знаю.

Не парься, файловую базу можно спокойно копировать и поднимать в любом другом мести. Никаких глюков быть не должно.

14.5.2010, 10:52

14.5.2010, 11:28

Есть прредположение-по запарке прописал одну и ту же базу 2 раза

8-ка предлагает заменить

14.5.2010, 11:31

нее… 7.7 при попытке это сделать тупо молчит и базу в список не добавляет (просто никак не реагирует)
8-ка предлагает заменить

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

14.5.2010, 11:47

Мож просто мышой промазал и запустил одну и ту же…

дома попробую что-нибудь подобное смоделировать. Потом отпишусь.
Обычно перед всяким опасным действием я в 1С (7.7. или 8-ке) жму на знак вопроса (там путь к базе показан).

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

О, вот стопудовый глюк, это видел не только я.
Вообщем издевались над одной 8-й базой у клиента, когда я еще во франчике работал.
Один день один чел, другой — второй, на третий я пошел. Спросил у них — резеврную копию перед подвигами делали? В ответ — ржут, как лошади, забили короче, только они базу брали на той машины

14.5.2010, 12:35

— ржут, как лошади, забили короче, только они базу брали локально,
а мне выпал случай со сети её ебошить. Резервную копию по примеру предыдущих таварисчей решил не делать,
молодой был и глупый — понтов много.
Вообщем внес изменения в конфу, сохраняю конфу, в момент сохранения конфы какая-то авария случилась, и база упала, вечером. Шок. С утра пошли 3 спеца, включая меня туда.
Авария заключалась в том, что у базы оторвало номер релиза, т.е. в конфигурации при нажатии вопросик там было пусто, и название самой конфы отсутствовало. и при в ходе в базу тоже не видно ни хрена было, интерфейс в т.ч. слетел, в журналы документов было не зайти.
Решили проблему обновив убитую базу относительно свежим файлом конфигурации, всё получилось.
Все возродилось.
Это пример реальной легенды. 3 человека не должны глючить одновременно

14.5.2010, 13:53

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

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

14.5.2010, 14:39

Ну если это был глюк железа, тогда ничего удивительного

хз, что было. железо, сетка или платформа — сейчас уже не так важно.
Мне кажется, софтина не должна так феерически себя вести
Это тоже самое, что выпустить Висту, и признать, что это говно. Как то быстро они с 8.0 на 8.1 перескочили
П.С. смысл слова баг мне понятен, спасибо за заботу)))

14.5.2010, 19:37

Скажем, если при накатывании сервис-паков или чего-то важного на ту же Висту произойдёт подобный «глюк», то вполне вероятно, что система потом, если и загрузится, то работать будет крайне нестабильно.
Или, скажем, в момент принятия инсулина произойдёт землятресение, то диабетик может отдать концы, т.к. шприц при тряске закатился под диван.

14.5.2010, 22:32

Born Killer, Антивирь какой-нить стоит на серваке? Если да, попробуй отключить или базу в исключения добавить

Как антивирус может повлиять на блокировки таблицы?? база 8.х — это один файл.

В копии пометил на удаление несколько документов, переключился в окно с реальной базой не поверил глазам: те же самые документы пометились на удаление и там shok.gif
Вообщем эта сраная ботва мне не понравилась, с тех пор копию базы делаю только через Выгрузить/Загрузить.
Как вам сударь, такая печальная легенда?
А если бы я увлекся и посерьезней вещи натворил в копии (например удалил бы помеченные на удаление документы), и каким то неясным образом, те же действия произвелись в основном базе?

Нет, этого не может быть, чудес не бывает. Вероятно ты вошел в одну и ту же базу… В 8-ке без проблем можно войти в базу 2 раза под одним именем.

периодически полезли косяки при проведении/записи документов с ошибкой вида
«Конфликт блокировок при выполнении транзакции: Не удалось заблокировать таблицу «_DOCUMENT158»

Так первым делом нужно определить какому документу метаданных соответствует таблица «_DOCUMENT158». Для этого есть метод глобального контекста «ПолучитьСтруктуруХраненияБазыДанных». Так ты поймешь хотя бы точно, какой документ «глючит».

Потом нужно понять, не менял ли кто в нем модуль проведения и настучать по башке, если меняли через одно место. Вероятнее всего явным образом записывается наборы записей регистров через метод Записать вместо того чтобы предоставить платформе это сделать корректно. И напутана их последовательность..
А дедлоков не возникает?

А вообще 5 человек не стоит держать в файловом режиме. Субд можно взять бесплатную, докупить только ключ для сервера кластера и все. Или это конторе дорого?
Я вот не помню, технологический журнал можно снимать в файловом режиме или нет…..

14.5.2010, 22:53

=========================================================
http://odines.ru/thread1386.html — это твоя ветка?

То есть транзакция не проходит даже когда работает один пользователь?? Тогда вероятно проблема не в кривом коде при записи движений. Потому как в однопользовательском режиме блокировок быть не может. Запись ведь последовательно производится.

Тогда похоже проблема именно в нарушениях в структуре самой базы..
Лучше сначала выполнить Тестирование и исправление базы с включенным флагом «Реструктуризация таблиц информационной базы».
Выгрузка в dt с последующей загрузкой тоже имеет смысл…
chdbfl.exe в этом случае вряд ли поможет… хотя конечно пробовать стоит, если остальное не поможет.

Гы — тока щас посмотрел на дату постов в ветке http://odines.ru/thread1386.html Да и разработка типовых в новом управляемом режиме не за горами.
А уж разница между 8.2 и 8.1 намного больше чем между 8.1 и 7.7 особенно для разработчиков, мозги приходится капитально перестраивать для разработки под «управляемый» режим работы

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

Конфликт блокировок в 1С 8.3 и его значение

Для большинства пользователей сообщение о конфликте блокировок 1С означает лишь ошибку, мешающую им выполнять свою работу. Они хотят поскорее избавиться от этой проблемы и осаждают IT-отдел жалобами на то, что «1С не работает».

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

Причины возникновения ошибок блокировки в 1С

Показательные нагрузочные тестирования демонстрируют, что сервер 1С выдерживает параллельную работу более чем пяти тысяч пользователей. Но идеальные условия подобных экспериментов недостижимы в повседневных условиях крупных и средних компаний. Чтобы добиться аналогичного быстродействия и безошибочности, конфигурация должна быть идеально разработана и заточена под конкретные бизнес-процессы предприятия.

Если не брать идеальные варианты, то конфликты блокировок 1С встречаются по следующим причинам:

Одновременная работа пользователей с большим объемом данных.
Эта первопричина продиктована внутренними механизмами 1С. Они предполагают запрет изменения данных, вовлеченных в транзакцию, запущенную от имени другого пользователя;

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

  • Неоптимальные запросы;
  • Запрос остатков в начале действий;
  • Непонимание предназначения объектов конфигурации и их неправильное применение;
  • Избыточность заложенных в системе или дополнительно разработанных блокировок.

Как исправить конфликт блокировок в 1С 8.3

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

Решением проблемы конфликта блокировок в 1С 8.3 может стать перевод конфигурации на управляемый (ручной) режим управления блокировками. Реализованный в версии 8.1, механизм в руках грамотных специалистов решает проблему конфликта блокировок при транзакции в 1С.

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

Быстрое решение конфликта блокировок 1С

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

Для быстрого решения проблемы существуют два пути:

  • Найти и завершить сеанс, заблокировавший необходимые данные. В небольших компаниях, где количество пользователей 1С не превышает пары десятков человек, это оптимальный вариант решения;
  • Если вы контролируете систему, в которой работают сотни сотрудников, поиск нужного сеанса без специализированного программного обеспечения может затянуться надолго. В этом случае намного эффективнее будет перезагрузить сервер.

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

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

Не удалось заблокировать таблицу sessions

Как и от чего может появляться такая ошибка?

Такое бывает редко, но бывает. Чтобы понять причину появления ошибки, нужно понимать принцип работы программы 1С. Вся программа состоит из таблиц, работающих на одном компьютере или же на нескольких и соединенных по сети. Для поиска информации по базе, нужно вбить её в поисковую строчку и программа выдаст её упоминания во всех таблицах.

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

Работая с данными, мы вносим их в общую таблицу. Вполне реально, что в один и тот же момент с ней могут работать несколько человек. Иногда бывает и такое, что с одним документом и с одной таблицей работает 2 человека на разных компьютерах. Тогда тот, кто заносит данные последним не увидит информацию внесенную первым пользователем. Она будет доступной после обновления. Для правильной работы базы, в неё внедрили СУБД, именно она и контролирует все эти процессы. Ведь даже если сейчас с одним документом работает несколько человек, то после его сохранения, все данные должны остаться внутри.

Именно по этой причине в 1С8 настроили СУБД так, что она блокирует таблицу, если туда вносятся какие-то данные. Как только перестали работать, система управления разблокировала таблицу и с ней можно работать дальше.

Что сделать, чтобы решить проблему?

Увидев ошибку не нужно паниковать. Это случается из-за того, что два пользователя запустили базу данных и одновременно зашли в одну и ту же таблицу. База данных открыла доступ только одному из пользователей. Если у вас на экране появилась такая ошибка, то нужно закрыть программу, а лучше перезагрузить её. После этого ошибки не должно быть. Если же ошибка появляется при использовании 1С только на одном компьютере, то тогда её решения будут другими.

Актуальное на этой неделе:

Если вам на карту неожиданно пришли деньги, что делать?

11.04.2022

Если вам на карту неожиданно пришли деньги, что делать?

Когда поступают деньги на карту, владелец обычно знает, что и откуда «падает». Родственник прислал, долг…

Далее

Как добавить VPN на Андроид через настройки

06.04.2022

Как добавить VPN на Андроид через настройки

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

Далее

Как создать канал в Telegram: пошаговое руководство и советы

06.04.2022

Как создать канал в Telegram: пошаговое руководство и советы

Собственный Telegram-канал может завести любой человек. Мессенджер в данном случае никого не ограничивает. При…

Далее

Код ошибки 60-02 и 01-03 в Сбербанк Онлайн – как исправить?

19.03.2022

Код ошибки 60-02 и 01-03 в Сбербанк Онлайн – как исправить?

«Сбербанк онлайн» — это удобный сервис, позволяющий проводить финансовые манипуляции из любой точки мира….

Далее

   zenon46

16.03.21 — 13:58

Доброго дня! Перешли с БП 7.7 на БП3.0, все бы хорошо но столкнулись с проблемой следующего характера, на машинах подключающихся по сети, стала вываливаться ошибка «Не удалось заблокировать таблицу Sessions». База лежит на так скажем центральном компе, как сетевая шара, к ней подключается еще 2 рабочих места, соответственно всего 3 рабочих места. Сеть перевели на 1гигабит, базу положили на SSD, ошибка рандомно появляется на любой из трех машин. Какие есть рекомендации ?

Про «8-ка еще сырая, знаю»)

   VladZ

1 — 16.03.21 — 14:01

(0) Переходите на клиент-сервер или на веб.

По сети — это тот еще геморрой.

   Сисой

2 — 16.03.21 — 14:04

(0) Не 8-ка сырая, просто работать по сети с многопользовательской файл-серверной версией — искать приключений на свою задницу. Через терминал надо бы.

   Сисой

3 — 16.03.21 — 14:05

Я запрещаю всем своим клиентам использовать файл-серверную 8-ку. Клиент-серверная в разы удобнее даже на бесплатной СУБД.

   Сисой

4 — 16.03.21 — 14:07

Вот решение всех ваших проблем:

https://1sshop.ru/?id=217

   Сисой

5 — 16.03.21 — 14:08

Естественно, в однопользовательском режиме и для разработки файловая вполне рулит.

   timurhv

6 — 16.03.21 — 14:09

(0)

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

>Также может компьютер, на котором находится база уходить в спящий режим, отключать HDD.

   Builder

7 — 16.03.21 — 14:26

(0) Самое быстрое и простое — поднять на «сервере» веб сервер, например Апач х64.

х32 сразу не рекомендую, с ним ограничения есть.

   Сисой

8 — 16.03.21 — 14:26

(7) +10

   zenon46

9 — 16.03.21 — 14:36

(7) надо попробовать

   Кац

10 — 16.03.21 — 14:42

(7) а какие ограничения на 32х?

   Builder

11 — 16.03.21 — 14:47

(10) У меня вылетали пользователи после 2-го в базе с какой-то ошибкой, решилось переходом на х64.

Не помню точно что за ошибки были, но точно связаны с х32

   zenon46

12 — 16.03.21 — 14:53

(11) киньте ссылку на 64bit я что-то найти не могу тут только 32 https://archive.apache.org/dist/httpd/binaries/

   Builder

13 — 16.03.21 — 15:06

   Builder

14 — 16.03.21 — 15:07

   Arbuz

15 — 16.03.21 — 15:45

Дяденька, мне под фряху надо! (с)

У меня тоже есть один ларёк, 5 мест, база лежит на Линукс самба-шаре, файловый вариант. Работает вполне себе сносно.

Но, доктор, как-то неаккуратненько! (с)

Всё никак не соберусь сделать веб-публикацию. Проверял кто гайды толковые где? )

   Garykom

16 — 16.03.21 — 15:47

(15) веб публикация файловой работает хз с какого года уже

ну лет так десять примерно, я еще на VPS на 2 гигах рам тестил на тонком/веб клиенте

   zenon46

17 — 16.03.21 — 15:47

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

   Garykom

18 — 16.03.21 — 15:48

(16)+ точнее 2 гиг памяти хватало для самописок, типовую типа БП3 чтобы запустить надо 4 на «сервере» и 2-3 на клиенте минимум

   Garykom

19 — 16.03.21 — 15:49

(17) а компы вы уже обновили? ну там по 8 гиг рам и ssd хотя бы самые дешманские?

   Фрэнки

20 — 16.03.21 — 15:53

(17) какая разница, 2 или 3. Режим многопользовательского доступа к файловой шаре врубается на 2-ом пользователи и резко опускает тайминги на открытые файлы в чтение-запись.

   Машротц

21 — 16.03.21 — 15:54

(0) Что за шара, smb/nfs ? Какая ОСь  на центральной базе? Как настроена сеть логически на коммутаторе, реально гигабит получаете, выгрузка с шары на 100МБ в секунду осуществляется? Хотя при грамотной настройке файловая база приемлемо может и на 100мегабитном коммутаторе работать, тем более у вас SSD.

Тестовую базу создавали, положите какую-нибудь демо-базу на шару, проверьте как работает, может косяки после миграции на 8-ку.

   Машротц

22 — 16.03.21 — 15:56

(4) Или 1С сервер на Линукс, там лицензия на сервер до 10-ти пользователей не понадобится.

   zenon46

23 — 16.03.21 — 16:03

(21) smb. Win8.1, обычный бытовой коммутатор. Завтра замерю скорость.

   rsv

24 — 16.03.21 — 16:05

(0) … лучше всеж по сетке дожать.

Поставить веб сервер или как предлагают- сервер приложений подлинукс,

это довесок  на сопровождение за туже зп .

   Машротц

25 — 16.03.21 — 16:11

(7) не факт, поведение системы аномальное, так не должно быть. Быстродействие и стабильность можно улучшить конечно при публикации на Веб-сервере, тут спору нет, но при грамотной настройке все должно работать без ошибок и по-доступу по шаре, тем более 2, 3 пользователя.

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

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

   Машротц

26 — 16.03.21 — 16:19

(23) Если на сетевом уровне все нормально, с настройками коммутатора, VLANами (если есть), медной проводкой и прочее, то начните с центрального компьютера, на котором выкладывается база для общего доступа.

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

Поднимаете ОСь с нуля, настраиваете систему на максимальную производительность, убираете все режимы энергосбережения, максимум эффективности, вообще все тюните по максимуму, настраиваете SMB шару, выкладываете базу на шару для общего доступа и смотрите как все работать будет. Потом разбираетесь с клиентами, если надо проводите профилактику.

   Машротц

27 — 16.03.21 — 16:25

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

   zenon46

28 — 16.03.21 — 16:28

(26) тут уж как обычной, я не занимаюсь системами это делают другие люди, они ест-но валят на 1С что она рабоатет не правильно, а у них все четко. Завтра поеду, буду посмотреть…

   arsik

29 — 16.03.21 — 16:43

(24) Чего там ставить то. Инстал — вперед — вперед. Работает годами и не жужжит

   arsik

30 — 16.03.21 — 16:45

(26) (25) Файловая через вебсервер работает быстрее.

   ikea

31 — 16.03.21 — 18:15

(31) Все правильно, что не работает. При совместном использовании общего ресурса более чем одним пользователем его кэширование на уровне SMB отключается. В Microsoft не предполагают работы с базами данных, находящимися на общих ресурсах.

Отсюда решение: либо apache либо РДП.

   zenon46

32 — 16.03.21 — 18:24

(31) новости, хренова туча бах так работает на 2-3 подключения, а тут в конкретной конторе выскочила эта трабла.

   zenon46

33 — 16.03.21 — 18:24

*баз

   Фрэнки

34 — 16.03.21 — 18:30

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

Попробуй для эксперимента утащить ее туда, где туча работает без проблем.

Иногда попадаются базы с проблемами. Сами базы. А там где базы работают без проблем тоже был переход с 7.7 на 3.0 и как давно? Может с релизами не повезло?

   Фрэнки

35 — 16.03.21 — 18:35

Может уже после перехода на БП 3 платформы обновляли и добили или 1С-ку или сами компы.

Это абсолютно не означает, что в файловом режиме 1С будет работать прекрасно. Нет, она будет тормозить. Но может перестанет выдавать «Не удалось заблокировать таблицу Sessions»

Кстати, может удалить вообще всех пользователей и заново их завести и еще, а сколько именно пользователей в базу заходит? Точно на каждого создан в справочнике пользователей или решили, что они им не нужны, потому что все свои и причин как бы и нету, а в 7.7 лишних пользователей можно было и не заводить.

  

ДедМорроз

36 — 17.03.21 — 00:06

Ещё есть режим,когда включаются автономные файлы,для базы это бывает смертельно.

Есть файловая КА2.0, в ней около пяти активных пользователей. Запускаю в ней простенькую обработку по передлке и перепроведению накладных, и она отрабатывает максимум штучек пять накладных и вываливается с сообщением «Не удалось заблокировать таблицу», в частности DOCUMENTJOURNAL… или еще какие-нибудь. С сетевыми в восьмерке я еще не много поработал, но на семерке подобная обработка отработала бы без проблем. Почему такая бяка?

нет, останавливается и выдает сообщение. Откуда столько блокировок? Я ее раз десять запускал, и одна-пять накладных и останавливается.

Так база файловая, вот и блокировки

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

в текущий момент вообще не заводят накладные, т.к. ответственный за это человек отсутствует. Что там делают остальные не знаю, но не накладные.

у меня эти блокировки пару раз даже на локальной копии вылезли. Откуда? Никаких документов у меня при этом открыто не было.

используйте обработку  Групповая обработка справочников и документов вот такая у вас обработка значит )

Сложно сказать, нужно смотреть на код обработки

Обработка очень простенькая:

Картинку с ошибкой в базе с одним пользователем (тобой) в студию. Желательно на демобазе КА воспроизвести.

#11
by ЕщеОдинПрограммист

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

никогда не используйте синтаксис 7.7 в 8 Вы же все документы берете для перепроведения, со времен царя Гороха, а так же в закрытом периоде. Потому и вылетает Используйте предложенную типовую обработку

#13
by ЕщеОдинПрограммист

там всего четыре месяца и ни одного закрытого. Попробовал я типовую, она что-то там покрутила, и сказал, что ни одного документа не изменено. Хотя согласно отбору было выбрано 255 доков.

Из ЖР картинка с текстом тоже пойдет, если платформа ее там зафиксировала, конечно…

Я так думаю, блокировка с самим собой возможна, когда это чудо попытается провести один из N — N mod 20 последних документов. Выборка выбирает документы по 20 штук, возможно с этим связано. Ну или все проще и банальнее — регламентные задания. Если вкратце, то в 8 никогда не используй выборку из документов или справочников. Только запросы.

«Что там делают остальные не знаю, но не накладные.» Ну так блокировки-то по регистрам делаются, а не по документам. А у регистра как правило не один Документ-регистратор. Смекаешь?

#17
by ЕщеОдинПрограммист

из анализа журнала регистрации вывел, что здесь замешаны фоновые задания, описание ошибки в ЖР: Событие: отражение в регламентированном учете. Комментарий: Не удалось отразить в регл. учете документ «Списание на расходы 0000-000003 от 01.01.2016 12:00:03» по причине: {ОбщийМодуль.РеглУчетПроведениеСервер.Модуль(1488)}: Ошибка при вызове метода контекста (Записать) по причине: Ошибка при выполнении обработчика — ‘ПередЗаписью’ по причине: {ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(3957)}: Ошибка при вызове метода контекста (Получить)     СведенияОБлокируемыхОбъектах = Константы.СведенияОБлокируемыхОбъектах.Получить.Получить; по причине: Конфликт блокировок при выполнении транзакции:

#18
by ЕщеОдинПрограммист

(это было на другой обработке, то же простенькой)

у вас же КА 2.0, т.е. УФ попробуйте в списке документов выделить документы Shift + стрелка вниз либо вверх, и перепровести ) Какой будет результат?

#20
by ЕщеОдинПрограммист

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

ну а теперь уберите изменение реквизита в вашей обработке и запустите ее. И какой будет результат?

Тэги: 1С 8

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

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

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

ne-udalos-zablokirovat-tablitsu

Куда смотреть, если конфликт блокировок не проходит?

  • Бывает, в момент проведения приложение выводит модальное окно:  например, «Предупреждение»,  до тех пор, пока это окно висит, а транзакция не зафиксирована, будет возникать ошибка блокировки. Следует проверить у всех пользователей: нет ли таких ошибок.
  • Если вы программист и в процессе отладки поставили точку останова в модуле проведения, то также пока вы не продолжите код, остальные пользователи не смогут записать связанный с вашей блокировкой объект. Такие остановки на рабочих базах необходимо производить кратковременно.
  • Если производится процедура закрытия месяца, расчета себестоимости, то необходимо просто подождать, ведь такие ресурсоемкие операции производтся не так часто, если это критично, то выполнять их следует в нерабочее время. Это ж относится к операциям группового перепроведения.
  • Блокировки могут возникать в момент обмена между информационными базами (распределенными или при обмне торговли с бухгалтерией). Тут, следует обратить внимание принимаются ли подтверждения об отправляемых данных, возможно одни и теже данные посылаются постоянно, хотя они уже не меняются. Вариантом решения, когда данные приходят корректно — более частый обмен. Меньшие порции грузятся быстрее. Если ваши данные не пересекаются, то можно расмотреть вариант обмена в нерабочее время  — в обед, ночью, утром (снижается актуальность).
  • Если у вас база файловая, то такие конфликты происходят чаще, если это влияет на производительность, то следует подумать о клиент-серверном варианте
  • Установленный postrgres сервер выполнял запросы значительно медленней, чем даже бесплатная экспресс версия от Microsoft, пришлось откатиться на нее обратно.
  • На клиент серверной версии в консоли сервера можно посмотреть пользователя, который захватил больше всего объектов. Случается при формирование очень большой выборки 1С «зависает», пользователь закрывает 1С, но запрос продолжает свое выполнение. Удаление его из консоли гораздо быстрее решает проблемуkolonki-soedineniya-s-subd
  • Файловая база в терминальном режиме работает быстрее, чем просто по сети, даже если сетка быстрая, кэширование диска выполняет свою функцию
  • ssd диски ускоряют запись, если у вас не специализированный сервер с 10 Raid, а обычный диск, то переход к ssd верное решение для нагруженных систем.
  • На более производительных серверах проблема возникает реже.
  • Настройка ограничений на проверяемые файлы в антивирусе, может снизить нагрузку на сервер и его диск
  • Использование ограничения на уровне записей, негативно сказывается на производительности, иногда из этого вытекает проблема конфликта блокировок
  • Реиндексация таблиц информационной базы может исправить ошибки, влияющие на производительность
  • Для более детального исследования проблемы можно использовать технологический журнал от 1С — специальный механизм, записывающий запросы и другие события в работе системы.

Реклама духов принесла мне больше известности, чем любой фильм, в котором я снималась.

Понравилась статья? Поделить с друзьями:
  • Не удалось добавить запрошенную возможность ошибка эта программа заблокирована групповой политикой
  • Не удалось добавить запрошенную возможность ошибка не найден указанный модуль
  • Не удалось вычислить индекс производительности windows для этой системы как исправить
  • Не удалось выполнить установку код ошибки 0xa0430721 chrome
  • Не удалось выполнить установку код ошибки 0x80040707 google chrome