Имя: Пароль:
1C
1С v8
зависший процесс 1С
0 n0ther
 
01.03.13
14:40
Есть сервер приложений 8.1, платформа 8.1.15.14
Есть отдельный сервер SQL Server 2005

Проблема с документом Инвентаризация в базе УТ. У пользователя при попытке его записать, виснет программа. В результате виснет процесс на сервере приложений, причем его не убить. В консоле видно, что есть соединение с SQL.

В консоле SQL этот процесс status = sleeping, command = AWAITING COMMAND.

Если "убить" процесс на SQL, процесс на сервере приложений остается и возможности его "убить" нет. Помогает только перезагрузка сервера приложений, а это геморрой.

Ошибка плавающая, то возникает, то пропадает, но стабильно один раз выпадает при инвентаризации. Документ только записывается, не проводится.

зы Если в мониторе активности посмотреть что делает процесс, то получаем такой запрос:

(P1 varbinary(1),@P2 varbinary(4),@P3 varbinary(16))SELECT TOP 1
CAST(1 AS NUMERIC(1,0)) AS f_1
FROM
_InfoReg6521 _InfoReg6521_Q_000_T_001 WITH(SERIALIZABLE)
WHERE
_InfoReg6521_Q_000_T_001._Fld6523_TYPE = P1 AND _InfoReg6521_Q_000_T_001._Fld6523_RTRef = @P2 AND _InfoReg6521_Q_000_T_001._Fld6523_RRRef = @P3

_InfoReg6521 = РегистрСведений.ОтложенныеДвиженияДокументов

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

Как поймать ошибку за ... что нибудь

И еще вопрос вдогонку, номер соединения с СУБД в консоле администрирования SQL соответствует идентификатору сеанса в SQL?
1 n0ther
 
01.03.13
14:54
видимо дело в подписке на событие
ПередЗаписьюДокументаПроверкаНаличияВОтложенныхДвижениях
2 n0ther
 
01.03.13
15:07
зачем инвентаризацию проверять на отложенные движения, если она ничего не двигает о_О?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший