Имя: Пароль:
1C
1С v8
Подскажите с запросом (Объединение)
0 bvn-2005
 
27.11.18
10:46
Получаю 2 таблицы с одинаковым набором полей:

    "ВЫБРАТЬ
    |    ХозрасчетныйОбороты.Субконто1 КАК Контр,
    |    СУММА(ХозрасчетныйОбороты.СуммаОборот) КАК СуммаОборот,
    |    СУММА(ХозрасчетныйОбороты.СуммаОборотДт) КАК Оплачено,
    |    СУММА(ХозрасчетныйОбороты.СуммаОборотКт) КАК Поставлено
    |ПОМЕСТИТЬ Обороты_60
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.Обороты(&Начало, &Конец, Период, , , , КорСчет В ИЕРАРХИИ (&КорСчет), ) КАК ХозрасчетныйОбороты
    |ГДЕ
    |    ХозрасчетныйОбороты.Счет = &Счет
    |
    |СГРУППИРОВАТЬ ПО
    |    ХозрасчетныйОбороты.Субконто1
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ХозрасчетныйОбороты.Субконто1 КАК Контр,
    |    СУММА(ХозрасчетныйОбороты.СуммаОборот) КАК СуммаОборот,
    |    СУММА(ХозрасчетныйОбороты.СуммаОборотДт) КАК Оплачено,
    |    СУММА(ХозрасчетныйОбороты.СуммаОборотКт) КАК Поставлено
    |ПОМЕСТИТЬ Авансы
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.Обороты(&Начало, &Конец, Период, , , , КорСчет В ИЕРАРХИИ (&КорСчет2), ) КАК ХозрасчетныйОбороты
    |ГДЕ
    |    ХозрасчетныйОбороты.Счет = &Счет2
    |
    |СГРУППИРОВАТЬ ПО
    |    ХозрасчетныйОбороты.Субконто1
    |;


Дальше надо одну добавить в конец другой и сгруппировать по контрагенту. Никак не соображу, как сделать... Объединение?
1 1Сергей
 
27.11.18
10:48
да, ОБЪЕДИНИТЬ ВСЕ
2 elCust
 
27.11.18
10:49
Тут ты изобразил пакетный запрос из 2-х пакетов.

А нужно в конструкторе на вкладке "Объединения" добавить запрос.
3 bvn-2005
 
27.11.18
11:39
Конструктор выдает такой запрос:

    "ВЫБРАТЬ
    |    ХозрасчетныйОбороты.Субконто1 КАК Контр,
    |    СУММА(ХозрасчетныйОбороты.СуммаОборот) КАК СуммаОборот,
    |    СУММА(ХозрасчетныйОбороты.СуммаОборотДт) КАК Оплачено,
    |    СУММА(ХозрасчетныйОбороты.СуммаОборотКт) КАК Поставлено
    |ПОМЕСТИТЬ Обороты_60
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.Обороты(&Начало, &Конец, Период, , , , КорСчет В ИЕРАРХИИ (&КорСчет), ) КАК ХозрасчетныйОбороты
    |ГДЕ
    |    ХозрасчетныйОбороты.Счет = &Счет
    |
    |СГРУППИРОВАТЬ ПО
    |    ХозрасчетныйОбороты.Субконто1
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |    ХозрасчетныйОбороты.Субконто1,
    |    СУММА(ХозрасчетныйОбороты.СуммаОборот),
    |    СУММА(ХозрасчетныйОбороты.СуммаОборотДт),
    |    СУММА(ХозрасчетныйОбороты.СуммаОборотКт)
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.Обороты(&Начало, &Конец, Период, , , , КорСчет В ИЕРАРХИИ (&КорСчет2), ) КАК ХозрасчетныйОбороты
    |ГДЕ
    |    ХозрасчетныйОбороты.Счет = &Счет2
    |
    |СГРУППИРОВАТЬ ПО
    |    ХозрасчетныйОбороты.Субконто1
    |;
Но результат не понятный...
4 ZDenis
 
27.11.18
11:50
(3) А так?
    "ВЫБРАТЬ
    |    ХозрасчетныйОбороты.Субконто1 КАК Контр,
    |    ХозрасчетныйОбороты.СуммаОборот КАК СуммаОборот,
    |    ХозрасчетныйОбороты.СуммаОборотДт КАК Оплачено,
    |    ХозрасчетныйОбороты.СуммаОборотКт КАК Поставлено
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.Обороты(&Начало, &Конец, Период, Счет = &Счет, , , КорСчет В ИЕРАРХИИ (&КорСчет), ) КАК ХозрасчетныйОбороты
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |    ХозрасчетныйОбороты.Субконто1,
    |    ХозрасчетныйОбороты.СуммаОборот,
    |    ХозрасчетныйОбороты.СуммаОборотДт,
    |    ХозрасчетныйОбороты.СуммаОборотКт
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.Обороты(&Начало, &Конец, Период, Счет = &Счет2, , , КорСчет В ИЕРАРХИИ (&КорСчет2), ) КАК ХозрасчетныйОбороты
    |ИТОГИ
    |    СУММА(СуммаОборот),
    |    СУММА(Оплачено),
    |    СУММА(Поставлено)
    |ПО
    |    Контр
5 1Сергей
 
27.11.18
12:19
(3) в каком смысле непонятный?
6 elCust
 
27.11.18
12:22
(3) Разберись с оператором языка запросов "ПОМЕСТИТЬ" тогда. Его не надо использовать где попало.
7 ksenod
 
27.11.18
12:56
ХозрасчетныйОбороты.Счет = &Счет2 или  ХозрасчетныйОбороты.Счет = &Счет
Так нельзя было сделать?
ПОМЕСТИТЬ Обороты_60 зачем эта штука в (3)
8 ksenod
 
27.11.18
13:00
(7) перечитал, нельзя
9 bvn-2005
 
27.11.18
13:03
"ПОМЕСТИТЬ Обороты_60 зачем эта штука в (3)"
Ну, приведена только проблемная часть запроса... там дальше еще временные таблицы создаются и соединяются
10 bvn-2005
 
27.11.18
13:15
Получаю двумя запросами 2 таблицы:
первая
A1|A2|A3|A4
вторая
B1|B2|B3|B4

На выходе нужно свести их в одну:
A1+B1|A2+B2|A3+B3|A4+B4

???
11 catena
 
27.11.18
13:20
(10)Группируй после объединения, а не внутри.
12 ksenod
 
27.11.18
13:35
Запихни их в вирт таблицу, а когда будешь доставать сгруппируй по контрагенту, все остальное по сумме, должно сработать.(я сам новичек, могу написать ерунду имей в виду)
13 ksenod
 
27.11.18
13:38
ВЫБРАТЬ
    ПартииТоваровНаСкладахОбороты.Номенклатура,
    ПРЕДСТАВЛЕНИЕ(ПартииТоваровНаСкладахОбороты.Номенклатура),
    NULL КАК СтоимостьОборот,
    ПартииТоваровНаСкладахОбороты.КоличествоОборот
ПОМЕСТИТЬ q
ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах.Обороты КАК ПартииТоваровНаСкладахОбороты

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ПартииТоваровНаСкладахОбороты.Номенклатура,
    ПРЕДСТАВЛЕНИЕ(ПартииТоваровНаСкладахОбороты.Номенклатура),
    ПартииТоваровНаСкладахОбороты.СтоимостьОборот,
    NULL
ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах.Обороты КАК ПартииТоваровНаСкладахОбороты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    q.Номенклатура,
    ПРЕДСТАВЛЕНИЕ(q.Номенклатура),
    СУММА(q.СтоимостьОборот) КАК СтоимостьОборот,
    СУММА(q.КоличествоОборот) КАК КоличествоОборот
ИЗ
    q КАК q

СГРУППИРОВАТЬ ПО
    q.Номенклатура
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс