Делаю запрос к внешней БД через comconector83.
Если в списке 1 склад, то работает, если больше одного то не работает.
Не могу понять как сделать отбор по списку складов.
СписокСкладов = "";
Для Каждого Состав Из СпискоКодовСкладов Цикл
СписокСкладов = СписокСкладов + Состав + """,""";
КонецЦикла;
Если ЗначениеЗаполнено(СписокСкладов) Тогда
СписокСкладов = Лев(СписокСкладов,СтрДлина(СписокСкладов)-3);
КонецЕсли;
//Получим остатки из внешней БД
Запрос = ВнешняяБД.NewObject("Запрос");
Запрос.Текст =
"ВЫБРАТЬ
| ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
| ТоварыНаСкладахОстатки.Номенклатура.Артикул КАК Артикул
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад.Код В (&СписокСкладов)) КАК ТоварыНаСкладахОстатки
|
|";
Запрос.УстановитьПараметр("СписокСкладов",СписокСкладов);
(0) Причем в консоли запросов (которая умеет работать с внешними БД) работает вот такой вариант:
ВЫБРАТЬ
ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,
ТоварыНаСкладахОстатки.Номенклатура.Артикул КАК Артикул
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад.Код В ("0001","0002")) КАК ТоварыНаСкладахОстатки
(1) Спасибо, все заработало.
(3) Мы через код склада, но спасибо будем учитывать
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой