У клиента возникла проблема - не ищется по номеру документ (с панели), программа якобы просто зависает. При трассировке Profiler-ом было установлено, что выполняется следующая последовательность запросов:
готовится курсор первичной выборки:
Select * from _1SJOURN(NOLOCK INDEX=DOCNO) where DNPREFIX=@P1 and DOCNO=@P2 order by DNPREFIX, DOCNO, ROW_ID
далее идет перебор DNPREFIX и номера документа
и генерируется цепочка вот таких вот запросов:
exec sp_cursorexecute 9, @P1 output, @P2 output, @P3 output, @P4 output, ' 5941-471 ', 'Р0600_197650 '
exec sp_cursorexecute 9, @P1 output, @P2 output, @P3 output, @P4 output, ' 5941 ', 'Р0600_197650 '
exec sp_cursorexecute 9, @P1 output, @P2 output, @P3 output, @P4 output, ' 5941-471 ', 'Р0600_197650 '
exec sp_cursorexecute 9, @P1 output, @P2 output, @P3 output, @P4 output, ' 5941 ', 'Р0600_197650 '
то есть отметьте что @P1 в данном случае принимает то ' 5941-471 ' то ' 5941 '
Я считаю что такого префикса ' 5941-471 ' не может быть, так как в описание на
http://metaprog.co.ua/secrprog/opisanietabl.html сказано, что первый 10 символов - это ID документа, оставшиеся 8 - период, но период не может быть "-471 " в связи с этим у меня возникли мысли о поврежденном md. Мои мысли подтвердились, но даже после его исправления (md) ситуация не изменилась. " 5941" - это вид вполне определенного документа из конфигурации - ЗаявкаПокупателя.
Подскажите - откуда может генерироваться такой DNPREFIX?
Заранее спасибо.