|
v7: 1sqlite. Как сделать отбор по группам номенклатуры? | ☑ | ||
---|---|---|---|---|
0
palpetrovich
12.12.14
✎
13:21
|
что, для этого надо сначала получить СписокЗначний из выбранных групп, а потом:
Док.Товар in (select val from СписокТоваров) или можно как-то проще? |
|||
1
Ёпрст
12.12.14
✎
13:21
|
проще, это как ?
Задача какая ? |
|||
2
palpetrovich
12.12.14
✎
13:25
|
(1) на форме СписокТоваров, туда можно добавлять как Папки так и элементы, как обычно в общем..
короче как в "черном" Условие( товар в СписокТоваров) |
|||
3
palpetrovich
12.12.14
✎
13:26
|
+(2) запрос по документам с отбором товара из списка на форме
|
|||
4
Ёпрст
12.12.14
✎
13:28
|
(2) ну и ?
будет условие Док.Товар in (select val from СписокТоваров) всё собственно. ЗЫ: перед этим база.УложитьОбъекты(СписокНаФорме,"СписокТоваров",0,"Номенклатура"); |
|||
5
palpetrovich
12.12.14
✎
13:29
|
(4) да не хочет от "укладываться" если в списке - группа ...почему-то
|
|||
6
Ёпрст
12.12.14
✎
13:30
|
(5) та ты шо ?
:))) |
|||
7
palpetrovich
12.12.14
✎
13:30
|
не ругается, но возвращает пустую табличку
|
|||
8
palpetrovich
12.12.14
✎
13:31
|
(6) мля буду :)
|
|||
9
Ёпрст
12.12.14
✎
13:32
|
Ну давай, тест на вшивость:
база.УложитьОбъекты(СписокНаФорме,"СписокТоваров",0,"Номенклатура"); запрос.ВыполнитьЗапрос("select val [Номенклатура :Справочник.Номенклатура] from СписокТоваров").ВыбратьСтроку(); // че кажет ? |
|||
10
palpetrovich
12.12.14
✎
13:35
|
(9) код:
базаДанных.УложитьОбъекты(МФВыбТовары,"МФВыбТовары",0); Запрос = базаДанных.НовыйЗапрос(); ТекстЗапроса = " |select | Журнал.iddoc [ТекущийДокумент :Документ.РасходнаяРозничная] | ,Док.Товар [Товар :Справочник.Номенклатура] | from [ДокументСтроки.РасходнаяРозничная] Док | Inner join [Журнал] Журнал on Журнал.iddoc=Док.iddoc | and Журнал.iddocdef=:ВидДокумента.РасходнаяРозничная | and Журнал.date between :ВыбНачПериода and :ВыбКонПериода | and Док.Товар in (select val from МФВыбТовары) |"; в МФВыбТовары (на форме) выбрана папка и товар, товар в результат попадает, а товары из папки - нет |
|||
11
palpetrovich
12.12.14
✎
13:36
|
+10 , кажись что-то не то с join :)
|
|||
12
palpetrovich
12.12.14
✎
13:46
|
(9) правильно показывает, может у меня в (10) не получается потому что я из документа беру товар?
|
|||
13
palpetrovich
12.12.14
✎
13:54
|
в общем - сделал так
базаДанных.УложитьОбъекты(МФВыбТовары,"СписокТоваров",0,"Номенклатура"); Запрос = базаДанных.НовыйЗапрос(); СписокТоваров = СоздатьОбъект("СписокЗначений"); Запрос.ВыполнитьЗапрос("select val [Номенклатура :Справочник.Номенклатура] from СписокТоваров").Выгрузить(СписокТоваров,,,"Номенклатура"); базаДанных.УложитьОбъекты(СписокТоваров,"СписокТоваров",0); Запрос = базаДанных.НовыйЗапрос(); ТекстЗапроса = " |select | Журнал.iddoc [ТекущийДокумент :Документ.РасходнаяРозничная], | Док.Товар [Товар :Справочник.Номенклатура] | from [ДокументСтроки.РасходнаяРозничная] Док | Inner join [Журнал] Журнал on Журнал.iddoc=Док.iddoc | and Журнал.iddocdef=:ВидДокумента.РасходнаяРозничная | and Журнал.date between :ВыбНачПериода and :ВыбКонПериода | and Док.Товар in (select val from СписокТоваров) |"; хоть, наверное, через голову - но работает :) |
|||
14
palpetrovich
12.12.14
✎
13:55
|
(13) мля, что-то я поспешил... условие забыл :)
пятница сказывается |
|||
15
palpetrovich
12.12.14
✎
13:58
|
+(14) не, таки все верно, надо заканчивать, а то как-то сам с собой... :)
|
|||
16
Ёпрст
12.12.14
✎
14:17
|
(13) ё...
читаем по-губам база.УложитьОбъекты(СписокНаФорме,"СписокТоваров",0,"Номенклатура") смотрим на последний параметр |
|||
17
palpetrovich
12.12.14
✎
14:35
|
(16) мля я тупой ...спасибо :)
|
|||
18
ildary
12.12.14
✎
14:42
|
Пользуясь случаем спрошу - а как правильно в запросе 1sqlite делать отбор по строковому полю (комментарию)?
|
|||
19
Ёпрст
12.12.14
✎
14:44
|
(18) ну через like обычно пишут, но можешь и жестко условие на равенство, ежели количество символов совпадать будет
|
|||
20
palpetrovich
12.12.14
✎
14:45
|
(18) так примерно
комментарий LIKE '%" + ЗначениеОтбора + "%'" |
|||
21
ildary
12.12.14
✎
14:50
|
Большое Вам спасибо, like именно то, что надо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |