Работа с COM

1. Limur 05.04.13 10:33 Сейчас в теме
Добрый день! Подскажите варианты решения ошибки

Поле объекта не обнаружено (Текст)
Запрос.Текст

Подключается к базе через COM и после подключения вылетает данная ошибка.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Limur 05.04.13 10:34 Сейчас в теме
Вот код

РезультатПодключения=Ложь;
Состояние("Выполняется подключение к базе-источнику ...");
БазаОле = Новый COMОбъект("V82.Application");
РезультатПодключения=Ложь;

ИмяСервера="ХХХ";

ПутьКБазе="G:\1c\Work\ДляПроб\Копия-4-04-2013";

Логин="Админ";
Пароль="987456123";
ПользовательОЛЕ = СокрЛП(Логин);
ПарольОЛЕ = "";
Попытка
РезультатПодключения=БазаОле.Connect("File="""+СокрЛП(ПутьКбазе)+
""";Usr="""+СокрЛП(Логин)+
""";Pwd = """ + СокрЛП(Пароль) +
""";");
Сообщить("Подключение произведено!");
Исключение
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;

Запрос = БазаОле.NewObject("Запрос");
Запрос.Текст =
"ВЫБРАТЬ
| ПоступлениеТоваровУслугТовары.Ссылка.Номер КАК Номер,
| ПоступлениеТоваровУслугТовары.Ссылка.Дата КАК Дата,
| ПоступлениеТоваровУслугТовары.Ссылка.Контрагент.Код,
| ПоступлениеТоваровУслугТовары.Ссылка.Контрагент.Наименование КАК Контрагент,
| ПоступлениеТоваровУслугТовары.Ссылка.Контрагент.ИНН КАК ИНН,
| ПоступлениеТоваровУслугТовары.Ссылка.НомерВходящегоДокумента КАК НомерВХ,
| ПоступлениеТоваровУслугТовары.Ссылка.ДатаВходящегоДокумента КАК ДатаВХ,
| СУММА(ПоступлениеТоваровУслугТовары.Сумма) КАК СуммаТоваров,
| СУММА(ПоступлениеТоваровУслугУслуги.Сумма) КАК СуммаУслуг,
| ПоступлениеТоваровУслугТовары.Ссылка.СуммаДокумента КАК СуммаДок
|ИЗ
| Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Услуги КАК ПоступлениеТоваровУслугУслуги
| ПО ПоступлениеТоваровУслугТовары.Ссылка = ПоступлениеТоваровУслугУслуги.Ссылка
|ГДЕ
| ПоступлениеТоваровУслугТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
| И ПоступлениеТоваровУслугТовары.Ссылка.Проведен = ИСТИНА
| И ПоступлениеТоваровУслугТовары.Ссылка.ПризнакПокупкаКомиссия = Истина
|
|СГРУППИРОВАТЬ ПО
| ПоступлениеТоваровУслугТовары.Ссылка.Номер,
| ПоступлениеТоваровУслугТовары.Ссылка.Дата,
| ПоступлениеТоваровУслугТовары.Ссылка.Контрагент.Код,
| ПоступлениеТоваровУслугТовары.Ссылка.Контрагент.Наименование,
| ПоступлениеТоваровУслугТовары.Ссылка.Контрагент.ИНН,
| ПоступлениеТоваровУслугТовары.Ссылка.НомерВходящегоДокумента,
| ПоступлениеТоваровУслугТовары.Ссылка.ДатаВходящегоДокумента,
| ПоступлениеТоваровУслугТовары.Ссылка.СуммаДокумента";


Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
Запрос.УстановитьПараметр("КонецПериода", КонецДня(КонецПериода));

Результат = Запрос.Выполнить();
3. VasRogov 6 05.04.13 11:00 Сейчас в теме
Добрый день !

Может вот так:

Запрос = БазаОле.CreateObject("Запрос");

ТекстЗапроса = "Выбрать * из Таблица";

Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
Предупреждение("Запрос не отработал!");
Возврат;
КонецЕсли;
4. Milokko 05.04.13 11:02 Сейчас в теме
Попробуйте:
РезультатПодключения=БазаОле.Connect("File="""+ПутьКбазе+""";Usr=Админ;Pwd =987456123");
5. VasRogov 6 05.04.13 11:03 Сейчас в теме
А вот так с параметрами надо делать:
Цитата из статьи (http://www.mista.ru/articles1c/ole.htm):


ТекстЗапроса = " Период с НачДата по КонДата; ";
Вроде все в порядке, но такой запрос не выполнится в базе OLE, так как там понятия не имеют, что такое НачДата и КонДата :)) Ведь эти переменные действительны только для местной базы! Переписываем запрос заново:

ТекстЗапроса = " Период с '" + НачДата + "' по '" + КонДата + "';
6. Limur 05.04.13 11:23 Сейчас в теме
Спасибо за ответы с подключением вопрос решил .
7. SPID 05.04.13 11:39 Сейчас в теме
Сталкивался с такой проблемой, в COM соединеии некоторые параметры именуются только по английски.

	
Запрос = ИБ.NewObject("Запрос");	
Запрос.Text = ...;

ВыборкаПоЧемуто = Запрос.Выполнить().Выбрать(ИБ.QueryResultIteration.ByGroups);

Пока ВыборкаПоЧемуто .Next() Цикл
...
КонецЦикла;

Показать
8. Limur 05.04.13 11:40 Сейчас в теме
SPID, я по английски тоже пробовал,не получалось
Я уже нашел решение
9. SPID 05.04.13 11:43 Сейчас в теме
(8) Limur,
Ну меня так заработало именно только так.
Оставьте свое сообщение

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