Имя: Пароль:
1C
 
ЗАПРОС. Не могу определить какие данные не попадают в результат из регистра Продажи
0 Alexandr Novicov
 
11.09.18
07:46
ВЫБРАТЬ
    РеализацияТоваровУслуг.Период КАК Дата,
    РеализацияТоваровУслуг.Номенклатура КАК ПродажиНоменклатура,
    РеализацияТоваровУслуг.Количество КАК ПродажиКоличество,
    0 КАК ПродажиСуммаЗакупа,
    РеализацияТоваровУслуг.Стоимость КАК ПродажиСуммаПродажи
ПОМЕСТИТЬ ТЗ_БезЦен
ИЗ
    РегистрНакопления.Продажи КАК РеализацияТоваровУслуг
ГДЕ
    РеализацияТоваровУслуг.Период МЕЖДУ &Дата1 И &Дата2;

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

СГРУППИРОВАТЬ ПО
    ТЗ_БезЦен.Дата,
    ТЗ_БезЦен.ПродажиНоменклатура,
    ТЗ_БезЦен.ПродажиКоличество,
    ТЗ_БезЦен.ПродажиСуммаЗакупа,
    ТЗ_БезЦен.ПродажиСуммаПродажи
;

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

СГРУППИРОВАТЬ ПО
    МЕСЯЦ(втМаксПериод.Дата),
    втМаксПериод.ПродажиНоменклатура

Сравнивая данные из отчета продажи, видно что по общему кол-ву не сходится.
1 Мимохожий Однако
 
11.09.18
07:53
Проверь параметры запроса. Посмотри как заполнены временные таблицы.
2 hhhh
 
11.09.18
07:53
(0) тут зе запрос по ценам номенклатуры. То есть по-любому должно не совпасть.
3 segn
 
11.09.18
08:59
Раз. В первом пакете идет обращение к физ. таблице без проверки на Активность записи. Использовать вирт. таблицу религия не позволяет?
Два. Если в РС ЦеныНоменклатуры нет записей по нужному условию соединения, то данные из Продаж не подтянутся. Об этом и написали в (2).
4 breezee
 
11.09.18
09:51
РегистрНакопления.Продажи КАК РеализацияТоваровУслуг
АГА