Глюк с OLE

Новая тема
"Кусок кода:
Запрос = V7.CreateObject("Запрос");
ТекстЗапроса = "Период с Дата1 по Дата2;
|ОбрабатыватьДокументы все;
|Обрабатывать НеПомеченныеНаУдаление;
|СтрокаВыписки = Документ.СтрокаВыпискиПриход.ТекущийДокумент, Документ.СтрокаВыпискиРасход.ТекущийДокумент;
|ДатаВыписки = Документ.СтрокаВыпискиПриход.ДатаДок, Документ.СтрокаВыпискиРасход.ДатаДок;
|Группировка СтрокаВыписки;
|"
;
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
после выполнения к-ого выдается такая ошибка:

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
{C:\1C\ПОЛЕЗНЫЕ ОБРАБОТКИ\АВТООБМЕНБР.ERT(49)}: 1С:Предприятие:  <> Дата1 по Дата2;
ОбрабатыватьДокументы все;
Обрабатывать НеПомеченныеНаУдаление;
СтрокаВыписки = Документ.СтрокаВыпискиПриход.ТекущийДокумент, Документ.СтрокаВыпискиРасход.ТекущийДокумент;
ДатаВыписки = Документ.СтрокаВыпискиПриход.ДатаДок, Документ.СтрокаВыпискиРасход.ДатаДок;
Группировка СтрокаВыписки;
Запрос[1] : Ошибка в выражении 'Дата1'

Дата1 - поле ввода в форме обработки. В чем проблема - непонятно..."
"Нужно, чтобы переменные типа Дата были созданы на стороне подключенного OLE объекта. Для этого нужны "танцы с бубном". Проще сделать так:

ТекстЗапроса = "Период с '"+Формат(Дата1,"ДДДММГГГГ")+"' по '"+Формат(Дата2,"ДДДММГГГГ")+"';
|ОбрабатыватьДокументы все;
|Обрабатывать НеПомеченныеНаУдаление;
|СтрокаВыписки = Документ.СтрокаВыпискиПриход.ТекущийДокумент, Документ.СтрокаВыпискиРасход.ТекущийДокумент;
|ДатаВыписки = Документ.СтрокаВыпискиПриход.ДатаДок, Документ.СтрокаВыпискиРасход.ДатаДок;
|Группировка СтрокаВыписки;
|";"
Спасибо, помогло!
Еще одна неувязочка при работе с ОЛЕ - при работе через терминал даже не создается объект V77.Application.
Что это, нехватка прав при работе с терминалом, глюк или фича ОЛЕ?)
Терминал как сделан? Точнее, что за ПО используется? Например, встроенная в Win2003 Server служба терминалов или ПО стороннего разработчика (Citrix и т.п.)
Предположим, что работа идет через службу терминалов Win2003 Server... По умолчанию сессия на сервере терминалов открывается с встроенной учетной записью TsInternetUser. Следовательно, смотрим какие права даны такому "пользователю". Для использования OLE Automation пользователь должен "какие нибудь" права. OLE является надстройкой над DCOM, поэтому контролируем настройки DCOM. Что именно смотреть и куда жать, можно почитать тут: http://www.atol.ru/support/encyclopedy/tech-articles/PO-for-POS/DCOM-config-allWin/
Спасибо за ответ. Что характерно не работает ни так, ни так: реализовано и через встроенные возможности Win2003 Server, и через Citrix. Будем ковырять...
Читают тему
(гостей: 1)

Быстрый переход