Имя: Пароль:
1C
1С v8
"ЛЕВОЕ СОЕДИНЕНИЕ" увеличивает Количество в основной таблице Запроса (УТ 10.3)
,
0 egorover
 
15.07.11
10:33
делаю запрос к регистру Продажи, плюс добавляю цены, в результате увеличивается КоличествоОборот

ВЫБРАТЬ
   ПродажиОбороты.Номенклатура,
   ПродажиОбороты.КоличествоОборот КАК Количество,
   ПродажиОбороты.СтоимостьОборот КАК ПродажнаяСтоимость,
   ЦеныНоменклатурыСрезПоследних.Цена КАК Оценка,
   ЦеныНоменклатурыСрезПоследних.Цена * ПродажиОбороты.КоличествоОборот КАК ОценочнаяСтоимость,
   ПродажиОбороты.СтоимостьОборот - ЦеныНоменклатурыСрезПоследних.Цена * ПродажиОбороты.КоличествоОборот КАК ПрибыльОтПродажи,
   ВЫБОР
       КОГДА ЦеныНоменклатурыСрезПоследних.Цена * ПродажиОбороты.КоличествоОборот <> 0
           ТОГДА 100 * (ВЫРАЗИТЬ(ПродажиОбороты.СтоимостьОборот / (ЦеныНоменклатурыСрезПоследних.Цена * ПродажиОбороты.КоличествоОборот) - 1 КАК ЧИСЛО(5, 2)))
       ИНАЧЕ 100
   КОНЕЦ КАК Рентабельность,
   ПродажиОбороты.Контрагент.ОсновнойМенеджерПокупателя КАК Менеджер,
   ВЫБОР
       КОГДА ЦеныНоменклатурыСрезПоследних.ТипЦен ЕСТЬ NULL
           ТОГДА ЗНАЧЕНИЕ(Справочник.ТипыЦенНоменклатуры.ПустаяСсылка)
       ИНАЧЕ ЦеныНоменклатурыСрезПоследних.ТипЦен
   КОНЕЦ КАК ТипЦен,
   ПродажиОбороты.Регистратор,
   ПродажиОбороты.ДокументПродажи
ИЗ
   РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Регистратор, ) КАК ПродажиОбороты
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныДоставки.СрезПоследних(&КонецПериода, ) КАК ЦеныНоменклатурыСрезПоследних
       ПО ПродажиОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
1 73
 
15.07.11
10:38
Ну... сколько типов цен - столько дублей...
2 MNS_Ротерта
 
15.07.11
10:41
Логично. Вытяни все остальные измерения чтоб увидеть полную картинку.
3 Жан Пердежон
 
15.07.11
10:42
а лучше почитай, что делают соединения и как с ними работать
4 Megas
 
15.07.11
10:44
у (0) стаж на мисте 8 лет,  я думал за это время знания сами в мозг войдут, можно и не читать даже нечего!
5 nicxxx
 
15.07.11
10:44
наверное надо тип цен какой-то один оставить, а не все подряд вытаскивать
6 egorover
 
15.07.11
10:45
(4) Отдельное спасибо
7 байт
 
15.07.11
10:46
(0)может тебе по определенному типу цен данные тянуть надо?
8 egorover
 
15.07.11
10:48
Тогда как вытянуть только по двум типам цен? Чтобы получить корректное количество...
9 egorover
 
15.07.11
10:49
РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор, {(ДокументПродажи.Организация).* КАК Организация, (Проект).* КАК Проект, (Подразделение).* КАК Подразделение, (Контрагент).* КАК Покупатель, (ДоговорКонтрагента).* КАК ДоговорПокупателя, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ЗаказПокупателя).* КАК ЗаказПокупателя, (ДокументПродажи).* КАК ДокументПродажи}) КАК ПродажиОбороты
       |                ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныДоставки КАК РСЦеныКомпании
       |                ПО (РСЦеныКомпании.ТипЦен = &ТипЦенРасчета)
       |                    И (РСЦеныКомпании.Номенклатура = ПродажиОбороты.Номенклатура)
       |                    И (РСЦеныКомпании.Период <= ПродажиОбороты.Период)
       |                    И (РСЦеныКомпании.ХарактеристикаНоменклатуры = ПродажиОбороты.ХарактеристикаНоменклатуры)
       |                ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныДоставки КАК РСЦеныКомпанииПустаяХарактеристика
       |                ПО (РСЦеныКомпанииПустаяХарактеристика.ТипЦен = &ТипЦенРасчета)
       |                    И (РСЦеныКомпанииПустаяХарактеристика.Период <= ПродажиОбороты.Период)
       |                    И (РСЦеныКомпанииПустаяХарактеристика.Номенклатура = ПродажиОбороты.Номенклатура)
       |                    И (РСЦеныКомпанииПустаяХарактеристика.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка))
       |                ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныДоставки КАК РСЦеныКомпании1
       |                ПО (РСЦеныКомпании.ТипЦен = &ТипЦенРасчета1)
       |                    И (РСЦеныКомпании1.Номенклатура = ПродажиОбороты.Номенклатура)
       |                    И (РСЦеныКомпании1.Период <= ПродажиОбороты.Период)
       |                    И (РСЦеныКомпании1.ХарактеристикаНоменклатуры = ПродажиОбороты.ХарактеристикаНоменклатуры)
10 egorover
 
15.07.11
10:50
Через ОБЪЕДИНИТЬ?
11 байт
 
15.07.11
10:51
вот на этот регистр ЦеныНоменклатурыСрезПоследних ставь отбор по нужному типу цен
12 egorover
 
15.07.11
10:54
(11) мне нужно 2 типа цен, в зависимости какой Грузоотправитель в документе продажи...
13 nicxxx
 
15.07.11
10:57
ну и делай 2 соединения, в каждом свой отбор
14 egorover
 
15.07.11
10:57
У номенклатуры есть 2 типа цены, в зависимости от того какой Грузоотправитель выбирается та или иная цена
15 байт
 
15.07.11
11:01
(14) тебе в разрезе этих грузоотправителей вытащить данные нужно?
16 egorover
 
15.07.11
11:03
(13) КАК?

ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныДоставки КАК РСЦеныКомпании
   ПО (РСЦеныКомпании.ТипЦен = &ТипЦенРасчета)
и

ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныДоставки КАК РСЦеныКомпании
                ПО (РСЦеныКомпании.ТипЦен = &ТипЦенРасчета1)
17 egorover
 
15.07.11
11:04
(16) мне нужно в одном отчете получить продажи с количеством и умножить их на цену доставки, в зависимости от Грузоотправителя
18 nicxxx
 
15.07.11
11:07
(16) ну да, правильно
(17) примерна так: ВЫБОР КОГДА Грузоотправитель = ххх Тогда Колво * Цена1 Иначе Колво * Цена2 Конец
19 egorover
 
15.07.11
11:09
(18) делал я так все равно увеличивается количество
20 байт
 
15.07.11
11:10
(17) и что сложного делаешь отбор по выбранному типу цен контрагента в запросе и соединяешь с продажами
21 egorover
 
15.07.11
11:10
ВЫБРАТЬ РАЗРЕШЕННЫЕ
   ВложенныйЗапрос.Номенклатура КАК Номенклатура,
   ВложенныйЗапрос.ДокументПродажи КАК ДокументПродажи,
   ВложенныйЗапрос.Регистратор КАК Регистратор,
   ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Номенклатура) КАК НоменклатураПредставление,
   ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ДокументПродажи) КАК ДокументПродажиПредставление,
   ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Регистратор) КАК РегистраторПредставление,
   ВложенныйЗапрос.Период КАК Период,
   ВложенныйЗапрос.Количество КАК Количество,
   ВложенныйЗапрос.СтоимостьБезНДС КАК СтоимостьБезНДС,
   ВложенныйЗапрос.НДС КАК НДС,
   ВложенныйЗапрос.Стоимость КАК Стоимость,
   ВложенныйЗапрос.ЦенаРасчета КАК ЦенаРасчета,
   ВложенныйЗапрос.ЦенаПродажи КАК ЦенаПродажи,
   ВложенныйЗапрос.КоличествоСтекломассы КАК КоличествоСтекломассы,
   ВложенныйЗапрос.СредняяСтоимостьПродажиСтеклБезНДС КАК СредняяСтоимостьПродажиСтеклБезНДС,
   ВложенныйЗапрос.СредняяСтоимостьПродажиСтеклСНДС КАК СредняяСтоимостьПродажиСтеклСНДС,
   ВложенныйЗапрос.СебестоимостьТЦСНДС КАК СебестоимостьТЦСНДС,
   ВложенныйЗапрос.ЦенаПродажиСНДС КАК ЦенаПродажиСНДС
{ВЫБРАТЬ
   Номенклатура.*,
   ДокументПродажи.*,
   Регистратор.*,
   Период,
   Количество,
   СтоимостьБезНДС,
   НДС,
   Стоимость,
   ЦенаПродажи,
   ЦенаРасчета,
   КоличествоСтекломассы,
   СредняяСтоимостьПродажиСтеклБезНДС,
   СредняяСтоимостьПродажиСтеклСНДС,
   СебестоимостьТЦСНДС,
   ЦенаПродажиСНДС}
ИЗ
   (ВЫБРАТЬ
       ВложенныйЗапрос.Номенклатура КАК Номенклатура,
       ВложенныйЗапрос.ДокументПродажи КАК ДокументПродажи,
       ВложенныйЗапрос.Регистратор КАК Регистратор,
       ВложенныйЗапрос.Период КАК Период,
       ВложенныйЗапрос.Количество КАК Количество,
       ВложенныйЗапрос.СтоимостьБезНДС КАК СтоимостьБезНДС,
       ВложенныйЗапрос.НДС КАК НДС,
       ВложенныйЗапрос.Стоимость КАК Стоимость,
       ВложенныйЗапрос.ЦенаПродажи КАК ЦенаПродажи,
       ВЫБОР
           КОГДА ВложенныйЗапрос.ДокументПродажи.Грузоотправитель = &КонтрагентРСЗ
               ТОГДА ЕСТЬNULL(РСЦеныКомпании.Цена, РСЦеныКомпанииПустаяХарактеристика.Цена)
           ИНАЧЕ ЕСТЬNULL(РСЦеныКомпании1.Цена, РСЦеныКомпанииПустаяХарактеристика1.Цена)
       КОНЕЦ КАК ЦенаРасчета,
       ВложенныйЗапрос.КоличествоСтекломассы КАК КоличествоСтекломассы,
       ВЫБОР
           КОГДА ВложенныйЗапрос.КоличествоСтекломассы = 0
               ТОГДА 0
           ИНАЧЕ ЕСТЬNULL(РСЦеныКомпании.Цена * ВложенныйЗапрос.Количество, РСЦеныКомпанииПустаяХарактеристика.Цена * ВложенныйЗапрос.Количество) / ВложенныйЗапрос.КоличествоСтекломассы
       КОНЕЦ КАК СредняяСтоимостьПродажиСтеклБезНДС,
       ВЫБОР
           КОГДА ВложенныйЗапрос.КоличествоСтекломассы = 0
               ТОГДА 0
           ИНАЧЕ ВЫБОР
                   КОГДА ВложенныйЗапрос.НДС = 0
                       ТОГДА ЕСТЬNULL(РСЦеныКомпании.Цена * ВложенныйЗапрос.Количество, РСЦеныКомпанииПустаяХарактеристика.Цена * ВложенныйЗапрос.Количество) / ВложенныйЗапрос.КоличествоСтекломассы
                   ИНАЧЕ ЕСТЬNULL(РСЦеныКомпании.Цена * 1.18 * ВложенныйЗапрос.Количество, РСЦеныКомпанииПустаяХарактеристика.Цена * 1.18 * ВложенныйЗапрос.Количество) / ВложенныйЗапрос.КоличествоСтекломассы
               КОНЕЦ
       КОНЕЦ КАК СредняяСтоимостьПродажиСтеклСНДС,
       ВЫБОР
           КОГДА ВложенныйЗапрос.НДС = 0
               ТОГДА ЕСТЬNULL(РСЦеныКомпании.Цена, РСЦеныКомпанииПустаяХарактеристика.Цена)
           ИНАЧЕ ЕСТЬNULL(РСЦеныКомпании.Цена * 1.18, РСЦеныКомпанииПустаяХарактеристика.Цена * 1.18)
       КОНЕЦ КАК ЦенаПродажиСНДС,
       ВЫБОР
           КОГДА ВложенныйЗапрос.НДС = 0
               ТОГДА ЕСТЬNULL(РСЦеныКомпании.Цена * ВложенныйЗапрос.Количество, РСЦеныКомпанииПустаяХарактеристика.Цена * ВложенныйЗапрос.Количество)
           ИНАЧЕ ЕСТЬNULL(РСЦеныКомпании.Цена * 1.18 * ВложенныйЗапрос.Количество, РСЦеныКомпанииПустаяХарактеристика.Цена * 1.18 * ВложенныйЗапрос.Количество)
       КОНЕЦ КАК СебестоимостьТЦСНДС
   {ВЫБРАТЬ
       Номенклатура.*,
       ДокументПродажи.*,
       Регистратор.*,
       Период}
   ИЗ
       (ВЫБРАТЬ
           ПродажиОбороты.Контрагент КАК Покупатель,
           ПродажиОбороты.ДоговорКонтрагента КАК ДоговорПокупателя,
           ПродажиОбороты.Номенклатура КАК Номенклатура,
           ПродажиОбороты.ДокументПродажи КАК ДокументПродажи,
           ПродажиОбороты.Регистратор КАК Регистратор,
           ПродажиОбороты.Период КАК Период,
           ПродажиОбороты.КоличествоОборот КАК Количество,
           ПродажиОбороты.СтоимостьОборот - ПродажиОбороты.НДСОборот КАК СтоимостьБезНДС,
           ПродажиОбороты.НДСОборот КАК НДС,
           ПродажиОбороты.СтоимостьОборот КАК Стоимость,
           МАКСИМУМ(ЕСТЬNULL(РСЦеныКомпании.Период, РСЦеныКомпанииПустаяХарактеристика.Период)) КАК ДатаЦены,
           МАКСИМУМ(ЕСТЬNULL(РСЦеныКомпании1.Период, РСЦеныКомпанииПустаяХарактеристика1.Период)) КАК ДатаЦены1,
           (ПродажиОбороты.СтоимостьОборот - ПродажиОбороты.НДСОборот) / ПродажиОбороты.КоличествоОборот КАК ЦенаПродажи,
           ПродажиОбороты.Номенклатура.Вес * ПродажиОбороты.КоличествоОборот / 1000000 КАК КоличествоСтекломассы
       ИЗ
           РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор, {(ДокументПродажи.Организация).* КАК Организация, (Проект).* КАК Проект, (Подразделение).* КАК Подразделение, (Контрагент).* КАК Покупатель, (ДоговорКонтрагента).* КАК ДоговорПокупателя, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ЗаказПокупателя).* КАК ЗаказПокупателя, (ДокументПродажи).* КАК ДокументПродажи}) КАК ПродажиОбороты
               ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныДоставки КАК РСЦеныКомпании
               ПО (РСЦеныКомпании.ТипЦен = &ТипЦенРасчета)
                   И (РСЦеныКомпании.Номенклатура = ПродажиОбороты.Номенклатура)
                   И (РСЦеныКомпании.Период <= ПродажиОбороты.Период)
                   И (РСЦеныКомпании.ХарактеристикаНоменклатуры = ПродажиОбороты.ХарактеристикаНоменклатуры)
               ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныДоставки КАК РСЦеныКомпанииПустаяХарактеристика
               ПО (РСЦеныКомпанииПустаяХарактеристика.ТипЦен = &ТипЦенРасчета)
                   И (РСЦеныКомпанииПустаяХарактеристика.Период <= ПродажиОбороты.Период)
                   И (РСЦеныКомпанииПустаяХарактеристика.Номенклатура = ПродажиОбороты.Номенклатура)
                   И (РСЦеныКомпанииПустаяХарактеристика.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка))
               ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныДоставки КАК РСЦеныКомпании1
               ПО (РСЦеныКомпании.ТипЦен = &ТипЦенРасчета1)
                   И (РСЦеныКомпании1.Номенклатура = ПродажиОбороты.Номенклатура)
                   И (РСЦеныКомпании1.Период <= ПродажиОбороты.Период)
                   И (РСЦеныКомпании1.ХарактеристикаНоменклатуры = ПродажиОбороты.ХарактеристикаНоменклатуры)
               ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныДоставки КАК РСЦеныКомпанииПустаяХарактеристика1
               ПО (РСЦеныКомпанииПустаяХарактеристика1.ТипЦен = &ТипЦенРасчета1)
                   И (РСЦеныКомпанииПустаяХарактеристика1.Период <= ПродажиОбороты.Период)
                   И (РСЦеныКомпанииПустаяХарактеристика1.Номенклатура = ПродажиОбороты.Номенклатура)
                   И (РСЦеныКомпанииПустаяХарактеристика1.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка))
       
       СГРУППИРОВАТЬ ПО
           ПродажиОбороты.Контрагент,
           ПродажиОбороты.ДоговорКонтрагента,
           ПродажиОбороты.Номенклатура,
           ПродажиОбороты.ДокументПродажи,
           ПродажиОбороты.Регистратор,
           ПродажиОбороты.Период,
           ПродажиОбороты.КоличествоОборот,
           ПродажиОбороты.СтоимостьОборот,
           ПродажиОбороты.НДСОборот,
           ПродажиОбороты.Номенклатура.Вес * ПродажиОбороты.КоличествоОборот / 1000000,
           (ПродажиОбороты.СтоимостьОборот - ПродажиОбороты.НДСОборот) / ПродажиОбороты.КоличествоОборот / (ПродажиОбороты.Номенклатура.Вес * ПродажиОбороты.КоличествоОборот / 1000000),
           ПродажиОбороты.СтоимостьОборот / ПродажиОбороты.КоличествоОборот / (ПродажиОбороты.Номенклатура.Вес * ПродажиОбороты.КоличествоОборот / 1000000)) КАК ВложенныйЗапрос
           ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныДоставки КАК РСЦеныКомпании
           ПО (РСЦеныКомпании.ТипЦен = &ТипЦенРасчета)
               И (РСЦеныКомпании.Период = ВложенныйЗапрос.ДатаЦены)
               И (РСЦеныКомпании.Номенклатура = ВложенныйЗапрос.Номенклатура)
           ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныДоставки КАК РСЦеныКомпанииПустаяХарактеристика
           ПО (РСЦеныКомпанииПустаяХарактеристика.ТипЦен = &ТипЦенРасчета)
               И (РСЦеныКомпанииПустаяХарактеристика.Период = ВложенныйЗапрос.ДатаЦены)
               И (РСЦеныКомпанииПустаяХарактеристика.Номенклатура = ВложенныйЗапрос.Номенклатура)
               И (РСЦеныКомпанииПустаяХарактеристика.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка))
           ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныДоставки КАК РСЦеныКомпании1
           ПО (РСЦеныКомпании1.ТипЦен = &ТипЦенРасчета1)
               И (РСЦеныКомпании1.Период = ВложенныйЗапрос.ДатаЦены1)
               И (РСЦеныКомпании1.Номенклатура = ВложенныйЗапрос.Номенклатура)
           ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныДоставки КАК РСЦеныКомпанииПустаяХарактеристика1
           ПО (РСЦеныКомпанииПустаяХарактеристика1.ТипЦен = &ТипЦенРасчета1)
               И (РСЦеныКомпанииПустаяХарактеристика1.Период = ВложенныйЗапрос.ДатаЦены1)
               И (РСЦеныКомпанииПустаяХарактеристика1.Номенклатура = ВложенныйЗапрос.Номенклатура)
               И (РСЦеныКомпанииПустаяХарактеристика1.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка))
   
   СГРУППИРОВАТЬ ПО
       ВложенныйЗапрос.Номенклатура,
       ВложенныйЗапрос.ДокументПродажи,
       ВложенныйЗапрос.Регистратор,
       ВложенныйЗапрос.Период,
       ВложенныйЗапрос.ЦенаПродажи,
       ВложенныйЗапрос.КоличествоСтекломассы,
       ВложенныйЗапрос.Количество,
       ВложенныйЗапрос.СтоимостьБезНДС,
       ВложенныйЗапрос.НДС,
       ВложенныйЗапрос.Стоимость,
       ВЫБОР
           КОГДА ВложенныйЗапрос.ДокументПродажи.Грузоотправитель = &КонтрагентРСЗ
               ТОГДА ЕСТЬNULL(РСЦеныКомпании.Цена, РСЦеныКомпанииПустаяХарактеристика.Цена)
           ИНАЧЕ ЕСТЬNULL(РСЦеныКомпании1.Цена, РСЦеныКомпанииПустаяХарактеристика1.Цена)
       КОНЕЦ,
       ВЫБОР
           КОГДА ВложенныйЗапрос.КоличествоСтекломассы = 0
               ТОГДА 0
           ИНАЧЕ ЕСТЬNULL(РСЦеныКомпании.Цена * ВложенныйЗапрос.Количество, РСЦеныКомпанииПустаяХарактеристика.Цена * ВложенныйЗапрос.Количество) / ВложенныйЗапрос.КоличествоСтекломассы
       КОНЕЦ,
       ВЫБОР
           КОГДА ВложенныйЗапрос.КоличествоСтекломассы = 0
               ТОГДА 0
           ИНАЧЕ ВЫБОР
                   КОГДА ВложенныйЗапрос.НДС = 0
                       ТОГДА ЕСТЬNULL(РСЦеныКомпании.Цена * ВложенныйЗапрос.Количество, РСЦеныКомпанииПустаяХарактеристика.Цена * ВложенныйЗапрос.Количество) / ВложенныйЗапрос.КоличествоСтекломассы
                   ИНАЧЕ ЕСТЬNULL(РСЦеныКомпании.Цена * 1.18 * ВложенныйЗапрос.Количество, РСЦеныКомпанииПустаяХарактеристика.Цена * 1.18 * ВложенныйЗапрос.Количество) / ВложенныйЗапрос.КоличествоСтекломассы
               КОНЕЦ
       КОНЕЦ,
       ВЫБОР
           КОГДА ВложенныйЗапрос.НДС = 0
               ТОГДА ЕСТЬNULL(РСЦеныКомпании.Цена, РСЦеныКомпанииПустаяХарактеристика.Цена)
           ИНАЧЕ ЕСТЬNULL(РСЦеныКомпании.Цена * 1.18, РСЦеныКомпанииПустаяХарактеристика.Цена * 1.18)
       КОНЕЦ,
       ВЫБОР
           КОГДА ВложенныйЗапрос.НДС = 0
               ТОГДА ЕСТЬNULL(РСЦеныКомпании.Цена * ВложенныйЗапрос.Количество, РСЦеныКомпанииПустаяХарактеристика.Цена * ВложенныйЗапрос.Количество)
           ИНАЧЕ ЕСТЬNULL(РСЦеныКомпании.Цена * 1.18 * ВложенныйЗапрос.Количество, РСЦеныКомпанииПустаяХарактеристика.Цена * 1.18 * ВложенныйЗапрос.Количество)
       КОНЕЦ
   
   ИМЕЮЩИЕ
       (СУММА(ВложенныйЗапрос.Количество) <> 0
           ИЛИ СУММА(ВложенныйЗапрос.Стоимость) <> 0)) КАК ВложенныйЗапрос
{ГДЕ
   ВложенныйЗапрос.Регистратор.*,
   ВложенныйЗапрос.Период,
   ВложенныйЗапрос.Количество,
   ВложенныйЗапрос.СтоимостьБезНДС,
   ВложенныйЗапрос.НДС,
   ВложенныйЗапрос.Стоимость,
   ВложенныйЗапрос.ЦенаПродажи,
   ВложенныйЗапрос.ЦенаРасчета,
   ВложенныйЗапрос.КоличествоСтекломассы,
   ВложенныйЗапрос.СредняяСтоимостьПродажиСтеклБезНДС,
   ВложенныйЗапрос.СредняяСтоимостьПродажиСтеклСНДС,
   ВложенныйЗапрос.СебестоимостьТЦСНДС,
   ВложенныйЗапрос.ЦенаПродажиСНДС}
{УПОРЯДОЧИТЬ ПО
   Номенклатура.*,
   ДокументПродажи.*,
   Регистратор.*,
   Период,
   Количество,
   СтоимостьБезНДС,
   НДС,
   Стоимость,
   ЦенаПродажи,
   ЦенаРасчета,
   КоличествоСтекломассы,
   СредняяСтоимостьПродажиСтеклБезНДС,
   СредняяСтоимостьПродажиСтеклСНДС,
   СебестоимостьТЦСНДС,
   ЦенаПродажиСНДС}
ИТОГИ
   СУММА(Количество),
   СУММА(СтоимостьБезНДС),
   СУММА(НДС),
   СУММА(Стоимость),
   СРЕДНЕЕ(ЦенаРасчета),
   СРЕДНЕЕ(ЦенаПродажи),
   СУММА(КоличествоСтекломассы),
   СУММА(СредняяСтоимостьПродажиСтеклБезНДС),
   СУММА(СредняяСтоимостьПродажиСтеклСНДС),
   СУММА(СебестоимостьТЦСНДС),
   СРЕДНЕЕ(ЦенаПродажиСНДС)
ПО
   ОБЩИЕ
{ИТОГИ ПО
   Номенклатура.*,
   ДокументПродажи.*,
   Регистратор.*,
   Период,
   СредняяСтоимостьПродажиСтеклБезНДС,
   СредняяСтоимостьПродажиСтеклСНДС,
   СебестоимостьТЦСНДС,
   ЦенаПродажиСНДС}
22 sergei123654
 
15.07.11
11:13
Может как то так?
Вытянуть нужные данные в одну таблицу, цены вдругую.
и там через левое соединения соединять данные с ценами? примерно так:

ВЫБРАТЬ
   ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
   ЦеныНоменклатурыСрезПоследних.Цена,
   ЦеныНоменклатурыСрезПоследних.ТипЦен
ПОМЕСТИТЬ ЦеныНоменклатуры
ИЗ
   РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаОкончания, ) КАК ЦеныНоменклатурыСрезПоследних

ИНДЕКСИРОВАТЬ ПО
   Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
   СУММА(РеализацияТоваровУслугТовары.Количество) КАК Количество
ПОМЕСТИТЬ ТоварКолВо
ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
   РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания

СГРУППИРОВАТЬ ПО
   РеализацияТоваровУслугТовары.Номенклатура

ИНДЕКСИРОВАТЬ ПО
   Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ЗапросНаЦенуПриобритения.Номенклатура,
   СУММА(ЗапросНаЦенуПриобритения.Количество) КАК Количество,
   ЗапросНаЦенуПриобритения.ЦенаПриобритения,
   ЦеныНоменклатуры.Цена КАК ЦенаРеализации
ИЗ
   (ВЫБРАТЬ
       РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
       РеализацияТоваровУслугТовары.Количество КАК Количество,
       ЦеныНоменклатуры.Цена КАК ЦенаПриобритения,
       0 КАК ЦенаРеализации
   ИЗ
       ТоварКолВо КАК РеализацияТоваровУслугТовары
           ЛЕВОЕ СОЕДИНЕНИЕ ЦеныНоменклатуры КАК ЦеныНоменклатуры
           ПО РеализацияТоваровУслугТовары.Номенклатура = ЦеныНоменклатуры.Номенклатура
   ГДЕ
       ЦеныНоменклатуры.ТипЦен = &ТипЦенПриобритения) КАК ЗапросНаЦенуПриобритения
       ЛЕВОЕ СОЕДИНЕНИЕ ЦеныНоменклатуры КАК ЦеныНоменклатуры
       ПО ЗапросНаЦенуПриобритения.Номенклатура = ЦеныНоменклатуры.Номенклатура
ГДЕ
   ЦеныНоменклатуры.ТипЦен = &ТипЦенРеализации

СГРУППИРОВАТЬ ПО
   ЗапросНаЦенуПриобритения.Номенклатура,
   ЗапросНаЦенуПриобритения.ЦенаПриобритения,
   ЦеныНоменклатуры.Цена

ХОТЯ - ХЗ!!!
23 байт
 
15.07.11
11:43
отбираешь продажи по нужному грузоотправителю и отбираешь цены по нужному типу цен и соединяешь, если тебе нужно одновременно 2-х отобрать так же делай отбор только уже по 2-м контрагентам и 2-м типам цен и группируй в разрезе грузоотправителей.
24 байт
 
15.07.11
11:44
как я понял соединяешь ты их по номенклатуре
25 egorover
 
15.07.11
11:48
(23) через ОБЪЕДИНИТЬ?
(24) продажи и цены - да
26 egorover
 
15.07.11
11:50
ЗАПРОС1
где Грузоотправитель1
ЛЕВОЕ Цена1

ОБЪЕДИНИТЬ

ЗАПРОС2
где Грузоотправитель2
ЛЕВОЕ Цена2
27 байт
 
15.07.11
12:00
ВЫБРАТЬ
   СУММА(ПродажиОбороты.КоличествоОборот) КАК КоличествоОборот,
   СУММА(ПродажиОбороты.СтоимостьОборот) КАК СтоимостьОборот,
   ПродажиОбороты.Организация КАК Грузоотправитель,
   СУММА(ЦеныНоменклатурыСрезПоследних.Цена) КАК Цена
ИЗ
   РегистрНакопления.Продажи.Обороты(&Начало, &Конец, , Организация В (&Организация)) КАК ПродажиОбороты
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Конец, ТипЦен В (&ТипЦен)) КАК ЦеныНоменклатурыСрезПоследних
       ПО ПродажиОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура

СГРУППИРОВАТЬ ПО
   ПродажиОбороты.Организация
28 байт
 
15.07.11
12:00
примерно
29 байт
 
15.07.11
12:02
можешь по одному вытащить и объединить
30 egorover
 
15.07.11
12:07
отдельно то понятно что все получается, но заказ таков
(29) Спасибо попробую
31 байт
 
15.07.11
12:09
+(29) тогда группировка не нужна