Выполнение запроса 1C на SQL. ОшибкаThis syntax is only allowed for parameterized queries

1. ISP 05.01.25 17:39 Сейчас в теме
Есть SQL запрос

"(@P1 datetime2(3))SELECT DISTINCT
|T1._Document28527_IDRRef,
|T2._Fld3146RRef,
|CAST(T3._Fld31062 AS NVARCHAR(150)),
|T3._Fld31073RRef,
|T3._Fld31089RRef,
|T3._Fld31086RRef
|FROM dbo._Document28527_VT31110 T1 WITH(NOLOCK)
|LEFT OUTER JOIN dbo._Reference175 T2 WITH(NOLOCK)
|ON T1._Fld31112RRef = T2._IDRRef
|LEFT OUTER JOIN dbo._Document28527 T3 WITH(NOLOCK)
|ON T1._Document28527_IDRRef = T3._IDRRef
|WHERE (T3._Date_Time >= @P1)";


и функция для его выполнения.

Функция ВыполнитьSQLЗапрос(ТекстЗапросаSQL)
ADOConnection = ПолучитьСодениеСSQLБазой();

Если ADOConnection = Неопределено Тогда
Возврат Неопределено;
КонецЕсли;

// Создаем объект ADOQuery для выполнения запроса
ADOQuery = Новый COMОбъект("ADODB.Recordset");

ADOCommand = Новый COMОбъект("ADODB.Command");
ADOCommand.ActiveConnection = ADOConnection;

// Выполняем запрос
ADOCommand.CommandText = ТекстЗапросаSQL;

//https://forum.infostart.ru/forum9/topic179138/
//https://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=542797
// https://forum.mista.ru/topic.php?id=851117
Param = ADOCommand.CreateParameter("@P1",200,1,8,Формат(НачалоГода(НачалоГода(ТекущаяДата())-1),"ДФ=ггггММдд"));// 3, 3,4));
ADOCommand.Parameters.Append(Param);

ADOCommand.Parameters.refresh();

ЗапросДанныеSQL = ADOCommand.Execute();

// Получаем результаты запроса в объект ADORecordset
ADORecordset = ADOCommand;

ADOConnection.close();

ADOQuery = Неопределено;

Возврат ADORecordset;
КонецФункции


Надо установить параметры у SQL запроса. Что не правильно делаю ?

Вылетает с ошибкой This syntax is only allowed for parameterized queries
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот