Ошибка блокировки транзакций не удалось заблокировать таблицу

Ошибка: Конфликт блокировок при выполнении транзакции: Не удалось заблокировать

Я
   p_morozoff

22.11.10 — 13:10

Коллеги, у клиента с завидным постоянством возникает ошибка:

Конфликт блокировок при выполнении транзакции: Не удалось заблокировать таблицу ‘_DOCUMENT***’»

Конфа УТ 10.3.8.9, платформа 81.15.14, 2 лицензии, файловый вариант, работа ведется с двух компов в локальной сети, 2-ой комп подключается к базе через сетевой диск (папка с базой на 1-ом коме расшарена)

Ошибка возникает когда на обоих компах одновременно проводятся документы.

Тестирование и исправление не помогло.

Тестирование и исправление с отметкой «реструктуризация таблиц инф. базы» привела к ошибке работы процедуры, и обработка зависла… навсегда… :(

Чекдбфл — не помог.

Буду очень рад Вашим предложениям и «делением» опытом в решении этой проблемы :)

Заранее благодарен.

   detec

1 — 22.11.10 — 13:11

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

   Михей

2 — 22.11.10 — 13:11

«Ошибка возникает когда на обоих компах одновременно проводятся документы.» — отсюда ноги растут

   Рыжий Лис

3 — 22.11.10 — 13:12

Файловый режим не предназначен для паралельной работы.

   igork1966

4 — 22.11.10 — 13:18

(3) Мда… точнее нужно со словами

   p_morozoff

5 — 22.11.10 — 13:33

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

   tdm

6 — 22.11.10 — 13:44

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

   tdm

7 — 22.11.10 — 13:45

(0) а диск случайно не внешний usb ?

   Живой Ископаемый

8 — 22.11.10 — 13:47

2(1,3) Ну-ка расскажите как клиент-серверный режим избавляет от блокировок. В чем суть механизма.

   Dmitrii

9 — 22.11.10 — 13:48

(0) Конфа типовая?

>> когда на обоих компах одновременно проводятся документы.

Какие документы (любые/какие-то конкретные) и как проводятся (интеративно/групповой обработкой)?

   Dmitrii

10 — 22.11.10 — 13:49

+ к (9) Имя таблицы именно так и выглядит ‘_DOCUMENT***’ ?

   Шапокляк

11 — 22.11.10 — 13:50

(8) В файловой сразу вся таблица блокируется, а в клиент-серверном варианте СУБД несколько мягче все это делает :)

   Dmitrii

12 — 22.11.10 — 13:52

(3) >> Файловый режим не предназначен для паралельной работы.

Для двух пользователей? Ну, ну…

   Живой Ископаемый

13 — 22.11.10 — 13:53

2(11) мне показалось что ответившие говорят что перевод на клиент-сервер безусловно избавит от каких-либо блокировок… Ну если мне так только показалось — извините

   Шапокляк

14 — 22.11.10 — 13:58

(13) Может, показалось, а может и нет, кто ж их разберет… А вообще прикольная организация труда у автора — два юзверя постоянно встречаются на одном типе документов при проведении. Или у них такая конгениальность, или обработка проведения приводит к получасовой транзакции. Не каждому дано такое наблюдать.

   Живой Ископаемый

15 — 22.11.10 — 14:03

2(14) так отож.. А ему сразу советуют(может неявно, но все-таки) начать тратить деньги.

   p_morozoff

16 — 22.11.10 — 14:06

(7) уверенно сказать не могу…
но по-моему нет, не усб

   hhhh

17 — 22.11.10 — 14:10

(14) вдруг они сами написали обработку проведения. Тогда вполне может быть.

   Шапокляк

18 — 22.11.10 — 14:13

(17) «так отож». Наверно эти два юзера и написали. Коллективнымм разумом.

   p_morozoff

19 — 22.11.10 — 14:13

(9) конфа типовая

на одном компе проводятся доки реализация товаров и услуг, на втором компе запускается внеш обработка, которая из заказов покупателей лепит и проводит доки «реализация товаров и услуг»

(10) имя таблицы ‘_DOCUMENT213’ — ну т.е. в место зведочек цифры :), иногда ругается на таблицу «ЖурналДокументов» (DocumentJournal — как-то так)

   denis_jj

20 — 22.11.10 — 14:15

не понятно зачем в данной ситуации проводить тестирование и реструктуризацию и «Чекдбфл — не помог» чем может это помочь.

   p_morozoff

21 — 22.11.10 — 14:17

конкретно клиент привел в пример именно ситуацию когда на одном компе выполняется внеш обработка, а на другом руками проводят какой-либо документ.

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

   p_morozoff

22 — 22.11.10 — 14:18

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

   Живой Ископаемый

23 — 22.11.10 — 14:21

(22) покажите ссылку?

   p_morozoff

24 — 22.11.10 — 14:24

Вот выдержка из одного форума:

ХХХ — В последнее время после 14 часов выдает ошибку «Конфликт блокировок при выполнении транзакции. Не удалось заблокировать таблицу _AccntReg5577»
Как это лечиться?

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

ХХХ — походу действительно так. пережал базу — ошибка пропала.

   denis_jj

25 — 22.11.10 — 14:24

(22) а если воспользоваться мозгом? Иногда это лучше гугла.

   p_morozoff

26 — 22.11.10 — 14:24

   p_morozoff

27 — 22.11.10 — 14:25

   p_morozoff

28 — 22.11.10 — 14:26

(25) при всем моем уважении — воспользуйтесь сами своим советом, и напишите что-нибудь по теме

   hhhh

29 — 22.11.10 — 14:28

21) ну так чего пишете, что типовая, если у вас работает явно нетиповая обработка, которая наверняка на полдня захватывает все документы реализации, и которая наверняка написана коллективным разумом выеуказанных двух юзеров?

   dva1c

30 — 22.11.10 — 14:29

(29) это было сказано еще в (19)

   p_morozoff

31 — 22.11.10 — 14:31

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

   denis_jj

32 — 22.11.10 — 14:32

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

   Dmitrii

33 — 22.11.10 — 14:36

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

   Dmitrii

34 — 22.11.10 — 14:40

(32) ОФФ. Послушай, уважающий. Лучше бы чего-нибудь дельного сказал, чем многозначительные фразы кидать о том, что кругом все идиоты и не в теме. Ну или промолчал бы.

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

   Живой Ископаемый

35 — 22.11.10 — 14:46

2(26) ну хорошо… А почему вы подумали что вам подойдет именно этот совет, а не например, взять за основу это объяснение?
«Простейший пример возникновения: одна транзакция накладывает блокировку на таблицу БД, а вторая на другую, но для продолжения работы первой транзакции нужна та таблица, на которую наложила блокировка вторая, а для продолжения работы второй — наоборот.
Очевидным образом такие взаимоблокировки неразрешимы и после определенного таймаута, как правило, сервер БД выдает ошибку.»

Ведь в указанной вами цитате речь идет о регистре сведений а не о таблице документов?

   p_morozoff

36 — 22.11.10 — 14:48

(33) пардон,я слукавил, сказав, что конфа типовая:
в конфе в справочник «контрагенты» добавлен реквизит типа строка, и изменена печатная форма дока «заказ покупателя»
модули обработки нигде не задеты

но по правде говоря такую конфу я обычно считаю за типовую :)

   Живой Ископаемый

37 — 22.11.10 — 14:51

2(36) еще момент — на данном этапе вы для себя уже поняли что в подобной (0) поведении практически нет никакой ошибки, и причину такого поведения уже восприняли? На всякий случай спрашиваю, потому что как по-мне, то уже все ясно и дальнейшее обсуждение — это переливание из пустого в порожнее…
:)

   p_morozoff

38 — 22.11.10 — 14:53

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

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

   Живой Ископаемый

39 — 22.11.10 — 14:57

2(38) «провести параллели » — уж если вы выдумываете новый термин в конфо-строении, то не сочтите за труд — дайте ему определение…

   p_morozoff

40 — 22.11.10 — 14:57

(37) я понимаю что это не ошибка, а обработка платформой конфликта блокировки.
я хочу избавиться от этого конфликта.
вот еще ссылка на обсуждение подобной проблемы, и там тоже есть изложенные в (0) рекомендации:
http://forum.nov.ru/index.php?showtopic=244886

   Dmitrii

41 — 22.11.10 — 15:00

(36) Ну если только это, то, вроде как, отношения к обсуждаемой проблеме это не должно иметь.

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

Честно говоря видел достаточно конторок, ведущих учет на файловой УТ с количеством пользователей до 10 человек. Блокировки конечно иногда появляются, но случается это достаточно редко. Но вот чтобы два пользователя постоянно не могли одну таблицу поделить…

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

   Живой Ископаемый

42 — 22.11.10 — 15:02

Это обсуждается изо дня в день и  на этом форуме…
(например: v8: До какого объема можно доводить объем SQL базы на УТ конфе?
Но для того чтобы что-то научиться решать в этом вопросе..Я считаю мало читать обсуждения.. Потому что постоянно в этих обсуждениях будешь попадать в тупиковые ветки типа той, как вы уже попали, попытавшись решить проблему при помощи ТиИ…

То что вам реально может помочь
http://v8.1c.ru/metod/books/book.jsp?id=63
Глава 4 и 5.

   denis_jj

43 — 22.11.10 — 15:04

(34) проблема, указанная в топике, решается разделением использования ресурсов. Есть несколько способов реализации:
1. Разделение обработок по времени — запускать обработку когда документы не проводят.
2. Уменьшение пространства блокировок — переписать обработку формирования так, чтобы в один промежуток времени обрабатывалась только небольшая часть документов. Вызывать обработку циклически например регламентным заданием.
Файловую базу необходимо перевести в серверную — SQL лучше работает с блокировками (блокирует диапазон записей, а не таблицу как файловая версия).
3. Разделить по времени проведение по регистрам — механизм отложенных движений (см. типовую конфигурацию).

Вариантов много, зависит от конкретной задачи. В любом случае стратегия на разделение ресурсов.

«Ну или расскажи почему ТиИ с реструктуризацией выдает ошибку. Или это типа нормально.» — а вот это не понял о чём. Если вы имеете ввиду (24) _AccntReg5577, то тут скорее всего речь об итогах, которые в 1С записываются в физические таблицы с разделением, и реструктуризация приводит приводит к пересчету итогов и  свертке разделенных записей. А чем меньше записей в таблицах, тем меньший диапазон записей будет блокировать SQL и ситуация с блокировками в целом немного улучшиться.

   Живой Ископаемый

44 — 22.11.10 — 15:04

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

   p_morozoff

45 — 22.11.10 — 15:11

(41) при ТиИ с пометкой «реструктуризация» выдает вот такое сообщение:
————-
В процессе обновления информационной базы произошла критическая ошибка.
по причине:
Ошибка СУБД:
Ошибка SQL: Запись значения NULL в поле, не допускающее NULL ‘_FLD2437_TYPE’
по причине:
Ошибка SQL: Запись значения NULL в поле, не допускающее NULL ‘_FLD2437_TYPE’
————-
тестирование физической, логической целостности и чекдбфл эту ошибку не исправили…

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

   tdm

46 — 22.11.10 — 15:13

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

   p_morozoff

47 — 22.11.10 — 15:15

(44) я сделал стандартным способом выгрузку данных(конфигуратор-администрирование-…), затем загрузил её в пустую конфу, эта процедура ошибку оставляет?

   Живой Ископаемый

48 — 22.11.10 — 15:17

2(44) легко ведь проверить, какая разница что я отвечу.

   Живой Ископаемый

49 — 22.11.10 — 15:17

то есть (47)

  

p_morozoff

50 — 22.11.10 — 15:18

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

Как часто приходиться видеть это сообщение? Думаю, каждый кто имеет продолжительный опыт работы с 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С. После таких действий необходимо найти уязвимые места в системе, оптимизировать конфигурацию или работу сотрудников. Использовать подобные меры на постоянной основе при регулярных конфликтах блокировок на транзакциях не рекомендуется.

Ошибка: Конфликт блокировок при выполнении транзакции: Не удалось заблокировать

Я

  

p_morozoff

22.11.10 — 13:10

Коллеги, у клиента с завидным постоянством возникает ошибка:

Конфликт блокировок при выполнении транзакции: Не удалось заблокировать таблицу ‘_DOCUMENT***’»

Конфа УТ 10.3.8.9, платформа 81.15.14, 2 лицензии, файловый вариант, работа ведется с двух компов в локальной сети, 2-ой комп подключается к базе через сетевой диск (папка с базой на 1-ом коме расшарена)

Ошибка возникает когда на обоих компах одновременно проводятся документы.

Тестирование и исправление не помогло.

Тестирование и исправление с отметкой «реструктуризация таблиц инф. базы» привела к ошибке работы процедуры, и обработка зависла… навсегда… :(

Чекдбфл — не помог.

Буду очень рад Вашим предложениям и «делением» опытом в решении этой проблемы :)

Заранее благодарен.

  

detec

1 — 22.11.10 — 13:11

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

  

Михей

2 — 22.11.10 — 13:11

«Ошибка возникает когда на обоих компах одновременно проводятся документы.» — отсюда ноги растут

  

Рыжий Лис

3 — 22.11.10 — 13:12

Файловый режим не предназначен для паралельной работы.

  

igork1966

4 — 22.11.10 — 13:18

(3) Мда… точнее нужно со словами

  

p_morozoff

5 — 22.11.10 — 13:33

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

  

tdm

6 — 22.11.10 — 13:44

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

  

tdm

7 — 22.11.10 — 13:45

(0) а диск случайно не внешний usb ?

  

Живой Ископаемый

8 — 22.11.10 — 13:47

2(1,3) Ну-ка расскажите как клиент-серверный режим избавляет от блокировок. В чем суть механизма.

  

Dmitrii

9 — 22.11.10 — 13:48

(0) Конфа типовая?

>> когда на обоих компах одновременно проводятся документы.

Какие документы (любые/какие-то конкретные) и как проводятся (интеративно/групповой обработкой)?

  

Dmitrii

10 — 22.11.10 — 13:49

+ к (9) Имя таблицы именно так и выглядит ‘_DOCUMENT***’ ?

  

Шапокляк

11 — 22.11.10 — 13:50

(8) В файловой сразу вся таблица блокируется, а в клиент-серверном варианте СУБД несколько мягче все это делает :)

  

Dmitrii

12 — 22.11.10 — 13:52

(3) >> Файловый режим не предназначен для паралельной работы.

Для двух пользователей? Ну, ну…

  

Живой Ископаемый

13 — 22.11.10 — 13:53

2(11) мне показалось что ответившие говорят что перевод на клиент-сервер безусловно избавит от каких-либо блокировок… Ну если мне так только показалось — извините

  

Шапокляк

14 — 22.11.10 — 13:58

(13) Может, показалось, а может и нет, кто ж их разберет… А вообще прикольная организация труда у автора — два юзверя постоянно встречаются на одном типе документов при проведении. Или у них такая конгениальность, или обработка проведения приводит к получасовой транзакции. Не каждому дано такое наблюдать.

  

Живой Ископаемый

15 — 22.11.10 — 14:03

2(14) так отож.. А ему сразу советуют(может неявно, но все-таки) начать тратить деньги.

  

p_morozoff

16 — 22.11.10 — 14:06

(7) уверенно сказать не могу…
но по-моему нет, не усб

  

hhhh

17 — 22.11.10 — 14:10

(14) вдруг они сами написали обработку проведения. Тогда вполне может быть.

  

Шапокляк

18 — 22.11.10 — 14:13

(17) «так отож». Наверно эти два юзера и написали. Коллективнымм разумом.

  

p_morozoff

19 — 22.11.10 — 14:13

(9) конфа типовая

на одном компе проводятся доки реализация товаров и услуг, на втором компе запускается внеш обработка, которая из заказов покупателей лепит и проводит доки «реализация товаров и услуг»

(10) имя таблицы ‘_DOCUMENT213’ — ну т.е. в место зведочек цифры :), иногда ругается на таблицу «ЖурналДокументов» (DocumentJournal — как-то так)

  

denis_jj

20 — 22.11.10 — 14:15

не понятно зачем в данной ситуации проводить тестирование и реструктуризацию и «Чекдбфл — не помог» чем может это помочь.

  

p_morozoff

21 — 22.11.10 — 14:17

конкретно клиент привел в пример именно ситуацию когда на одном компе выполняется внеш обработка, а на другом руками проводят какой-либо документ.

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

  

p_morozoff

22 — 22.11.10 — 14:18

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

  

Живой Ископаемый

23 — 22.11.10 — 14:21

(22) покажите ссылку?

  

p_morozoff

24 — 22.11.10 — 14:24

Вот выдержка из одного форума:

ХХХ — В последнее время после 14 часов выдает ошибку «Конфликт блокировок при выполнении транзакции. Не удалось заблокировать таблицу _AccntReg5577»
Как это лечиться?

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

ХХХ — походу действительно так. пережал базу — ошибка пропала.

  

denis_jj

25 — 22.11.10 — 14:24

(22) а если воспользоваться мозгом? Иногда это лучше гугла.

  

p_morozoff

26 — 22.11.10 — 14:24

  

p_morozoff

27 — 22.11.10 — 14:25

  

p_morozoff

28 — 22.11.10 — 14:26

(25) при всем моем уважении — воспользуйтесь сами своим советом, и напишите что-нибудь по теме

  

hhhh

29 — 22.11.10 — 14:28

21) ну так чего пишете, что типовая, если у вас работает явно нетиповая обработка, которая наверняка на полдня захватывает все документы реализации, и которая наверняка написана коллективным разумом выеуказанных двух юзеров?

  

dva1c

30 — 22.11.10 — 14:29

(29) это было сказано еще в (19)

  

p_morozoff

31 — 22.11.10 — 14:31

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

  

denis_jj

32 — 22.11.10 — 14:32

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

  

Dmitrii

33 — 22.11.10 — 14:36

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

  

Dmitrii

34 — 22.11.10 — 14:40

(32) ОФФ. Послушай, уважающий. Лучше бы чего-нибудь дельного сказал, чем многозначительные фразы кидать о том, что кругом все идиоты и не в теме. Ну или промолчал бы.

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

  

Живой Ископаемый

35 — 22.11.10 — 14:46

2(26) ну хорошо… А почему вы подумали что вам подойдет именно этот совет, а не например, взять за основу это объяснение?
«Простейший пример возникновения: одна транзакция накладывает блокировку на таблицу БД, а вторая на другую, но для продолжения работы первой транзакции нужна та таблица, на которую наложила блокировка вторая, а для продолжения работы второй — наоборот.
Очевидным образом такие взаимоблокировки неразрешимы и после определенного таймаута, как правило, сервер БД выдает ошибку.»

Ведь в указанной вами цитате речь идет о регистре сведений а не о таблице документов?

  

p_morozoff

36 — 22.11.10 — 14:48

(33) пардон,я слукавил, сказав, что конфа типовая:
в конфе в справочник «контрагенты» добавлен реквизит типа строка, и изменена печатная форма дока «заказ покупателя»
модули обработки нигде не задеты

но по правде говоря такую конфу я обычно считаю за типовую :)

  

Живой Ископаемый

37 — 22.11.10 — 14:51

2(36) еще момент — на данном этапе вы для себя уже поняли что в подобной (0) поведении практически нет никакой ошибки, и причину такого поведения уже восприняли? На всякий случай спрашиваю, потому что как по-мне, то уже все ясно и дальнейшее обсуждение — это переливание из пустого в порожнее…
:)

  

p_morozoff

38 — 22.11.10 — 14:53

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

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

  

Живой Ископаемый

39 — 22.11.10 — 14:57

2(38) «провести параллели » — уж если вы выдумываете новый термин в конфо-строении, то не сочтите за труд — дайте ему определение…

  

p_morozoff

40 — 22.11.10 — 14:57

(37) я понимаю что это не ошибка, а обработка платформой конфликта блокировки.
я хочу избавиться от этого конфликта.
вот еще ссылка на обсуждение подобной проблемы, и там тоже есть изложенные в (0) рекомендации:
http://forum.nov.ru/index.php?showtopic=244886

  

Dmitrii

41 — 22.11.10 — 15:00

(36) Ну если только это, то, вроде как, отношения к обсуждаемой проблеме это не должно иметь.

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

Честно говоря видел достаточно конторок, ведущих учет на файловой УТ с количеством пользователей до 10 человек. Блокировки конечно иногда появляются, но случается это достаточно редко. Но вот чтобы два пользователя постоянно не могли одну таблицу поделить…

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

  

Живой Ископаемый

42 — 22.11.10 — 15:02

Это обсуждается изо дня в день и  на этом форуме…
(например: v8: До какого объема можно доводить объем SQL базы на УТ конфе?
Но для того чтобы что-то научиться решать в этом вопросе..Я считаю мало читать обсуждения.. Потому что постоянно в этих обсуждениях будешь попадать в тупиковые ветки типа той, как вы уже попали, попытавшись решить проблему при помощи ТиИ…

То что вам реально может помочь
http://v8.1c.ru/metod/books/book.jsp?id=63
Глава 4 и 5.

  

denis_jj

43 — 22.11.10 — 15:04

(34) проблема, указанная в топике, решается разделением использования ресурсов. Есть несколько способов реализации:
1. Разделение обработок по времени — запускать обработку когда документы не проводят.
2. Уменьшение пространства блокировок — переписать обработку формирования так, чтобы в один промежуток времени обрабатывалась только небольшая часть документов. Вызывать обработку циклически например регламентным заданием.
Файловую базу необходимо перевести в серверную — SQL лучше работает с блокировками (блокирует диапазон записей, а не таблицу как файловая версия).
3. Разделить по времени проведение по регистрам — механизм отложенных движений (см. типовую конфигурацию).

Вариантов много, зависит от конкретной задачи. В любом случае стратегия на разделение ресурсов.

«Ну или расскажи почему ТиИ с реструктуризацией выдает ошибку. Или это типа нормально.» — а вот это не понял о чём. Если вы имеете ввиду (24) _AccntReg5577, то тут скорее всего речь об итогах, которые в 1С записываются в физические таблицы с разделением, и реструктуризация приводит приводит к пересчету итогов и  свертке разделенных записей. А чем меньше записей в таблицах, тем меньший диапазон записей будет блокировать SQL и ситуация с блокировками в целом немного улучшиться.

  

Живой Ископаемый

44 — 22.11.10 — 15:04

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

  

p_morozoff

45 — 22.11.10 — 15:11

(41) при ТиИ с пометкой «реструктуризация» выдает вот такое сообщение:
————-
В процессе обновления информационной базы произошла критическая ошибка.
по причине:
Ошибка СУБД:
Ошибка SQL: Запись значения NULL в поле, не допускающее NULL ‘_FLD2437_TYPE’
по причине:
Ошибка SQL: Запись значения NULL в поле, не допускающее NULL ‘_FLD2437_TYPE’
————-
тестирование физической, логической целостности и чекдбфл эту ошибку не исправили…

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

  

tdm

46 — 22.11.10 — 15:13

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

  

p_morozoff

47 — 22.11.10 — 15:15

(44) я сделал стандартным способом выгрузку данных(конфигуратор-администрирование-…), затем загрузил её в пустую конфу, эта процедура ошибку оставляет?

  

Живой Ископаемый

48 — 22.11.10 — 15:17

2(44) легко ведь проверить, какая разница что я отвечу.

  

Живой Ископаемый

49 — 22.11.10 — 15:17

то есть (47)

  

p_morozoff

50 — 22.11.10 — 15:18

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

Есть файловая КА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

Ставим галочку «исправлять обнаруженные ошибки». И нажимаем кнопку выполнить. Данная утилита исправляет 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С. После таких действий необходимо найти уязвимые места в системе, оптимизировать конфигурацию или работу сотрудников. Использовать подобные меры на постоянной основе при регулярных конфликтах блокировок на транзакциях не рекомендуется.

Ошибка: Конфликт блокировок при выполнении транзакции: Не удалось заблокировать

Я

  

p_morozoff

22.11.10 — 13:10

Коллеги, у клиента с завидным постоянством возникает ошибка:

Конфликт блокировок при выполнении транзакции: Не удалось заблокировать таблицу ‘_DOCUMENT***’»

Конфа УТ 10.3.8.9, платформа 81.15.14, 2 лицензии, файловый вариант, работа ведется с двух компов в локальной сети, 2-ой комп подключается к базе через сетевой диск (папка с базой на 1-ом коме расшарена)

Ошибка возникает когда на обоих компах одновременно проводятся документы.

Тестирование и исправление не помогло.

Тестирование и исправление с отметкой «реструктуризация таблиц инф. базы» привела к ошибке работы процедуры, и обработка зависла… навсегда… :(

Чекдбфл — не помог.

Буду очень рад Вашим предложениям и «делением» опытом в решении этой проблемы :)

Заранее благодарен.

  

detec

1 — 22.11.10 — 13:11

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

  

Михей

2 — 22.11.10 — 13:11

«Ошибка возникает когда на обоих компах одновременно проводятся документы.» — отсюда ноги растут

  

Рыжий Лис

3 — 22.11.10 — 13:12

Файловый режим не предназначен для паралельной работы.

  

igork1966

4 — 22.11.10 — 13:18

(3) Мда… точнее нужно со словами

  

p_morozoff

5 — 22.11.10 — 13:33

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

  

tdm

6 — 22.11.10 — 13:44

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

  

tdm

7 — 22.11.10 — 13:45

(0) а диск случайно не внешний usb ?

  

Живой Ископаемый

8 — 22.11.10 — 13:47

2(1,3) Ну-ка расскажите как клиент-серверный режим избавляет от блокировок. В чем суть механизма.

  

Dmitrii

9 — 22.11.10 — 13:48

(0) Конфа типовая?

>> когда на обоих компах одновременно проводятся документы.

Какие документы (любые/какие-то конкретные) и как проводятся (интеративно/групповой обработкой)?

  

Dmitrii

10 — 22.11.10 — 13:49

+ к (9) Имя таблицы именно так и выглядит ‘_DOCUMENT***’ ?

  

Шапокляк

11 — 22.11.10 — 13:50

(8) В файловой сразу вся таблица блокируется, а в клиент-серверном варианте СУБД несколько мягче все это делает :)

  

Dmitrii

12 — 22.11.10 — 13:52

(3) >> Файловый режим не предназначен для паралельной работы.

Для двух пользователей? Ну, ну…

  

Живой Ископаемый

13 — 22.11.10 — 13:53

2(11) мне показалось что ответившие говорят что перевод на клиент-сервер безусловно избавит от каких-либо блокировок… Ну если мне так только показалось — извините

  

Шапокляк

14 — 22.11.10 — 13:58

(13) Может, показалось, а может и нет, кто ж их разберет… А вообще прикольная организация труда у автора — два юзверя постоянно встречаются на одном типе документов при проведении. Или у них такая конгениальность, или обработка проведения приводит к получасовой транзакции. Не каждому дано такое наблюдать.

  

Живой Ископаемый

15 — 22.11.10 — 14:03

2(14) так отож.. А ему сразу советуют(может неявно, но все-таки) начать тратить деньги.

  

p_morozoff

16 — 22.11.10 — 14:06

(7) уверенно сказать не могу…
но по-моему нет, не усб

  

hhhh

17 — 22.11.10 — 14:10

(14) вдруг они сами написали обработку проведения. Тогда вполне может быть.

  

Шапокляк

18 — 22.11.10 — 14:13

(17) «так отож». Наверно эти два юзера и написали. Коллективнымм разумом.

  

p_morozoff

19 — 22.11.10 — 14:13

(9) конфа типовая

на одном компе проводятся доки реализация товаров и услуг, на втором компе запускается внеш обработка, которая из заказов покупателей лепит и проводит доки «реализация товаров и услуг»

(10) имя таблицы ‘_DOCUMENT213’ — ну т.е. в место зведочек цифры :), иногда ругается на таблицу «ЖурналДокументов» (DocumentJournal — как-то так)

  

denis_jj

20 — 22.11.10 — 14:15

не понятно зачем в данной ситуации проводить тестирование и реструктуризацию и «Чекдбфл — не помог» чем может это помочь.

  

p_morozoff

21 — 22.11.10 — 14:17

конкретно клиент привел в пример именно ситуацию когда на одном компе выполняется внеш обработка, а на другом руками проводят какой-либо документ.

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

  

p_morozoff

22 — 22.11.10 — 14:18

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

  

Живой Ископаемый

23 — 22.11.10 — 14:21

(22) покажите ссылку?

  

p_morozoff

24 — 22.11.10 — 14:24

Вот выдержка из одного форума:

ХХХ — В последнее время после 14 часов выдает ошибку «Конфликт блокировок при выполнении транзакции. Не удалось заблокировать таблицу _AccntReg5577»
Как это лечиться?

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

ХХХ — походу действительно так. пережал базу — ошибка пропала.

  

denis_jj

25 — 22.11.10 — 14:24

(22) а если воспользоваться мозгом? Иногда это лучше гугла.

  

p_morozoff

26 — 22.11.10 — 14:24

  

p_morozoff

27 — 22.11.10 — 14:25

  

p_morozoff

28 — 22.11.10 — 14:26

(25) при всем моем уважении — воспользуйтесь сами своим советом, и напишите что-нибудь по теме

  

hhhh

29 — 22.11.10 — 14:28

21) ну так чего пишете, что типовая, если у вас работает явно нетиповая обработка, которая наверняка на полдня захватывает все документы реализации, и которая наверняка написана коллективным разумом выеуказанных двух юзеров?

  

dva1c

30 — 22.11.10 — 14:29

(29) это было сказано еще в (19)

  

p_morozoff

31 — 22.11.10 — 14:31

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

  

denis_jj

32 — 22.11.10 — 14:32

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

  

Dmitrii

33 — 22.11.10 — 14:36

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

  

Dmitrii

34 — 22.11.10 — 14:40

(32) ОФФ. Послушай, уважающий. Лучше бы чего-нибудь дельного сказал, чем многозначительные фразы кидать о том, что кругом все идиоты и не в теме. Ну или промолчал бы.

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

  

Живой Ископаемый

35 — 22.11.10 — 14:46

2(26) ну хорошо… А почему вы подумали что вам подойдет именно этот совет, а не например, взять за основу это объяснение?
«Простейший пример возникновения: одна транзакция накладывает блокировку на таблицу БД, а вторая на другую, но для продолжения работы первой транзакции нужна та таблица, на которую наложила блокировка вторая, а для продолжения работы второй — наоборот.
Очевидным образом такие взаимоблокировки неразрешимы и после определенного таймаута, как правило, сервер БД выдает ошибку.»

Ведь в указанной вами цитате речь идет о регистре сведений а не о таблице документов?

  

p_morozoff

36 — 22.11.10 — 14:48

(33) пардон,я слукавил, сказав, что конфа типовая:
в конфе в справочник «контрагенты» добавлен реквизит типа строка, и изменена печатная форма дока «заказ покупателя»
модули обработки нигде не задеты

но по правде говоря такую конфу я обычно считаю за типовую :)

  

Живой Ископаемый

37 — 22.11.10 — 14:51

2(36) еще момент — на данном этапе вы для себя уже поняли что в подобной (0) поведении практически нет никакой ошибки, и причину такого поведения уже восприняли? На всякий случай спрашиваю, потому что как по-мне, то уже все ясно и дальнейшее обсуждение — это переливание из пустого в порожнее…
:)

  

p_morozoff

38 — 22.11.10 — 14:53

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

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

  

Живой Ископаемый

39 — 22.11.10 — 14:57

2(38) «провести параллели » — уж если вы выдумываете новый термин в конфо-строении, то не сочтите за труд — дайте ему определение…

  

p_morozoff

40 — 22.11.10 — 14:57

(37) я понимаю что это не ошибка, а обработка платформой конфликта блокировки.
я хочу избавиться от этого конфликта.
вот еще ссылка на обсуждение подобной проблемы, и там тоже есть изложенные в (0) рекомендации:
http://forum.nov.ru/index.php?showtopic=244886

  

Dmitrii

41 — 22.11.10 — 15:00

(36) Ну если только это, то, вроде как, отношения к обсуждаемой проблеме это не должно иметь.

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

Честно говоря видел достаточно конторок, ведущих учет на файловой УТ с количеством пользователей до 10 человек. Блокировки конечно иногда появляются, но случается это достаточно редко. Но вот чтобы два пользователя постоянно не могли одну таблицу поделить…

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

  

Живой Ископаемый

42 — 22.11.10 — 15:02

Это обсуждается изо дня в день и  на этом форуме…
(например: v8: До какого объема можно доводить объем SQL базы на УТ конфе?
Но для того чтобы что-то научиться решать в этом вопросе..Я считаю мало читать обсуждения.. Потому что постоянно в этих обсуждениях будешь попадать в тупиковые ветки типа той, как вы уже попали, попытавшись решить проблему при помощи ТиИ…

То что вам реально может помочь
http://v8.1c.ru/metod/books/book.jsp?id=63
Глава 4 и 5.

  

denis_jj

43 — 22.11.10 — 15:04

(34) проблема, указанная в топике, решается разделением использования ресурсов. Есть несколько способов реализации:
1. Разделение обработок по времени — запускать обработку когда документы не проводят.
2. Уменьшение пространства блокировок — переписать обработку формирования так, чтобы в один промежуток времени обрабатывалась только небольшая часть документов. Вызывать обработку циклически например регламентным заданием.
Файловую базу необходимо перевести в серверную — SQL лучше работает с блокировками (блокирует диапазон записей, а не таблицу как файловая версия).
3. Разделить по времени проведение по регистрам — механизм отложенных движений (см. типовую конфигурацию).

Вариантов много, зависит от конкретной задачи. В любом случае стратегия на разделение ресурсов.

«Ну или расскажи почему ТиИ с реструктуризацией выдает ошибку. Или это типа нормально.» — а вот это не понял о чём. Если вы имеете ввиду (24) _AccntReg5577, то тут скорее всего речь об итогах, которые в 1С записываются в физические таблицы с разделением, и реструктуризация приводит приводит к пересчету итогов и  свертке разделенных записей. А чем меньше записей в таблицах, тем меньший диапазон записей будет блокировать SQL и ситуация с блокировками в целом немного улучшиться.

  

Живой Ископаемый

44 — 22.11.10 — 15:04

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

  

p_morozoff

45 — 22.11.10 — 15:11

(41) при ТиИ с пометкой «реструктуризация» выдает вот такое сообщение:
————-
В процессе обновления информационной базы произошла критическая ошибка.
по причине:
Ошибка СУБД:
Ошибка SQL: Запись значения NULL в поле, не допускающее NULL ‘_FLD2437_TYPE’
по причине:
Ошибка SQL: Запись значения NULL в поле, не допускающее NULL ‘_FLD2437_TYPE’
————-
тестирование физической, логической целостности и чекдбфл эту ошибку не исправили…

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

  

tdm

46 — 22.11.10 — 15:13

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

  

p_morozoff

47 — 22.11.10 — 15:15

(44) я сделал стандартным способом выгрузку данных(конфигуратор-администрирование-…), затем загрузил её в пустую конфу, эта процедура ошибку оставляет?

  

Живой Ископаемый

48 — 22.11.10 — 15:17

2(44) легко ведь проверить, какая разница что я отвечу.

  

Живой Ископаемый

49 — 22.11.10 — 15:17

то есть (47)

  

p_morozoff

50 — 22.11.10 — 15:18

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

Есть файловая КА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С — специальный механизм, записывающий запросы и другие события в работе системы.

Искусство пропаганды в том виде, как его понимают современные политики, напрямую связано с искусством рекламы. Психология как наука во многом обязана рекламодателям.

Показывать по
10
20
40
сообщений

Новая тема

Ответить

AOLga

Дата регистрации: 12.03.2007
Сообщений: 309

БГУ ред,2 (2.0.31029) платформа 8.3 (8.3.5.1383).
При проведении документов часто выдает сообщение «Не удалось заблокировать таблицу _INFORG13268. Я так понимаю что это какая то блокировка при выполнении транзакций. Что это за таблица?? Как можно увеличить время ожидания выполнения транзакции? База файловый вариант, пользователей 7 человек. Возможно сейчас идет интенсивный ввод, но все же не до такой же степени что бы не успевали выполняться транзакции?! Что можно предпринять? Буду благодарна за любую помощь.

Prikum

активный пользователь

офлайн

Дата регистрации: 18.02.2002
Сообщений: 20833

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

AOLga

Дата регистрации: 12.03.2007
Сообщений: 309

Prikum, Есть подозрение что это после включения Версионирования объектов. Пользователей всего 7.

Prikum

активный пользователь

офлайн

Дата регистрации: 18.02.2002
Сообщений: 20833

AOLga,после 5 пользователей уже рекомендуют переходить на клиент-серверный вариант работы.

AOLga

Дата регистрации: 12.03.2007
Сообщений: 309

Мысль хорошая)) Да их больше трех одновременно и не работает, но программа исправно открыта с утра.
8.2 так не пищала, однако)

Показывать по
10
20
40
сообщений

Управляем расширениями сразу в группе баз (v2)    оглавление    Как скачать обновления вручную с сайта, когда обновлятор их не находит

Почему не удаётся заблокировать файловую базу

2020-07-09T15:07:15+00:00

Оглавление

  • Проблема
  • Причины и решения
    • Открытый конфигуратор
    • База опубликована на веб-сервере
    • Брошенное окно авторизации
    • Не типовая конфигурация

Проблема

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

Причины и решения

Открытый конфигуратор

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

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

База опубликована на веб-сервере

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

Либо (если требуется только архивация) используйте возможность теневого копирования базы.

Брошенное окно авторизации

Другая частая причина неудачной блокировки файловых баз: открытое и брошенное окно авторизации. Более подробно об этой ситуации и о способе решения в виде программы «Убийца нежелательных окон 1с» читайте по ссылке.

Либо (если требуется только архивация) используйте возможность теневого копирования базы.

Не типовая конфигурация

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

Либо (если требуется только архивация) используйте возможность теневого копирования базы.

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Владимир Милькин

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

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

Управляем расширениями сразу в группе баз (v2)    оглавление    Как скачать обновления вручную с сайта, когда обновлятор их не находит

Как часто приходиться видеть это сообщение? Думаю, каждый кто имеет продолжительный опыт работы с 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С. После таких действий необходимо найти уязвимые места в системе, оптимизировать конфигурацию или работу сотрудников. Использовать подобные меры на постоянной основе при регулярных конфликтах блокировок на транзакциях не рекомендуется.

  

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

Ставим галочку «исправлять обнаруженные ошибки». И нажимаем кнопку выполнить. Данная утилита исправляет 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С. После таких действий необходимо найти уязвимые места в системе, оптимизировать конфигурацию или работу сотрудников. Использовать подобные меры на постоянной основе при регулярных конфликтах блокировок на транзакциях не рекомендуется.

  

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С — специальный механизм, записывающий запросы и другие события в работе системы.

Реклама — самая интересная и самая трудная форма современной литературы.

Понравилась статья? Поделить с друзьями:
  • Ошибка блокировки руля пассат б6
  • Ошибка блокировки объекта объект уже заблокирован собой
  • Ошибка блокировки объекта объект уже заблокирован сеансов
  • Ошибка блокировки клиента объект уже заблокирован
  • Ошибка блокировки объекта объект уже заблокирован приложение тонкий клиент