Z1 писал(а) 27. Сентября 2010 :: 04:37:так сделай типизацию
Tab1.sp2312 as [Контрагент $Справочник.Контрагенты],
Дело в том, что изначально типизация есть, при передаче текста запроса в Поставщик:
|SELECT
| Tab1.IDDOC AS [IDDOC],
| (TabJ.CLOSED&1 + TabJ.ISMARK*2) AS СтатусДок,
| Tab1.IDDOC AS [Документ $Документ."+ТекВидДок+"],
| TabJ.DOCNO AS НомерДок,
| CONVERT(DateTime,LEFT(TabJ.DATE_TIME_IDDOC,8),112) AS ДатаДок,
| CONVERT(varchar, DATEADD(ss, dbo.Convert36To10(SUBSTRING(TabJ.DATE_TIME_IDDOC,9,6))/10000, LEFT(DATE_TIME_IDDOC,8)), 108) AS ВремяДок,
| TabJ.DATE_TIME_IDDOC AS DATE_TIME_IDDOC,
| '"+ТекСинДок+"' AS ВидДок,
| $Tab1.Контрагент AS [Контрагент $Справочник.Контрагенты],
| TabJ.$ОбщийРеквизит.Автор AS [Автор $Справочник.Пользователи],
| $Tab1.ВалютаУпр AS [ВалютаУпр $Справочник.Валюты],
| $Tab1.Объект AS [Объект $Справочник.Объекты],
| $Tab1.Менеджер AS [Менеджер $Справочник.Сотрудники],
| $Tab1.Направление AS [Направление $Справочник.Города],
| $Tab1.МестоХраненияФилиала AS [МестоХраненияФилиала $Справочник.МестаХранения],
| $Tab1.СуммаБезНДС AS СуммаБезНДС,
| $Tab1.НДС AS НДС,
| $Tab1.СуммаСНДС AS СуммаСНДС,
| $Tab1.Договор AS [Договор $Документ],
| $Tab1.МестоХранения AS [МестоХранения $Справочник.МестаХранения],
| TabJ.$ОбщийРеквизит.Филиал AS [Филиал $Справочник.Подразделения],
| CAST(Tab1.$ОбщийРеквизит.Примечание AS VarChar(1000)) AS Примечание
|FROM
| $Документ."+ТекВидДок+" AS Tab1 WITH (NOLOCK)
| INNER JOIN _1SJOURN AS TabJ WITH (NOLOCK) ON (TabJ.IDDOC = Tab1.IDDOC)
Может я что то не понял,, но, как видно, типизация есть, а вот провайдер возвращает без типизации.
Получается мне надо после получения текста запроса еще раз добавлять типизацию, а если делать универсальным - то это будет проблемой, потому что в некоторых документах поле Контрагент имеет определенный вид, а в некоторых нет.
Меня интересовал вопрос чтобы получить запрос от поставщика с типизацией. Если надо самому добавлять типизаци, тогда проще результирующий запрос сохранить в переменную и использовать ее для печати (что сейчас и сделано).