• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Частые Конфликты Блокировок

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

Добрый день, уважаемые профессионалы!
Возникла такая проблема: у одного из пользователей часто появляется сообщение о конфликте блокировок (не удалось заблокировать таблицу const).
Конфигурация дописана ОЧЕНЬ СИЛЬНО! Присутствует такая вещь, как Регистр Сведений "Информатор Номенклатуры". Устроен таким образом, чтобы при выделении Номенклатуры в любой форме - открытая Форма Записи Регистра Сведений, тут же обновлялась, собирая информацию по Номенклатуре из БД (Прошу прощения, если непонятно).
Конфликт блокировок возникает, когда программный код, обновляющий Информатор, пытается получить значение какой-то Константы (созданной, очевидно, специально для него) и изменить его.

Программный код выглядит так:
Мен = Константы.ПроцессПерерасчетаСчетчиковПрибылиПодразделений.СоздатьМенеджерЗначени
я();
Мен.Значение = Истина;
Мен.Записать();

Пробовал выгонять из базы всех пользователей, кроме того у которого возникает эта проблема - конфликты не прекратились.
Сейчас проблема "решена" банальным оборачиванием Кода в "Попытка... Исключение... КонецПопытки". Но это не совсем правильно. Хотелось бы разобраться в причине возникновения проблемы.
Может, кто подскажет в чём же дело?
 
Д

Дайнеко

Я для записи в константу пишу:
Константы.ПроцессПерерасчетаСчетчиковПрибылиПодразделений.Установить(Истина);
Может решит проблему. И компактней код, всего 1 строка.
 
D

Darlock

Добрый день.
А вы какую-то информацию из списка номенклатуры в свой регистр что-то пишете или нет?
 
G

Guest

Дайнеко, попробую так сделать. Спасибо за Вариант.

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

Когда поставил код с "Попыткой... Исключением" проблема почему-то отпала... Хотя добавил строку с сообщением ОписаниеОшибки(). Ни у кого ещё не появилось...
Что за полтергейст вообще понять не могу...
Если кто-то знает возможную причину - отпишитесь, пожалуйста. Очень не хочется оставлять проблему без внимания даже если она не повторится больше никогда...
 
G

Guest

Снова начались конфликты и опять у того же пользователя...
Только на этот раз не удаётся блокировать другие таблицы! Подскажите с чем это может быть связано...
 
Д

Дайнеко

Снова начались конфликты и опять у того же пользователя...
Только на этот раз не удаётся блокировать другие таблицы! Подскажите с чем это может быть связано...

А с пользователем! :rolleyes: Увольте его на фиг, и будет как у Сталина: нет человека...

Но если серьезно, то стоит подумать, почему только у него?
- У него чаще пишет
- выполняются другие ф-ии
 
G

Guest

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

А у этого пользователя 1С работает целый день. Но ничего свехестественого он не делает - поступления, реализации, заказы и т.д. Конфликты появляются с завидной регулярностью...
Я немного покопался и заметил, что в папке 1Cv8Log файл формата LGP за 1 день достигает размеров до 600 Мб. А в остальных базах на больше 15 Кб. Может как-то с этим связанно... Может он каким-то образом очищаться должен...
 
K

KiR

Максимио, а насколько часто вылазят эти конфликты? возможно ли просто перезапускать программу?
 
G

Guest

KiR, перезапуск не помогает. Конфликты вылезают практически каждые 20-30 минут. При этом 1С предварительно начинает тормозить...

Мне бы просто найти причину, а дальше я уж соображу как бороться с проблемой. Просто понять даже не могу из-за чего это. Когда сам сижу в 1С всё работает нормально... Как по закону подлости ))
 
K

KiR

Мне бы просто найти причину, а дальше я уж соображу как бороться с проблемой. Просто понять даже не могу из-за чего это. Когда сам сижу в 1С всё работает нормально... Как по закону подлости ))
а сам сидел под именно этим пользователем и на его машине, повторяя его действия? потом на другой машине? на его машине под другим пользователем?
 
G

Glukman

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

А у этого пользователя 1С работает целый день. Но ничего свехестественого он не делает - поступления, реализации, заказы и т.д. Конфликты появляются с завидной регулярностью...
Я немного покопался и заметил, что в папке 1Cv8Log файл формата LGP за 1 день достигает размеров до 600 Мб. А в остальных базах на больше 15 Кб. Может как-то с этим связанно... Может он каким-то образом очищаться должен...
Это журнал регистрации. Просмотрите чего туда пишется при работе именно этого пользователя. - 600 мб за день как-то не очень нормально.

Добавлено: Релиз платформы можете озвучить?
 
G

Guest

Релиз платформы можете озвучить?

Платформа 8.2.16.368
Конфигурация: "Управление торговлей", редакция 10.1 (8.10.1.13)

Журнал фиксирует в основном Изменение каких-то данных: документов, Номенклатуры и т.д.
 
G

Glukman

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

Guest

Glukman Достаточно интенсивно. Есть специальный пользователь, который через каждые 10 минут происходит обмен с другой БД. Да и пользователь у которого проблемы с блокировками работает достаточно интенсивно.
Сразу хочу сказать, что причина конфликтов точно не в запущенном обмене, так как его я уже пробовал останавливать.


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

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

Glukman

Glukman Достаточно интенсивно. Есть специальный пользователь, который через каждые 10 минут происходит обмен с другой БД. Да и пользователь у которого проблемы с блокировками работает достаточно интенсивно.
Сразу хочу сказать, что причина конфликтов точно не в запущенном обмене, так как его я уже пробовал останавливать.


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

Иногда конфликт блокировок с попыткой изменить значение константы вылетает сразу как только заходишь в 1С Предприятие...
Платформу обновить не пробовали?
Обмен скорее всего не причем. Проблема в том что платформа не может нормально отработать ваш журнал.
Может имеет смысл его порезать? Или уменьшить количество обращений?

Добавлено: + как почистить ЖР
+ почему следует обновить платформу
 
Д

Дайнеко

Снова начались конфликты и опять у того же пользователя...

Дайнеко, фактически он один и работает...

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

А потом пробовать поочередно все менять.
В обновление релиза сильно не верю. А вот поменять размещение базы стоит. Перенести на др. комп. Если была серверная, сделать файловой или наоборот. И т.д.
Так что с Логом? Он насколько прирастает в день? Может в момент работы пользователя программа сама что-то активно шурудит.
 
G

Guest

Glukman, я по глупости файл LGP вообще физически удалил когда-то... Это не могло повлиять?

Вечерком выгоню всех из баз. Попробую платформу накатить новую. Заодно и почищу ЖР. Посмотрим насколько это поможет.

Дайнеко, сегодня уже 914 Мб весит.
Я ежу писал выше, что активно ещё работает самописный "ИнформаторНоменклатуры". Регистр сведений собирающий информацию о Номенклатура в режиме реального времени. Принцип - выделил в форме Номенклатуру информатор тут же обновил форму записи данными по ней и т.д. Вот он шерстит и константы и записи регистров сведений и накоплений и т. д.

Плюс ещё Обмен, срабатывающий каждые 5 минут. Он по идее может забивать ЖР.

Спасибо всем за участие и помощь!
 
G

Glukman

Регистр сведений собирающий информацию о Номенклатура в режиме реального времени. - Простите, но не можете пояснить а это для чего?
и как это взаимосвязано с "информатор тут же обновил форму записи данными по ней".
 
G

Guest

Glukman, ну да. Это пожалуй требует объяснений :( Прошу прощения за то, что в прошлый раз написал непонятно. Нужно было читать то, что пишу.

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

Надеюсь я всё разъяснил...
 
G

Glukman

Glukman, ну да. Это пожалуй требует объяснений :( Прошу прощения за то, что в прошлый раз написал непонятно. Нужно было читать то, что пишу.

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

Надеюсь я всё разъяснил...
Жестоко как-то.
Попробуйте переписать в виде отчета. Думаю что тормоза обусловлены именно этим. Да и журнал регистрации скорее всего пухнет по этой причине.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!