Имя: Пароль:
1C
1С v8
Помощь с запросом
,
0 dkonakov
 
25.10.13
13:53
Друзья, есть вот такой запрос:

ВЫБРАТЬ
    РеализацияТоваровУслугТовары.Ссылка.Контрагент КАК Контрагент,
    РеализацияТоваровУслугТовары.Ссылка КАК Документ,
    СУММА(РеализацияТоваровУслугТовары.Количество * РеализацияТоваровУслугТовары.ЕдиницаИзмерения.Вес) КАК Вес,
    СУММА(РеализацияТоваровУслугТовары.Количество * РеализацияТоваровУслугТовары.ЕдиницаИзмерения.Объем) КАК Объем,
    СУММА(РеализацияТоваровУслугТовары.Сумма) КАК СуммаПродажи,
    ЗначенияСвойствОбъектов.Значение КАК Район,
    ДоставкаОтгрузка.Отгружен
ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
        ПО РеализацияТоваровУслугТовары.Ссылка.Контрагент = ЗначенияСвойствОбъектов.Объект
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДоставкаОтгрузка КАК ДоставкаОтгрузка
        ПО РеализацияТоваровУслугТовары.Ссылка = ДоставкаОтгрузка.Реализация.Ссылка
ГДЕ
    РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2
    И ЗначенияСвойствОбъектов.Значение В(&Значение)
    И РеализацияТоваровУслугТовары.Склад = &Склад
    И РеализацияТоваровУслугТовары.Ссылка.НужнаДоставка = ИСТИНА
    И ДоставкаОтгрузка.Отгружен ЕСТЬ NULL

СГРУППИРОВАТЬ ПО
    РеализацияТоваровУслугТовары.Ссылка.Контрагент,
    РеализацияТоваровУслугТовары.Ссылка,
    ЗначенияСвойствОбъектов.Значение,
    ДоставкаОтгрузка.Отгружен

УПОРЯДОЧИТЬ ПО
    Район,
    Контрагент
АВТОУПОРЯДОЧИВАНИЕ

Хотелось бы по аналогии  
СУММА(РеализацияТоваровУслугТовары.Сумма) КАК СуммаПродажи
реализовать СуммуЗакупки.
Например КоличествоТовара*ЗакупочнуюЦену и просуммировать по всем строкам.

Грубо говоря, итогом должна быть сумма закупочныхцен*количествоТовара по реализации.

Подскажите, как лучше это сделать. Готовые решения не надо :)
1 Нуф-Нуф
 
25.10.13
13:54
соедини с таблицей, где будут закупочные цены
2 dkonakov
 
25.10.13
14:16
Ну закупочные цены у нас тут:
ВЫБРАТЬ
    ЦеныНоменклатурыСрезПоследних.Номенклатура,
    ЦеныНоменклатурыСрезПоследних.Цена
ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
            &Дата,
            Номенклатура = &Номенклатура
                И ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних

Как только рассчитать ее для каждой строки и сложить?
3 dkonakov
 
28.10.13
08:00
Реквестую помощь, так и не придумал, как отдельно к каждой реализации закупочные цены прикручивать...
4 floody
 
28.10.13
08:09
опять "срез последних на каждую дату"?

использовать в этом случае срезпоследних можно только в скд, соединением наборов
5 Rovan
 
гуру
28.10.13
09:01
(0) а вдруг купили не по закупочной цене, а со скидкой ?
6 dkonakov
 
28.10.13
09:16
(5) у нас всегда цена  = закупочная.
(4) ну СКД мне не нужно, я не отчет строю. Тогда как быть?
7 George Wheels
 
28.10.13
09:20
(6) СКД не только для отчетов.
8 katc
 
28.10.13
09:29
поубивал бы за такие запросы, хотя при 10 документах с базе он будет летать.
9 dkonakov
 
28.10.13
09:29
(7) то есть советуете углубить свои знания в СКД? по другому не стоит решать задачу?
10 dkonakov
 
28.10.13
09:30
(8) о каком запросе вы говорите и что в нем не так?
11 1dvd
 
28.10.13
09:32
(10) обращаться к данным документа целесообразно только при печати документа или при вводе/заполнении на основании. Для прочих случаев придуманы регистры
12 dkonakov
 
28.10.13
09:49
(11) то есть в данном случае работать с регистром Продажи выгоднее чем с документами?
13 1dvd
 
28.10.13
09:52
(12) тут ещё никто не догадался какая у тебя задача. Но, судя по коду:

РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2

- да, такое надо делать через регистры
14 dkonakov
 
28.10.13
09:56
(13) Задача такая: нужно отобрать документы реализации, сразу рассчитать суммарный вес и суммарный объем по документу в заданных датах.
Ну и вот теперь чудное задание - нужно посчитать прибыль по каждой накладной. В данном случае это  по каждому товару в накладной (цена из документа*количествотовара) минус (все закупочныецены*количество товара). Вобщем прибыль по накладной нужно посчитать.
15 1dvd
 
28.10.13
09:59
(14) это не задача. Это решение. Задача - написать отчет, написать обработку, доработать заполнение документа. И т.п.
16 dkonakov
 
28.10.13
10:05
(15) доработать документ ДОСТАВКА, который на данный момент отбирает реализации за период с весом и объемом. Доработать нужно: расчет прибыли из отобранных накладных.
17 1dvd
 
28.10.13
10:25
За каким хреном в Документе ДОСТАВКА расчет прибыли?
18 1dvd
 
28.10.13
10:25
И, что за конфа такая?
19 dkonakov
 
28.10.13
10:30
(18) Документ Доставка - самописный. Конфигурация УТ 10.2.
Смысл = для логиста = чтобы он знал, рентабельна ли доставка.
20 1dvd
 
28.10.13
10:31
(19) мде...
21 dkonakov
 
28.10.13
11:05
(20) Тут то хорошо конечно из регистров брать записи, а где в регистрах аналог РеализацияТоваровУслугТовары.ЕдиницаИзмерения.Вес?
22 SherifSP
 
28.10.13
11:55
(21) Ты левым соединением к регистру прикрепи табличную часть накладной, по регистратору
23 dkonakov
 
28.10.13
12:26
(22) а не наоборот?
24 viktor_vv
 
28.10.13
12:46
(4) Можно и в запросе. Только придется городить через временные таблицы, а то тормозить будет.

http://kb.mista.ru/article.php?id=92