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