7.7 Прямые запросы в dbf базе Ребята, подскажите, сломал мозг. Вот ниже текст запроса. Что дописать, чтобы в выборку попадали только проведенные документы? Спасибо! |
п_Запрос=" |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"; |
что-то подсказывает, что после SELECT вместо ALL что-то другое нужно написать, но с другой стороны что-то подсказывает, что в секции WHERE какое-то условие должно быть, связанное с полем closed. Вообщем не пойму... |
1-kupreeff >мда... [url]http://www.1cpp.ru/forumfiles/Attachments/mod_002.zip[/url] Качай и кури, для начала :) |
(3) Спасибо, отличная ссылка, а то что текст такой, так это я консолью с инфостарта пользовался :) |
можно еще вопрос, как заставить 1С работать с прямыми запросами под семерошной виндой? у меня строка подключения сейчас "DRIVER=Microsoft Visual FoxPro Driver;Deleted=Yes;Null=Yes;Collate=RUSSIAN;BackgroundFetch=Yes;Exclusive=No;SourceType=DBF;SourceDB=" + ПутьКБазе |
под xp работает, по 7 как я понял драйвер, который я установил не работает. винда 64х. |
+(6) и как бы это дело также на 2008 серваке запустить? |
все отлично работает и под WIN 2008 SERVER. А для отбора проведенности есть специальный флаг, имеющий разное значение в зависимости от состава компонент. Кури ) |
(8) да уже от курева плохо стало, но под "семеркой" что-то не выходит не чего. Драйвер ставлю, но при добавлении источника данных в списке возможных для выбора вижу только SQL Server. Но когда скачивал драйвер в списке поддерживаемых ОС я "семерку" не видел, стало быть драйвер не подходит. Так вот и вопрос: где взять такой, чтобы подходил? |
не пойму я, что у тебя не выходит. ставь драйвер VFPOLEDB и все. Для документов оперучета JR.Closed=1, для бух по моему Jr.Closed = 5. Jr - это 1sjourn. Не надо никакие источники добавлять Пользователи по локалке работают или в терминале? |
для VFPOLEDD строка подключения такая ж, как в (5)? пользователи будут с этим работать по hlg? на сервере w2008 пока 32 битная. |
Господа!Подскажите плз! Установил VFPOLEDB, 1cpp версии 3.2.2.0 Вот такая конструкция база =СоздатьОбъект("OLEDBData");Выдатет - неудачная попытка создания объекта (OLEDBData) Где копать? |
ОлеДБ = СоздатьОбъект("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 |"; глПарсерВторойБазы(ТекстЗапроса, "БазаБух", ПутьКБазеБух); ТЗ = ОлеДБКоманда.ВыполнитьИнструкцию(ТекстЗапроса); База бух и парсер - не нужно, это просто запрос к двум базам в примере |
[url]http://www.microsoft.com/en-us/download/details.aspx?id=14839[/url] |
Было ЗагрузитьВнешнююКомпоненту(КаталогИБ()+"1cpp.dll"). Убрал КаталогИБ() и все заработало |
15-andertaletz > Правило хорошего тона, сильно сокращающее поиск проблем: если функция возвращает признак успешности ее работы, то этот признак надо ОБЯЗАТЕЛЬНО проверять... |
Имею Вопрос по Запросу ТекстЗапроса = " |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 Что с чем несовпадает? |
16-Sadovnikov >Благодарю. Учту в своей деятельности. |
Вместо |WHERE (РегПродажа.period<=:КонДата) |AND (РегПродажа.period>=:НачДата) Поставил |WHERE РегПродажа.period BETWEEN :КонДата~~ AND :НачДата~~ |
Текущее время: 16:25. Часовой пояс GMT +3. |