|
Обойти ошибку SQL | ☑ | ||
---|---|---|---|---|
0
Morig
12.07.19
✎
10:21
|
Есть необходимость группой проводить документы.
В течение рабочего дня периодически вылетает ошибка "Конфликт блокировок". Написал обработку для группового проведения. Провожу документ через попытку. Но, в случае блокировки, попытка не помогает - обработка останавливается, вылетает модальное окно. Пока "ОК" не нажмёшь, обработка будет ждать реакции пользователя. Сделал через ОбработчикОжидания. Картина аналогичная. При любых ошибках, кроме ошибок SQL, обработка продолжает работу. Как сделать так, чтобы конфликт блокировок SQL не вызывал остановку обработки? |
|||
1
Slypower
12.07.19
✎
10:22
|
||||
2
kzot
12.07.19
✎
10:55
|
(1) "Если у вас клиент-серверная (SQL) версия 8.0 или 8.1 - вам не нужно ничего ставить (проблемы с блокировками там нет)."
это копия строчки текста из твоей ссылки... ) |
|||
3
Morig
12.07.19
✎
11:48
|
(1)(2) там ни о том вообще
|
|||
4
palsergeich
12.07.19
✎
12:06
|
1) Грызи ТЖ, выяви пространства блокировок, виновника, жертву и исправь
2) Забей болт и перепроводи ночью 3) Забей болт и выкини всех из базы и перепроводи в монопольном режиме. |
|||
5
Septera
12.07.19
✎
12:13
|
(0) > Провожу документ через попытку. Но, в случае блокировки, попытка не помогает - обработка останавливается, вылетает модальное окно.
а вот это странно, какая субд? на постгре Попытка отрабатывает спокойно эту ошибку |
|||
6
Morig
12.07.19
✎
12:15
|
(5) Microsoft SQL
|
|||
7
Septera
12.07.19
✎
12:21
|
(6) наверное для MSSQL 1С распознает ошибку и обрабатывает ее как "особенную"
|
|||
8
Septera
12.07.19
✎
12:22
|
много документов проводится?
|
|||
9
Morig
12.07.19
✎
12:25
|
(8) не много
|
|||
10
Septera
12.07.19
✎
12:27
|
(9) добавь таймаут между проведениями
|
|||
11
Morig
12.07.19
✎
12:36
|
(10) таймаут не повлияет на других пользователей. вопрос в том как эту ситуацию обойти. пусть вылетит ошибка. пусть документ останется не проведённым. нужно, чтобы обработка продолжала автономную работу.
|
|||
12
arsik
гуру
12.07.19
✎
12:40
|
Натрави на нее какой ни будь кликер
|
|||
13
Septera
12.07.19
✎
12:41
|
Запускай обработку чаще, фиксируй на каком документе остановился и начинай с него или за исключением тех что провел ранее
|
|||
14
arsik
гуру
12.07.19
✎
12:41
|
Ну или попробуй к базе через ком соединится и проводи через ком, в случае ошибки, возможно в ком-е нормально отработает.
|
|||
15
Morig
12.07.19
✎
12:46
|
(13) момент когда ошибка вылетела как отловить? как программно закрыть модальное окно?
|
|||
16
Morig
12.07.19
✎
12:48
|
(12)про кликер оригинально. а есть кликер, к которому можно цепляться через ком?
|
|||
17
Morig
12.07.19
✎
12:48
|
(12) или кликер с расписанием?
|
|||
18
Septera
12.07.19
✎
13:00
|
(15) каждый проведенный док куда-то записывай или помечай, добавь рег. задание
|
|||
19
Morig
12.07.19
✎
13:04
|
(18) это не нужно. я могу в любой момент запросом вытащить всё, что нужно. проблема как отловить появление ошибки и обойти модальное окно
|
|||
20
arsik
гуру
12.07.19
✎
13:16
|
Ну или сам напиши на AutoIt.
|
|||
21
Morig
12.07.19
✎
13:26
|
программное нажатие на кнопку в 1С кто-нить реализовывал?
|
|||
22
arsik
гуру
12.07.19
✎
13:31
|
(21) Изнутри ты этого сделать не сможешь, только снаружи. Соответственно это или готовый кликер, который может кликать конкретное выскочившее окно или писать свой "кликер" на AutoIt, который будет кликать на кнопку в определенном окно при его появлении.
Ну или разобраться с блокировками. Еще вариант из своей обработки писать лог и если длительный перерыв и обработка еще работает, убивать клиента в винде и поднимать нового. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |