Имя: Пароль:
1C
 
Помогите переделать нетиповой отчет по анализу товародвижения, чтобы отображалась цена
0 Обфускация
 
15.04.19
08:52
Помогите переделать нетиповой отчет по анализу товародвижения, чтобы отображалась последняя цена реализации по товару. Я все испробовала, не получается. ERP 2.2
Вот здесь "1 КАК Цена" надо что-то переделать, сейчас только единички в цены выводятся, а надо последнюю цену реализации

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

СГРУППИРОВАТЬ ПО
    ПоследнийПриходСДатойИПоставщиком.ДатаПоследнегоПрихода,
    ПоследнийПриходСДатойИПоставщиком.Склад,
    ПоследнийПриходСДатойИПоставщиком.Номенклатура,
    ПоследнийПриходСДатойИПоставщиком.Организация,
    СебестоимостьТоваровОстаткиИОбороты.АналитикаУчетаПартий.Поставщик
;

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

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

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

СГРУППИРОВАТЬ ПО
    ПоследнийПриход.ДатаПоследнегоПрихода,
    СебестоимостьТоваровОстаткиИОбороты.АналитикаУчетаНоменклатуры.Номенклатура,
    СебестоимостьТоваровОстаткиИОбороты.АналитикаУчетаНоменклатуры.Склад,
    СебестоимостьТоваровОстаткиИОбороты.Организация,
    ПоследнийПриход.Поставщик
1 Обфускация
 
15.04.19
09:37
Там достаточно поделить цену на количество, но в данном запросе это приводит к тому, что по одной номенклатуре появляется несколько строк с разными ценами. То есть вот так не сработало. Как еще можно сделать?

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

СГРУППИРОВАТЬ ПО
    ПоследнийПриходСДатойИПоставщиком.ДатаПоследнегоПрихода,
    ПоследнийПриходСДатойИПоставщиком.Склад,
    ПоследнийПриходСДатойИПоставщиком.Номенклатура,
    ПоследнийПриходСДатойИПоставщиком.Организация,
    СебестоимостьТоваровОстаткиИОбороты.АналитикаУчетаПартий.Поставщик
;

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

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

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

СГРУППИРОВАТЬ ПО
    ПоследнийПриход.ДатаПоследнегоПрихода,
    СебестоимостьТоваровОстаткиИОбороты.АналитикаУчетаНоменклатуры.Номенклатура,
    СебестоимостьТоваровОстаткиИОбороты.АналитикаУчетаНоменклатуры.Склад,
    СебестоимостьТоваровОстаткиИОбороты.Организация,
    ПоследнийПриход.Поставщик,
    ВЫБОР
        КОГДА СебестоимостьТоваровОстаткиИОбороты.КоличествоРасход > 0
            ТОГДА СебестоимостьТоваровОстаткиИОбороты.СтоимостьРасход / СебестоимостьТоваровОстаткиИОбороты.КоличествоРасход
        ИНАЧЕ 0
    КОНЕЦ
2 Мимохожий Однако
 
15.04.19
09:42
Убери группировку по полю ,
    ВЫБОР
        КОГДА СебестоимостьТоваровОстаткиИОбороты.КоличествоРасход > 0
            ТОГДА СебестоимостьТоваровОстаткиИОбороты.СтоимостьРасход / СебестоимостьТоваровОстаткиИОбороты.КоличествоРасход
        ИНАЧЕ 0
    КОНЕЦ
3 Обфускация
 
15.04.19
09:58
(2)
Спасибо, помогло. А можете еще помочь. Выбор ниже считает только если есть продажи. Но если нет продаж, надо посчитать по остатку. Как это доработать?

    ВЫБОР
        КОГДА СебестоимостьТоваровОстаткиИОбороты.КоличествоРасход > 0
            ТОГДА СебестоимостьТоваровОстаткиИОбороты.СтоимостьРасход / СебестоимостьТоваровОстаткиИОбороты.КоличествоРасход
        ИНАЧЕ 0
    КОНЕЦ
4 Мимохожий Однако
 
15.04.19
10:01
Попробуй после ИНАЧЕ вместо 0 вставить ВЫБОР и т.п.
5 Обфускация
 
15.04.19
11:11
Как убрать последние строки выбора из группировки? Я убираю, а они восстанавливаются.

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

СГРУППИРОВАТЬ ПО
    ПоследнийПриходСДатойИПоставщиком.ДатаПоследнегоПрихода,
    ПоследнийПриходСДатойИПоставщиком.Склад,
    ПоследнийПриходСДатойИПоставщиком.Номенклатура,
    ПоследнийПриходСДатойИПоставщиком.Организация,
    СебестоимостьТоваровОстаткиИОбороты.АналитикаУчетаПартий.Поставщик,
    СебестоимостьТоваровОстаткиИОбороты.СтоимостьПриход / СебестоимостьТоваровОстаткиИОбороты.КоличествоПриход
;

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

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

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

СГРУППИРОВАТЬ ПО
    ПоследнийПриход.ДатаПоследнегоПрихода,
    СебестоимостьТоваровОстаткиИОбороты.АналитикаУчетаНоменклатуры.Номенклатура,
    СебестоимостьТоваровОстаткиИОбороты.АналитикаУчетаНоменклатуры.Склад,
    СебестоимостьТоваровОстаткиИОбороты.Организация,
    ПоследнийПриход.Поставщик,
    ВЫБОР
        КОГДА СебестоимостьТоваровОстаткиИОбороты.КоличествоРасход > 0
            ТОГДА СебестоимостьТоваровОстаткиИОбороты.СтоимостьРасход / СебестоимостьТоваровОстаткиИОбороты.КоличествоРасход
        ИНАЧЕ ВЫБОР
                КОГДА СебестоимостьТоваровОстаткиИОбороты.КоличествоКонечныйОстаток > 0
                    ТОГДА СебестоимостьТоваровОстаткиИОбороты.СтоимостьКонечныйОстаток / СебестоимостьТоваровОстаткиИОбороты.КоличествоКонечныйОстаток
                ИНАЧЕ 0
            КОНЕЦ
    КОНЕЦ
6 catena
 
15.04.19
11:26
(5)Все поля выборки должны быть либо с агрегатной функцией, либо в полях группировки
7 Обфускация
 
15.04.19
11:33
(6)
Ну что вот мне сделать, чтобы расчет цены был и строки не двоились?
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn