8.х Помогите разобраться с выводом отчета

Тема в разделе "Система компоновки данных (СКД)", создана пользователем MrShvets, 4 апр 2016.

  1. TopicStarter Overlay
    MrShvets
    Offline

    MrShvets Опытный в 1С

    Регистрация:
    3 апр 2012
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    26
    Платформа 1С:Предприятие 8.3 (8.3.7.1917)
    Есть стандартный отчет в Управление торговлей 11.2.3.95 Ведомость по товарам на складах.
    Задача следующая: Отчет должен выводить все данные как есть, но в графу расход должны попадать записи только от документа Отчет о розничных продажах.

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

    В двух словах. Добавлен еще запрос, который выбирает из регистра только записи с регистратором ОтчетОРозничныхПродажах. Затем делается левое соединение оригинального запроса с этой выборкой.
    Все получилось в общем то как хотелось, НО! происходит непонятная ситуация. Поле Начальный остаток в стандартном неизмененном запросе выводит ~2000 единиц товаров, а в измененном ~57000.
    Подскажите что на это влияет, ведь я это поле(Начальный остаток) даже не трогаю нигде. Работаю только с полем "Расход" (ВНаличииРасход имя в регистре).
  2. TopicStarter Overlay
    MrShvets
    Offline

    MrShvets Опытный в 1С

    Регистрация:
    3 апр 2012
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    26
    Код:
    ВЫБРАТЬ РАЗЛИЧНЫЕ
        ПересчетТоваровТовары.Номенклатура КАК Номенклатура,
        ПересчетТоваровТовары.Характеристика КАК Характеристика,
        ПересчетТоваровТовары.Серия КАК Серия,
        ИСТИНА КАК ИспользуетсяОтборПересчетуТоваров
    ПОМЕСТИТЬ ОтборПоПересчетуТоваров
    ИЗ
        Документ.ПересчетТоваров.Товары КАК ПересчетТоваровТовары
    {ГДЕ
        ПересчетТоваровТовары.Ссылка.* КАК ПересчетТоваров}
    
    ИНДЕКСИРОВАТЬ ПО
        Номенклатура,
        Характеристика,
        Серия,
        ИспользуетсяОтборПересчетуТоваров
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
        Сегменты.Номенклатура КАК Номенклатура,
        Сегменты.Характеристика КАК Характеристика,
        ИСТИНА КАК ИспользуетсяОтборПоСегментуНоменклатуры
    ПОМЕСТИТЬ ОтборПоСегментуНоменклатуры
    ИЗ
        РегистрСведений.НоменклатураСегмента КАК Сегменты
    {ГДЕ
        Сегменты.Сегмент.* КАК СегментНоменклатуры,
        Сегменты.Номенклатура.* КАК Номенклатура,
        Сегменты.Характеристика.* КАК Характеристика}
    
    ИНДЕКСИРОВАТЬ ПО
        Номенклатура,
        Характеристика,
        ИспользуетсяОтборПоСегментуНоменклатуры
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ РАЗРЕШЕННЫЕ
        ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
        ТоварыНаСкладахОстаткиИОбороты.Характеристика КАК Характеристика,
        ТоварыНаСкладахОстаткиИОбороты.Назначение,
        ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаХранения,
        ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаДляОтчетов КАК ЕдиницаДляОтчетов,
        ТоварыНаСкладахОстаткиИОбороты.Серия КАК Серия,
        ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад,
        ТоварыНаСкладахОстаткиИОбороты.Помещение КАК Помещение,
        ВЫБОР
            КОГДА ТоварыНаСкладахОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО
                ТОГДА NULL
            ИНАЧЕ ТоварыНаСкладахОстаткиИОбороты.Регистратор
        КОНЕЦ КАК Регистратор,
        ТоварыНаСкладахОстаткиИОбороты.ПериодСекунда КАК ПериодСекунда,
        ТоварыНаСкладахОстаткиИОбороты.ПериодДень КАК ПериодДень,
        ТоварыНаСкладахОстаткиИОбороты.ПериодНеделя КАК ПериодНеделя,
        ТоварыНаСкладахОстаткиИОбороты.ПериодДекада КАК ПериодДекада,
        ТоварыНаСкладахОстаткиИОбороты.ПериодМесяц КАК ПериодМесяц,
        ТоварыНаСкладахОстаткиИОбороты.ПериодКвартал КАК ПериодКвартал,
        ТоварыНаСкладахОстаткиИОбороты.ПериодГод КАК ПериодГод,
        ВЫБОР
            КОГДА &ЕдиницыКоличества = 0
                ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток
            КОГДА &ЕдиницыКоличества = 1
                ТОГДА ВЫБОР
                        КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
                            ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
                        ИНАЧЕ 0
                    КОНЕЦ
        КОНЕЦ КАК НачальныйОстаток,
        ВЫБОР
            КОГДА &ЕдиницыКоличества = 0
                ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток
            КОГДА &ЕдиницыКоличества = 1
                ТОГДА ВЫБОР
                        КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
                            ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
                        ИНАЧЕ 0
                    КОНЕЦ
        КОНЕЦ КАК КонечныйОстаток,
        ВЫБОР
            КОГДА &ЕдиницыКоличества = 0
                ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход
            КОГДА &ЕдиницыКоличества = 1
                ТОГДА ВЫБОР
                        КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
                            ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
                        ИНАЧЕ 0
                    КОНЕЦ
        КОНЕЦ КАК Приход,
        ВЫБОР
            КОГДА &ЕдиницыКоличества = 0
                ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход
            КОГДА &ЕдиницыКоличества = 1
                ТОГДА ВЫБОР
                        КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
                            ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
                        ИНАЧЕ 0
                    КОНЕЦ
        КОНЕЦ КАК Расход,
        ВЫБОР
            КОГДА &ЕдиницыКоличества = 0
                ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеНачальныйОстаток
            КОГДА &ЕдиницыКоличества = 1
                ТОГДА ВЫБОР
                        КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
                            ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеНачальныйОстаток / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
                        ИНАЧЕ 0
                    КОНЕЦ
        КОНЕЦ КАК КОтгрузкеНачальныйОстаток,
        ВЫБОР
            КОГДА &ЕдиницыКоличества = 0
                ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеКонечныйОстаток
            КОГДА &ЕдиницыКоличества = 1
                ТОГДА ВЫБОР
                        КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
                            ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеКонечныйОстаток / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
                        ИНАЧЕ 0
                    КОНЕЦ
        КОНЕЦ КАК КОтгрузкеКонечныйОстаток,
        ВЫБОР
            КОГДА &ЕдиницыКоличества = 0
                ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеПриход
            КОГДА &ЕдиницыКоличества = 1
                ТОГДА ВЫБОР
                        КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
                            ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеПриход / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
                        ИНАЧЕ 0
                    КОНЕЦ
        КОНЕЦ КАК КОтгрузкеПриход,
        ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток * &ТекстЗапросаВесНоменклатуры КАК НачальныйОстатокВес,
        ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток * &ТекстЗапросаВесНоменклатуры КАК КонечныйОстатокВес,
        ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход * &ТекстЗапросаВесНоменклатуры КАК ПриходВес,
        ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход * &ТекстЗапросаВесНоменклатуры КАК РасходВес,
        ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток * &ТекстЗапросаОбъемНоменклатуры КАК НачальныйОстатокОбъем,
        ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток * &ТекстЗапросаОбъемНоменклатуры КАК КонечныйОстатокОбъем,
        ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход * &ТекстЗапросаОбъемНоменклатуры КАК ПриходОбъем,
        ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход * &ТекстЗапросаОбъемНоменклатуры КАК РасходОбъем,
        ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеНачальныйОстаток * &ТекстЗапросаВесНоменклатуры КАК КОтгрузкеНачальныйОстатокВес,
        ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеКонечныйОстаток * &ТекстЗапросаВесНоменклатуры КАК КОтгрузкеКонечныйОстатокВес,
        ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеПриход * &ТекстЗапросаВесНоменклатуры КАК КОтгрузкеПриходВес,
        ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеНачальныйОстаток * &ТекстЗапросаОбъемНоменклатуры КАК КОтгрузкеНачальныйОстатокОбъем,
        ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеКонечныйОстаток * &ТекстЗапросаОбъемНоменклатуры КАК КОтгрузкеКонечныйОстатокОбъем,
        ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеПриход * &ТекстЗапросаОбъемНоменклатуры КАК КОтгрузкеПриходОбъем
    ПОМЕСТИТЬ Оригинал
    {ВЫБРАТЬ
        Номенклатура.*,
        Характеристика.*,
        ЕдиницаХранения.*,
        ЕдиницаДляОтчетов.*,
        Серия.*,
        Склад.*,
        Помещение.*,
        Регистратор.*,
        ПериодСекунда,
        ПериодДень,
        ПериодНеделя,
        ПериодДекада,
        ПериодМесяц,
        ПериодКвартал,
        ПериодГод,
        НачальныйОстаток,
        КонечныйОстаток,
        Приход,
        Расход,
        КОтгрузкеНачальныйОстаток,
        КОтгрузкеКонечныйОстаток,
        КОтгрузкеПриход,
        НачальныйОстатокВес,
        КонечныйОстатокВес,
        ПриходВес,
        РасходВес,
        НачальныйОстатокОбъем,
        КонечныйОстатокОбъем,
        ПриходОбъем,
        РасходОбъем,
        КОтгрузкеНачальныйОстатокВес,
        КОтгрузкеКонечныйОстатокВес,
        КОтгрузкеПриходВес,
        КОтгрузкеНачальныйОстатокОбъем,
        КОтгрузкеКонечныйОстатокОбъем,
        КОтгрузкеПриходОбъем}
    ИЗ
        РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , Авто, , {((Номенклатура, Характеристика) В
                    (ВЫБРАТЬ
                        ОтборПоСегментуНоменклатуры.Номенклатура,
                        ОтборПоСегментуНоменклатуры.Характеристика
                    ИЗ
                        ОтборПоСегментуНоменклатуры
                    ГДЕ
                        ОтборПоСегментуНоменклатуры.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры)), ((Номенклатура, Характеристика, Серия) В
                    (ВЫБРАТЬ
                        ОтборПоПересчетуТоваров.Номенклатура,
                        ОтборПоПересчетуТоваров.Характеристика,
                        ОтборПоПересчетуТоваров.Серия
                    ИЗ
                        ОтборПоПересчетуТоваров
                    ГДЕ
                        ОтборПоПересчетуТоваров.ИспользуетсяОтборПересчетуТоваров = &ИспользуетсяОтборПересчетуТоваров))}) КАК ТоварыНаСкладахОстаткиИОбороты
    {ГДЕ
        ТоварыНаСкладахОстаткиИОбороты.Номенклатура.*,
        ТоварыНаСкладахОстаткиИОбороты.Характеристика.*,
        ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаИзмерения.*,
        ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаДляОтчетов.*,
        ТоварыНаСкладахОстаткиИОбороты.Серия.*,
        ТоварыНаСкладахОстаткиИОбороты.Склад.*,
        ТоварыНаСкладахОстаткиИОбороты.Помещение.*,
        (ВЫБОР
                КОГДА ТоварыНаСкладахОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО
                    ТОГДА NULL
                ИНАЧЕ ТоварыНаСкладахОстаткиИОбороты.Регистратор
            КОНЕЦ).* КАК Регистратор,
        ТоварыНаСкладахОстаткиИОбороты.ПериодСекунда,
        ТоварыНаСкладахОстаткиИОбороты.ПериодДень,
        ТоварыНаСкладахОстаткиИОбороты.ПериодНеделя,
        ТоварыНаСкладахОстаткиИОбороты.ПериодДекада,
        ТоварыНаСкладахОстаткиИОбороты.ПериодМесяц,
        ТоварыНаСкладахОстаткиИОбороты.ПериодКвартал,
        ТоварыНаСкладахОстаткиИОбороты.ПериодГод,
        (ВЫБОР
                КОГДА &ЕдиницыКоличества = 0
                    ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток
                КОГДА &ЕдиницыКоличества = 1
                    ТОГДА ВЫБОР
                            КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
                                ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
                            ИНАЧЕ 0
                        КОНЕЦ
            КОНЕЦ) КАК НачальныйОстаток,
        (ВЫБОР
                КОГДА &ЕдиницыКоличества = 0
                    ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток
                КОГДА &ЕдиницыКоличества = 1
                    ТОГДА ВЫБОР
                            КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
                                ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
                            ИНАЧЕ 0
                        КОНЕЦ
            КОНЕЦ) КАК КонечныйОстаток,
        (ВЫБОР
                КОГДА &ЕдиницыКоличества = 0
                    ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход
                КОГДА &ЕдиницыКоличества = 1
                    ТОГДА ВЫБОР
                            КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
                                ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
                            ИНАЧЕ 0
                        КОНЕЦ
            КОНЕЦ) КАК Приход,
        (ВЫБОР
                КОГДА &ЕдиницыКоличества = 0
                    ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход
                КОГДА &ЕдиницыКоличества = 1
                    ТОГДА ВЫБОР
                            КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
                                ТОГДА ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
                            ИНАЧЕ 0
                        КОНЕЦ
            КОНЕЦ) КАК Расход,
        (ВЫБОР
                КОГДА &ЕдиницыКоличества = 0
                    ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеНачальныйОстаток
                КОГДА &ЕдиницыКоличества = 1
                    ТОГДА ВЫБОР
                            КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
                                ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеНачальныйОстаток / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
                            ИНАЧЕ 0
                        КОНЕЦ
            КОНЕЦ) КАК КОтгрузкеНачальныйОстаток,
        (ВЫБОР
                КОГДА &ЕдиницыКоличества = 0
                    ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеКонечныйОстаток
                КОГДА &ЕдиницыКоличества = 1
                    ТОГДА ВЫБОР
                            КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
                                ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеКонечныйОстаток / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
                            ИНАЧЕ 0
                        КОНЕЦ
            КОНЕЦ) КАК КОтгрузкеКонечныйОстаток,
        (ВЫБОР
                КОГДА &ЕдиницыКоличества = 0
                    ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеПриход
                КОГДА &ЕдиницыКоличества = 1
                    ТОГДА ВЫБОР
                            КОГДА ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
                                ТОГДА ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеПриход / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.КоэффициентЕдиницыДляОтчетов
                            ИНАЧЕ 0
                        КОНЕЦ
            КОНЕЦ) КАК КОтгрузкеПриход,
        (ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток * &ТекстЗапросаВесНоменклатуры) КАК НачальныйОстатокВес,
        (ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток * &ТекстЗапросаВесНоменклатуры) КАК КонечныйОстатокВес,
        (ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход * &ТекстЗапросаВесНоменклатуры) КАК ПриходВес,
        (ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход * &ТекстЗапросаВесНоменклатуры) КАК РасходВес,
        (ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток * &ТекстЗапросаОбъемНоменклатуры) КАК НачальныйОстатокОбъем,
        (ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток * &ТекстЗапросаОбъемНоменклатуры) КАК КонечныйОстатокОбъем,
        (ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход * &ТекстЗапросаОбъемНоменклатуры) КАК ПриходОбъем,
        (ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход * &ТекстЗапросаОбъемНоменклатуры) КАК РасходОбъем,
        (ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеНачальныйОстаток * &ТекстЗапросаВесНоменклатуры) КАК КОтгрузкеНачальныйОстатокВес,
        (ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеКонечныйОстаток * &ТекстЗапросаВесНоменклатуры) КАК КОтгрузкеКонечныйОстатокВес,
        (ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеПриход * &ТекстЗапросаВесНоменклатуры) КАК КОтгрузкеПриходВес,
        (ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеНачальныйОстаток * &ТекстЗапросаОбъемНоменклатуры) КАК КОтгрузкеНачальныйОстатокОбъем,
        (ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеКонечныйОстаток * &ТекстЗапросаОбъемНоменклатуры) КАК КОтгрузкеКонечныйОстатокОбъем,
        (ТоварыНаСкладахОстаткиИОбороты.КОтгрузкеПриход * &ТекстЗапросаОбъемНоменклатуры) КАК КОтгрузкеПриходОбъем}
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
        ТоварыНаСкладахОстаткиИОбороты.Характеристика,
        ТоварыНаСкладахОстаткиИОбороты.Регистратор,
        ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход
    ПОМЕСТИТЬ ТолькоРасход
    ИЗ
        РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , Авто, , ) КАК ТоварыНаСкладахОстаткиИОбороты
    ГДЕ
        ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.ОтчетОРозничныхПродажах
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        Оригинал.Номенклатура,
        Оригинал.Характеристика,
        Оригинал.Назначение,
        Оригинал.ЕдиницаХранения,
        Оригинал.ЕдиницаДляОтчетов,
        Оригинал.Серия,
        Оригинал.Склад,
        Оригинал.Помещение,
        Оригинал.Регистратор,
        Оригинал.ПериодСекунда,
        Оригинал.ПериодДень,
        Оригинал.ПериодНеделя,
        Оригинал.ПериодДекада,
        Оригинал.ПериодМесяц,
        Оригинал.ПериодКвартал,
        Оригинал.ПериодГод,
        Оригинал.НачальныйОстаток,
        Оригинал.КонечныйОстаток,
        Оригинал.Приход,
        Оригинал.КОтгрузкеНачальныйОстаток,
        Оригинал.КОтгрузкеКонечныйОстаток,
        Оригинал.КОтгрузкеПриход,
        Оригинал.НачальныйОстатокВес,
        Оригинал.КонечныйОстатокВес,
        Оригинал.ПриходВес,
        Оригинал.РасходВес,
        Оригинал.НачальныйОстатокОбъем,
        Оригинал.КонечныйОстатокОбъем,
        Оригинал.ПриходОбъем,
        Оригинал.РасходОбъем,
        Оригинал.КОтгрузкеНачальныйОстатокВес,
        Оригинал.КОтгрузкеКонечныйОстатокВес,
        Оригинал.КОтгрузкеПриходВес,
        Оригинал.КОтгрузкеНачальныйОстатокОбъем,
        Оригинал.КОтгрузкеКонечныйОстатокОбъем,
        Оригинал.КОтгрузкеПриходОбъем,
        ВЫБОР
            КОГДА &ЕдиницыКоличества = 0
                ТОГДА ТолькоРасход.ВНаличииРасход
            КОГДА &ЕдиницыКоличества = 1
                ТОГДА ВЫБОР
                        КОГДА ТолькоРасход.Номенклатура.КоэффициентЕдиницыДляОтчетов <> 0
                            ТОГДА ТолькоРасход.ВНаличииРасход / ТолькоРасход.Номенклатура.КоэффициентЕдиницыДляОтчетов
                        ИНАЧЕ 0
                    КОНЕЦ
        КОНЕЦ КАК Расход
    ИЗ
        Оригинал КАК Оригинал
            ЛЕВОЕ СОЕДИНЕНИЕ ТолькоРасход КАК ТолькоРасход
            ПО Оригинал.Номенклатура = ТолькоРасход.Номенклатура
                И Оригинал.Характеристика = ТолькоРасход.Характеристика
                И Оригинал.Регистратор = ТолькоРасход.Регистратор
  3. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Вы статью на ИТС читали как остатки в СКД считаются.?
    Там даже в настройках СКД ставиться каео поле является нач остатком какое кон.
    Суть в том что СКД это динамическая штука и остаток он считает он берет самый первый нач остаток, период и потом уже начинает к остатки прибалять приход расход и т.д и высчитывает следующий нач остаток и .тд
  4. TopicStarter Overlay
    MrShvets
    Offline

    MrShvets Опытный в 1С

    Регистрация:
    3 апр 2012
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    26
    То есть он из начальных остатков вычел, грубо говоря, все те расходы и получил результат? Тогда, вероятно, все отрабатывает корректно...
    Подскажите, как-то можно это побороть?
  5. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Ну надо смотреть так сходу сказать что все ок - трудно надо взять одну позицию там 2-3 дня и разобрать на бумажке и посмотреть что верно.
    Вотпрос в том что Вам надо получить

    Тот же конечный остаток у вас долджен быть с таблицы основной или нач остаток +приход-РасходВаш?
    Вы же из первоначальной таблицы то же вытаскиваеете конечный остаток.
    --- Объединение сообщений, 4 апр 2016 ---
    их Вы сверяли?
    --- Объединение сообщений, 4 апр 2016 ---
    А потом представьте что вы берет одну номенклатуру и делаете отчет по регисратору и по идее ваш кнечный остаок - он же Нач остаток по следующему регистратору
  6. TopicStarter Overlay
    MrShvets
    Offline

    MrShvets Опытный в 1С

    Регистрация:
    3 апр 2012
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    26
    Чую истина где то рядом, сделал отчет за весь период с регистратором и заметил откуда это тянется. В доработанном варианте колонка "Начальный остаток" сплюсовалась и почему то это значение попало в общую строку. Почему так происходит?

    Вложения:

  7. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Ну если полючует то это значит что итоги счиает.
  8. TopicStarter Overlay
    MrShvets
    Offline

    MrShvets Опытный в 1С

    Регистрация:
    3 апр 2012
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    26
    Но почему он их так считает то, я понять не могу. Где это посмотреть и поправить можно? Почему в оригинале он правильно показывает 0, а в моем сплюсовывает. В запросе кроме ограничения на расход ничего не менялось. В настройках СКД тоже все как было.

    Такое выражение стоит в ресурсе НачальныйОстаток
    Код:
    ВЫБОР
        КОГДА &КоличественныеИтогиПоЕдИзм И Количество(Различные ЕдиницаОтчета) > 1
            ТОГДА 0
        ИНАЧЕ Сумма(НачальныйОстаток)
    КОНЕЦ
  9. TopicStarter Overlay
    MrShvets
    Offline

    MrShvets Опытный в 1С

    Регистрация:
    3 апр 2012
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    26
    Ура! Кажется получилось, буду еще проверять. Очень помогла статья http://its.1c.ru/db/metod8dev#content:3093:hdoc
    В моем случае у полей остатка слетели роли полностью, поэтому выдавало ерунду. Назначил в скд роли заново, как в стандартном отчете, все взлетело.
  10. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Ну я вам в 3 посте про этут статью и говорил, уж ени раз в сообщения х писал про нее
  11. TopicStarter Overlay
    MrShvets
    Offline

    MrShvets Опытный в 1С

    Регистрация:
    3 апр 2012
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    26
    Извиняюсь, победил одно, но вылезло другое. В общем, когда в отчете стоит галка Детализация до регистратора, то все считается правильно. А если ее убрать, то начинает считать ерунду.
    Как это побороть?
  12. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    ну надо смотреть что за ерунда и разбираться.
    Вы галки по ролям расставляли так как в типовом?
  13. TopicStarter Overlay
    MrShvets
    Offline

    MrShvets Опытный в 1С

    Регистрация:
    3 апр 2012
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    26
    Да, все точно также. Перепроверил только что
  14. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    ну что вы подразумеваете по Ерунда? что не так идет
  15. TopicStarter Overlay
    MrShvets
    Offline

    MrShvets Опытный в 1С

    Регистрация:
    3 апр 2012
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    26
    Вот результат отчетов. Оригинальный с группировкой и без. И доработанный, с группировкой и без. Когда есть группировка по регистратору, то все ок. А когда нет, то он мало того что хватает начальный остаток, так еще и сплюсовывает его. И конечный соответственно тоже пересчитывается не как надо.

    Вложения:

  16. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    НУ мое мнение, что это надо делать не через левое соединение, а именно исключать эти обороы из основной таблицы
  17. TopicStarter Overlay
    MrShvets
    Offline

    MrShvets Опытный в 1С

    Регистрация:
    3 апр 2012
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    26
    Подскажите как вы видите решение подетальней...
    Вместо соединения накладывал отбор, но результат все равно похожий получался.
  18. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    ну насколько я понимаю текст запроса там собирается по частям в конце в отладчике поставить точку остановки и посмотреть результрующий текст запроса.
    Затем взять его выполнить вконсоле запросов или консоле запросов СКД
    ссравнит что результаты идентичны
    А затем уже в этом запросе брать и смотреть откуда берутьсяся расход и уже оттвда откуда он берется там накладывать условие на регистратор
    --- Объединение сообщений, 4 апр 2016 ---
    затем данное исправленеи переносите в оригинал
  19. TopicStarter Overlay
    MrShvets
    Offline

    MrShvets Опытный в 1С

    Регистрация:
    3 апр 2012
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    26
    Весь текст запроса я привел в первых сообщениях. Больше он никак не модифицируется
  20. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Ну я бы не сказал что он окончательный т.к
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток * &ТекстЗапросаВесНоменклатуры КАК НачальныйОстатокВес,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток * &ТекстЗапросаВесНоменклатуры КАК КонечныйОстатокВес,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход * &ТекстЗапросаВесНоменклатуры КАК ПриходВес,

    я так понимаю эти параметры заменяются

    ну да ладно

    ну береите уже тогда и разбирайте там есть таблица остатово оборотов с ней играйтесь

Поделиться этой страницей