Вывод данных о блокировки при записи в таблицы SQL
Добрый день, может кто подскажет...
Проблема: есть компания численностью 50 человек, которые активно создают и проводят заказы в базе УТ.
Редко, но бывает, что кто-то проводит большой заказ на 100-200 позиций и из-за этого у некоторых пользователей перестают проводится заказы в которых присутствует позиция в большом заказе т.е. блокируется ячейка БД, а 1С выводит ошибку "конфликт блокировок" и ответ от SQL под кнопкой подробно.
Нужно: как-то дополнить стандартное сообщение о блокировки данными о том кто именно блокирует "карточку" это может быть имя ПК, пользователя не так важно.
Как я понимаю SQL нам этой информации не даст т.к. работает с агентом 1С предприятия, но может сам сервер 1С может даст нам эту информацию?
Не могу сказать, что проблема критична, но если есть возможность эту информацию выдавать и успокоить пользователя, то почему бы и нет. :-)
Проблема: есть компания численностью 50 человек, которые активно создают и проводят заказы в базе УТ.
Редко, но бывает, что кто-то проводит большой заказ на 100-200 позиций и из-за этого у некоторых пользователей перестают проводится заказы в которых присутствует позиция в большом заказе т.е. блокируется ячейка БД, а 1С выводит ошибку "конфликт блокировок" и ответ от SQL под кнопкой подробно.
Нужно: как-то дополнить стандартное сообщение о блокировки данными о том кто именно блокирует "карточку" это может быть имя ПК, пользователя не так важно.
Как я понимаю SQL нам этой информации не даст т.к. работает с агентом 1С предприятия, но может сам сервер 1С может даст нам эту информацию?
Не могу сказать, что проблема критична, но если есть возможность эту информацию выдавать и успокоить пользователя, то почему бы и нет. :-)
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) А может лучше зайти в конфигуратор, Администрирование, Параметры информационной базы, и увеличить "Время ожидания блокировки данных, сек."
И вообще не выводить страшное сообщение пользователю.
А ещё лучше, разобраться с производительностью, т.к. стандартно там 20 секунд, и это ненормально когда пользователь ждет по 30 секунд когда поведется его документ, пусть даже и большой.
И вообще не выводить страшное сообщение пользователю.
А ещё лучше, разобраться с производительностью, т.к. стандартно там 20 секунд, и это ненормально когда пользователь ждет по 30 секунд когда поведется его документ, пусть даже и большой.
Александр, тут наверно уже вопрос к самой платформе 1С конфигурация сервера такая:
WS2012 Hyper-V
1C server 64bit релиз 8.3.9.2233
CPU E5-2620
Ram 70GB
SSD Intel 750 PCI-E NVMe 400Гб
База УТ версия 10.4.0.32.405 на 63Гб
Сеть 2х1Гбит
Как мне кажется достаточно для такой базы, по тесту Гилеева результат на сколько я помню был средний. Нагрузка на ЦП и диск минимальная...
WS2012 Hyper-V
1C server 64bit релиз 8.3.9.2233
CPU E5-2620
Ram 70GB
SSD Intel 750 PCI-E NVMe 400Гб
База УТ версия 10.4.0.32.405 на 63Гб
Сеть 2х1Гбит
Как мне кажется достаточно для такой базы, по тесту Гилеева результат на сколько я помню был средний. Нагрузка на ЦП и диск минимальная...
(3) Железка гуд.
Только вот любую железку может завалить кривой запрос.
Надо смотреть что конкретно тормозит проведение.
Вариантов масса.
Я бы начал с замера производительности в отладчике, оттуда уже можно понять, это код 1С тормозит или деградация производительности на уровне СУБД.
И далее искать и лечить проблему.
Оптимизация это процесс вечный. :) но иногда сходу за пару тройку часов можно сократить время выполнения в сотни раз.
Только вот любую железку может завалить кривой запрос.
Надо смотреть что конкретно тормозит проведение.
Вариантов масса.
Я бы начал с замера производительности в отладчике, оттуда уже можно понять, это код 1С тормозит или деградация производительности на уровне СУБД.
И далее искать и лечить проблему.
Оптимизация это процесс вечный. :) но иногда сходу за пару тройку часов можно сократить время выполнения в сотни раз.
(6) Да, конечно об этом и речь, что производительности "железа" должно хватать, серверу 2 года. Так же сервер проходил аудит SQL никаких "затычек" найдено не было, так же были настроены обрезка логов, бэкапы и пере индексация базы.
Остаётся только сама платформа 1С... но это уже отдельная тема.
А ответ по моему вопросу я понял, оптимизировать 1С, смотреть где бутылочное горлышко. :-)
Остаётся только сама платформа 1С... но это уже отдельная тема.
А ответ по моему вопросу я понял, оптимизировать 1С, смотреть где бутылочное горлышко. :-)
(7) Теоретически вы можете получить список блокировок через ком-соединение к агенту сервера. Проблема может возникнуть с определением порта агента сервера и аутентификацией в кластере, если для него установлен администратор (по умолчанию не установлен). Всё остальное платформа может узнать без хардкодинга:
Имя сервера, порт кластера, имя базы, номера сеансов, транзакций, соединений и т.д.
Вопрос, стоит ли эта морока спокойствия пользователя?
Имя сервера, порт кластера, имя базы, номера сеансов, транзакций, соединений и т.д.
Вопрос, стоит ли эта морока спокойствия пользователя?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот