Имя: Пароль:
1C
1С v8
Создать запрос!
,
0 Aleksei_Pro
 
23.05.12
14:03
Подкажите как правильно построить запрос: ( сравнить ТЧ двух документов "Реализация ТМЦ", например поля "Номенклатура,Кол-во", нужно вывести через запрос, следующие поля:
Номенклатура , кол-во_1, кол-во_2 ( если номенклатура совпадает то в одну строку, если нет то разные строки)
1 1C-band
 
23.05.12
14:04
Ну... Всё правильно! ))
2 abitfrosty
 
23.05.12
14:06
Соединяй по номенклатура+количество
3 zak555
 
23.05.12
14:06
а если в одном документ три одинаковых товара, в другом два, по количеству в двух документах суммарно равны, а вот по сумме расходятся

как быть тогда ?
4 Aleksei_Pro
 
23.05.12
14:07
(3)одинаковых не может быть
5 Zmich
 
23.05.12
14:07
(0). Полное соединение делай с проверкой на NULL. Можно и вложенным запросом с объединением двух выборок.
6 zak555
 
23.05.12
14:08
(4) кто тебе такое сказал ?
7 zak555
 
23.05.12
14:08
может я продаю один тот же товар, но по разным ценам
8 Aleksei_Pro
 
23.05.12
14:10
(7) цена и сумма вообще не нужна
9 Aleksei_Pro
 
23.05.12
14:10
(5) через вложенный запрос и ставить полное соединение?
10 zak555
 
23.05.12
14:12
(8) я тебе озвучил, когда в одной накладной один и тот же товар продаётся по разным ценам
11 Aleksei_Pro
 
23.05.12
14:12
ВЫБРАТЬ
   РеализацияТоваровУслугТовары.Номенклатура,
   РеализацияТоваровУслугТовары.Количество
ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
   РеализацияТоваровУслугТовары.Ссылка = &Документ_1

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

ВЫБРАТЬ
   РеализацияТоваровУслугТовары.Номенклатура,
   РеализацияТоваровУслугТовары.Количество
ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
   РеализацияТоваровУслугТовары.Ссылка = &Документ_2
12 Aleksei_Pro
 
23.05.12
14:13
(11) точнее так:
ВЫБРАТЬ
   РеализацияТоваровУслугТовары.Номенклатура,
   РеализацияТоваровУслугТовары.Количество,
   NULL КАК Количество1
ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
   РеализацияТоваровУслугТовары.Ссылка = &Документ_1

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

ВЫБРАТЬ
   РеализацияТоваровУслугТовары.Номенклатура,
   NULL,
   РеализацияТоваровУслугТовары.Количество
ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
   РеализацияТоваровУслугТовары.Ссылка = &Документ_2
13 Buster007
 
23.05.12
14:13
по номенклатуре полное соединение делай и всё.
14 ЧеловекДуши
 
23.05.12
14:14
Вот так надо

ВЫБРАТЬ
   РеализацияТоваровУслугТовары.Номенклатура,
   РеализацияТоваровУслугТовары.Количество как Кол_1
   0 как Кол_2
ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары

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

ВЫБРАТЬ
   РеализацияТоваровУслугТовары.Номенклатура,
   0 как Кол_1
   РеализацияТоваровУслугТовары.Количество как Кол_2
ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
15 Aleksei_Pro
 
23.05.12
14:14
(12) вот так работает но вываливается 2 строки, если даже номенлатура одинаковая, как поправить?
16 ЧеловекДуши
 
23.05.12
14:15
+ группировку еще добавь
17 ЧеловекДуши
 
23.05.12
14:15
Т.е. организуй Запрос в запросе.
18 Aleksei_Pro
 
23.05.12
14:15
(17)?
19 ЧеловекДуши
 
23.05.12
14:17
(18)Слушай, ты написал в (0) про два разных документа.
А в запросе привел только один документ.
Так вот, ты попросту в запросе пишешь так как в (14), только во втором запросе указываешь другой документ :)
20 Zmich
 
23.05.12
14:18
ВЫБРАТЬ
 ВложенныйЗапрос.Номенклатура,
 СУММА(ВложенныйЗапрос.Количество1) КАК КолДок1,
 СУММА(ВложенныйЗапрос.Количество2) КАК КолДок2
ИЗ
 (ВЫБРАТЬ
    Док1.Номенклатура КАК Номенклатура,
    Док1.Количество КАК Количество1,
    0 КАК Количество2
  ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК Док1
  ГДЕ Док1.Ссылка = &Документ_1

  ОБЪЕДИНИТЬ
 
  ВЫБРАТЬ
    Док2.Номенклатура,
    0,
    Док2.Количество КАК Количество2
    0 КАК Количество2
  ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК Док2
  ГДЕ Док2.Ссылка = &Документ_2) КАК ВложенныйЗапрос
СГРУППИРОВАТЬ ПО
  ВложенныйЗапрос.Номенклатура
21 Aleksei_Pro
 
23.05.12
14:18
(19) 2 разных документа "Реализация товаров и услуг"
22 Aleksei_Pro
 
23.05.12
14:18
(20) спасибо
23 ЧеловекДуши
 
23.05.12
14:19
(21)Да хоть 30 :)
24 Zmich
 
23.05.12
14:19
(20)+. С копированием ошибся, там так надо

ОБЪЕДИНИТЬ
 
  ВЫБРАТЬ
    Док2.Номенклатура,
    0,
    Док2.Количество
25 zak555
 
23.05.12
14:20
(20) вложенный запрос зачем ?
26 Zmich
 
23.05.12
14:21
(25). Я написал сразу, что это один из вариантов. Можно полным соединением