Доброго времени суток! Много и внимательно читал форум, но четкого и однозначного ответа и работающего примера не нашел. Признаю, что мог что-то пропустить.
В общем, задача такая: есть 2 базы DBF, прошлого и этого года. При запуске определенных отчетов с нач. датой в прошлом году должны подцепляться данные из базы прошлого года и выводиться в отчете. Пробовал много вариантов с форума, тестил их (варианты) в локальном режиме (реальные базы на терминальном сервере) - запросы вылетают с ошибками. Хотя по постам с форума все должно работать. Если возможно, приведите работающие примеры для решения задачи. Главное - корректно подключиться и получить первые данные, дальше буду копаться сам.
Пример:
- данный запрос работает:
ИБ=СоздатьОбъект("ODBCDataBase");
ИБ.ПрисоединитьИБ("D:\SALON\");
рс=СоздатьОбъект("ODBCRecordset");
рс.УстБД(ИБ);
ТекстЗапроса = "
|SELECT
| Спр.Code as Код,
| Спр.Descr as Наименование
|FROM
| $Справочник.Товары as Спр
|WHERE
| Спр.IsFolder = 2 AND
| Спр.IsMark = ''";
ТЗ = рс.ВыполнитьИнструкцию(ТекстЗапроса);
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку() = 1 Цикл
Сообщить("Код - " + ТЗ.Код);
Сообщить("Наименование - " + ТЗ.Наименование);
КонецЦикла;
а его продолжение нет:
ИБ=СоздатьОбъект("ODBCDataBase");
ИБ.ПрисоединитьИБ("D:\BASES\","Федоров","");
рс=СоздатьОбъект("ODBCRecordset");
рс.УстБД(ИБ);
ТекстЗапроса = "
|SELECT
| Спр.ID as [Элемент $Справочник.Номенклатура]
|FROM
| $Справочник.Номенклатура as Спр
|WHERE
| Спр.IsFolder = 2 AND
//| Спр.IsMark = '' AND
| Спр.ID IN (SELECT Val FROM :ВременнаяТаблица)";
ВременнаяТаблица = "ВременнаяТаблица";
рс.УложитьСписокОбъектов(ВыбТовары, ВременнаяТаблица,"Номенклатура");
рс.УстановитьТекстовыйПараметр ("ВременнаяТаблица", ВременнаяТаблица);
Попытка
тз = рс.ВыполнитьИнструкцию(ТекстЗапроса);
Сообщить("Колво строк - " + тз.количествоСтрок());
Исключение
Сообщить("Ошибка - " + рс.ПолучитьОписаниеОшибки());
КонецПопытки;
Самое непонятное, что на форуме этот пример приведен как работающий...