По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Вот код
РезультатПодключения=Ложь;
Состояние("Выполняется подключение к базе-источнику ...");
БазаОле = Новый COMОбъект("V82.Application");
РезультатПодключения=Ложь;
ИмяСервера="ХХХ";
ПутьКБазе="G:\1c\Work\ДляПроб\Копия-4-04-2013";
Логин="Админ";
Пароль="987456123";
ПользовательОЛЕ = СокрЛП(Логин);
ПарольОЛЕ = "";
Попытка
РезультатПодключения=БазаОле.Connect("File="""+СокрЛП(ПутьКбазе)+
""";Usr="""+СокрЛП(Логин)+
""";Pwd = """ + СокрЛП(Пароль) +
""";");
Сообщить("Подключение произведено!");
Исключение
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;
Запрос = БазаОле.NewObject("Запрос");
Запрос.Текст =
"ВЫБРАТЬ
| ПоступлениеТоваровУслугТовары.Ссылка.Номер КАК Номер,
| ПоступлениеТоваровУслугТовары.Ссылка.Дата КАК Дата,
| ПоступлениеТоваровУслугТовары.Ссылка.Контрагент.Код,
| ПоступлениеТоваровУслугТовары.Ссылка.Контрагент.Наименование КАК Контрагент,
| ПоступлениеТоваровУслугТовары.Ссылка.Контрагент.ИНН КАК ИНН,
| ПоступлениеТоваровУслугТовары.Ссылка.НомерВходящегоДокумента КАК НомерВХ,
| ПоступлениеТоваровУслугТовары.Ссылка.ДатаВходящегоДокумента КАК ДатаВХ,
| СУММА(ПоступлениеТоваровУслугТовары.Сумма) КАК СуммаТоваров,
| СУММА(ПоступлениеТоваровУслугУслуги.Сумма) КАК СуммаУслуг,
| ПоступлениеТоваровУслугТовары.Ссылка.СуммаДокумента КАК СуммаДок
|ИЗ
| Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Услуги КАК ПоступлениеТоваровУслугУслуги
| ПО ПоступлениеТоваровУслугТовары.Ссылка = ПоступлениеТоваровУслугУслуги.Ссылка
|ГДЕ
| ПоступлениеТоваровУслугТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
| И ПоступлениеТоваровУслугТовары.Ссылка.Проведен = ИСТИНА
| И ПоступлениеТоваровУслугТовары.Ссылка.ПризнакПокупкаКомиссия = Истина
|
|СГРУППИРОВАТЬ ПО
| ПоступлениеТоваровУслугТовары.Ссылка.Номер,
| ПоступлениеТоваровУслугТовары.Ссылка.Дата,
| ПоступлениеТоваровУслугТовары.Ссылка.Контрагент.Код,
| ПоступлениеТоваровУслугТовары.Ссылка.Контрагент.Наименование,
| ПоступлениеТоваровУслугТовары.Ссылка.Контрагент.ИНН,
| ПоступлениеТоваровУслугТовары.Ссылка.НомерВходящегоДокумента,
| ПоступлениеТоваровУслугТовары.Ссылка.ДатаВходящегоДокумента,
| ПоступлениеТоваровУслугТовары.Ссылка.СуммаДокумента";
Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
Запрос.УстановитьПараметр("КонецПериода", КонецДня(КонецПериода));
Результат = Запрос.Выполнить();
РезультатПодключения=Ложь;
Состояние("Выполняется подключение к базе-источнику ...");
БазаОле = Новый COMОбъект("V82.Application");
РезультатПодключения=Ложь;
ИмяСервера="ХХХ";
ПутьКБазе="G:\1c\Work\ДляПроб\Копия-4-04-2013";
Логин="Админ";
Пароль="987456123";
ПользовательОЛЕ = СокрЛП(Логин);
ПарольОЛЕ = "";
Попытка
РезультатПодключения=БазаОле.Connect("File="""+СокрЛП(ПутьКбазе)+
""";Usr="""+СокрЛП(Логин)+
""";Pwd = """ + СокрЛП(Пароль) +
""";");
Сообщить("Подключение произведено!");
Исключение
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;
Запрос = БазаОле.NewObject("Запрос");
Запрос.Текст =
"ВЫБРАТЬ
| ПоступлениеТоваровУслугТовары.Ссылка.Номер КАК Номер,
| ПоступлениеТоваровУслугТовары.Ссылка.Дата КАК Дата,
| ПоступлениеТоваровУслугТовары.Ссылка.Контрагент.Код,
| ПоступлениеТоваровУслугТовары.Ссылка.Контрагент.Наименование КАК Контрагент,
| ПоступлениеТоваровУслугТовары.Ссылка.Контрагент.ИНН КАК ИНН,
| ПоступлениеТоваровУслугТовары.Ссылка.НомерВходящегоДокумента КАК НомерВХ,
| ПоступлениеТоваровУслугТовары.Ссылка.ДатаВходящегоДокумента КАК ДатаВХ,
| СУММА(ПоступлениеТоваровУслугТовары.Сумма) КАК СуммаТоваров,
| СУММА(ПоступлениеТоваровУслугУслуги.Сумма) КАК СуммаУслуг,
| ПоступлениеТоваровУслугТовары.Ссылка.СуммаДокумента КАК СуммаДок
|ИЗ
| Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Услуги КАК ПоступлениеТоваровУслугУслуги
| ПО ПоступлениеТоваровУслугТовары.Ссылка = ПоступлениеТоваровУслугУслуги.Ссылка
|ГДЕ
| ПоступлениеТоваровУслугТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
| И ПоступлениеТоваровУслугТовары.Ссылка.Проведен = ИСТИНА
| И ПоступлениеТоваровУслугТовары.Ссылка.ПризнакПокупкаКомиссия = Истина
|
|СГРУППИРОВАТЬ ПО
| ПоступлениеТоваровУслугТовары.Ссылка.Номер,
| ПоступлениеТоваровУслугТовары.Ссылка.Дата,
| ПоступлениеТоваровУслугТовары.Ссылка.Контрагент.Код,
| ПоступлениеТоваровУслугТовары.Ссылка.Контрагент.Наименование,
| ПоступлениеТоваровУслугТовары.Ссылка.Контрагент.ИНН,
| ПоступлениеТоваровУслугТовары.Ссылка.НомерВходящегоДокумента,
| ПоступлениеТоваровУслугТовары.Ссылка.ДатаВходящегоДокумента,
| ПоступлениеТоваровУслугТовары.Ссылка.СуммаДокумента";
Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
Запрос.УстановитьПараметр("КонецПериода", КонецДня(КонецПериода));
Результат = Запрос.Выполнить();
А вот так с параметрами надо делать:
Цитата из статьи (http://www.mista.ru/articles1c/ole.htm):
ТекстЗапроса = " Период с НачДата по КонДата; ";
Вроде все в порядке, но такой запрос не выполнится в базе OLE, так как там понятия не имеют, что такое НачДата и КонДата :)) Ведь эти переменные действительны только для местной базы! Переписываем запрос заново:
ТекстЗапроса = " Период с '" + НачДата + "' по '" + КонДата + "';
Цитата из статьи (
ТекстЗапроса = " Период с НачДата по КонДата; ";
Вроде все в порядке, но такой запрос не выполнится в базе OLE, так как там понятия не имеют, что такое НачДата и КонДата :)) Ведь эти переменные действительны только для местной базы! Переписываем запрос заново:
ТекстЗапроса = " Период с '" + НачДата + "' по '" + КонДата + "';
Сталкивался с такой проблемой, в COM соединеии некоторые параметры именуются только по английски.
Запрос = ИБ.NewObject("Запрос");
Запрос.Text = ...;
ВыборкаПоЧемуто = Запрос.Выполнить().Выбрать(ИБ.QueryResultIteration.ByGroups);
Пока ВыборкаПоЧемуто .Next() Цикл
...
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот