|
v7: 1С++ прямой запрос и реквизит типа дата |
☑ |
0
Mashinist
21.08.13
✎
19:01
|
Пишу значит такой запрос
ТексЗапроса = "SELECT IDDoc as [Документ $Документ.ПриходнаяНакладная] from $Документ.ПриходнаяНакладная WHERE $Документ.ПриходнаяНакладная.ДатаРасходнойНакладной = :ДатаПрихода ";
RecordSet.УстановитьТекстовыйПараметр("ДатаПрихода",ТекущаяДата());
И вот так
ТексЗапроса = "SELECT IDDoc as [Документ $Документ.ПриходнаяНакладная] from $Документ.ПриходнаяНакладная WHERE $Документ.ПриходнаяНакладная.ДатаРасходнойНакладной = :ДатаПрихода ";
RecordSet.УстановитьТекстовыйПараметр("ДатаПрихода",ТекущаяДата());
Как использовать реквизит типа дата в прямом запросе?
|
|
1
Mashinist
21.08.13
✎
19:01
|
ошибка то не вставилась
SELECT IDDoc as [Документ_1c_type_Документ_1c_dot_ПриходнаяНакладная] from dh931 WHERE sp3767 = '20130821'
ТЗРезультата=ODBCRecordset.ВыполнитьИнструкцию(ТекстЗапроса);
{Глобальный модуль(16550)}: FAILED! ICommandText::Execute(): Operator/operand type mismatch.
|
|
2
Рэйв
21.08.13
✎
19:03
|
С++ не юзал по моему.
Несовпадения типов.Сам смотри где.
|
|
3
Mashinist
21.08.13
✎
19:06
|
1С++ это
|
|
4
Рэйв
21.08.13
✎
19:08
|
(3)А с++ это
Открой для себя мир прграммирования.
|
|
5
fedoss
21.08.13
✎
19:20
|
Запрос правильный, параметр тоже
|
|
6
fedoss
21.08.13
✎
19:20
|
А почему УстановитьТекстовыйПараметр делается для переменной RecordSet, а ВыполнитьИнструкцию для ODBCRecordset?
|
|
7
Рэйв
21.08.13
✎
19:22
|
(5)Имхо как раз параметр неправильный. Иначе нечему там ругаться на типы.
|
|
8
Rie
21.08.13
✎
19:38
|
(0), (1) А какой код на самом деле исполняется?
Явно стоит
Recordset.Отладка(1);
Но почему-то в процитированном этого не видно.
Да ещё и путаница между Recordset и ODBCRecordset...
Попробуй для параметра запроса модификатор поставить
:ДатаПрихода~~
|
|
9
ADirks
21.08.13
✎
20:01
|
(0)
WHERE $Документ.ПриходнаяНакладная.ДатаРасходнойНакладной = :ДатаПрихода~~
см. Приложение А / Правила обозначения модификаторов
|
|
10
Mashinist
21.08.13
✎
20:15
|
(9) СПАСИБО!
Не дочитал :-(
|
|