В инете ничего полезного, кроме твоей статьи, не нашел. Поэтому пошел по твоим следам, что сэкономило мне время - спасибо!
У меня были теже симптомы и собствинно трассировка выдала теже запросы, но перед запросом выборки документов
leshik писал(а) 19. Декабря 2008 :: 05:15:...
готовится курсор первичной выборки:
Select * from _1SJOURN(NOLOCK INDEX=DOCNO) where DNPREFIX=@P1 and DOCNO=@P2 order by DNPREFIX, DOCNO, ROW_ID
далее идет перебор DNPREFIX и номера документа
и генерируется цепочка ...
у меня шел еще один запрос (у тебя он тоже жолжен быть).
Это запрос (очень странно построен, жаль не могу привести его код) делает выборку всех документов в диапазоне поля DATE_TIME_IDDOC и сортировкой по нему. После чего читает 1-ю и последнюю запись результата запроса. Суть его выбрать 1-ю и последнюю дату документов, но что для меня осталось загадкой - зачем 1С-цы устанавливали диапазон дат в условии.
Далее у меня шел тот же странный перебор префиксов документов с загадочным -471. 1-м запросом 1С получает начальную и конечную дату, а далее начинает свой безумный перебор (наверное по привычке работы с DBF). То что в запросах есть два префикса " 5941 " и " 5941-471 " - это попытка поймать документы с нумерацией без периода и с периодом в год (у тебя данный документ нумеруется в пределах года). Но вот незадача, почему -471? А дело в том, что каким-то чудесным образом 1С умудрилась записать документ в журнал 18 веком и собственно если произвести вычитание из 1-й даты документа некоторой начальной даты системы отсчета, то мы получим -471 лет (это мое предположение почему -471). В коде, скорее всего, из-за отрицательного числа происходит зацикливание, поэтому 1С впадает в транс пытаясь изнасиловать MSSQL. Если бы при разработке 1С думали о построении запросов, то она бы и летала шустрее и таких бы косяков не было.
К сожалению я отдыхал когда это случилось и мне не удалось установить причину в следствии чего документ был помещен в журнал раней датой.
Лекарство.Нужно найти в журнале некорректные даты документа(ов) и поправить на правильные. Скорее всего у тебя сами документы в таблицах DH??? будут записаны правильной датой.
Удачи!