|
параметры виртуальной таблицы регистра накоплений | ☑ | ||
---|---|---|---|---|
0
SergeySergIT
15.05.14
✎
13:14
|
есть 2 запроса и надо чтоб результаты первого стали параметрами виртуальной таблицы второго
первый ВЫБРАТЬ ДОБАВИТЬКДАТЕ(&НачалоПериода, ДЕНЬ, aa.a * 1000 + bb.b * 100 + cc.c * 10 + dd.d) КАК Период {ВЫБРАТЬ Период} ИЗ (ВЫБРАТЬ 0 КАК a ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9) КАК aa ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 0 КАК b ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9) КАК bb ПО (ИСТИНА) ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 0 КАК c ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9) КАК cc ПО (ИСТИНА) ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 0 КАК d ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9) КАК dd ПО (ИСТИНА) ГДЕ aa.a * 1000 + bb.b * 100 + cc.c * 10 + dd.d <= РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ) второй ВЫБРАТЬ РАЗРЕШЕННЫЕ &Период КАК Период, СУММА(ВложенныйЗапрос.Количество) КАК Количество, ВложенныйЗапрос.Номенклатура {ВЫБРАТЬ Период} ИЗ (ВЫБРАТЬ &Период КАК Период, ТоварыНаСкладах.Склад КАК Склад, ТоварыНаСкладах.Номенклатура КАК Номенклатура, ВЫБОР КОГДА ТоварыНаСкладах.КоличествоОстаток > 0 ТОГДА 1 ИНАЧЕ 0 КОНЕЦ КАК Количество {ВЫБРАТЬ Период, Склад.*, Номенклатура.*, Количество} ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки(&Период, ) КАК ТоварыНаСкладах {ГДЕ ТоварыНаСкладах.Склад.*, ТоварыНаСкладах.Номенклатура.*, ТоварыНаСкладах.КоличествоОстаток КАК Количество}) КАК ВложенныйЗапрос СГРУППИРОВАТЬ ПО ВложенныйЗапрос.Номенклатура в первом результат "период" он и должен встать как параметр виртуальной таблицы во втором |
|||
1
Лаврентий Берия
15.05.14
✎
13:19
|
неа
|
|||
2
Shurjk
15.05.14
✎
13:19
|
Ну и запихай это запрос в параметр.
|
|||
3
SergeySergIT
15.05.14
✎
13:21
|
(2) как?
|
|||
4
Shurjk
15.05.14
✎
13:22
|
(3) А не с датой не получиться.
|
|||
5
Shurjk
15.05.14
✎
13:23
|
+(4) Если только изратиться и дату как то в строку преобразовать.
|
|||
6
SergeySergIT
15.05.14
✎
13:24
|
(5) да не это херня выйдет
|
|||
7
agorbunov
15.05.14
✎
13:26
|
Используй ОстаткиИОбороты. Тогда и первый запрос не понадобится.
|
|||
8
Jokero
15.05.14
✎
13:27
|
а передать результат как параметр: &РезультатПервогоЗапроса
|
|||
9
Shurjk
15.05.14
✎
13:29
|
(8) Если значение не одно то не поможет.
|
|||
10
Shurjk
15.05.14
✎
13:33
|
(6) Почему?
|
|||
11
Рэйв
15.05.14
✎
13:33
|
(0)Сделай два отдельных запроса. Чего мучаешься? По скорости - одинаково с пакетным
|
|||
12
SergeySergIT
15.05.14
✎
13:34
|
(10) итог мне нужен сколько дней товар был на остатках
|
|||
13
SergeySergIT
15.05.14
✎
13:35
|
(7) остатки и оборот даже с периодичностью в день показывают только когда есть движения если движений нет ничего не получиться
|
|||
14
SergeySergIT
15.05.14
✎
13:42
|
(4) а с числом если список чисел как в параметр загнать?
|
|||
15
hhhh
15.05.14
✎
13:44
|
(13) а мужики-то и не знают.
|
|||
16
SergeySergIT
15.05.14
✎
13:45
|
(15) чего?
|
|||
17
Shurjk
15.05.14
✎
13:46
|
(12) Его из нормального значения посчитаешь.
|
|||
18
Shurjk
15.05.14
✎
13:47
|
(15) Подозреваю что мужики еще много не знают об истинных целях этого запроса.
|
|||
19
SergeySergIT
15.05.14
✎
13:49
|
(18) цель получить количество дней сколько товар присутствовал на остатках в заданном периоде
|
|||
20
agorbunov
15.05.14
✎
14:33
|
Тогда бери остатки и обороты с параметром "ДвиженияИГраницы" и периодичностью ДЕНЬ. Помешай во временную таблицу. Потом цепляешь ее к себе же по нужным измерениям, ищешь следующий период (через МИНИМУМ и условия в ЛЕВОМ соединении). Получаешь интервалы между движениями. и смотришь, сколько было в этом интервале. Если 0 - тогда отсутствовал, если > 0 - присутсвовал, длину интервала через разностьдат считаешь. А потом суммируешь по номенклатуре.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |