OLE объекты. Запросы. Как передать дату в запросе?
05.10.2005
12:03
#1
"Данный запрос работает замечательно:<br><br>Запрос = V7.CreateObject("Запрос");<br>ТекстЗапроса= "<br>|Период с '01.01.2005';<br>|Док= Документ.ПКО.ТекущийДокумент;<br>|ГРУППИРОВКА Док;<br>|"; <br>Запрос.выполнить(ТекстЗапроса);<br><br>Но как передать дату???<br>Следующий запрос уже не работает
<br>"ошибка в выражении 'Дата1'"<br><br><br>Дата1 = '01.01.2005';<br>ТекстЗапроса= "<br>|Период с Дата1;<br>|Док= Документ.ПКО.ТекущийДокумент;<br>|ГРУППИРОВКА Док;<br>|"; <br>"

05.10.2005
19:30
#2
"Добрый день.<br>Попробуйте так:<br>Дата1 = Дата(01.01.2005);<br>ТекстЗапроса= "<br>|Период с Дата1;<br>|Док= Документ.ПКО.ТекущийДокумент;<br>|ГРУППИРОВКА Док;<br>|"; "
09.10.2005
14:33
#3
Я тоже заметил, что OLE-объекты "по-умолчанию" или "упрощенных" значений не понимают. Если, например, написано в конфигураторе "Можно не ставить, по умолчанию значение такое-то...". На OLE это может не работать. Тоже самое с типом значения.
11.10.2005
16:27
#4
"Очень просто. Дата в OLE передается напрямую, хотя я передавал и более сложные типы данных.<br>В данном случае рекомендую<br>ТекстЗапроса= "<br>|Период с '"+Строка(Дата1)+"';<br>|Док= Документ.ПКО.ТекущийДокумент;<br>|ГРУППИРОВКА Док;<br>|";"
11.10.2005
16:37
#5
"Кстати тип значения в OLE можно получить обращаясь к процедуре ЗначениеВСтроку, а не ТипЗначения или ТипЗначенияСтр.<br>Например:<br>ТипОбъектаТорговли = """";<br>ВидОбъектаТорговли = """"; <br>ПредставлениеТорговли = """";<br>ЭтоГруппаВТорговли = 0;<br>СтрокаТипа = СтрЗаменить(глБаза.ЗначениеВСтроку(ОбъектТорговли),"""","""");<br>Если (СтрЧислоВхождений(СтрокаТипа,"{") > 1) или (СтрокаТипа = "{}") Тогда<br>// Объект в торговли либо типа Списка значений, таблица Значений и прочих составных типов<br>// или Неопределенного типа - А также периодический реквизит<br> Возврат ПустойОбъект;<br>КонецЕсли; <br>СтрокаТипа = СтрЗаменить(СтрокаТипа,"{","""");<br>СтрокаТипа = СтрЗаменить(СтрокаТипа,"}","""");<br>СписокТипов = СоздатьОбъект("СписокЗначений");<br>Для Инд = 1 По СтрЧислоВхождений(СтрокаТипа,",")+1 Цикл<br> Позиция = Найти(СтрокаТипа,",");<br> Если Позиция=0 Тогда<br> СписокТипов.ДобавитьЗначение(СтрокаТипа);<br> Прервать;<br> КонецЕсли;<br> СписокТипов.ДобавитьЗначение(Лев(СтрокаТипа,Позиция-1));<br> СтрокаТипа = Сред(СтрокаТипа,Позиция+1);<br>КонецЦикла;<br>ТипОбъектаТорговли = СписокТипов.ПолучитьЗначение(1);<br>Если СписокТипов.РазмерСписка() > 1 Тогда<br> ВидОбъектаТорговли = СписокТипов.ПолучитьЗначение(2);<br>КонецЕсли;<br>Если СписокТипов.РазмерСписка() > 2 Тогда<br> ПредставлениеТорговли = СписокТипов.ПолучитьЗначение(3);<br>КонецЕсли;<br>Если (ТипОбъектаТорговли = "Справочник") или ((ТипОбъектаТорговли = "Документ")) Тогда<br> ВидОбъектаТорговли = ОбъектТорговли.Вид();<br>КонецЕсли; <br>"
Читают тему
(гостей: 1)