Есть нормально работающий запрос под sql
Дата1=РабочаяДата();
ТекстЗапроса = "
|SELECT
| т.Заявка as [Заявка $Документ.ЗаявкаПокупателя],
| т.Договор as [Договор $Справочник.Договоры],
| т.Фирма as [Фирма $Справочник.Фирмы],
| т.Склад as [Склад $Справочник.Склады],
| т.ДатаОтгрузки as ДатаОтгрузки,
| т.Контрагент as [Контрагент $Справочник.Контрагенты],
| т.Менеджер as [Менеджер $Справочник.Пользователи],
| т.Количество as Количество,
| т.Сумма as Сумма,
| т.Флаг as Флаг
|FROM(
|SELECT
| Рег.ЗаявкаПокупателя as Заявка,
| Рег.ДоговорПокупателя as Договор,
| Рег.Фирма as Фирма,
| $Док.Склад as Склад,
| $Док.ДатаОтгрузки as ДатаОтгрузки,
| Спр1.id as Контрагент,
| $Спр1.БВК_Менеджер as Менеджер,
| Рег.КоличествоРасходОстаток as Количество,
| Рег.СтоимостьРасходОстаток as Сумма,
| CASE WHEN CAST(LEFT(:ТекущаяДатаРаботы, 8) as DateTime) - $Док.ДатаОтгрузки > :ВыбДень THEN 1 ELSE 0 END as Флаг
|FROM
| $РегистрОстатки.Заявки(:Дата1~,
| ,
| ,
| (Фирма,ЗаявкаПокупателя, ДоговорПокупателя), (СтоимостьРасход,КоличествоРасход)) as Рег
| INNER JOIN $Документ.ЗаявкаПокупателя Док(nolock) on Док.IDDoc = Right(Рег.ЗаявкаПокупателя,9)
| INNER JOIN $Справочник.Договоры Спр(nolock) on Спр.id = Рег.ДоговорПокупателя
| INNER JOIN $Справочник.Контрагенты Спр1(nolock) on Спр1.[id] = Спр.ParentExt) as т
|WHERE
| 1 =1";
Если НАЙТИ(ВРЕГ(НазваниеНабораПрав()),"АДМИН")=0 Тогда
ТекстЗапроса = ТекстЗапроса +
"
| and т.Менеджер = :ГлПользователь";
КонецЕсли;
Если ВыбДень>=0 Тогда
ТекстЗапроса = ТекстЗапроса +
"
| and т.Флаг=1";
КонецЕсли;
ТекстЗапроса = ТекстЗапроса +
"
| Order by т.Заявка,т.Контрагент
|";
RS.УстановитьТекстовыйПараметр("Дата1", Дата1);
RS.УстановитьТекстовыйПараметр("ГлПользователь", ГлПользователь);
RS.УстановитьТекстовыйПараметр("ТекущаяДатаРаботы", ТекущаяДата());
RS.УстановитьТекстовыйПараметр("ВыбДень", ВыбДень);
ТЗ = RS.ВыполнитьИнструкцию(ТекстЗапроса);
пытаюсь его перевести на dbf базу
немного в упрощенном виде пока без условий
База = СоздатьОбъект("OLEDBData");
Соединение = "Provider=VFPOLEDB.1;Deleted=Yes;Data Source=" + КаталогИБ()+ ";Mode=ReadWrite;Extended Properties="";User ID="";Password="";Mask Password=False;Collating Sequence=RUSSIAN;DSN=""";
RS = База.Соединение(Соединение);
Запрос = База.СоздатьКоманду();
ТекстЗапроса = "
|SELECT
| Рег.ЗаявкаПокупателя as Заявка,
| Рег.ДоговорПокупателя as Договор,
| Рег.Фирма as Фирма,
| $Док.Склад as Склад,
| $Док.ДатаОтгрузки as ДатаОтгрузки,
| Спр1.id as Контрагент,
| $Спр1.БВК_Менеджер as Менеджер,
| SUM($Рег.КоличествоРасход) as Количество,
| SUM($Рег.СтоимостьРасход) as Сумма
| CASE WHEN CAST(LEFT(:ТекущаяДатаРаботы, 8) as DateTime) - $Док.ДатаОтгрузки > :ВыбДень THEN 1 ELSE 0 END as Флаг
|FROM
| $РегистрИтоги.Заявки as Рег
| INNER JOIN $Документ.ЗаявкаПокупателя Док(nolock) on Док.IDDoc = Right(Рег.ЗаявкаПокупателя,9)
| INNER JOIN $Справочник.Договоры Спр(nolock) on Спр.id = Рег.ДоговорПокупателя
| INNER JOIN $Справочник.Контрагенты Спр1(nolock) on Спр1.[id] = Спр.ParentExt)
| GROUP BY Рег.ЗаявкаПокупателя,Спр1.id
|";
Запрос.УстановитьТекстовыйПараметр("Дата1", Дата1);
Запрос.УстановитьТекстовыйПараметр("ГлПользователь", ГлПользователь);
Запрос.УстановитьТекстовыйПараметр("ТекущаяДатаРаботы", ТекущаяДата());
Запрос.УстановитьТекстовыйПараметр("ВыбДень", ВыбДень);
лРезТаблица = Запрос.ВыполнитьИнструкцию(ТекстЗапроса);
лРезТаблица.ВыбратьСтроку();
вываливается ошибка
{Отчет.Запрос1.Форма.Модуль(34)}: FAILED! ICommandText::Execute(): Command contains unrecognized phrase/keyword.
Не могу понять где ошибка?