|   |   | 
| 
 | v7: Запрос 1sqlite? что-то не так... | ☑ | ||
|---|---|---|---|---|
| 0
    
        Pro100 26.06.14✎ 14:57 | 
        Здравствуйте.
 Подскажи что не так в запросе? выдает пустую таблицу... Попытка базаДанных = СоздатьОбъект("SQLiteBase"); Исключение ЗагрузитьВнешнююКомпоненту("1sqlite.dll"); базаДанных = СоздатьОбъект("SQLiteBase"); КонецПопытки; базаДанных.Открыть(":memory:"); лЗапрос = базаДанных.НовыйЗапрос(); СпГруппы = СоздатьОбъект("СписокЗначений"); СпГруппы.ДобавитьЗначение(рд_ГруппаНоменклатуры.ТекущийЭлемент()); базаДанных.УложитьОбъекты(СпГруппы,"ВыбрТовар",0,"Номенклатура"); лЗапрос.ВыполнитьЗапрос("PRAGMA journal_mode = OFF"); текст=" |SELECT | РегТовар.Склад [Склад :Справочник.Склады] | ,РегТовар.Номенклатура [Товар :Справочник.Номенклатура] | ,РегТовар.period | ,РегТовар.Количество |FROM [РегистрИтоги.ОстаткиТМЦ] РегТовар |WHERE РегТовар.period = :ВыбДата | AND РегТовар.Склад = :ВыбСклад | AND РегТовар.Номенклатура in (select val from ВыбрТовар) |"; лЗапрос.Подставлять("ВыбСклад", рд_Склад); лЗапрос.Подставлять("ВыбДата", рд_Дата); лЗапрос.ВыполнитьЗапрос(текст).ВыбратьСтроку(,"тзОстатков"); | |||
| 1
    
        Ёпрст гуру 26.06.14✎ 15:02 | 
        не совпадают типы     | |||
| 2
    
        КонецЦикла 26.06.14✎ 15:02 | 
        Добавляй условия по одному, косяк где-то *тут*     | |||
| 3
    
        Ёпрст гуру 26.06.14✎ 15:02 | 
        что есть рд_Склад,рд_Дата и какого они типа ?
 что есть рд_ГруппаНоменклатуры ? | |||
| 4
    
        Pro100 26.06.14✎ 15:05 | 
        (3)
 рд_Склад = Справочник.Склады рд_Дата = Дата рд_ГруппаНоменклатуры = Справочник.Номенклатура на форме выбираю элемент справочника склады, дата - выбираю дату например сегодняшнее число группа номенклатуры - выбираю из справочника номенклатура группу. и в запросе чтобы показал остатки по всем элементам из этой группы | |||
| 5
    
        Ёпрст гуру 26.06.14✎ 15:07 | 
        тогда см (2)
 Ну или, тупо остатков нема | |||
| 6
    
        Ёпрст гуру 26.06.14✎ 15:07 | 
        а блин..     | |||
| 7
    
        Ёпрст гуру 26.06.14✎ 15:08 | 
        дата - выбираю дату например сегодняшнее число     | |||
| 8
    
        Ёпрст гуру 26.06.14✎ 15:08 | 
        вот это и есть, п...ц!     | |||
| 9
    
        Ёпрст гуру 26.06.14✎ 15:08 | 
        :)))     | |||
| 10
    
        КонецЦикла 26.06.14✎ 15:08 | 
        Епать... какое-же сегодняшнее?
 Посмотри какие даты в RG | |||
| 11
    
        Pro100 26.06.14✎ 15:12 | 
        (10) 
 в RG тут даты разные... есть даже 2012 года какие-то записи. | |||
| 12
    
        Ёпрст гуру 26.06.14✎ 15:12 | 
        Если нужны итоги на ТА - то втыкай дату как
 мд = СоздатьОбъект("MetaDataWork"); Запрос.Подставлять("ВыбДата",мд.ПолучитьНачПериода(ПолучитьДатуТА())); ежели на выбранную, то тут нужно еще запрос к табличке движений лепить | |||
| 13
    
        Ёпрст гуру 26.06.14✎ 15:14 | 
        на вот, занимайся
 Процедура Сформировать() ТекстЗапроса=" |Select | Рег.Номенклатура [Номенклатура :Справочник.Номенклатура] | ,Рег.Док [Док :Документ] | ,SUM(Рег.НачОст) [НачОст $Число] | ,SUM(Рег.Приход) [Приход $Число] | ,SUM(Рег.Расход) [Расход $Число] | ,SUM(Рег.НачОст+Рег.Приход-Рег.Расход) [КонОст $Число] |From | ( | SELECT | Итоги.Номенклатура Номенклатура | ,null Док | ,Итоги.Количество НачОст | ,0 Приход | ,0 Расход | FROM | [РегистрИтоги.ОстаткиТМЦ] as Итоги | | WHERE | Итоги.period = :ПредПериод | UNION ALL | SELECT | Движения.Номенклатура | ,null | ,Движения.Количество * (1 - Движения.debkred * 2) | ,0 | ,0 | FROM | [Регистр.ОстаткиТМЦ] AS Движения | -- это расскоментить, если нет галки | --INNER Join [Журнал] Жур ON Жур.iddoc = Движения.iddoc and Жур.date BETWEEN :НачПериод And :КонПериод | WHERE --это если есть галка быстрая обработка движений | Движения.date BETWEEN :НачПериод And :КонПериод | UNION ALL | SELECT | Движения2.Номенклатура | ,Движения2.iddocDef||Движения2.iddoc | ,0 | ,Движения2.Количество*(1-Движения2.Debkred) | ,Движения2.Количество*Движения2.Debkred | FROM | [Регистр.ОстаткиТМЦ] Движения2 | --INNER Join [Журнал] Жур2 ON Жур2.iddoc = Движения2.iddoc and Жур2.date BETWEEN :Дата1 And :Дата2 | | WHERE --это если есть галка быстрая обработка движений | Движения2.date BETWEEN :Дата1 And :Дата2 |) Рег | |Group by Рег.Номенклатура,Рег.Док |"; Попытка база = СоздатьОбъект("SQLiteBase"); Исключение ЗагрузитьВнешнююКомпоненту("1sqlite.dll"); база = СоздатьОбъект("SQLiteBase"); КонецПопытки; // Откроем пустую базу данных в памяти база.Открыть(":memory:"); запрос = база.НовыйЗапрос(); мд = СоздатьОбъект("MetaDataWork"); НачПериод = мд.ПолучитьНачПериода(НачДата);//начало периода ПредПериод = мд.ПолучитьНачПериода(НачПериод-1);//предыдущее начало периода останков Запрос.Подставлять("ПредПериод",ПредПериод); Запрос.Подставлять("НачПериод",НачПериод); Запрос.Подставлять("КонПериод",НачДата-1);//для вычисления НачОст Запрос.Подставлять("Дата1",НачДата); Запрос.Подставлять("Дата2",КонДата); ТЗ = запрос.ВыполнитьЗапрос(ТекстЗапроса); ТЗ.ВыбратьСтроку(); КонецПроцедуры // Сформировать | |||
| 14
    
        Ёпрст гуру 26.06.14✎ 15:14 | 
        Это останки и обороты.. нужны останки - переделаешь сам     | |||
| 15
    
        Pro100 26.06.14✎ 15:15 | 
        уууухххх, 
 щас буду смотреть, спасиб! | |||
| 16
    
        КонецЦикла 26.06.14✎ 15:33 | 
        (14) Давно хотел спросить...
 Почему ты всегда пишешь "останки", а не "остатки"? | |||
| 17
    
        Ёпрст гуру 26.06.14✎ 15:38 | 
        (16) привычка, это как пофигуратор     | |||
| 18
    
        Ёпрст гуру 26.06.14✎ 15:39 | 
        Останки - еще году в 2000.. так выражалась сотрудница у нас на работе     | |||
| 19
    
        Ёпрст гуру 26.06.14✎ 15:39 | 
        вот прилипло     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |