|
Как соединить два запроса помогите пожалуйста | ☑ | ||
---|---|---|---|---|
0
Капюшон
02.04.12
✎
15:17
|
Один запрос показывает серии товаров с остатком
"ВЫБРАТЬ | ТоварыНаСкладахОстатки.СерияНоменклатуры КАК СерияНоменклатуры, | ПРЕДСТАВЛЕНИЕ(ТоварыНаСкладахОстатки.СерияНоменклатуры), | ТоварыНаСкладахОстатки.Качество КАК Качество, | ПРЕДСТАВЛЕНИЕ(ТоварыНаСкладахОстатки.Качество), | СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК КоличествоОстаток |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки( | &Дата, | Номенклатура = &ВыбНоменклатура | И Склад = &ВыбСклад) КАК ТоварыНаСкладахОстатки | |СГРУППИРОВАТЬ ПО | ТоварыНаСкладахОстатки.СерияНоменклатуры, | ТоварыНаСкладахОстатки.Качество | |УПОРЯДОЧИТЬ ПО | СерияНоменклатуры, | Качество, | КоличествоОстаток"; А второй показывает минимальную дату прихода серии Запрос.Текст = "ВЫБРАТЬ | МИНИМУМ(ТоварыНаСкладах.Регистратор.Дата) КАК РегистраторДата, | ТоварыНаСкладах.СерияНоменклатуры |ИЗ | РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах |ГДЕ | ТоварыНаСкладах.Номенклатура = &ВыбНоменклатура | |СГРУППИРОВАТЬ ПО | ТоварыНаСкладах.СерияНоменклатуры | |УПОРЯДОЧИТЬ ПО | РегистраторДата"; А как их объединить? через Объединить все или через левое соединение ? |
|||
1
andrewks
02.04.12
✎
15:19
|
Запрос.Текст=Текст1+";"+Текст2;
|
|||
2
DarKySiK
02.04.12
✎
15:20
|
(0) пропробуй
|
|||
3
Капюшон
02.04.12
✎
15:20
|
(1)нет. так не пойдет ) нужно чтобы данные запроса 1 сортировались по дате из запроса 2
|
|||
4
DarKySiK
02.04.12
✎
15:20
|
+ (2) попробуй и так и так и выбери по вкусу))
|
|||
5
Капюшон
02.04.12
✎
15:22
|
дак мне нужно знать какой способ объединения запросов капать
|
|||
6
zladenuw
02.04.12
✎
15:22
|
и тот и тот
|
|||
7
Alex S D
02.04.12
✎
15:22
|
левым соединением по серии че тут непонятного
|
|||
8
DarKySiK
02.04.12
✎
15:22
|
(5) а что долго оба варианта просмотреть?
|
|||
9
andrewks
02.04.12
✎
15:23
|
(5) не надо никуда капать. просто сделай. будь мужиком!
|
|||
10
DarKySiK
02.04.12
✎
15:23
|
(7) ты все испортил :(
|
|||
11
andrewks
02.04.12
✎
15:25
|
кто-нибудь знает, для чего вообще второй запрос?
|
|||
12
Капюшон
02.04.12
✎
15:37
|
(11)я знаю. второй запрос чтобы определить дату самого раннего оприходования партии.
а вообще задача вывести таблицу серий номенклатуры в порядке сортировке по дате |
|||
13
Капюшон
02.04.12
✎
15:56
|
я соединил запрос но не знаю куда воткнуть дату
"ВЫБРАТЬ | ТоварыНаСкладахОстатки.СерияНоменклатуры КАК СерияНоменклатуры, | ПРЕДСТАВЛЕНИЕ(ТоварыНаСкладахОстатки.СерияНоменклатуры), | ТоварыНаСкладахОстатки.Качество КАК Качество, | ПРЕДСТАВЛЕНИЕ(ТоварыНаСкладахОстатки.Качество), | СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК КоличествоОстаток |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки( | &Дата, | Номенклатура = &ВыбНоменклатура | И Склад = &ВыбСклад) КАК ТоварыНаСкладахОстатки | Левое соединение | РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах | По | ТоварыНаСкладах.СерияНоменклатуры = ТоварыНаСкладахОстатки.СерияНоменклатуры | |СГРУППИРОВАТЬ ПО | ТоварыНаСкладахОстатки.СерияНоменклатуры, | ТоварыНаСкладахОстатки.Качество | |УПОРЯДОЧИТЬ ПО | СерияНоменклатуры, | Качество, | КоличествоОстаток"; |
|||
14
Капюшон
02.04.12
✎
16:00
|
у меня по сути два запроса. один запрос возращает таблицу "Серия - Дата"
а первый запрос возвращает другие данные "Серия - Остаток" а как их соединить? |
|||
15
Gmerto
02.04.12
✎
16:01
|
Пакетным запросом. В первом запросе получаешь дату, во втором её используешь.
|
|||
16
dk
02.04.12
✎
16:04
|
тебе надо левое соединение к запросу, а не к регистру
|
|||
17
dk
02.04.12
✎
16:06
|
"ВЫБРАТЬ
| ТоварыНаСкладахОстатки.СерияНоменклатуры КАК СерияНоменклатуры, | ПРЕДСТАВЛЕНИЕ(ТоварыНаСкладахОстатки.СерияНоменклатуры), | ТоварыНаСкладахОстатки.Качество КАК Качество, | ПРЕДСТАВЛЕНИЕ(ТоварыНаСкладахОстатки.Качество), | СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК КоличествоОстаток |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки( | &Дата, | Номенклатура = &ВыбНоменклатура | И Склад = &ВыбСклад) КАК ТоварыНаСкладахОстатки | Левое соединение (ВЫБРАТЬ | МИНИМУМ(ТоварыНаСкладах.Регистратор.Дата) КАК РегистраторДата, | ТоварыНаСкладах.СерияНоменклатуры |ИЗ | РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах |ГДЕ | ТоварыНаСкладах.Номенклатура = &ВыбНоменклатура | |СГРУППИРОВАТЬ ПО | ТоварыНаСкладах.СерияНоменклатуры |)Влож ПО Влож.СерияНоменклатуры = ТоварыНаСкладахОстатки.СерияНоменклатуры |
|||
18
Капюшон
02.04.12
✎
16:12
|
(17)суть ясна! только на синтаксис ругается
|
|||
19
Капюшон
02.04.12
✎
16:21
|
Ошибка выдается
"Поле не входит в группу "ТоварыНаСкладахОстатки.СерияНоменклатуры"<<?>>ТоварыНаСкладахОстатки.СерияНоменклатуры Как СерияНоменклатуры |
|||
20
Shurjk
02.04.12
✎
16:23
|
3,6 года стажа, а чем отличается соединение от объединения так и не узнал... ндаа.
|
|||
21
Ненавижу 1С
гуру
02.04.12
✎
16:24
|
если ты так собираешься найти дату самого раннего прихода, сформировавшего остатки, то не взлетит - все сложнее
смотрю v8: Помогите как запросик вывести с сортировкой по дате поступления серии |
|||
22
Капюшон
02.04.12
✎
16:24
|
(20)я просто не занимался запросами. делал кучу другой работы.
|
|||
23
Shurjk
02.04.12
✎
16:25
|
(22) Хмм, вообще то в 1с вроде как без запросов никуда.
|
|||
24
Ненавижу 1С
гуру
02.04.12
✎
16:25
|
(23) он картриджи заправлял
|
|||
25
Капюшон
02.04.12
✎
16:25
|
(21)а почему не взлетит? если я в регистре просто смотрю дату самого раннего регистратора по этой серии?
|
|||
26
Shurjk
02.04.12
✎
16:25
|
+(21) Или лучше вот здесь посмотри там аж целых два способа описано.
|
|||
27
Капюшон
02.04.12
✎
16:26
|
(23)я с 2002 года занимаюсь 1с. и запросы мне не приходилось делать сложные ) максимум соединить остатки с ценами.. разные же направления 1с есть. я обработки писал всякие...
|
|||
28
Shurjk
02.04.12
✎
16:27
|
(27) Остатки с ценами тоже можно так насоединять что результаты будут весьма неожиданными.
|
|||
29
Капюшон
02.04.12
✎
16:27
|
(28)у меня всё получалось ) просто сейчас я вынужден разобраться в запросах..
|
|||
30
Shurjk
02.04.12
✎
16:28
|
(29) Ну да учиться никогда не поздно:)
|
|||
31
Shurjk
02.04.12
✎
16:29
|
+(26) вот ссылка http://1cskd.ru/2010/10/srez-poslednix-na-kazhduyu-datu-v-skd/
|
|||
32
hhhh
02.04.12
✎
16:48
|
(24) да, а чем всё-таки закончилась та финансовая пирамида с заправкой картриджей?
|
|||
33
Ненавижу 1С
гуру
02.04.12
✎
17:05
|
(32)эээ, я наверное пропустил, не в курсе
|
|||
34
Капюшон
02.04.12
✎
17:06
|
на свой стыд сделал вот так:
Функция ВернутьДатуПартий() Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | МИНИМУМ(ТоварыНаСкладах.Регистратор.Дата) КАК РегистраторДата, | ТоварыНаСкладах.СерияНоменклатуры |ИЗ | РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах |ГДЕ | ТоварыНаСкладах.Номенклатура = &ВыбНоменклатура | |СГРУППИРОВАТЬ ПО | ТоварыНаСкладах.СерияНоменклатуры | |УПОРЯДОЧИТЬ ПО | РегистраторДата"; Запрос.УстановитьПараметр("ВыбНоменклатура", ВыбНоменклатура); ТЗ = Запрос.Выполнить().Выгрузить(); Возврат ТЗ; КонецФункции Запрос.Текст = "ВЫБРАТЬ | ТоварыНаСкладахОстатки.СерияНоменклатуры КАК СерияНоменклатуры, | ПРЕДСТАВЛЕНИЕ(ТоварыНаСкладахОстатки.СерияНоменклатуры), | ТоварыНаСкладахОстатки.Качество КАК Качество, | ПРЕДСТАВЛЕНИЕ(ТоварыНаСкладахОстатки.Качество), | СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК КоличествоОстаток |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки( | &Дата, | Номенклатура = &ВыбНоменклатура | И Склад = &ВыбСклад) КАК ТоварыНаСкладахОстатки | |СГРУППИРОВАТЬ ПО | ТоварыНаСкладахОстатки.СерияНоменклатуры, | ТоварыНаСкладахОстатки.Качество | |УПОРЯДОЧИТЬ ПО | СерияНоменклатуры, | Качество, | КоличествоОстаток"; Запрос.УстановитьПараметр("ВыбНоменклатура", ВыбНоменклатура); Запрос.УстановитьПараметр("ВыбСклад", ВыбСклад); Запрос.УстановитьПараметр("Дата", Дата); ОбщаяТаблица = Запрос.Выполнить().Выгрузить(); ОбщаяТаблица.Колонки.Добавить("Дата"); Для Каждого СтрочкаТаблицы Из ОбщаяТаблица Цикл РазыскиваемаяСерия=ТЗ.Найти(СтрочкаТаблицы.СерияНоменклатуры,"СерияНоменклатуры"); СтрочкаТаблицы.Дата=РазыскиваемаяСерия.РегистраторДата; КонецЦикла; ОбщаяТаблица.Сортировать("Дата"); Для Каждого СтрочкаТаблицы Из ОбщаяТаблица Цикл Сообщить(СтрочкаТаблицы.СерияНоменклатуры); КонецЦикла; |
|||
35
andrewks
02.04.12
✎
17:08
|
(12) это всё можно сделать в одном запросе (непакетном)
|
|||
36
Капюшон
02.04.12
✎
17:08
|
(35)дай пожалуйста наводку
|
|||
37
Shurjk
02.04.12
✎
17:10
|
(34) Ндаа учиться ты явно не хочешь.
(36) Пакетный запрос это по сути обычный только вместо пакетов там подзапросы. |
|||
38
Капюшон
02.04.12
✎
17:12
|
(34)а там воощбе не то. там про консоль запросов пример был! мне же надо прочитать как соединять запросы по сути две таблицы надо соединить всего лишь.
|
|||
39
andrewks
02.04.12
✎
17:17
|
(36) тебе в (17) целую наводищу дали
|
|||
40
Капюшон
02.04.12
✎
17:20
|
(39)я сделал тот запрос. только в таблице ДАты небыло!
|
|||
41
andrewks
02.04.12
✎
17:26
|
(40) ну добавь в запрос поле Влож.РегистраторДата
|
|||
42
Shurjk
02.04.12
✎
17:26
|
+(39) А в (31) готовую реализацию аж в двух вариантах с подробными объяснениями.
|
|||
43
Капюшон
02.04.12
✎
17:33
|
(42)там же для СКД ((( а мне не подходит немного. но её я изучу. вообще мне надо мастером по запросам стать за короткий срок. только с чего начать..
|
|||
44
Shurjk
02.04.12
✎
17:39
|
(43) Там ниже решение и без СКД есть.
|
|||
45
Shurjk
02.04.12
✎
17:40
|
(43) Начни с методички по СУБД и по языку запросов.
|
|||
46
Капюшон
02.04.12
✎
17:47
|
(45)Спасибо!
|
|||
47
Капюшон
02.04.12
✎
17:49
|
Я сделал!
"ВЫБРАТЬ | ТоварыНаСкладахОстатки.СерияНоменклатуры КАК СерияНоменклатуры, | ПРЕДСТАВЛЕНИЕ(ТоварыНаСкладахОстатки.СерияНоменклатуры), | ТоварыНаСкладахОстатки.Качество КАК Качество, | ПРЕДСТАВЛЕНИЕ(ТоварыНаСкладахОстатки.Качество), | СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК КоличествоОстаток, | Влож.РегистраторДата КАК РегистраторДата |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки( | &Дата, | Номенклатура = &ВыбНоменклатура | И Склад = &ВыбСклад) КАК ТоварыНаСкладахОстатки | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | МИНИМУМ(ТоварыНаСкладах.Регистратор.Дата) КАК РегистраторДата, | ТоварыНаСкладах.СерияНоменклатуры КАК СерияНоменклатуры | ИЗ | РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах | ГДЕ | ТоварыНаСкладах.Номенклатура = &ВыбНоменклатура | | СГРУППИРОВАТЬ ПО | ТоварыНаСкладах.СерияНоменклатуры) КАК Влож | ПО (Влож.СерияНоменклатуры = ТоварыНаСкладахОстатки.СерияНоменклатуры) | |СГРУППИРОВАТЬ ПО | ТоварыНаСкладахОстатки.СерияНоменклатуры, | ТоварыНаСкладахОстатки.Качество, | Влож.РегистраторДата | |УПОРЯДОЧИТЬ ПО | РегистраторДата, | СерияНоменклатуры, | Качество, | КоличествоОстаток"; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |