Имя: Пароль:
1C
1С v8
Обращение в СКД к двум таблица документа
0 MAPATNK2
 
naïve
05.08.20
23:17
УНФ 1.6 Всем доброго дня. Есть запрос, где получаю стоимость поступления для товара и вставлю в отчет по валовой прибыли. Хотелось бы, чтобы в итоговом отчете я так же получал и стоимость поступления услуг из документов поступления. Не подскажете как это правильно сделать? Делаю всё на СКД. Не могу понять как сделать, чтобы Итоговый запрос смотрел в обе таблицы приходной накладной. "запасы" и "Расходы". Запрос по расходам вставляю в самый конец.


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

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

////////////////////////////////Считаю прибыль и связываю со стоимостью поступления////////////////////////////////////////




ВЫБРАТЬ
    ПродажиОбороты.Регистратор КАК Регистратор,
    ПродажиОбороты.ПериодСекунда КАК ПериодСекунда,
    ПродажиОбороты.Номенклатура КАК Номенклатура,
    ПродажиОбороты.Характеристика КАК Характеристика,
    ПродажиОбороты.Документ КАК Документ,
    ПродажиОбороты.Организация КАК Организация,
    ПродажиОбороты.Контрагент КАК Контрагент,
    ВЫБОР
        КОГДА ПродажиОбороты.Документ ССЫЛКА Документ.АвансовыйОтчет
            ТОГДА ЗНАЧЕНИЕ(Справочник.СтруктурныеЕдиницы.ПустаяСсылка)
        КОГДА ПродажиОбороты.Документ ССЫЛКА Документ.ЗаказПокупателя
            ТОГДА ПродажиОбороты.Документ.СтруктурнаяЕдиницаПродажи
        ИНАЧЕ ПродажиОбороты.Документ.Подразделение
    КОНЕЦ КАК Подразделение,
    ВЫБОР
        КОГДА ПродажиОбороты.Документ ССЫЛКА Документ.ЗаказПокупателя
            ТОГДА ПродажиОбороты.Документ.СтруктурнаяЕдиницаРезерв
        ИНАЧЕ ПродажиОбороты.Документ.СтруктурнаяЕдиница
    КОНЕЦ КАК Склад,
    ВЫБОР
        КОГДА ПродажиОбороты.Документ ССЫЛКА Документ.ОтчетОРозничныхПродажах
                ИЛИ ПродажиОбороты.Документ ССЫЛКА Документ.ЧекККМ
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК РозничныеПродажи,
    ПродажиОбороты.Номенклатура.ЕдиницаИзмерения КАК НоменклатураЕдиницаИзмерения,
    ПродажиОбороты.Ответственный КАК Ответственный,
    ПродажиОбороты.КоличествоОборот КАК Количество,
    ПродажиОбороты.СуммаОборот КАК Сумма,
    ПродажиОбороты.СебестоимостьОборот КАК Себестоимость,
    ПродажиОбороты.СуммаОборот - ПродажиОбороты.СебестоимостьОборот КАК ВаловаяПрибыль,
    ВЫБОР
        КОГДА ПродажиОбороты.СуммаОборот <> 0
            ТОГДА (ПродажиОбороты.СуммаОборот - ПродажиОбороты.СебестоимостьОборот) / ПродажиОбороты.СуммаОборот
        ИНАЧЕ 0
    КОНЕЦ * 100 КАК Рентабельность,
    ВЫБОР
        КОГДА ПродажиОбороты.СебестоимостьОборот <> 0
            ТОГДА (ПродажиОбороты.СуммаОборот - ПродажиОбороты.СебестоимостьОборот) / ПродажиОбороты.СебестоимостьОборот
        ИНАЧЕ 0
    КОНЕЦ * 100 КАК Наценка,
    ПродажиОбороты.Номенклатура.КатегорияНоменклатуры КАК КатегорияНоменклатуры,
    ЦеныПоступления.цена КАК ценаПоступления,
    ВЫБОР
        КОГДА ЦеныПоступления.цена * ПродажиОбороты.КоличествоОборот ЕСТЬ NULL
            ТОГДА ПродажиОбороты.СебестоимостьОборот
        ИНАЧЕ ЦеныПоступления.цена * ПродажиОбороты.КоличествоОборот
    КОНЕЦ КАК СтоимостьПоступления,
    ПродажиОбороты.СуммаОборот - ВЫБОР
        КОГДА ЦеныПоступления.цена * ПродажиОбороты.КоличествоОборот ЕСТЬ NULL
            ТОГДА ПродажиОбороты.СебестоимостьОборот
        ИНАЧЕ ЦеныПоступления.цена * ПродажиОбороты.КоличествоОборот
    КОНЕЦ КАК Доход,
    ВЫБОР
        КОГДА ВЫБОР
                КОГДА ЦеныПоступления.цена * ПродажиОбороты.КоличествоОборот ЕСТЬ NULL
                    ТОГДА ПродажиОбороты.СебестоимостьОборот
                ИНАЧЕ ЦеныПоступления.цена * ПродажиОбороты.КоличествоОборот
            КОНЕЦ <> 0
            ТОГДА ПродажиОбороты.СуммаОборот * 100 / ВЫБОР
                    КОГДА ЦеныПоступления.цена * ПродажиОбороты.КоличествоОборот ЕСТЬ NULL
                        ТОГДА ПродажиОбороты.СебестоимостьОборот
                    ИНАЧЕ ЦеныПоступления.цена * ПродажиОбороты.КоличествоОборот
                КОНЕЦ - 100
        ИНАЧЕ 0
    КОНЕЦ КАК процент,
    ПродажиОбороты.ЗаказПокупателя КАК ЗаказПокупателя,
    ПродажиОбороты.ЗаказПокупателя.Ответственный КАК ОтветственныйПоЗаказу
ИЗ
    РегистрНакопления.Продажи.Обороты(, , Авто, ) КАК ПродажиОбороты
        {ЛЕВОЕ СОЕДИНЕНИЕ ЦеныПоступления КАК ЦеныПоступления
        ПО (ЦеныПоступления.Номенклатура = ПродажиОбороты.Номенклатура)
            И (ЦеныПоступления.Характеристика = ПродажиОбороты.Характеристика)}
ГДЕ
    (НЕ &ТолькоВозвраты
            ИЛИ ПродажиОбороты.КоличествоОборот < 0)






////////////////////////////////////Запрос по расходам, еще не включен в СКД////////////////////////


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

СГРУППИРОВАТЬ ПО
    ПоступлениеТоваровУслугУСЛУГИ.Номенклатура.Ссылка
1 MAPATNK2
 
naïve
05.08.20
23:31
Попробовал так, но что то не выдает в отчете данные по поступлению услуг



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

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

ОБЪЕДИНИТЬ

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

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ПродажиОбороты.Регистратор КАК Регистратор,
    ПродажиОбороты.ПериодСекунда КАК ПериодСекунда,
    ПродажиОбороты.Номенклатура КАК Номенклатура,
    ПродажиОбороты.Характеристика КАК Характеристика,
    ПродажиОбороты.Документ КАК Документ,
    ПродажиОбороты.Организация КАК Организация,
    ПродажиОбороты.Контрагент КАК Контрагент,
    ВЫБОР
        КОГДА ПродажиОбороты.Документ ССЫЛКА Документ.АвансовыйОтчет
            ТОГДА ЗНАЧЕНИЕ(Справочник.СтруктурныеЕдиницы.ПустаяСсылка)
        КОГДА ПродажиОбороты.Документ ССЫЛКА Документ.ЗаказПокупателя
            ТОГДА ПродажиОбороты.Документ.СтруктурнаяЕдиницаПродажи
        ИНАЧЕ ПродажиОбороты.Документ.Подразделение
    КОНЕЦ КАК Подразделение,
    ВЫБОР
        КОГДА ПродажиОбороты.Документ ССЫЛКА Документ.ЗаказПокупателя
            ТОГДА ПродажиОбороты.Документ.СтруктурнаяЕдиницаРезерв
        ИНАЧЕ ПродажиОбороты.Документ.СтруктурнаяЕдиница
    КОНЕЦ КАК Склад,
    ВЫБОР
        КОГДА ПродажиОбороты.Документ ССЫЛКА Документ.ОтчетОРозничныхПродажах
                ИЛИ ПродажиОбороты.Документ ССЫЛКА Документ.ЧекККМ
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК РозничныеПродажи,
    ПродажиОбороты.Номенклатура.ЕдиницаИзмерения КАК НоменклатураЕдиницаИзмерения,
    ПродажиОбороты.Ответственный КАК Ответственный,
    ПродажиОбороты.КоличествоОборот КАК Количество,
    ПродажиОбороты.СуммаОборот КАК Сумма,
    ПродажиОбороты.СебестоимостьОборот КАК Себестоимость,
    ПродажиОбороты.СуммаОборот - ПродажиОбороты.СебестоимостьОборот КАК ВаловаяПрибыль,
    ВЫБОР
        КОГДА ПродажиОбороты.СуммаОборот <> 0
            ТОГДА (ПродажиОбороты.СуммаОборот - ПродажиОбороты.СебестоимостьОборот) / ПродажиОбороты.СуммаОборот
        ИНАЧЕ 0
    КОНЕЦ * 100 КАК Рентабельность,
    ВЫБОР
        КОГДА ПродажиОбороты.СебестоимостьОборот <> 0
            ТОГДА (ПродажиОбороты.СуммаОборот - ПродажиОбороты.СебестоимостьОборот) / ПродажиОбороты.СебестоимостьОборот
        ИНАЧЕ 0
    КОНЕЦ * 100 КАК Наценка,
    ПродажиОбороты.Номенклатура.КатегорияНоменклатуры КАК КатегорияНоменклатуры,
    ЦеныПоступления.цена КАК ценаПоступления,
    ВЫБОР
        КОГДА ЦеныПоступления.цена * ПродажиОбороты.КоличествоОборот ЕСТЬ NULL
            ТОГДА ПродажиОбороты.СебестоимостьОборот
        ИНАЧЕ ЦеныПоступления.цена * ПродажиОбороты.КоличествоОборот
    КОНЕЦ КАК СтоимостьПоступления,
    ПродажиОбороты.СуммаОборот - ВЫБОР
        КОГДА ЦеныПоступления.цена * ПродажиОбороты.КоличествоОборот ЕСТЬ NULL
            ТОГДА ПродажиОбороты.СебестоимостьОборот
        ИНАЧЕ ЦеныПоступления.цена * ПродажиОбороты.КоличествоОборот
    КОНЕЦ КАК Доход,
    ВЫБОР
        КОГДА ВЫБОР
                КОГДА ЦеныПоступления.цена * ПродажиОбороты.КоличествоОборот ЕСТЬ NULL
                    ТОГДА ПродажиОбороты.СебестоимостьОборот
                ИНАЧЕ ЦеныПоступления.цена * ПродажиОбороты.КоличествоОборот
            КОНЕЦ <> 0
            ТОГДА ПродажиОбороты.СуммаОборот * 100 / ВЫБОР
                    КОГДА ЦеныПоступления.цена * ПродажиОбороты.КоличествоОборот ЕСТЬ NULL
                        ТОГДА ПродажиОбороты.СебестоимостьОборот
                    ИНАЧЕ ЦеныПоступления.цена * ПродажиОбороты.КоличествоОборот
                КОНЕЦ - 100
        ИНАЧЕ 0
    КОНЕЦ КАК процент,
    ПродажиОбороты.ЗаказПокупателя КАК ЗаказПокупателя,
    ПродажиОбороты.ЗаказПокупателя.Ответственный КАК ОтветственныйПоЗаказу
ИЗ
    РегистрНакопления.Продажи.Обороты(, , Авто, ) КАК ПродажиОбороты
        {ЛЕВОЕ СОЕДИНЕНИЕ ЦеныПоступления КАК ЦеныПоступления
        ПО (ЦеныПоступления.Номенклатура = ПродажиОбороты.Номенклатура)
            И (ЦеныПоступления.Характеристика = ПродажиОбороты.Характеристика)}
ГДЕ
    (НЕ &ТолькоВозвраты
            ИЛИ ПродажиОбороты.КоличествоОборот < 0)
2 MAPATNK2
 
naïve
05.08.20
23:32
Может стоимость поступления услуги не так вытаскивать нужно?
3 Ёпрст
 
05.08.20
23:45
(0) зачем эту радугу нужно видеть в отчете ? загадка.
Надеюсь а Навигаторе, оценят труды как надо.
Получать максимум..это пять!
подумаешь, что цены меняются, возьмём по-максимуму за всё время, это по-нашему.

ЗЫ: .ссылка  выкинь из текст запроса, типа тут
ПоступлениеТоваровУслугТовары.Номенклатура.Ссылка

и далее везде
4 Ёпрст
 
05.08.20
23:45
ну и устанавливать фильтр по наименованию организации?!
5 MAPATNK2
 
naïve
06.08.20
00:13
(4) название орг для примера написал, там будет параметр, который пользователи будут выбирать сами на панели настроек.
Всю эту лабуду я сделал по просьбе руководителя. Им нужно считать прибыль по стоимости поступления.
Убрать ссылки? Причём тут они? Ну хорошо, убрал, ничего не изменилось.
6 Ёпрст
 
06.08.20
00:17
(5) Беги оттуда!
Если руководитель даёт такое.. то тут одно из двух, либо он идиот, либо вы его не так поняли
7 MAPATNK2
 
naïve
06.08.20
00:21
(6) да черт с ними. Просто в запросах не силен, вот и пытаюсь понять, как правильно запрос написать. Мне особо не важно, что у них за логика подсчётов. Дали задание, сижу леплю. Моё дело маленькое. Да и тем более они просто хотят видеть себестоимость услуг в валовой прибыли, а ыунф в стандартном отчёте это не возможно. Видимо поэтому и расписали следующую логику.
8 Йохохо
 
06.08.20
00:23
(7) оберни в ВТ и ОБЪЕДИНИТЬ ВСЕ
9 Ёпрст
 
06.08.20
00:23
(7) И какое отношение ко всему этому имеет максимальная цена прихода номенклатуры за период и зачем в запросе максимальная дата ?
10 MAPATNK2
 
naïve
06.08.20
00:27
(8) Но я ведь итак во временную таблицу запихал Приходную налкданую.
11 MAPATNK2
 
naïve
06.08.20
00:29
(8) ОБЪЕДИНИТЬ ВСЕ тоже поставил вместо ОБЪЕДИНИТЬ... ничего не дало. Скорей всего не понял вас?
12 Йохохо
 
06.08.20
00:34
(10) первый результат тоже в ВТ, второй в вт, и их объединять
{ЛЕВОЕ СОЕДИНЕНИЕ ЦеныПоступления КАК ЦеныПоступления
        ПО (ЦеныПоступления.Номенклатура = ПродажиОбороты.Номенклатура)
            И (ЦеныПоступления.Характеристика = ПродажиОбороты.Характеристика)}
зачем тут скобки, лучше поспать
13 MAPATNK2
 
naïve
06.08.20
00:40
(12) Дак первый результат по Приходной накадной и обернут в ВТ.
Второй поместить в ВТ конфигурация не дает.
14 MAPATNK2
 
naïve
06.08.20
00:42
(12) Мы ведь объединенный запрос помещаем в ВТ. Для чего каждый запрос помещать В ВТ? Да и конфигурация на это ругается.
15 MAPATNK2
 
naïve
06.08.20
07:10
?