Ошибка в запросе #218021


#0 by maxt
Начал тут осваивать 1С++ и прямые запросы, и вот... Вот в таком запросе Выдает ошибку FAILED! ICommandText::Execute: Command contains unrecognized phrase/keyword. Что может быть?
#1 by ASV
Спр.ParentExt не видел такого поля убирай по одной строке из запроса, и тестируй
#2 by SnarkHunter
Условие Where полностью неверное...
#3 by maxt
А как надо? Кстати, без него то же самое. И после количества я запятую убрал, все равно.
#4 by SnarkHunter
ParentExt - существует только у подчиненного справочника, содержит ссылку на элемент-владелец...
#5 by maxt
так и есть, это выборка элементов подчиненного справочника. Опять же, без этой строчки тоже самое...
#6 by SnarkHunter
В Select не хватает знака $ в строках Спр.ID  as [ТекЭлемент $Справочник.Цены], $Спр.НачалоПериода as ТекНачалоПериода, $Спр.КонецПериода as ТекКонецПериода, $Спр.ТипОтделки as [ТипОтделки $Перечисление.ВидОтделки], $Спр.ВидОплаты as [ВидОплаты $Справочник.ВидыОплаты], $Спр.ПокупаемоеКоличество as Количество
#7 by maxt
Точно? Провеверил, выдает Meta name parser error: поле таблицы не найдено "$Спр.ParentExt" Вроде в учебнике так не было..
#8 by SnarkHunter
В Спр.ParentExt как раз не нужно $... ЗЫ. Незаметно последствий прочтения учебника, если честно...
#9 by maxt
Ну, я его час как скачал ;) Качество доки вообще оставляет желать лучшего...
#10 by maxt
Проверил без секции WHERE, заработало, спасибо! Подскажи пожалуйста еще: 1. Как программно проверить наличие VFP Ole Provaider'а? 2. Ну и как правильно условия писать? ;))
#11 by КонецЦикла
Мдя... тут лежит в книге знаний пример, смотри:
#12 by maxt
Спасибо! Я уже понял, нужно почитать внимательно про MetaDataWork. Он же имена преобразует? Пошел изучать матчасть! ;))
#13 by КонецЦикла
Метапарсер преобразует, в запросе надо писать как надо... ну там написано
#14 by Just_Serg
Условия в секции WHERE нужно писать через AND
#15 by maxt
Вот такой запрос Выдает ошибку: FAILED! ICommandText::Execute: Operator/operand type mismatch. Ошибка где-то в операциях сравнения дат. Если эти строки убратьб, все работает.. Пробовал :датаРасчета BEETWEN $спр.НачалоПериода AND $Спр.КонецПериода - тоже не проходит. В чем ошибка?
#16 by spock
Правила обозначения модификаторов: ... Дата: - 0: char; - 1: char - каноническое представление даты + символ "Z" (используется для обозначения момента времени конца этой даты); ... Примеры: ... Передано значение типа Дата: :ДатаНачала = '20030613' :ДатаКонца ~ = '20030613Z' :ДатаКонца ~~ = {d '2003-06-13'} ...
#17 by maxt
Поясни пожалуйста, ничего не понял... У меня в функцию передается датаРасчета. Мне нужно из справочника цен выбрать элементы, где реквизит Начало периода <= ДатаРасчета, а реквизит КонецПериода >= ДатаРасчета. Как задать условия?
#18 by spock
Если ты задаешь параметр без модификаторов, то попадаем под условие 1 - :ДатаНачала = '20030613'. А поле у тебя должно-быть типа DATE, я думаю, что и-за этого у тебя ругань (Несовпадение типов). Сделай так ":ДатаРасчета~~"
#19 by maxt
Попробовал. Не ругается, но и ничего не выбирает. "~~" - это же вроде признак неопределенного типа? У меня же опрелделен тип дата Может, когда я пишу Запрос.УстановитьТекстовыйПараметр("ДатаРасчета",ДатаРасчета); - надо указывать тип даты? Но вроде в описании нет никаикх параметров...
#20 by spock
Я выдержку из мануала выше зачем приводил? Без условия по датам работает, возвращает ли что?
#21 by maxt
Без условия по датам работает, все четко. Где в мануале этот раздел? Сорри за тупые вопросы! ;)) Время поджимает, вот и спрашиваю. Разобраться самому нет времени...
#22 by maxt
Нашел. Читаю. "0: char - каноническое представление даты" - то есть, когда модификатор (~ или *) не указан. Каноническое представление - это без времени, так? Где я не прав? Почему тогда на :ДатаРасчета ругается?
#23 by spock
Потому что mssql умееет делать приведение типов, а vfp нет (или очень ограниченно).
#24 by maxt
Правильно ли я понял, что это проблема VFP Ole Provaider? Где можно почитать о нем? как тогда быть? Может дату преобразовывать в строку типа "yyyymmdd"?
#25 by spock
Про почитать: 1. - там в конце есть даже пример отчета (версия 3); 2. Про как быть: а точно там есть данные подпадающие под это условие?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С