Добрый день.
Есть запрос на получение периодического значения.
ТекстЗапроса = "
|set nocount on
|SELECT $ПоследнееЗначение.Поставщики.ТранспортнаяСоставляющая(Поставщики.ID, :ВыбДата) ТранспортнаяСоставляющая
|FROM $Справочник.Поставщики AS Поставщики With (NOLOCK)
|WHERE (Поставщики.PARENTEXT = :Номенклатура)
| AND ($Поставщики.Поставщик = :Поставщик)
| AND (Поставщики.ISMARK = 0)
|GROUP BY Поставщики.ID
|";
в разделенном и монопольном режиме работает корректно.
Но когда происходит восстановление последовательности, то вылетает с ошибкой.
НужноВернуть = глРС.ВыполнитьСкалярный(ТекстЗапроса); : {Глобальный модуль(6377)}: State 42000, native 102, message [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near 'ID'.
в связи с этим разнес на 2 запроса
ТекстЗапроса = "
|set nocount on
|SELECT
| top 1
| Поставщики.ID
|FROM $Справочник.Поставщики AS Поставщики With (NOLOCK)
|WHERE Поставщики.ParentExt = :Номенклатура
| AND ($Поставщики.Поставщик = :Поставщик)
| AND (Поставщики.ISMARK = 0)
|";
глРС.УстановитьТекстовыйПараметр("Номенклатура", Номенклатура);
глРС.УстановитьТекстовыйПараметр("Поставщик", Поставщик);
ПоставщикИД = глРС.ВыполнитьСкалярный(ТекстЗапроса);
ТекстЗапроса = "
|set nocount on
|SELECT
| $ПоследнееЗначение.Поставщики.ТранспортнаяСоставляющая(:ПоставщикИД, :ВыбДата) ТранспортнаяСоставляющая
|";
глРС.УстановитьТекстовыйПараметр("ВыбДата", ДатаДок);
глРС.УстановитьТекстовыйПараметр("ПоставщикИД",ПоставщикИД);
тогда работает и в восстановлении последовательности
Вопрос, почему может не работать получение значения одним запросом?