Добрый день !
Есть база Парус, я тяну из нее данные в1С. Все хорошо выбирается, тут возникла задача отрезать уволенных по конкретную дату.

```1c
    ЗапросФИО = Новый COMОбъект("ADODB.Recordset");
    ЗапросФИО.ActiveConnection = БД;
    Дата1 = Формат(НеВыбиратьУволенныхДо,"ДЛФ=Д");
    сообщить("Без уволенных до " + Дата1);
    ТекстЗапроса = "sel ect * fr om zank, orgbase, person where zank.jobend > {" + Дата1 + "} and zank.orgbase_rn = orgbase.rn and person.orbase_rn =orgbase.rn ORDER by orgbase.showname";
    ЗапросФИО.Open(ТекстЗапроса);
```

Указываю НеВыбиратьУволенныхДо равное 01.01.2012

Вытягиваю все содержимое в табличное поле, тянет ВСЕ записи, не реагирует на jobend > 01.01.2012

Такая же фишка еще в 4 запросах, в чем может быть дело ?
---
```1c
    "Sel ect * Fr om TestDBF Where Field2 = {^" + _Date.Now.ToString("yyyy/MM/dd") + "}"
```
---
kns77, а так:

```1c
    ТекстЗапроса = "sel ect * fr om zank, orgbase, person where zank.jobend > '" + Дата1 + "' and zank.orgbase_rn = orgbase.rn and person.orbase_rn = orgbase.rn ORDER by orgbase.showname";
```
---
PetroP, так тоже пробовал, сваливается на ошибку, но источник
БД.ConnectionString = "PROVIDER=VFPOLEDB;;Data Source="+ИмяБД;

он понимает дату только в кавычках
---
kns77, скорее всего дело в том что дату вы в ковычки фигурные записали, а также проблема формата даты. В любом случае преобразуйте форматом в нужный формат!
---
Xershi,
А это что ?
Дата1 = Формат(НеВыбиратьУволенныхДо,"ДЛФ=Д");

В резултьтате у меня выходит
sel ect * fr om zank, orgbase, person where (zank.jobend > {31.12.2012} or zank.jobend > {01.01.2050} ) and zank.orgbase_rn = orgbase.rn and person.orbase_rn =orgbase.rn ORDER by orgbase.showname
что нравится VFP и по идее должно нравиться и ADO. Она его хавает но не отфильтровывает.
Если делаю
select * fr om zank, orgbase, person wh ere (zank.jobend > '31.12.2012' or zank.jobend > {01.01.2050} ) and zank.orgbase_rn = orgbase.rn and person.orbase_rn =orgbase.rn ORDER by orgbase.showname
то ругается
---
kns77, о да, VFP. Может поможет: https://social.msdn.microsoft.com/Forums/vstudio/en-US/fe1c93cf-9a99-448a-a43e-3c0771432a7e/foxpro-date-format
---
kns77, твоя проблема в том, что ты используешь для задания константы типа дата настроечнозависимый формат. По умолчанию в VFP OLEDB Provider стоит американский стандарт, в котором, как ты уже заметил, день и месяц стоят на непривычных для нас позициях.
Используй независимый от настроек формат {^2015-10-28}
---
sssss_aaaaa_2011, так вот для чего нужен был этот символ: "^"
---
у себя так делал

```1c
    Формат(ВремяВыезда , "ДФ='дд/ММ/гггг ЧЧ:мм:сс'")
```

ВремяВыезда - поле ввода (дата и время).
---
Arkadiy_B, ДФ='дд/ММ/гггг ЧЧ:мм:сс' не катит ADO не видит минуты я уже пробовал ранее, на ошибку сваливается
---
возьми текст запроса получаемый в 1с вставь в менеджерстудию, и там посмотри, потом в менеджере поэксперементируй какой варинт даты надо получить, и приведи его в 1с.
---
Arkadiy_B,
делал аналогично
Сначала
сообщить(ТекстЗапроса);
потом текcт запроса пихал в VFP там он прекрасно отбирает.
Проблема именно при подключении из 1C либо в ADO. Подозрение на то что переворачивает день/месяц/год. Сейчас попробую еще из Exсel.
---
покажи что выдает твоя 1с, и какой вариант понимает скуль, так проще будет понять
---
Так же учтите что все пробелы важны при формировании формата. Т.е. все должно быть тютелька в тютельку иначе не прочитает.
---
Вот ваш косяк
```1c
    Дата1 = Формат(НеВыбиратьУволенныхДо,"ДЛФ=Д");
```
---
там скорее всего таймштамп какой-то. проблема в формате даты. смотри описание этого поля в базе Парус, какой там тип или формат
---
Так замени ' на ". Для 1С
```1c
    СтрокаКовычка = """;//т.е. "
```
---
первое возьми и то что нравиться vfp, засунь в 1с, и проверь работает или нет.
второе поменяй одинарные кавычки на фигурные скобки
---
Arkadiy_B,

Намного упростил, засунул в 1С жестко
ТекстЗапроса = "sel ect * fr om zank, orgbase, person where zank.jobend > {31.12.2012} and zank.orgbase_rn = orgbase.rn and person.orbase_rn =orgbase.rn ORDER by orgbase.showname";

в VFP срабатывает, отбирает только уволенных после 01.01.2012, в 1С нет, отбирает вообще всех. Подозрение на то что он путает день месяц
---
kns77, не 1С путает, а ты задаешь его сам. Скорее всего написав в VFP ты используешь свой региональный формат. А вот когда подклчюаешь, то используется формат по умолчанию. Как я тебе и говорил косяк в формате. Думаю в (18) нужный формат.
---
```1c
    "Sel ect * Fr om TestDBF Where Field2 = {^" + _Date.Now.ToString("yyyy/MM/dd") + "}"
```
---
дату в формате yyyymmdd пробовали задавать?
---
12/31/2012 сработал гадость. Почему ADO локальные настройки даты игнорит
---
kns77, а как он должен это обработать?
---
kns77, Скорее всего потому что ком-объект этого не умеет. Но точно не скажу не копал в этом направлении. Но нужно понимать, что у софта есть формат даты по умолчанию!
---
тогда формат вот такой и все
```1c
    гггг/ММ/дд ЧЧ:мм:сс
```
---
Arkadiy_B, символ ":" может обработать с ошибкой. На это тоже стоит обратить внимание!
---
Xershi, да там надо просто было смотреть что схавает vfp, и в таком виде засунуть ему из 1с. я предложил скормить запрос работающий в 1с чтобы понять нормально ли ado отрабатывает, если да то просто в такой формат засунуть дату.
---
Лучше использовать параметы
http://forum.infostart.ru/forum26/topic57452/
http://www.forum.mista.ru/topic.php?id=202180

Список типов
http://www.forum.mista.ru/topic.php?id=628927