Имя: Пароль:
1C
1С v8
Разная выборка в отчете и консоли запросов
0 nemoxp
 
25.05.15
10:00
1С:Предприятие 8.2 (8.2.19.106)
Бухгалтерия предприятия, редакция 2.0 (2.0.64.15)

Выполняю нижеследующий запрос во внешнем отчете, СКД, набор данных - таблица. Получаю по одной из номенклатур, такой результат: http://s48.radikal.ru/i119/1505/eb/ecfb141fe7a3.png

Выполняю его в консоли запросов с группировкой и итогами, получаю такой результат: http://s017.radikal.ru/i433/1505/1c/aae03a966507.png

Несовпадают данные в столбце Себестоимость. В параметрах косяка нет. Границы периода беруться на начало и конец дня соответственно. Документы попадают ведь все, только себестоимость разная.

Последний результат точен и совпадает с проводками документов. И такая лажа со всей выборкой. В чем беда?


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

СГРУППИРОВАТЬ ПО
    ХозрасчетныйОбороты.КорСубконто1,
    ХозрасчетныйОбороты.Регистратор,
    ХозрасчетныйОбороты.Регистратор.Контрагент,
    ХозрасчетныйОбороты.Организация
;

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

СГРУППИРОВАТЬ ПО
    ХозрасчетныйОбороты.КорСубконто3,
    ХозрасчетныйОбороты.КорСубконто2,
    ХозрасчетныйОбороты.Регистратор,
    ХозрасчетныйОбороты.Регистратор.Контрагент,
    ХозрасчетныйОбороты.Организация
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_Продажи.Номенклатура,
    ВТ_Продажи.КоличествоПродажа,
    ВТ_Продажи.Регистратор,
    ВТ_Продажи.Контрагент,
    ВЫБОР
        КОГДА ВТ_Продажи.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18)
            ТОГДА 18 / 118
        ИНАЧЕ ВЫБОР
                КОГДА ВТ_Продажи.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10)
                    ТОГДА 10 / 110
                ИНАЧЕ ВЫБОР
                        КОГДА ВТ_Продажи.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.БезНДС)
                            ТОГДА 0
                        ИНАЧЕ 0
                    КОНЕЦ
            КОНЕЦ
    КОНЕЦ КАК ЧислоНДС,
    ВТ_Продажи.ПродажаСНДС,
    ВТ_Продажи.Организация
ПОМЕСТИТЬ ВТ_ПродажиСЧисломНДС
ИЗ
    ВТ_Продажи КАК ВТ_Продажи
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_ПродажиСЧисломНДС.Номенклатура,
    ВТ_ПродажиСЧисломНДС.КоличествоПродажа,
    ВТ_ПродажиСЧисломНДС.Регистратор,
    ВТ_ПродажиСЧисломНДС.Контрагент,
    ВТ_ПродажиСЧисломНДС.ПродажаСНДС КАК ПродажаСНДС,
    ВТ_ПродажиСЧисломНДС.ПродажаСНДС - ВТ_ПродажиСЧисломНДС.ПродажаСНДС * ВТ_ПродажиСЧисломНДС.ЧислоНДС КАК ПродажаБезНДС,
    ВТ_ПродажиСЧисломНДС.ПродажаСНДС * ВТ_ПродажиСЧисломНДС.ЧислоНДС КАК ПродажаНДС,
    ВТ_ПродажиСЧисломНДС.Организация
ПОМЕСТИТЬ ВТ_ПродажаОчищенная
ИЗ
    ВТ_ПродажиСЧисломНДС КАК ВТ_ПродажиСЧисломНДС
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_ПродажаОчищенная.Номенклатура,
    ВТ_ПродажаОчищенная.Контрагент КАК Покупатель,
    ВТ_ПродажаОчищенная.Регистратор,
    ВТ_ПродажаОчищенная.КоличествоПродажа,
    ВТ_ПродажаОчищенная.ПродажаСНДС,
    ВТ_ПродажаОчищенная.ПродажаБезНДС,
    ВТ_ПродажаОчищенная.ПродажаНДС,
    ЕСТЬNULL(ВТ_Себестоимость.Себестоимость, 0) КАК Себестоимость,
    ВТ_ПродажаОчищенная.ПродажаБезНДС - ЕСТЬNULL(ВТ_Себестоимость.Себестоимость, 0) КАК ВаловаяПрибыль,
    ВЫБОР
        КОГДА ЕСТЬNULL(ВТ_Себестоимость.Себестоимость, 0) = 0
            ТОГДА 100
        ИНАЧЕ (ВТ_ПродажаОчищенная.ПродажаБезНДС - ВТ_Себестоимость.Себестоимость) / ВТ_Себестоимость.Себестоимость * 100
    КОНЕЦ КАК Эффективность,
    ВЫБОР
        КОГДА ВТ_ПродажаОчищенная.ПродажаБезНДС = 0
            ТОГДА 100
        ИНАЧЕ (ВТ_ПродажаОчищенная.ПродажаБезНДС - ВТ_Себестоимость.Себестоимость) / ВТ_ПродажаОчищенная.ПродажаБезНДС * 100
    КОНЕЦ КАК Рентабельность,
    ВТ_ПродажаОчищенная.Организация,
    "Купленные" КАК ТипТовара,
    "" КАК Комитент
ПОМЕСТИТЬ ВТ_ПрибыльКупленные
ИЗ
    ВТ_ПродажаОчищенная КАК ВТ_ПродажаОчищенная
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Себестоимость КАК ВТ_Себестоимость
        ПО ВТ_ПродажаОчищенная.Номенклатура = ВТ_Себестоимость.Номенклатура
            И ВТ_ПродажаОчищенная.Регистратор = ВТ_Себестоимость.Регистратор
            И ВТ_ПродажаОчищенная.Организация = ВТ_Себестоимость.Организация
;

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_ПрибыльКупленные.Номенклатура КАК Номенклатура,
    ВТ_ПрибыльКупленные.Регистратор КАК Регистратор,
    ВТ_ПрибыльКупленные.КоличествоПродажа,
    ВТ_ПрибыльКупленные.ПродажаСНДС КАК ПродажаСНДС,
    ВТ_ПрибыльКупленные.ПродажаБезНДС КАК ПродажаБезНДС,
    ВТ_ПрибыльКупленные.ПродажаНДС КАК ПродажаНДС,
    ВТ_ПрибыльКупленные.Себестоимость КАК Себестоимость,
    ВТ_ПрибыльКупленные.ВаловаяПрибыль,
    ВТ_ПрибыльКупленные.Эффективность,
    ВТ_ПрибыльКупленные.Рентабельность,
    ВТ_ПрибыльКупленные.Организация КАК Организация,
    ВТ_ПрибыльКупленные.ТипТовара,
    ВТ_ПрибыльКупленные.Комитент,
    ВТ_ПрибыльКупленные.Покупатель
ИЗ
    ВТ_ПрибыльКупленные КАК ВТ_ПрибыльКупленные

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ВТ_ПрибыльПринятые.Номенклатура,
    ВТ_ПрибыльПринятые.Регистратор,
    ВТ_ПрибыльПринятые.КоличествоПродажи,
    ВТ_ПрибыльПринятые.ПродажаСНДС,
    ВТ_ПрибыльПринятые.ПродажаБезНДС,
    ВТ_ПрибыльПринятые.ПродажаНДС,
    ВТ_ПрибыльПринятые.Себестоимость,
    ВТ_ПрибыльПринятые.ВаловаяПрибыль,
    ВТ_ПрибыльПринятые.Эффективность,
    ВТ_ПрибыльПринятые.Рентабельность,
    ВТ_ПрибыльПринятые.Организация,
    ВТ_ПрибыльПринятые.ТипТовара,
    ВТ_ПрибыльПринятые.Комитент,
    ВТ_ПрибыльПринятые.Покупатель
ИЗ
    ВТ_ПрибыльПринятые КАК ВТ_ПрибыльПринятые

УПОРЯДОЧИТЬ ПО
    Организация,
    Номенклатура,
    Регистратор
ИТОГИ
    СУММА(ПродажаСНДС),
    СУММА(ПродажаБезНДС),
    СУММА(ПродажаНДС),
    СУММА(Себестоимость)
ПО
    Организация,
    Номенклатура
1 Остап Сулейманович
 
25.05.15
10:07
(0) Для документа на сумму с НДС 12519.00 в обоих отчетах все одинаково. Запросы отрабатывают одинаково. Расхождения либо в отборах, либо в условиях выборки.
2 LordCMEPTb
 
25.05.15
10:13
(0) Беда с запросом, а точнее с тем, что СКД оптимизирует его. Как она его оптимизирует, можно увидеть через консоль отчетов, а уже там думать, что можно сделать. Запрос большой, срезаться может где угодно.
3 LordCMEPTb
 
25.05.15
10:16
+ Периоды названы по-своему, а не "НачалоПериода" и "КонецПериода", а СКД не знает об этом...
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой