|
v7: Помогите с прямым запросом | ☑ | ||
---|---|---|---|---|
0
Absurdus
09.06.16
✎
13:58
|
Мета = СоздатьОбъект("MetaDataWork");
Запрос = СоздатьОбъект("ODBCRecordSet"); ДокЗак = Мета.ИмяТаблицыШапки("ЗаявкаПокупателя"); ДокЗакРеквШапкиТП = "SP" + Мета.ИДРеквизитаШапки("ЗаявкаПокупателя", "ТорговыйПредставитель"); Операция = "SP" + Мета.ИДРеквизитаШапки("ЗаявкаПокупателя", "ВидОперации"); СпрТП = Мета.ИмяТаблицыСправочника("ТорговыеПредставители"); ТекстЗапроса = "SELECT |DokZak.IDDOC AS DOC, |DokZak.Date_Time_IDDoc as DataDok, //тут ошибка |DokZak." + Операция + " AS OPER |FROM " + ДокЗак + " AS DokZak |left JOIN " + СпрТП + " AS SprTP ON (DokZak." + ДокЗакРеквШапкиТП + " = SprTP.ID) |WHERE DokZak.IDDOC NOT IN | ( | SELECT SUBSTRING(ParentDoc.PARENTVAL, 7, 9) | FROM _1SCRDOC As ParentDoc | ) AND |DokZak.Date_Time_IDDoc BETWEEN :НачДата AND :КонДата~"; //добавлен отбор по дате Запрос.УстановитьТекстовыйПараметр("НачДата", ПолучитьДатуТА()); Запрос.УстановитьТекстовыйПараметр("КонДата", ТекущаяДата() - 31); В запросе надо добавить сторки, чтобы отбирать документы за послоедний 31 день. Добавляю - выходит ошибка: Запрос.ВыполнитьИнструкцию(ТекстЗапроса); {C:\USERS\O\DESKTOP\11.ERT(94)}: State 42S22, native 207, message [Microsoft][ODBC SQL Server Driver][SQL Server]Недопустимое имя столбца "Date_Time_IDDoc". |
|||
1
Ёпрст
09.06.16
✎
14:01
|
пилять, зачем такое извращение ?
В 1cpp есть встроенный метапарсер имён |
|||
2
Mikeware
09.06.16
✎
14:02
|
7 лет расстрела!
|
|||
3
Ёпрст
09.06.16
✎
14:02
|
И это, у шапки документа нет поля .Date_Time_IDDoc, оно есть только у _1sjourn
нужно делать соединение с _1sjourn по iddoc и там уже ставить фильтр на дату. |
|||
4
Absurdus
09.06.16
✎
14:02
|
(1) Как было. Мне просто в это надо добавить отбор доков за послединй 31 день.
|
|||
5
trad
09.06.16
✎
14:08
|
Запрос.УстановитьТекстовыйПараметр("НачДата", ПолучитьДатуТА());
Запрос.УстановитьТекстовыйПараметр("КонДата", ТекущаяДата() - 31); и над этим надо еще немного подумать |
|||
6
Mikeware
09.06.16
✎
14:16
|
(5) тут просто надо "взять и написать" нормально
|
|||
7
Absurdus
09.06.16
✎
14:21
|
Объясните мне хотя бы, что здесь отбирается?
|WHERE DokZak.IDDOC NOT IN | ( | SELECT SUBSTRING(ParentDoc.PARENTVAL, 7, 9) | FROM _1SCRDOC As ParentDoc | ) |
|||
8
Ёпрст
09.06.16
✎
14:23
|
(7)
установлен отбор, для заявки покупателя нет подчиненных доков |
|||
9
Ёпрст
09.06.16
✎
14:24
|
зачем там только соединения со справочником - хз.
|
|||
10
Mikeware
09.06.16
✎
16:55
|
(9) Видимо, для отбора по торговому представителю
|
|||
11
Ёпрст
09.06.16
✎
16:59
|
(10) дык нет ничего ни в условиях ни в полях запроса.
Да и весь код, непонятно зачем так писать было. |
|||
12
Mikeware
09.06.16
✎
17:05
|
(11) см (2)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |