|
как объединить 2 временные таблицы | ☑ | ||
---|---|---|---|---|
0
amadeus2010
28.04.12
✎
17:13
|
Через консоль отчетов создал 2 временные таблицы.Теперь как можно объединить их в одну таблицу с выводом результата?
ВЫБРАТЬ ПродажиОбороты.Номенклатура КАК Номенклатура, ПродажиОбороты.КоличествоОборот, ПродажиОбороты.Контрагент ПОМЕСТИТЬ ВТАкваВита ИЗ РегистрНакопления.Продажи.Обороты(&НачПериод, &КонПериод, ,Номенклатура.Ссылка В ИЕРАРХИИ (ВЫБРАТЬ СправочникНоменклатура.Ссылка КАК ссылка ИЗ Справочник.Номенклатура КАК СправочникНоменклатура ГДЕ СправочникНоменклатура.Наименование = "Аква Вита") ) КАК ПродажиОбороты ; ВЫБРАТЬ ПродажиОбороты.Номенклатура КАК Номенклатура, ПродажиОбороты.КоличествоОборот, ПродажиОбороты.Контрагент ПОМЕСТИТЬ ВТАкваВита ИЗ РегистрНакопления.Продажи.Обороты(&НачПериод, &КонПериод, ,Номенклатура.Ссылка В ИЕРАРХИИ (ВЫБРАТЬ СправочникНоменклатура.Ссылка КАК ссылка ИЗ Справочник.Номенклатура КАК СправочникНоменклатура ГДЕ СправочникНоменклатура.Наименование = "20л") ) КАК ПродажиОбороты ; ВЫБРАТЬ Продажи.Контрагент.КодОракл как КодОракл, Продажи.Контрагент, Продажи.Контрагент.Регион как регион, Продажи.Контрагент.Департамент как департамент, Продажи.Контрагент.Ордертейкер как ордертейкер, Продажи.Контрагент.ДеньПосещения как деньпосещения ИЗ РегистрНакопления.Продажи КАК Продажи где Продажи.Контрагент.Ордертейкер=&ордертейкер ; пока сделал 2 таблицы еще надо сделать 16 штук по товарам плюс одна по контрагентам и их менеджерам. |
|||
1
andrewks
28.04.12
✎
17:14
|
union
|
|||
2
andrewks
28.04.12
✎
17:15
|
а вообще - жесть
|
|||
3
Reset
28.04.12
✎
17:17
|
Сдается, что все можно было сделать условием в параметрах виртуальной таблицы типа "номеклатура В(&Список)"
Хотя до конца цель творимого не ясна |
|||
4
КМ155
28.04.12
✎
17:18
|
(0)[ГДЕ
СправочникНоменклатура.Наименование = "Аква Вита"] отрезать генеталии - однозначно |
|||
5
amadeus2010
28.04.12
✎
17:19
|
т.е Объединить Все новый запрос+объединить все и каждый раз писать Поместить ВТИмяТаблицы а потом Выбрать ВТТаблица1,ВТТаблица2 и т.д?
|
|||
6
amadeus2010
28.04.12
✎
17:24
|
Цель собрать отчет по продажам менеджеров по видам продукции,каждая продукция входит в группу.Таких групп около 16,также надо здесь же указать кому и сколько за указанный период было продано товара, сравнить все это за периоды времени и показать рост или спад продаж у менеджеров по товарам.
(4)строка кода работает хоть и кажется страшной:) |
|||
7
Deon
28.04.12
✎
17:25
|
(2)(4) Будем верить, что это условие создано для отладки
|
|||
8
ILM
гуру
28.04.12
✎
19:50
|
(6) Тут как бы на параметры запроса намекают...
|
|||
9
Мигрень
28.04.12
✎
19:58
|
(6) СКД + вложенные отчеты, не?
|
|||
10
echo77
28.04.12
✎
20:24
|
А объединение из 116 запросов по регистру бухгалтерии - это приемлемо или это уже ховно-код?
|
|||
11
Deon
28.04.12
✎
21:34
|
(10) Смотря что за запросы...
|
|||
12
MaxS
29.04.12
✎
08:46
|
По моему правильнее сделать один запрос к БД во временную таблицу, а потом сколько угодно раз делать выборку из этой вт.
|
|||
13
миша122062
29.04.12
✎
09:08
|
что же там за такие запросы - что их надо 16 штук?
хотя... может какие то финиковские отчеты требуют... |
|||
14
catena
29.04.12
✎
09:55
|
(6)Никто и не сомневается, что она работает. Запрос в цикле тоже, знаете ли, работает.
|
|||
15
zak555
29.04.12
✎
10:01
|
(14) не спится после днюхи ? =)
|
|||
16
amadeus2010
30.04.12
✎
07:55
|
Доброе утро страна! С наступающими первомайскими праздниками всех. В принципе я и собираюсь отчет сделать в СКД,поэтому и спрашивал как можно объединить 16 запросов в один.
|
|||
17
mnail1979
30.04.12
✎
08:17
|
внесу ясность в задачу. Продукция разбита по группам(папкам): ГазНегаз, Лимонады, 20Л, 10Л. ГазНегаз и лимонады в свою очередь тоже содержат подпапки.
Цель: получить отчет по продажам следующего вида. Контрагент/ГазНегаз текпериод/газнегаз прошлыйгод/лимонады текпериод/лимонады прошлыйгод/20Л текпериод/лимонады прошлыйгод. |
|||
18
Мимохожий Однако
30.04.12
✎
08:22
|
Сделать в запросе объединение сразу почему не хочешь?
В справке 1С есть примерный код: В языке запросов имеется возможность объединять несколько запросов. При этом записи, полученные с помощью каждого из объединяемых запросов, будут собраны в один результат запроса. При объединении каждый запрос собирает данные независимо, а такие операции, как упорядочивание результатов и расчет итогов выполняются уже над результатом объединения запросов. Поля результата запроса будут называться так, как описано в списке полей выборки первого из объединяемых запросов. Поля выборки остальных запросов сопоставляются с полями результата в соответствии с порядком их следования в списке полей выборки. Объединяемые запросы должны иметь одинаковое количество полей в списке полей выборки. Если поля выборки объединяемых запросов имеют разный тип, то поля результата запроса будут иметь составной тип. Объединение запросов описывается по следующему правилу: <Объединение запросов> | ОБЪЕДИНИТЬ [ВСЕ] <Описание запроса> [<Объединение запросов>] Объединение запросов начинается с обязательного ключевого слова ОБЪЕДИНИТЬ, после которого следует описание присоединяемого запроса. Далее может присоединяться еще один запрос и т. д. По умолчанию при объединении запросов полностью одинаковые строки в результате запроса, сформированные разными запросами, заменяются одной. Если требуется, чтобы были оставлены разные строки, необходимо указать ключевое слово ВСЕ. Пример: ВЫБРАТЬ Накладная.Контрагент, Накладная.Номенклатура, СУММА (Накладная.Количество) КАК Приход, СУММА (0) КАК Расход ИЗ Документ.ПриходнаяНакладная.Состав КАК Накладная СГРУППИРОВАТЬ ПО Контрагент, Номенклатура ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ Накладная.Контрагент, Накладная.Номенклатура, СУММА (0), СУММА (Накладная.Количество) ИЗ Документ.РасходнаяНакладная.Состав КАК Накладная СГРУППИРОВАТЬ ПО Контрагент, Номенклатура УПОРЯДОЧИТЬ ПО Контрагент, Номенклатура ИТОГИ ПО Контрагент ИТОГИ ОБЩИЕ |
|||
19
mnail1979
30.04.12
✎
08:24
|
вижу один из вариантов:
ВЫБРАТЬ ПродажиОбороты.Контрагент, ПродажиОбороты.Номенклатура КАК Номенклатура, ПродажиОбороты.КоличествоОборот как газнегазтекгод, 0 как газнегазпрошлыйгод, 0 как лимонадтекгод, 0 как лимонадпрошлыйгод ПОМЕСТИТЬ ВТАкваВита ИЗ РегистрНакопления.Продажи.Обороты(&НачПериод, &КонПериод, ,Номенклатура.Ссылка В ИЕРАРХИИ (ВЫБРАТЬ СправочникНоменклатура.Ссылка КАК ссылка ИЗ Справочник.Номенклатура КАК СправочникНоменклатура ГДЕ СправочникНоменклатура.Наименование = "газнегаз") ) КАК ПродажиОбороты объединить все ВЫБРАТЬ ПродажиОбороты.Контрагент, ПродажиОбороты.Номенклатура КАК Номенклатура, 0 как газнегазтекгод, ПродажиОбороты.КоличествоОборот как газнегазпрошлыйгод, 0 как лимонадтекгод, 0 как лимонадпрошлыйгод ИЗ РегистрНакопления.Продажи.Обороты(&НачПериод1, &КонПериод1, ,Номенклатура.Ссылка В ИЕРАРХИИ (ВЫБРАТЬ СправочникНоменклатура.Ссылка КАК ссылка ИЗ Справочник.Номенклатура КАК СправочникНоменклатура ГДЕ СправочникНоменклатура.Наименование = "газнегаз") ) КАК ПродажиОбороты объединить все ВЫБРАТЬ ПродажиОбороты.Контрагент, ПродажиОбороты.Номенклатура КАК Номенклатура, 0 как газнегазтекгод, 0 как газнегазпрошлыйгод, ПродажиОбороты.КоличествоОборот как лимонадтекгод, 0 как лимонадпрошлыйгод ИЗ РегистрНакопления.Продажи.Обороты(&НачПериод, &КонПериод, ,Номенклатура.Ссылка В ИЕРАРХИИ (ВЫБРАТЬ СправочникНоменклатура.Ссылка КАК ссылка ИЗ Справочник.Номенклатура КАК СправочникНоменклатура ГДЕ СправочникНоменклатура.Наименование = "лимонад") ) КАК ПродажиОбороты и т.д |
|||
20
mnail1979
30.04.12
✎
08:26
|
так собираюсь сделать. Но думаю может есть какой нибудь другой способ. Типа каждой номенклатуре присвоить где нибудь (типа вид номенклатуры, или еще какой нибудь реквизит), и потом в СКД сделать группировку по столбцам по этому реквизиту. Получится, или лучше так как в (19)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |