К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

7.7 Прямые запросы в dbf базе

Гость
0 - 14.05.2012 - 18:43
Ребята, подскажите, сломал мозг. Вот ниже текст запроса. Что дописать, чтобы в выборку попадали только проведенные документы? Спасибо!


Гость
1 - 14.05.2012 - 18:43
п_Запрос="
|SELECT ALL
|$ДокШапка_Реализация.Контрагент as [Контрагент $Справочник.Контрагенты],
|$ДокШапка_Реализация.Договор as [Договор $Справочник.Договоры],
|Журнал_iddoc_ДокШапка_Реализация.date as [date $Дата],
|ДокШапка_Реализация.iddoc as [Object $Документ.Реализация],
|$ДокШапка_Реализация.Сумма as [ИтогПоСумма $Число]
|FROM
| $Документ.Реализация as ДокШапка_Реализация
| LEFT OUTER JOIN 1SJOURN as Журнал_iddoc_ДокШапка_Реализация on(ДокШапка_Реализация.iddoc = Журнал_iddoc_ДокШапка_Реализация.iddoc)

|WHERE
| Журнал_iddoc_ДокШапка_Реализация.date<:ВыбДата~~
|GROUP BY
| $ДокШапка_Реализация.Контрагент,
| $ДокШапка_Реализация.Договор,
| Журнал_iddoc_ДокШапка_Реализация.date,
| ДокШапка_Реализация.iddoc,
|$ДокШапка_Реализация.Сумма
|ORDER BY
| $ДокШапка_Реализация.Контрагент ASC,
| $ДокШапка_Реализация.Договор ASC,
| Журнал_iddoc_ДокШапка_Реализация.date DESC";
Гость
2 - 14.05.2012 - 18:46
что-то подсказывает, что после SELECT вместо ALL что-то другое нужно написать, но с другой стороны что-то подсказывает, что в секции WHERE какое-то условие должно быть, связанное с полем closed. Вообщем не пойму...
3 - 14.05.2012 - 19:09
1-kupreeff >мда...
http://www.1cpp.ru/forumfiles/Attachments/mod_002.zip
Качай и кури, для начала :)
Гость
4 - 14.05.2012 - 19:33
(3) Спасибо, отличная ссылка, а то что текст такой, так это я консолью с инфостарта пользовался :)
Гость
5 - 14.05.2012 - 22:32
можно еще вопрос, как заставить 1С работать с прямыми запросами под семерошной виндой? у меня строка подключения сейчас "DRIVER=Microsoft Visual FoxPro Driver;Deleted=Yes;Null=Yes;Collate=RUSSIAN;Backgr oundFetch=Yes;Exclusive=No;SourceType=DBF;SourceDB =" + ПутьКБазе
Гость
6 - 14.05.2012 - 22:35
под xp работает, по 7 как я понял драйвер, который я установил не работает. винда 64х.
Гость
7 - 15.05.2012 - 08:44
+(6) и как бы это дело также на 2008 серваке запустить?
8 - 15.05.2012 - 16:57
все отлично работает и под WIN 2008 SERVER. А для отбора проведенности есть специальный флаг, имеющий разное значение в зависимости от состава компонент. Кури )
Гость
9 - 15.05.2012 - 17:40
(8) да уже от курева плохо стало, но под "семеркой" что-то не выходит не чего. Драйвер ставлю, но при добавлении источника данных в списке возможных для выбора вижу только SQL Server. Но когда скачивал драйвер в списке поддерживаемых ОС я "семерку" не видел, стало быть драйвер не подходит. Так вот и вопрос: где взять такой, чтобы подходил?
10 - 16.05.2012 - 00:16
не пойму я, что у тебя не выходит. ставь драйвер VFPOLEDB и все. Для документов оперучета JR.Closed=1,
для бух по моему Jr.Closed = 5. Jr - это 1sjourn. Не надо никакие источники добавлять
Пользователи по локалке работают или в терминале?
Гость
11 - 16.05.2012 - 15:36
для VFPOLEDD строка подключения такая ж, как в (5)? пользователи будут с этим работать по hlg? на сервере w2008 пока 32 битная.
Гость
12 - 03.09.2012 - 10:35
Господа!Подскажите плз! Установил VFPOLEDB, 1cpp версии 3.2.2.0
Вот такая конструкция база =СоздатьОбъект("OLEDBData");Выдатет - неудачная попытка создания объекта (OLEDBData)

Где копать?
Гость
13 - 05.09.2012 - 13:48
ОлеДБ = СоздатьОбъект("OLEDBData");
Соединение = "Provider=VFPOLEDB.1; Set Deleted =Yes; data Source=" + КаталогИБ() + "; Mode=ReadWrite;Extended Properties=""; User ID=""; Password=""; Mask Password=False; Collating Sequence=MACHINESN=""";
ОлеДБ.Соединение(Соединение);

ОлеДБКоманда = ОлеДБ.СоздатьКоманду();

ТекстЗапроса = "
|SELECT '(BRUSH_S[16776960])' as FormEx_ПланРаскраски
|, 1 as Пометка
|, Спр.Code as Код
|, Спр.Descr as Наим
|, IIF(ISNULL(Спр.Code), 'V', '') as Новый
|, IIF(Спр.Descr <> СпрБух.Descr, 'V', '') as Изменен
|, '' as Перенесен
|, СпрБух.Code as КодБух
|, СпрБух.Descr as НаимБух
|, IIF(СпрБух.IsFolder = 1, 'V', '') as Группа
|, СпрБух1.Code as Код1Бух
|, СпрБух1.Descr as Наим1Бух
|, СпрБух2.Code as Код2Бух
|, СпрБух2.Descr as Наим2Бух
|, СпрБух3.Code as Код3Бух
|, СпрБух3.Descr as Наим3Бух
|, Спр1.Code as Код1
|FROM БазаБух.@Справочник.Контрагенты as СпрБух
|LEFT JOIN БазаБух.@Справочник.Контрагенты as СпрБух1 ON СпрБух1.Id = СпрБух.ParentId
|LEFT JOIN БазаБух.@Справочник.Контрагенты as СпрБух2 ON СпрБух2.Id = СпрБух1.ParentId
|LEFT JOIN БазаБух.@Справочник.Контрагенты as СпрБух3 ON СпрБух3.Id = СпрБух2.ParentId
|LEFT JOIN $Справочник.Поставщики as Спр ON Спр.Code = СпрБух.Code
|LEFT JOIN $Справочник.Поставщики as Спр1 ON Спр1.Id = Спр.ParentId
|";

глПарсерВторойБазы(ТекстЗапроса, "БазаБух", ПутьКБазеБух);

ТЗ = ОлеДБКоманда.ВыполнитьИнструкцию(ТекстЗапроса);

База бух и парсер - не нужно, это просто запрос к двум базам в примере
Гость
14 - 05.09.2012 - 13:53
http://www.microsoft.com/en-us/downl....aspx?id=14839
Гость
15 - 06.09.2012 - 08:00
Было ЗагрузитьВнешнююКомпоненту(КаталогИБ()+"1cpp.dll") . Убрал КаталогИБ() и все заработало
Гость
16 - 06.09.2012 - 08:05
15-andertaletz > Правило хорошего тона, сильно сокращающее поиск проблем: если функция возвращает признак успешности ее работы, то этот признак надо ОБЯЗАТЕЛЬНО проверять...
Гость
17 - 06.09.2012 - 08:08
Имею Вопрос по Запросу
ТекстЗапроса = "
|SELECT DISTINCT
| РегПродажа.period as Дата
|FROM
| _RG2351,_RG2228 РегПродажа
|WHERE (РегПродажа.period<=:КонДата)
|AND (РегПродажа.period>=:НачДата)
|";
RS.УстановитьТекстовыйПараметр("КонДата" ,КонДата);
RS.УстановитьТекстовыйПараметр("НачДата" ,НачДата);
ТЗ = RS.ВыполнитьИнструкцию(ТекстЗапроса);
Возвращает ошибку:
ТЗ = RS.ВыполнитьИнструкцию(ТекстЗапроса);
{D:\БАЗЫ1С\КОПИЯ NEW SVERTKA\EXTFORMS\ПРОВЕРКА.ERT(61)**: State 22018, native 301, message [Microsoft][ODBC Visual FoxPro Driver]Operator/operand type mismatch.
КонДата Тип Дата
period Тип D
Что с чем несовпадает?
Гость
18 - 06.09.2012 - 08:11
16-Sadovnikov >Благодарю. Учту в своей деятельности.
Гость
19 - 06.09.2012 - 12:03
Вместо
|WHERE (РегПродажа.period<=:КонДата)
|AND (РегПродажа.period>=:НачДата)
Поставил
|WHERE РегПродажа.period BETWEEN :КонДата~~ AND :НачДата~~


К списку вопросов
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск




Copyright ©, Все права защищены