0
Anttonnio
05.08.17
✎
00:44
|
Добрый вечер!
Сейчас реализую обработку, которая выполняет прямой запрос к Скулю.
Но не могу понять - как передать массив/список значений в параметр
Для одного реализовал такой код:
Попытка
Соединение = Новый COMОбъект("ADODB.Connection");
Команда = Новый COMОбъект("ADODB.Command");
Соединение.ConnectionString =
"Provider=SQLOLEDB;" +
"server="+Объект.ИмяСервераSQL+";"+
"uid="+Объект.ПользовательSQL+";"+
"pwd="+Объект.ПарольSQL+";"+
"database="+Объект.БазаДанныхSQL+";";
Соединение.ConnectionTimeout = 300;
Соединение.CommandTimeout = 600;
//Открытие соединение
Соединение.Open();
Команда.ActiveConnection = Соединение;
Сообщить("Успешное подключение!");
Исключение
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;
гуид = Строка(Объект.Отбор[0].ЭлементОтбора.УникальныйИдентификатор());
гуид = СтрЗаменить(гуид,"-", Символы.ПС);
скульныйгуид = "0x" + СтрПолучитьСтроку(гуид,4) + СтрПолучитьСтроку(гуид,5) + СтрПолучитьСтроку(гуид,3) + СтрПолучитьСтроку(гуид,2) + СтрПолучитьСтроку(гуид,1);
Для Каждого Стр из Объект.ТаблицыДляЗачистки Цикл
Команда.CommandText = "
| DELETE FROM " + Стр.НаименованиеТаблицыSQL + " WHERE " + Стр.НаименованиеТаблицыSQL + "."+Стр.НаименованиеПоляSQL + "!=" + скульныйгуид + ?(Стр.СоставнойТип, " and " + Стр.НаименованиеТаблицыSQL + "."+СтрЗаменить(Стр.НаименованиеПоляSQL,"_RRRef","_RTRef") + "=" + Объект.RTRefРазделаОтбора ,"") ;
Попытка
Команда.Execute();
Исключение
Сообщить("Запись не удалена!
|" + Команда.CommandText);
Сообщить(ОписаниеОшибки());
КонецПопытки;
КонецЦикла;
подскажите, пожалуйста, как вместо "скульныйгуид" передать массив и написать "в"?
|
|