Имя: Пароль:
1C
1С v8
Результат запроса и СКД не совпадают
0 MistaEr
 
06.06.16
13:19
Запрос собирается из множества временных таблиц. Запрос выводит правильные суммы, а отчет СКД выводит совсем другое. Подозреваю, в одной из ВТ, единственный ресурс Сумма берется по группировке как МАКСИМУМ, а далее в ресурсах СКД как Сумма. Что можно сделать, чтоб СКД выводил результат запроса?
1 MistaEr
 
06.06.16
13:32
ап
2 LordCMEPTb
 
06.06.16
13:59
Или опять оптимизатор СКД убирает "неиспользуемые" поля, добавляет параметры виртуальным таблицам...
Проанализировать запрос, который получается в макете компоновки, была попытка?
3 Sabbath
 
06.06.16
15:33
(0) СКД меняет текст запроса в зависимости от настроек. Загугли консоль и СКД и смотри, какой там реальный запрос исполняется
4 MistaEr
 
06.06.16
15:49
На последний пакет вывел почти все реквизиты, т.е. все разные комбинации данных, а в настройках вывода отчета выбрал только нужные
5 xxTANATORxx
 
06.06.16
15:51
(0)известный факт
поэтапно пройдись по всем времянкам, сравни их, найди на каких возникают различия, профит
6 MistaEr
 
09.06.16
11:51
ВЫБРАТЬ
    ЗаказыПокупателейОбороты.Номенклатура,
    ЗаказыПокупателейОбороты.КоличествоПриход,
    ЗаказыПокупателейОбороты.Период КАК Период
ПОМЕСТИТЬ ВТ_Заказы
ИЗ
    РегистрНакопления.ЗаказыПокупателей.Обороты(&Д1, &Д2, День, ) КАК ЗаказыПокупателейОбороты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК Период
ПОМЕСТИТЬ ВТ_Дни
ИЗ
    РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
ГДЕ
    РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &Д1 И &Д2
;

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

СГРУППИРОВАТЬ ПО
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
    ДОБАВИТЬКДАТЕ(ВТ_Дни.Период, ДЕНЬ, 1)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_Заказы.Период КАК День,
    ВТ_Заказы.Номенклатура КАК Номенклатура,
    ВТ_Заказы.КоличествоПриход КАК Заказано,
    ВТ_ОстаткиПоДням.ОстатокДня КАК ОстатокНаНачало,
    ВЫБОР
        КОГДА ВТ_Заказы.КоличествоПриход <= ВТ_ОстаткиПоДням.ОстатокДня
            ТОГДА 100
        ИНАЧЕ 0
    КОНЕЦ КАК ФИЛ
ИЗ
    ВТ_Заказы КАК ВТ_Заказы
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ОстаткиПоДням КАК ВТ_ОстаткиПоДням
        ПО ВТ_Заказы.Номенклатура = ВТ_ОстаткиПоДням.Номенклатура
            И ВТ_Заказы.Период = ВТ_ОстаткиПоДням.НаДату
7 MistaEr
 
09.06.16
11:52
(6) Ошибочно
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn