Имя: Пароль:
1C
1С v8
Запрос по видам скидок
0 devochka_1c
 
28.08.12
17:48
Здравствуйте!
УТ 10.3
пишу запрос, которым пытаюсь выбрать скидки по номенклатуре по 3 видам карт
Вместо одной строки в выборке присутствуют 9...что я делаю не верно?
ВЫБРАТЬ
   ВложенныйЗапрос.Номенклатура,
   ВложенныйЗапрос.Золото КАК Золото,
   ВложенныйЗапрос.Платина КАК Платина,
   ВложенныйЗапрос.Серебро КАК Серебро
ИЗ
   (ВЫБРАТЬ
       СкидкиНаценкиНоменклатурыСрезПоследних.ПроцентСкидкиНаценки КАК Серебро,
       СкидкиНаценкиНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
       0 КАК Золото,
       0 КАК Платина
   ИЗ
       РегистрСведений.СкидкиНаценкиНоменклатуры.СрезПоследних КАК СкидкиНаценкиНоменклатурыСрезПоследних
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
       0,
       СкидкиНаценкиНоменклатурыСрезПоследних.Номенклатура,
       СкидкиНаценкиНоменклатурыСрезПоследних.ПроцентСкидкиНаценки,
       0
   ИЗ
       РегистрСведений.СкидкиНаценкиНоменклатуры.СрезПоследних КАК СкидкиНаценкиНоменклатурыСрезПоследних
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
       0,
       СкидкиНаценкиНоменклатурыСрезПоследних.Номенклатура,
       0,
       СкидкиНаценкиНоменклатурыСрезПоследних.ПроцентСкидкиНаценки
   ИЗ
       РегистрСведений.СкидкиНаценкиНоменклатуры.СрезПоследних КАК СкидкиНаценкиНоменклатурыСрезПоследних) КАК ВложенныйЗапрос
ГДЕ
   ВложенныйЗапрос.Номенклатура = &Номенклатура

СГРУППИРОВАТЬ ПО
   ВложенныйЗапрос.Номенклатура,
   ВложенныйЗапрос.Золото,
   ВложенныйЗапрос.Платина,
   ВложенныйЗапрос.Серебро
1 Beduin
 
28.08.12
17:50
(0) Я так думаю ты сложить хотел?
2 Beduin
 
28.08.12
17:51
(0) Хотела.
3 SUA
 
28.08.12
17:54
фото есть - уже хорошо =)
СУММА(ВложенныйЗапрос.Золото) КАК Золото
аналогичто строки серебро/платина
последние 3 строки удалить, останется
СГРУППИРОВАТЬ ПО
   ВложенныйЗапрос.Номенклатура
4 SUA
 
28.08.12
17:55
только предчуствую что во вложенном запросе надо будет еще скидки/наценки разнести по фильтрам
5 devochka_1c
 
28.08.12
17:56
(1) мне нужна выборка данных Номенклатура|СкидкаСеребрянаяКарта|СкидкаЗолотаяКарта|СкидкаПлатиноваяКарта

правильно ли вообще выбрала подход?
6 devochka_1c
 
28.08.12
17:57
(3) так не получается
7 devochka_1c
 
28.08.12
17:57
(4) как разнести то?
8 SUA
 
28.08.12
17:58
(7)давай что сейчас в запросе
9 SUA
 
28.08.12
17:58
и что не получается
10 pavelul73
 
28.08.12
18:00
что-то я не совсем понимаю, а зачем здесь вложенный запрос?
11 devochka_1c
 
28.08.12
18:01
(8)
ВЫБРАТЬ
   ВложенныйЗапрос.Номенклатура КАК Номенклатура,
   СУММА(ВложенныйЗапрос.Золото) КАК Золото,
   СУММА(ВложенныйЗапрос.Платина) КАК Платина,
   СУММА(ВложенныйЗапрос.Серебро) КАК Серебро
ИЗ
   (ВЫБРАТЬ
       СкидкиНаценкиНоменклатурыСрезПоследних.ПроцентСкидкиНаценки КАК Серебро,
       СкидкиНаценкиНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
       0 КАК Золото,
       0 КАК Платина
   ИЗ
       РегистрСведений.СкидкиНаценкиНоменклатуры.СрезПоследних КАК СкидкиНаценкиНоменклатурыСрезПоследних
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
       0,
       СкидкиНаценкиНоменклатурыСрезПоследних.Номенклатура,
       СкидкиНаценкиНоменклатурыСрезПоследних.ПроцентСкидкиНаценки,
       0
   ИЗ
       РегистрСведений.СкидкиНаценкиНоменклатуры.СрезПоследних КАК СкидкиНаценкиНоменклатурыСрезПоследних
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
       0,
       СкидкиНаценкиНоменклатурыСрезПоследних.Номенклатура,
       0,
       СкидкиНаценкиНоменклатурыСрезПоследних.ПроцентСкидкиНаценки
   ИЗ
       РегистрСведений.СкидкиНаценкиНоменклатуры.СрезПоследних КАК СкидкиНаценкиНоменклатурыСрезПоследних) КАК ВложенныйЗапрос
ГДЕ
   ВложенныйЗапрос.Номенклатура = &Номенклатура

СГРУППИРОВАТЬ ПО
   ВложенныйЗапрос.Номенклатура
12 devochka_1c
 
28.08.12
18:01
(9) во всех колонках одинаковый процент скидки...
13 Beduin
 
28.08.12
18:01
(7) Ты получаешь во вложенном запросе таблицу с 9 разными строками и потом говоришь машинке - "Убери одинаковые." Но одинаковых то нет.
14 Beduin
 
28.08.12
18:02
(12) Нет. У тебя есть строки с нулями.
15 devochka_1c
 
28.08.12
18:02
(13) а как тогда сделать правильно?
16 devochka_1c
 
28.08.12
18:03
(14) в (11) варианте нет
17 SUA
 
28.08.12
18:08
примерно
РегистрСведений.СкидкиНаценкиНоменклатуры.СрезПоследних(,Скидка=&СкидкаДляСеребра)
в 1м блоке вложенного запроса (скидка - название измерения отвечающего за скидку, в параметр передать скидку используемую для серебряной карты)
аналогично для 2го и 3го
18 Beduin
 
28.08.12
18:09
У тебя и после (11) все равно несколько строк?
19 SUA
 
28.08.12
18:09
(18)там одна строка поитогу... и реально везде одинаковый процент как сумма всех скидок сейчас
20 devochka_1c
 
28.08.12
19:00
(19) Да, так и есть...
21 devochka_1c
 
28.08.12
19:00
и как же поступить правильно?
22 SUA
 
28.08.12
19:04
(21)читай (17)
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс