Имя: Пароль:
1C
1С v8
помогите с отчетом
0 Razzle Kay
 
09.07.18
09:12
Из-за чего итог может умножаться на 2 ?
4 Razzle Kay
 
09.07.18
09:14
(2) а что может быть неверно там?
5 breezee
 
09.07.18
09:15
(0) Vyjuj bp-pf xtuj
6 fgaabbb
 
09.07.18
09:18
(4) что может быть неверно? наверное - все...

к примеру, соединение двух таблиц - условие объединения превращает одну запись в две...

покажи свой запрос
7 Razzle Kay
 
09.07.18
09:20
"ВЫБРАТЬ
                   |    ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Номенклатура,
                   |    ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.КоличествоОстаток,
                   |    ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.СтоимостьОстаток,
                   |    ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.ХарактеристикаНоменклатуры,
                   |    ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.СтоимостьОстаток / ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.КоличествоОстаток КАК ЦенаНаНачало
                   |ПОМЕСТИТЬ ЦенаНачало
                   |ИЗ
                   |    РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет.Остатки(&НачалоПериода, ) КАК ПартииТоваровНаСкладахБухгалтерскийУчетОстатки
                   |ГДЕ
                   |    ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.КоличествоОстаток <> 0
                   |    И ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.СтоимостьОстаток <> 0
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ПартииТоваровНаСкладахОбороты.Номенклатура,
                   |    ПартииТоваровНаСкладахОбороты.КоличествоОборот,
                   |    ПартииТоваровНаСкладахОбороты.СтоимостьОборот,
                   |    ПартииТоваровНаСкладахОбороты.ХарактеристикаНоменклатуры,
                   |    ПартииТоваровНаСкладахОбороты.Регистратор
                   |ПОМЕСТИТЬ ЦенаОбороты1
                   |ИЗ
                   |    РегистрНакопления.ПартииТоваровНаСкладах.Обороты(&НачалоПериода, &КонецПериода, Регистратор, ) КАК ПартииТоваровНаСкладахОбороты
                   |ГДЕ
                   |    ПартииТоваровНаСкладахОбороты.КоличествоОборот <> 0
                   |    И ПартииТоваровНаСкладахОбороты.СтоимостьОборот <> 0
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ЦенаОбороты1.Номенклатура,
                   |    СУММА(ЦенаОбороты1.КоличествоОборот) КАК КоличествоОборот,
                   |    СУММА(ЦенаОбороты1.СтоимостьОборот) КАК СтоимостьОборот,
                   |    ЦенаОбороты1.ХарактеристикаНоменклатуры,
                   |    СРЕДНЕЕ(ВЫБОР
                   |            КОГДА ЦенаОбороты1.КоличествоОборот <> 0
                   |                ТОГДА ВЫРАЗИТЬ(ЦенаОбороты1.СтоимостьОборот / ЦенаОбороты1.КоличествоОборот КАК ЧИСЛО(15, 2))
                   |            ИНАЧЕ 0
                   |        КОНЕЦ) КАК ЦенаОборот
                   |ПОМЕСТИТЬ ЦенаОбороты
                   |ИЗ
                   |    ЦенаОбороты1 КАК ЦенаОбороты1
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    ЦенаОбороты1.Номенклатура,
                   |    ЦенаОбороты1.ХарактеристикаНоменклатуры
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ЦенаНачало.Номенклатура,
                   |    ЦенаНачало.ХарактеристикаНоменклатуры,
                   |    ЦенаНачало.КоличествоОстаток КАК Количество,
                   |    ЦенаНачало.СтоимостьОстаток КАК Стоимость
                   |ПОМЕСТИТЬ НоменклатураПрайс
                   |ИЗ
                   |    ЦенаНачало КАК ЦенаНачало
                   |
                   |ОБЪЕДИНИТЬ ВСЕ
                   |
                   |ВЫБРАТЬ
                   |    ЦенаОбороты.Номенклатура,
                   |    ЦенаОбороты.ХарактеристикаНоменклатуры,
                   |    ЦенаОбороты.КоличествоОборот,
                   |    ЦенаОбороты.СтоимостьОборот
                   |ИЗ
                   |    ЦенаОбороты КАК ЦенаОбороты
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    НоменклатураПрайс.Номенклатура,
                   |    НоменклатураПрайс.ХарактеристикаНоменклатуры,
                   |    СУММА(НоменклатураПрайс.Стоимость) КАК Стоимость,
                   |    СУММА(НоменклатураПрайс.Количество) КАК Количество
                   |ПОМЕСТИТЬ НоменклатураПрайсБезЦены
                   |ИЗ
                   |    НоменклатураПрайс КАК НоменклатураПрайс
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    НоменклатураПрайс.Номенклатура,
                   |    НоменклатураПрайс.ХарактеристикаНоменклатуры
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    НоменклатураПрайсБезЦены.Номенклатура,
                   |    НоменклатураПрайсБезЦены.ХарактеристикаНоменклатуры,
                   |    СРЕДНЕЕ(ВЫБОР
                   |            КОГДА НоменклатураПрайсБезЦены.Количество <> 0
                   |                ТОГДА ВЫРАЗИТЬ(НоменклатураПрайсБезЦены.Стоимость / НоменклатураПрайсБезЦены.Количество КАК ЧИСЛО(15, 2))
                   |            ИНАЧЕ 0
                   |        КОНЕЦ) КАК Цена
                   |ПОМЕСТИТЬ ЦенаФактПрайсЗаПериод
                   |ИЗ
                   |    НоменклатураПрайсБезЦены КАК НоменклатураПрайсБезЦены
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    НоменклатураПрайсБезЦены.Номенклатура,
                   |    НоменклатураПрайсБезЦены.ХарактеристикаНоменклатуры
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ВнутреннийЗаказТовары.Номенклатура,
                   |    ВнутреннийЗаказТовары.ХарактеристикаНоменклатуры,
                   |    ВнутреннийЗаказТовары.ЕдиницаИзмерения.ЕдиницаПоКлассификатору КАК ЕдиницаИзмерения,
                   |    СУММА(ВнутреннийЗаказТовары.Количество) КАК КоличествоПлан,
                   |    СРЕДНЕЕ(ПланЗакупокСоставПлана.Цена) КАК ЦенаПлан,
                   |    СУММА(ВЫРАЗИТЬ(ВнутреннийЗаказТовары.Количество * ПланЗакупокСоставПлана.Цена КАК ЧИСЛО(15, 2))) КАК СуммаПлан,
                   |    ВнутреннийЗаказТовары.Ссылка.Заказчик КАК Подразделение
                   |ПОМЕСТИТЬ ПланЗакупки
                   |ИЗ
                   |    Документ.ВнутреннийЗаказ.Товары КАК ВнутреннийЗаказТовары
                   |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПланЗакупок.СоставПлана КАК ПланЗакупокСоставПлана
                   |        ПО (ПланЗакупокСоставПлана.Номенклатура = ВнутреннийЗаказТовары.Номенклатура)
                   |            И (ПланЗакупокСоставПлана.Ссылка.Проведен = ИСТИНА)
                   |            И (ПланЗакупокСоставПлана.Ссылка.ДатаПланирования МЕЖДУ &НачалоПериода И &КонецПериода)
                   |            И (ПланЗакупокСоставПлана.Ссылка.Сценарий.Код = ""000000001"")
                   |ГДЕ
                   |    ВнутреннийЗаказТовары.Ссылка.ПометкаУдаления = ЛОЖЬ
                   |    И ВнутреннийЗаказТовары.Ссылка.Проведен = ИСТИНА
                   |    И ВнутреннийЗаказТовары.Ссылка.ДатаОтгрузки МЕЖДУ &НачалоПериода И &КонецПериода
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    ВнутреннийЗаказТовары.Номенклатура,
                   |    ВнутреннийЗаказТовары.ХарактеристикаНоменклатуры,
                   |    ВнутреннийЗаказТовары.ЕдиницаИзмерения.ЕдиницаПоКлассификатору,
                   |    ВнутреннийЗаказТовары.Ссылка.Заказчик
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    МатериалыВПроизводствеОбороты.Затрата,
                   |    МатериалыВПроизводствеОбороты.Подразделение,
                   |    МатериалыВПроизводствеОбороты.КоличествоПриход КАК КоличествоПриход,
                   |    МатериалыВПроизводствеОбороты.ХарактеристикаЗатраты,
                   |    МатериалыВПроизводствеОбороты.Регистратор,
                   |    NULL КАК Стоимость,
                   |    МатериалыВПроизводствеОбороты.Затрата.БазоваяЕдиницаИзмерения КАК ЕдиницаИзмерения
                   |ПОМЕСТИТЬ Материалы
                   |ИЗ
                   |    РегистрНакопления.МатериалыВПроизводстве.Обороты(&НачалоПериода, &КонецПериода, Регистратор, Затрата.ВидВоспроизводства <> &Производство) КАК МатериалыВПроизводствеОбороты
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.Номенклатура,
                   |    ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.Регистратор.Подразделение,
                   |    СУММА(ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.Количество) КАК Количество,
                   |    ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.ХарактеристикаНоменклатуры,
                   |    ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.Регистратор,
                   |    СУММА(ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.Стоимость) КАК Стоимость,
                   |    ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.Номенклатура.БазоваяЕдиницаИзмерения
                   |ПОМЕСТИТЬ Партии
                   |ИЗ
                   |    РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет КАК ПартииТоваровНаСкладахБухгалтерскийУчетОбороты
                   |ГДЕ
                   |    ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.Период МЕЖДУ &НачалоПериода И &КонецПериода
                   |    И ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
                   |    И НЕ ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.Регистратор.Подразделение ЕСТЬ NULL
                   |    И ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.Регистратор.Ссылка ССЫЛКА Документ.ТребованиеНакладная
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.Номенклатура,
                   |    ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.Регистратор.Подразделение,
                   |    ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.ХарактеристикаНоменклатуры,
                   |    ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.Регистратор,
                   |    ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.Номенклатура.БазоваяЕдиницаИзмерения
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ТоварыНаСкладах.Период,
                   |    ТоварыНаСкладах.Регистратор,
                   |    ТоварыНаСкладах.ВидДвижения,
                   |    ТоварыНаСкладах.Склад,
                   |    ТоварыНаСкладах.Номенклатура,
                   |    ТоварыНаСкладах.ХарактеристикаНоменклатуры,
                   |    СУММА(ТоварыНаСкладах.Количество) КАК Количество,
                   |    СУММА(ТоварыНаСкладах.ДопКоличество) КАК ДопКоличество
                   |ПОМЕСТИТЬ ТоварыНаСкладахТаб
                   |ИЗ
                   |    РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
                   |ГДЕ
                   |    ТоварыНаСкладах.Период МЕЖДУ &НачалоПериода И &КонецПериода
                   |    И НЕ ТоварыНаСкладах.Регистратор.Подразделение ЕСТЬ NULL
                   |    И ТоварыНаСкладах.Регистратор.Ссылка ССЫЛКА Документ.ТребованиеНакладная
                   |    И ТоварыНаСкладах.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    ТоварыНаСкладах.Период,
                   |    ТоварыНаСкладах.Регистратор,
                   |    ТоварыНаСкладах.ВидДвижения,
                   |    ТоварыНаСкладах.Склад,
                   |    ТоварыНаСкладах.Номенклатура,
                   |    ТоварыНаСкладах.ХарактеристикаНоменклатуры
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ВЫБОР
                   |        КОГДА НЕ Материалы.Затрата ЕСТЬ NULL
                   |            ТОГДА Материалы.Затрата
                   |        ИНАЧЕ Партии.Номенклатура
                   |    КОНЕЦ КАК Затрата,
                   |    ВЫБОР
                   |        КОГДА НЕ Материалы.Подразделение ЕСТЬ NULL
                   |            ТОГДА Материалы.Подразделение
                   |        ИНАЧЕ Партии.РегистраторПодразделение
                   |    КОНЕЦ КАК Подразделение,
                   |    ВЫБОР
                   |        КОГДА НЕ Материалы.КоличествоПриход ЕСТЬ NULL
                   |            ТОГДА Материалы.КоличествоПриход
                   |        ИНАЧЕ Партии.Количество
                   |    КОНЕЦ КАК КоличествоПриход,
                   |    ВЫБОР
                   |        КОГДА НЕ Материалы.ХарактеристикаЗатраты ЕСТЬ NULL
                   |            ТОГДА Материалы.ХарактеристикаЗатраты
                   |        ИНАЧЕ Партии.ХарактеристикаНоменклатуры
                   |    КОНЕЦ КАК ХарактеристикаЗатраты,
                   |    ВЫБОР
                   |        КОГДА НЕ Материалы.Стоимость ЕСТЬ NULL
                   |            ТОГДА Материалы.Стоимость
                   |        ИНАЧЕ Партии.Стоимость
                   |    КОНЕЦ КАК Стоимость,
                   |    ВЫБОР
                   |        КОГДА НЕ Материалы.ЕдиницаИзмерения ЕСТЬ NULL
                   |            ТОГДА Материалы.ЕдиницаИзмерения
                   |        ИНАЧЕ Партии.НоменклатураБазоваяЕдиницаИзмерения
                   |    КОНЕЦ КАК ЕдиницаИзмерения,
                   |    ВЫБОР
                   |        КОГДА НЕ Материалы.Регистратор ЕСТЬ NULL
                   |            ТОГДА Материалы.Регистратор
                   |        ИНАЧЕ Партии.Регистратор
                   |    КОНЕЦ КАК Регистратор
                   |ПОМЕСТИТЬ Затраты1
                   |ИЗ
                   |    Материалы КАК Материалы
                   |        ПОЛНОЕ СОЕДИНЕНИЕ Партии КАК Партии
                   |        ПО Материалы.Регистратор = Партии.Регистратор
                   |            И Материалы.Затрата = Партии.Номенклатура
                   |            И Материалы.Подразделение = Партии.РегистраторПодразделение
                   |            И Материалы.ХарактеристикаЗатраты = Партии.ХарактеристикаНоменклатуры
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ВЫБОР
                   |        КОГДА НЕ Затраты1.Затрата ЕСТЬ NULL
                   |            ТОГДА Затраты1.Затрата
                   |        ИНАЧЕ ТоварыНаСкладахТаб.Номенклатура
                   |    КОНЕЦ КАК Затрата,
                   |    ВЫБОР
                   |        КОГДА НЕ Затраты1.Подразделение ЕСТЬ NULL
                   |            ТОГДА Затраты1.Подразделение
                   |        ИНАЧЕ ТоварыНаСкладахТаб.Регистратор.Подразделение
                   |    КОНЕЦ КАК Подразделение,
                   |    ВЫБОР
                   |        КОГДА НЕ Затраты1.КоличествоПриход ЕСТЬ NULL
                   |            ТОГДА Затраты1.КоличествоПриход
                   |        ИНАЧЕ ТоварыНаСкладахТаб.Количество
                   |    КОНЕЦ КАК КоличествоПриход,
                   |    ВЫБОР
                   |        КОГДА НЕ Затраты1.ХарактеристикаЗатраты ЕСТЬ NULL
                   |            ТОГДА Затраты1.ХарактеристикаЗатраты
                   |        ИНАЧЕ ТоварыНаСкладахТаб.ХарактеристикаНоменклатуры
                   |    КОНЕЦ КАК ХарактеристикаЗатраты,
                   |    ВЫБОР
                   |        КОГДА НЕ Затраты1.Стоимость ЕСТЬ NULL
                   |            ТОГДА Затраты1.Стоимость
                   |        ИНАЧЕ NULL
                   |    КОНЕЦ КАК Стоимость,
                   |    ВЫБОР
                   |        КОГДА НЕ Затраты1.ЕдиницаИзмерения ЕСТЬ NULL
                   |            ТОГДА Затраты1.ЕдиницаИзмерения
                   |        ИНАЧЕ ТоварыНаСкладахТаб.Номенклатура.БазоваяЕдиницаИзмерения
                   |    КОНЕЦ КАК ЕдиницаИзмерения
                   |ПОМЕСТИТЬ Затраты
                   |ИЗ
                   |    Затраты1 КАК Затраты1
                   |        ПОЛНОЕ СОЕДИНЕНИЕ ТоварыНаСкладахТаб КАК ТоварыНаСкладахТаб
                   |        ПО Затраты1.Затрата = ТоварыНаСкладахТаб.Номенклатура
                   |            И Затраты1.Регистратор = ТоварыНаСкладахТаб.Регистратор
                   |            И Затраты1.Подразделение = ТоварыНаСкладахТаб.Регистратор.Подразделение
                   |            И Затраты1.ХарактеристикаЗатраты = ТоварыНаСкладахТаб.ХарактеристикаНоменклатуры
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    Затраты.Затрата КАК Номенклатура,
                   |    Затраты.Подразделение КАК Подразделение,
                   |    СУММА(Затраты.КоличествоПриход) КАК КоличествоФакт,
                   |    Затраты.ХарактеристикаЗатраты КАК ХарактеристикаНоменклатуры,
                   |    СУММА(Затраты.Стоимость) КАК СуммаФакт,
                   |    Затраты.ЕдиницаИзмерения КАК ЕдиницаИзмерения
                   |ПОМЕСТИТЬ Затр
                   |ИЗ
                   |    Затраты КАК Затраты
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    Затраты.Подразделение,
                   |    Затраты.ХарактеристикаЗатраты,
                   |    Затраты.Затрата,
                   |    Затраты.ЕдиницаИзмерения
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    Затр.Номенклатура,
                   |    Затр.Подразделение,
                   |    Затр.КоличествоФакт,
                   |    Затр.ХарактеристикаНоменклатуры,
                   |    ВЫБОР
                   |        КОГДА Затр.СуммаФакт = 0
                   |            ТОГДА NULL
                   |        ИНАЧЕ Затр.СуммаФакт
                   |    КОНЕЦ КАК СуммаФакт,
                   |    Затр.ЕдиницаИзмерения
                   |ПОМЕСТИТЬ ФактЗакупки
                   |ИЗ
                   |    Затр КАК Затр
                   |ГДЕ
                   |    НЕ Затр.КоличествоФакт = 0
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    Закупки.Номенклатура,
                   |    Закупки.Период,
                   |    Закупки.Количество,
                   |    Закупки.Стоимость
                   |ПОМЕСТИТЬ ЗакупкиСумма
                   |ИЗ
                   |    РегистрНакопления.Закупки КАК Закупки
                   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                   |            МАКСИМУМ(Закупки.Период) КАК ДатаДок,
                   |            Закупки.Номенклатура КАК Номенклатура
                   |        ИЗ
                   |            РегистрНакопления.Закупки КАК Закупки
                   |        ГДЕ
                   |            Закупки.Период <= &ДатаГраницы
                   |        
                   |        СГРУППИРОВАТЬ ПО
                   |            Закупки.Номенклатура) КАК ПоследняяДата
                   |        ПО Закупки.Номенклатура = ПоследняяДата.Номенклатура
                   |            И Закупки.Период = ПоследняяДата.ДатаДок
                   |ГДЕ
                   |    Закупки.Количество <> 0
                   |    И Закупки.Стоимость <> 0
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ЗакупкиСумма.Номенклатура,
                   |    ВЫРАЗИТЬ(СРЕДНЕЕ(ЗакупкиСумма.Стоимость / ЗакупкиСумма.Количество) КАК ЧИСЛО(12, 2)) КАК Цена
                   |ПОМЕСТИТЬ ЗакупкиЦена
                   |ИЗ
                   |    ЗакупкиСумма КАК ЗакупкиСумма
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    ЗакупкиСумма.Номенклатура
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ВыпускПродукцииБухгалтерскийУчетОбороты.Продукция КАК Номенклатура,
                   |    ВыпускПродукцииБухгалтерскийУчетОбороты.КоличествоОборот КАК Количество,
                   |    ВыпускПродукцииБухгалтерскийУчетОбороты.СтоимостьОборот КАК Стоимость,
                   |    ВыпускПродукцииБухгалтерскийУчетОбороты.СтоимостьОборот / ВыпускПродукцииБухгалтерскийУчетОбороты.КоличествоОборот КАК Цена
                   |ПОМЕСТИТЬ ВыпускПродукции
                   |ИЗ
                   |    РегистрНакопления.ВыпускПродукцииБухгалтерскийУчет.Обороты(&НачалоМесяца, &ДатаГраницы, Период, ) КАК ВыпускПродукцииБухгалтерскийУчетОбороты
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ПланЗакупки.Номенклатура,
                   |    ПланЗакупки.ХарактеристикаНоменклатуры,
                   |    ПланЗакупки.ЕдиницаИзмерения,
                   |    ПланЗакупки.КоличествоПлан,
                   |    ВЫБОР
                   |        КОГДА НЕ ПланЗакупки.ЦенаПлан ЕСТЬ NULL
                   |            ТОГДА ПланЗакупки.ЦенаПлан
                   |        ИНАЧЕ ВЫБОР
                   |                КОГДА НЕ ЗакупкиЦена.Цена ЕСТЬ NULL
                   |                    ТОГДА ЗакупкиЦена.Цена
                   |                ИНАЧЕ ВЫБОР
                   |                        КОГДА НЕ ВыпускПродукции.Цена ЕСТЬ NULL
                   |                            ТОГДА ВыпускПродукции.Цена
                   |                        ИНАЧЕ 0
                   |                    КОНЕЦ
                   |            КОНЕЦ
                   |    КОНЕЦ КАК ЦенаПлан,
                   |    ПланЗакупки.Подразделение
                   |ПОМЕСТИТЬ ПланБезСуммы
                   |ИЗ
                   |    ПланЗакупки КАК ПланЗакупки
                   |        ЛЕВОЕ СОЕДИНЕНИЕ ЗакупкиЦена КАК ЗакупкиЦена
                   |        ПО (ЗакупкиЦена.Номенклатура = ПланЗакупки.Номенклатура)
                   |        ЛЕВОЕ СОЕДИНЕНИЕ ВыпускПродукции КАК ВыпускПродукции
                   |        ПО (ВыпускПродукции.Номенклатура = ПланЗакупки.Номенклатура)
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ПланБезСуммы.Номенклатура,
                   |    ПланБезСуммы.ХарактеристикаНоменклатуры,
                   |    ПланБезСуммы.ЕдиницаИзмерения,
                   |    ПланБезСуммы.КоличествоПлан,
                   |    ВЫРАЗИТЬ(ПланБезСуммы.ЦенаПлан КАК ЧИСЛО(12, 2)) КАК ЦенаПлан,
                   |    (ВЫРАЗИТЬ(ПланБезСуммы.КоличествоПлан КАК ЧИСЛО(12, 2))) * (ВЫРАЗИТЬ(ПланБезСуммы.ЦенаПлан КАК ЧИСЛО(12, 2))) КАК СуммаПлан,
                   |    ПланБезСуммы.Подразделение
                   |ПОМЕСТИТЬ ПланЗакупкиИтог
                   |ИЗ
                   |    ПланБезСуммы КАК ПланБезСуммы
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ВЫБОР
                   |        КОГДА ПланЗакупкиИтог.Подразделение ЕСТЬ NULL
                   |            ТОГДА ФактЗакупки.Подразделение
                   |        ИНАЧЕ ПланЗакупкиИтог.Подразделение
                   |    КОНЕЦ КАК Подразделение,
                   |    ВЫБОР
                   |        КОГДА ПланЗакупкиИтог.Номенклатура ЕСТЬ NULL
                   |            ТОГДА ФактЗакупки.Номенклатура
                   |        ИНАЧЕ ПланЗакупкиИтог.Номенклатура
                   |    КОНЕЦ КАК Номенклатура,
                   |    ВЫБОР
                   |        КОГДА ПланЗакупкиИтог.ХарактеристикаНоменклатуры ЕСТЬ NULL
                   |            ТОГДА ФактЗакупки.ХарактеристикаНоменклатуры
                   |        ИНАЧЕ ПланЗакупкиИтог.ХарактеристикаНоменклатуры
                   |    КОНЕЦ КАК ХарактеристикаНоменклатуры,
                   |    ВЫБОР
                   |        КОГДА ПланЗакупкиИтог.ЕдиницаИзмерения ЕСТЬ NULL
                   |            ТОГДА ФактЗакупки.ЕдиницаИзмерения
                   |        ИНАЧЕ ПланЗакупкиИтог.ЕдиницаИзмерения
                   |    КОНЕЦ КАК ЕдиницаИзмерения,
                   |    ПланЗакупкиИтог.КоличествоПлан,
                   |    ПланЗакупкиИтог.ЦенаПлан,
                   |    ПланЗакупкиИтог.СуммаПлан,
                   |    ФактЗакупки.КоличествоФакт,
                   |    ВЫБОР
                   |        КОГДА НЕ ФактЗакупки.КоличествоФакт ЕСТЬ NULL
                   |                И НЕ ФактЗакупки.СуммаФакт ЕСТЬ NULL
                   |            ТОГДА ВЫРАЗИТЬ(ФактЗакупки.СуммаФакт / ФактЗакупки.КоличествоФакт КАК ЧИСЛО(15, 2))
                   |    КОНЕЦ КАК ЦенаФакт,
                   |    ФактЗакупки.СуммаФакт
                   |ПОМЕСТИТЬ ЦенаФактПлан
                   |ИЗ
                   |    ПланЗакупкиИтог КАК ПланЗакупкиИтог
                   |        ПОЛНОЕ СОЕДИНЕНИЕ ФактЗакупки КАК ФактЗакупки
                   |        ПО ПланЗакупкиИтог.Номенклатура = ФактЗакупки.Номенклатура
                   |            И (ПланЗакупкиИтог.ХарактеристикаНоменклатуры = ПланЗакупкиИтог.ХарактеристикаНоменклатуры)
                   |            И ПланЗакупкиИтог.Подразделение = ФактЗакупки.Подразделение
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ЦенаФактПлан.Подразделение,
                   |    ЦенаФактПлан.Номенклатура,
                   |    ЦенаФактПлан.ХарактеристикаНоменклатуры,
                   |    ЦенаФактПлан.ЕдиницаИзмерения,
                   |    ЦенаФактПлан.КоличествоПлан,
                   |    ЦенаФактПлан.ЦенаПлан,
                   |    ЦенаФактПлан.СуммаПлан,
                   |    ЦенаФактПлан.КоличествоФакт,
                   |    ВЫБОР
                   |        КОГДА НЕ ЦенаФактПлан.ЦенаФакт ЕСТЬ NULL
                   |            ТОГДА ЦенаФактПлан.ЦенаФакт
                   |        ИНАЧЕ ВЫБОР
                   |                КОГДА НЕ ЗакупкиЦена.Цена ЕСТЬ NULL
                   |                    ТОГДА ЗакупкиЦена.Цена
                   |            КОНЕЦ
                   |    КОНЕЦ КАК ЦенаФакт,
                   |    ЦенаФактПлан.СуммаФакт
                   |ПОМЕСТИТЬ ЦенаПланФактНеполный
                   |ИЗ
                   |    ЦенаФактПлан КАК ЦенаФактПлан
                   |        ЛЕВОЕ СОЕДИНЕНИЕ ЗакупкиЦена КАК ЗакупкиЦена
                   |        ПО (ЗакупкиЦена.Номенклатура = ЦенаФактПлан.Номенклатура)
                   |            И (НЕ ЦенаФактПлан.КоличествоФакт ЕСТЬ NULL )
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ЦенаПланФактНеполный.Номенклатура
                   |ПОМЕСТИТЬ НоменклатураБезЦены
                   |ИЗ
                   |    ЦенаПланФактНеполный КАК ЦенаПланФактНеполный
                   |ГДЕ
                   |    ЦенаПланФактНеполный.ЦенаФакт ЕСТЬ NULL
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    ЦенаПланФактНеполный.Номенклатура
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ПартииТоваровНаСкладахБухгалтерскийУчет.Номенклатура,
                   |    ПартииТоваровНаСкладахБухгалтерскийУчет.Период,
                   |    ПартииТоваровНаСкладахБухгалтерскийУчет.Количество,
                   |    ПартииТоваровНаСкладахБухгалтерскийУчет.Стоимость
                   |ПОМЕСТИТЬ ПартииТоваровНаСкладахБухгалтерскийУчетЦена
                   |ИЗ
                   |    РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет КАК ПартииТоваровНаСкладахБухгалтерскийУчет
                   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                   |            МАКСИМУМ(ПартииТоваровНаСкладахБухгалтерскийУчет.Период) КАК ДатаДок,
                   |            ПартииТоваровНаСкладахБухгалтерскийУчет.Номенклатура КАК Номенклатура
                   |        ИЗ
                   |            РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет КАК ПартииТоваровНаСкладахБухгалтерскийУчет
                   |        ГДЕ
                   |            ПартииТоваровНаСкладахБухгалтерскийУчет.Период <= &ДатаГраницы
                   |            И ПартииТоваровНаСкладахБухгалтерскийУчет.Период >= ДОБАВИТЬКДАТЕ(&ДатаГраницы, МЕСЯЦ, -6)
                   |            И ПартииТоваровНаСкладахБухгалтерскийУчет.Номенклатура В
                   |                    (ВЫБРАТЬ
                   |                        НоменклатураБезЦены.Номенклатура
                   |                    ИЗ
                   |                        НоменклатураБезЦены КАК НоменклатураБезЦены)
                   |        
                   |        СГРУППИРОВАТЬ ПО
                   |            ПартииТоваровНаСкладахБухгалтерскийУчет.Номенклатура) КАК ПоследняяДата
                   |        ПО ПартииТоваровНаСкладахБухгалтерскийУчет.Номенклатура = ПоследняяДата.Номенклатура
                   |            И ПартииТоваровНаСкладахБухгалтерскийУчет.Период = ПоследняяДата.ДатаДок
                   |ГДЕ
                   |    ПартииТоваровНаСкладахБухгалтерскийУчет.Количество <> 0
                   |    И ПартииТоваровНаСкладахБухгалтерскийУчет.Стоимость <> 0
                   |    И ПартииТоваровНаСкладахБухгалтерскийУчет.Период <= &ДатаГраницы
                   |    И ПартииТоваровНаСкладахБухгалтерскийУчет.Период >= ДОБАВИТЬКДАТЕ(&ДатаГраницы, МЕСЯЦ, -6)
                   |    И ПартииТоваровНаСкладахБухгалтерскийУчет.Номенклатура В
                   |            (ВЫБРАТЬ
                   |                НоменклатураБезЦены.Номенклатура
                   |            ИЗ
                   |                НоменклатураБезЦены КАК НоменклатураБезЦены)
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ПартииТоваровНаСкладахБухгалтерскийУчетЦена.Номенклатура,
                   |    ВЫРАЗИТЬ(СРЕДНЕЕ(ПартииТоваровНаСкладахБухгалтерскийУчетЦена.Стоимость / ПартииТоваровНаСкладахБухгалтерскийУчетЦена.Количество) КАК ЧИСЛО(12, 2)) КАК Цена
                   |ПОМЕСТИТЬ ЦенаПоПартиямФакт
                   |ИЗ
                   |    ПартииТоваровНаСкладахБухгалтерскийУчетЦена КАК ПартииТоваровНаСкладахБухгалтерскийУчетЦена
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    ПартииТоваровНаСкладахБухгалтерскийУчетЦена.Номенклатура
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ЦенаПланФактНеполный.Подразделение,
                   |    ЦенаПланФактНеполный.Номенклатура,
                   |    ЦенаПланФактНеполный.ХарактеристикаНоменклатуры,
                   |    ЦенаПланФактНеполный.ЕдиницаИзмерения,
                   |    ЦенаПланФактНеполный.КоличествоПлан,
                   |    ЦенаПланФактНеполный.ЦенаПлан,
                   |    ЦенаПланФактНеполный.СуммаПлан,
                   |    ЦенаПланФактНеполный.КоличествоФакт,
                   |    ВЫБОР
                   |        
8 Razzle Kay
 
09.07.18
09:20
КОГДА НЕ ЦенаФактПлан.ЦенаФакт ЕСТЬ NULL
                   |            ТОГДА ЦенаФактПлан.ЦенаФакт
                   |        ИНАЧЕ ВЫБОР
                   |                КОГДА НЕ ЗакупкиЦена.Цена ЕСТЬ NULL
                   |                    ТОГДА ЗакупкиЦена.Цена
                   |            КОНЕЦ
                   |    КОНЕЦ КАК ЦенаФакт,
                   |    ЦенаФактПлан.СуммаФакт
                   |ПОМЕСТИТЬ ЦенаПланФактНеполный
                   |ИЗ
                   |    ЦенаФактПлан КАК ЦенаФактПлан
                   |        ЛЕВОЕ СОЕДИНЕНИЕ ЗакупкиЦена КАК ЗакупкиЦена
                   |        ПО (ЗакупкиЦена.Номенклатура = ЦенаФактПлан.Номенклатура)
                   |            И (НЕ ЦенаФактПлан.КоличествоФакт ЕСТЬ NULL )
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ЦенаПланФактНеполный.Номенклатура
                   |ПОМЕСТИТЬ НоменклатураБезЦены
                   |ИЗ
                   |    ЦенаПланФактНеполный КАК ЦенаПланФактНеполный
                   |ГДЕ
                   |    ЦенаПланФактНеполный.ЦенаФакт ЕСТЬ NULL
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    ЦенаПланФактНеполный.Номенклатура
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ПартииТоваровНаСкладахБухгалтерскийУчет.Номенклатура,
                   |    ПартииТоваровНаСкладахБухгалтерскийУчет.Период,
                   |    ПартииТоваровНаСкладахБухгалтерскийУчет.Количество,
                   |    ПартииТоваровНаСкладахБухгалтерскийУчет.Стоимость
                   |ПОМЕСТИТЬ ПартииТоваровНаСкладахБухгалтерскийУчетЦена
                   |ИЗ
                   |    РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет КАК ПартииТоваровНаСкладахБухгалтерскийУчет
                   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                   |            МАКСИМУМ(ПартииТоваровНаСкладахБухгалтерскийУчет.Период) КАК ДатаДок,
                   |            ПартииТоваровНаСкладахБухгалтерскийУчет.Номенклатура КАК Номенклатура
                   |        ИЗ
                   |            РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет КАК ПартииТоваровНаСкладахБухгалтерскийУчет
                   |        ГДЕ
                   |            ПартииТоваровНаСкладахБухгалтерскийУчет.Период <= &ДатаГраницы
                   |            И ПартииТоваровНаСкладахБухгалтерскийУчет.Период >= ДОБАВИТЬКДАТЕ(&ДатаГраницы, МЕСЯЦ, -6)
                   |            И ПартииТоваровНаСкладахБухгалтерскийУчет.Номенклатура В
                   |                    (ВЫБРАТЬ
                   |                        НоменклатураБезЦены.Номенклатура
                   |                    ИЗ
                   |                        НоменклатураБезЦены КАК НоменклатураБезЦены)
                   |        
                   |        СГРУППИРОВАТЬ ПО
                   |            ПартииТоваровНаСкладахБухгалтерскийУчет.Номенклатура) КАК ПоследняяДата
                   |        ПО ПартииТоваровНаСкладахБухгалтерскийУчет.Номенклатура = ПоследняяДата.Номенклатура
                   |            И ПартииТоваровНаСкладахБухгалтерскийУчет.Период = ПоследняяДата.ДатаДок
                   |ГДЕ
                   |    ПартииТоваровНаСкладахБухгалтерскийУчет.Количество <> 0
                   |    И ПартииТоваровНаСкладахБухгалтерскийУчет.Стоимость <> 0
                   |    И ПартииТоваровНаСкладахБухгалтерскийУчет.Период <= &ДатаГраницы
                   |    И ПартииТоваровНаСкладахБухгалтерскийУчет.Период >= ДОБАВИТЬКДАТЕ(&ДатаГраницы, МЕСЯЦ, -6)
                   |    И ПартииТоваровНаСкладахБухгалтерскийУчет.Номенклатура В
                   |            (ВЫБРАТЬ
                   |                НоменклатураБезЦены.Номенклатура
                   |            ИЗ
                   |                НоменклатураБезЦены КАК НоменклатураБезЦены)
                   |;
9 Razzle Kay
 
09.07.18
09:21
|////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ПартииТоваровНаСкладахБухгалтерскийУчетЦена.Номенклатура,
                   |    ВЫРАЗИТЬ(СРЕДНЕЕ(ПартииТоваровНаСкладахБухгалтерскийУчетЦена.Стоимость / ПартииТоваровНаСкладахБухгалтерскийУчетЦена.Количество) КАК ЧИСЛО(12, 2)) КАК Цена
                   |ПОМЕСТИТЬ ЦенаПоПартиямФакт
                   |ИЗ
                   |    ПартииТоваровНаСкладахБухгалтерскийУчетЦена КАК ПартииТоваровНаСкладахБухгалтерскийУчетЦена
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    ПартииТоваровНаСкладахБухгалтерскийУчетЦена.Номенклатура
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ЦенаПланФактНеполный.Подразделение,
                   |    ЦенаПланФактНеполный.Номенклатура,
                   |    ЦенаПланФактНеполный.ХарактеристикаНоменклатуры,
                   |    ЦенаПланФактНеполный.ЕдиницаИзмерения,
                   |    ЦенаПланФактНеполный.КоличествоПлан,
                   |    ЦенаПланФактНеполный.ЦенаПлан,
                   |    ЦенаПланФактНеполный.СуммаПлан,
                   |    ЦенаПланФактНеполный.КоличествоФакт,
                   |    ВЫБОР
                   |        КОГДА ЦенаПоПартиямФакт.Цена ЕСТЬ NULL
                   |                И НЕ ЦенаПланФактНеполный.КоличествоФакт ЕСТЬ NULL
                   |            ТОГДА ВЫБОР
                   |                    КОГДА НЕ ЦенаПланФактНеполный.ЦенаПлан ЕСТЬ NULL
                   |                        ТОГДА ЦенаПланФактНеполный.ЦенаПлан
                   |                    ИНАЧЕ ВЫБОР
                   |                            КОГДА НЕ ЦенаПоПартиямФакт.Цена ЕСТЬ NULL
                   |                                ТОГДА ЦенаПоПартиямФакт.Цена
                   |                            ИНАЧЕ ЦенаПоПартиямФакт2.Цена
                   |                        КОНЕЦ
                   |                КОНЕЦ
                   |        ИНАЧЕ ЦенаПоПартиямФакт.Цена
                   |    КОНЕЦ КАК ЦенаФакт,
                   |    ЦенаПланФактНеполный.СуммаФакт
                   |ПОМЕСТИТЬ ПланФактНеполный
                   |ИЗ
                   |    ЦенаПланФактНеполный КАК ЦенаПланФактНеполный
                   |        ЛЕВОЕ СОЕДИНЕНИЕ ЦенаФактПрайсЗаПериод КАК ЦенаПоПартиямФакт
                   |        ПО (ЦенаПоПартиямФакт.Номенклатура = ЦенаПланФактНеполный.Номенклатура)
                   |            И (НЕ ЦенаПланФактНеполный.КоличествоФакт ЕСТЬ NULL )
                   |        ЛЕВОЕ СОЕДИНЕНИЕ ЦенаПоПартиямФакт КАК ЦенаПоПартиямФакт2
                   |        ПО (ЦенаПоПартиямФакт2.Номенклатура = ЦенаПланФактНеполный.Номенклатура)
                   |            И (НЕ ЦенаПланФактНеполный.КоличествоФакт ЕСТЬ NULL )
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
10 Razzle Kay
 
09.07.18
09:21
|ВЫБРАТЬ
                   |    ПланФактНеполный.Подразделение,
                   |    ПланФактНеполный.Номенклатура,
                   |    ПланФактНеполный.ХарактеристикаНоменклатуры,
                   |    ПланФактНеполный.ЕдиницаИзмерения,
                   |    ПланФактНеполный.КоличествоПлан,
                   |    ПланФактНеполный.ЦенаПлан,
                   |    ПланФактНеполный.СуммаПлан,
                   |    ПланФактНеполный.КоличествоФакт,
                   |    ПланФактНеполный.ЦенаФакт,
                   |    ВЫБОР
                   |        КОГДА НЕ ПланФактНеполный.КоличествоФакт ЕСТЬ NULL
                   |                И НЕ ПланФактНеполный.ЦенаФакт ЕСТЬ NULL
                   |            ТОГДА ПланФактНеполный.КоличествоФакт * ПланФактНеполный.ЦенаФакт
                   |    КОНЕЦ КАК СуммаФакт
                   |ИЗ
                   |    ПланФактНеполный КАК ПланФактНеполный";
11 Nikoss
 
09.07.18
09:22
ёперный театр, ты думаешь кто-то будет эту поляну смотреть?
12 novichok79
 
09.07.18
09:22
(10) горшочек, не вари. не думаю, что кто-то сможет найти ошибку за тебя, ровно как и работать бесплатно никто не станет.
я бы делал так, сначала удалял таблицы из запроса, где двоится итог. после какой таблицы задвоение прекратилось, там и нехватка точной связи.
13 novichok79
 
09.07.18
09:23
(12) после того как косячная таблица найдена, идет анализ причины задвоения и доработка запроса под подобные случаи.
14 fgaabbb
 
09.07.18
09:26
(10) ищи в районе ВНУТРЕННЕЕ СОЕДИНЕНИЕ
15 novichok79
 
09.07.18
09:26
(10) на первый взгляд, характеристика в соединении отсутствует.
16 Razzle Kay
 
09.07.18
11:04
А если просто КоличествоПлан/2 сделать ?))))
17 novichok79
 
09.07.18
11:05
(16) вы спрашиваете разрешения?
18 Razzle Kay
 
09.07.18
11:06
(17) ну если задваивается только 1 колонка, то /2 - решение проблемы ?
19 D3O
 
09.07.18
11:06
(16) лучше выводить пустой табличный документ - пользователь сохранит в эксель и потом сам как ему надо заполнит )
20 Razzle Kay
 
09.07.18
11:08
(19) точно
21 novichok79
 
09.07.18
11:45
(18) ну если строк по соединению в связке таблиц найдено 2, то деление на 2 - решение. но это до тех пор пока строк не станет 3, тогда делиться придется на 3.
22 novichok79
 
09.07.18
11:46
(20) в (12) уже все написано. не вижу смысла повторяться.
23 Razzle Kay
 
09.07.18
12:04
(22) ты не понял
вот смотри
КоличествоПлан  Цена
500             12
450             16.20
140             89.90

Вот в Колонке КоличествоПлан каждая строка в 2 раза больше, чем должна быть
т.е. правильно -
250ъ
225
70
24 novichok79
 
09.07.18
12:16
(23) да, пожалуйста. вы - свободная личность, и вправе поступать со своим кодом так, как считаете нужным.
25 Razzle Kay
 
20.07.18
06:04
Кому не сложно, посмотрите пожалуйста запрос и скажите, почему ЦенаПлан на 1 номенклатуру может быть дико неправильной, т.е. вместо 6-7р миллион
не могу найти, откуда ЦенаПлан берётся ещё, кроме как из ПланЗакупок
26 VladZ
 
20.07.18
06:07
(0) Качаешь консоль запросов. Открываешь там свою поделку, тычешь пальцами, много думаешь...
27 Razzle Kay
 
20.07.18
06:09
(26) Ну я в консоли смотрел уже, а что толку, ну показывает он мне цену неверную, а откуда берёт не могу понять
28 fgaabbb
 
20.07.18
06:14
(27) выкидывай лишние поля запроса, смотри только по нужным. в твоем случае оставь только номенклатуру и цену плановую и смотри.

и еще раз "много думаешь..."
29 Razzle Kay
 
20.07.18
06:16
(28) дак а как понять откуда он берётся то
30 Razzle Kay
 
20.07.18
06:21
т.е. такое происходит только с 1 номенклатурой
31 fgaabbb
 
20.07.18
06:21
(29) <Название таблицы откуда берется>.<Название поля>
выделяй все места где есть ЦенаПлан и смотри
32 Razzle Kay
 
20.07.18
06:23
(31) да по идее из ТЧ документа ПланЗакупок берётся
33 Razzle Kay
 
20.07.18
06:23
(31) но там нормальная цена стоит
34 fgaabbb
 
20.07.18
06:29
(33) вырежи из запроса в консоли все лишнее и смотри. возможно у тебя цена при группировке суммируется, возможно у тебя соединение не правильно используется
35 Razzle Kay
 
20.07.18
06:32
(34) дак цена только с 1 номенклатурой такая, у всех остальных нормально
36 Mankubus
 
20.07.18
06:35
(35) это не мешает тебе делать то что советуют
37 fgaabbb
 
20.07.18
06:35
(35) тогда в отчете сделай отбор по этой номенклатуре и смотри что по ней не так.

з.ы. иди развейся, явно тупишь
38 Razzle Kay
 
20.07.18
06:47
ВЫБОР
                   |        КОГДА НЕ ПланЗакупки.ЦенаПлан ЕСТЬ NULL
                   |            ТОГДА ПланЗакупки.ЦенаПлан
                   |        ИНАЧЕ ВЫБОР
                   |                КОГДА НЕ ЗакупкиЦена.Цена ЕСТЬ NULL
                   |                    ТОГДА ЗакупкиЦена.Цена
                   |                ИНАЧЕ ВЫБОР
                   |                        КОГДА НЕ ВыпускПродукции.Цена ЕСТЬ NULL
                   |                            ТОГДА ВыпускПродукции.Цена
                   |                        ИНАЧЕ 0
                   |                    КОНЕЦ
                   |            КОНЕЦ
                   |    КОНЕЦ КАК ЦенаПлан,
39 Razzle Kay
 
20.07.18
06:47
По идее где то тут, но хер пойми
40 fgaabbb
 
20.07.18
06:51
(38)не тут. где ты увидел умножения? это возможно только при кривых связях и группировках
41 Сметанин
 
20.07.18
06:51
с ЕСТЬNULL можно компактнее написать
42 Razzle Kay
 
20.07.18
06:52
(41) ну и как это решит проблему )
43 Razzle Kay
 
20.07.18
06:53
(40) дак в отчете вообще нет строчки, где бы ЦенаПлан ну что-то умножалась бы
44 fgaabbb
 
20.07.18
06:54
(42) ты как мой прошлый дипломник - ерничать любишь, думать - нет.
(43) глаза протри - я тебе про связи, про группировки говорю - там твое умножение скорее всего.
45 Razzle Kay
 
20.07.18
06:56
(44) я не ёрничаю, не придираюсь, но, как группировки/связи могут умножать только 1 позицию из огромного кол-ва ?
46 fgaabbb
 
20.07.18
07:01
(45) в том случае, когда из-за кривой связи получается в результирующей таблице куча записей, может быть совсем одинаковых, а потом они сворачиваются по показателю - в твоем случае, по номенклатуре. Кривая связь - программист не предусмотрел твою ситуацию с этой позицией номенклатуры.
Может она 1000 раз введена в документе,или еще что. Так что либо править запрос (что предпочтительнее), либо смотреть данные и править их (что глупо - рано или поздно ситуация повторится).
47 Razzle Kay
 
20.07.18
07:16
https://ibb.co/d8wzTd
https://ibb.co/iWE8My
Ну это все связи
48 fgaabbb
 
20.07.18
07:41
а до того как заполняются эти таблицы?
49 Razzle Kay
 
20.07.18
07:44
50 fgaabbb
 
20.07.18
07:57
вот тут и смотр (49) - формируй сначала эти таблицы в консоли, а уже потом объединяй.
самая первая ссылка - самая подозрительная
51 fgaabbb
 
20.07.18
07:58
+(50) т.е. отрежь от запроса все, кроме этих таблиц и смотри что в них
52 Razzle Kay
 
20.07.18
11:46
пздц... не понимаю
53 Franchiser
 
гуру
20.07.18
12:01
Группировку забыл
54 Razzle Kay
 
20.07.18
12:13
(53) ?
55 Kolombo82
 
20.07.18
12:18
(54) Консоль запросов в помощь, там есть просмотр временных таблиц
56 D_E_S_131
 
20.07.18
12:28
(52) Вот раньше в ЖКК "Описании встроенного языка" был прям раздел по работе с запросами "Для чайников".
Берешь таблицу "План" с одной строкой, колонки "Номенклатура, ЦенаПлан". Соединяешь с таблицей "Закупки", в которой 2 строки, колонки "Номенклатура, Количество". Получаешь в итоге выборку:
Номенклатура, ЦенаПлан, Количество1
Номенклатура, ЦенаПлан, Количество2

Группируешь или делаешь итоги по полю Номенклатура, суммируя другие поля.
В итоге у тебя закупленное количество верное, а ЦенаПлан - задвоилась.
57 Razzle Kay
 
20.07.18
12:32
(56) и как исправить то это
58 D_E_S_131
 
20.07.18
12:35
(57) Ну например для поля "ЦенаПлан" поставить агрегатную функцию "Максимум" вместо "Сумма". А вообще (как раз посмотрел в новых ЖКК) прочитать раздел про работу с запросами - начало на странице 1-505.
59 Razzle Kay
 
20.07.18
12:39
(58) Там ине сумма, а среднее
60 D_E_S_131
 
20.07.18
12:43
(59) Посмотрел поподробнее - там даже не среднее, а жесть какая-то, а не запрос. Вот так видимо и выглядят "Запросы - убийцы баз".
"Среднее", которое посчитано от себестоимости, которая до этого уже задвоилась через функцию "Сумма"...
61 Razzle Kay
 
20.07.18
12:44
(60) Ну не я запрос этот писал, мне просто нужно исправить срочно сегодня, Чтобы цена была нормальная
62 hhhh
 
20.07.18
12:50
(61) ну если не умеешь исправлять такие вещи, зачем сунулся?
63 Razzle Kay
 
20.07.18
12:51
(62) мне сунули, а не сунулся, сказали, что это просто, ну я просто разобраться пока не могу, ещё есть 2 часа, но боюсь не успеть
64 Razzle Kay
 
20.07.18
12:53
ЦЕнаФакт почему то нормальная
а ценаплан 1.5миллиона
65 D_E_S_131
 
20.07.18
12:55
(64) Ты хотя бы местами в этом запросе понимаешь что делается?
66 Razzle Kay
 
20.07.18
12:57
(65) ну, вообще сложно
67 D_E_S_131
 
20.07.18
12:58
Хотя бы что такое временная таблица в запросе знаешь?
68 Razzle Kay
 
20.07.18
12:59
(67) ага
69 D_E_S_131
 
20.07.18
13:01
(68) Тогда бери текст запроса каждой временной таблице и в консоли смотри по порядку какие данные они выбирают.
70 D_E_S_131
 
20.07.18
13:02
Можешь дополнительно выборку ограничить не только датами, но и номенклатурой, по которой идет "задвоение".
71 Razzle Kay
 
20.07.18
13:09
(70) не совсем понимаю, как брать по очереди временных таблиц запросы, если в последующей временной таблице он берёт данные ИЗ ВременнаяТаблица и выдаёт ошибку не установлен менеджер временных таблиц
72 D_E_S_131
 
20.07.18
13:12
Самую первую брать не как временную, а просто данные вывести.
73 Razzle Kay
 
20.07.18
13:14
(72) ну я взял и что, Следующие то как брать, если они ИЗ ВременнойТаблицы всё берут
74 D_E_S_131
 
20.07.18
13:16
Делаешь временную, а из нее выбираешь как в том запросе. Так потихоньку двигаешься до последнего пакета.

P.S. Я уже почти исчерпал весь запас терпения, сорри...
75 Kolombo82
 
20.07.18
13:20
в консоли запросов есть http://prntscr.com/k8t7i7
76 Razzle Kay
 
20.07.18
13:26
(75) у меня другая видимо
77 D_E_S_131
 
20.07.18
13:31
(76) Это даже хорошо, что другая. Когда руками переписываешь текст запроса, то уже учишься его понимать.
78 Razzle Kay
 
20.07.18
13:35
(77) Во всех временных таблицах цена нормальная
79 Kolombo82
 
20.07.18
13:45
Не понял? Причем тут цена, вроде КоличествоПлан задвоено?
80 Razzle Kay
 
20.07.18
13:46
(79) ЦенаПлан
81 hhhh
 
20.07.18
13:47
(76) ну попробуй мысленный эксперимент. У тебя в какой-то из таблиц две строчки по номенклатуре. Надо выяснить, в какой.
82 Razzle Kay
 
20.07.18
13:47
(81) да, 3
83 Razzle Kay
 
20.07.18
13:48
(81) но у них разные подразделения
84 yavasya
 
20.07.18
13:48
(0) братан делается все так :
берутся отдельной ВТ остатки
затем обороты группируются в другой ВТ
все соединяется и счатсье)))


может двоить компоновщик отчета, он выводит остаток на начало и на конец и двоит итоги
85 Razzle Kay
 
20.07.18
13:54
Вообще мне надо чтобы у этой номенклатуры цена бралась из документа Планы закупок и всё
86 Kolombo82
 
20.07.18
14:00
(85) СРЕДНЕЕ ЦенаПлан и берется из Документ.ВнутреннийЗаказ табл. часть Товары
87 Razzle Kay
 
20.07.18
14:02
(86) Надо из ПланЗакупок
88 Kolombo82
 
20.07.18
14:03
в консоли запросов, выполни запрос только по одной "не правильной" номенклатуре и покажи что получилось во всех врем. таблицах и в результирующей выборке
89 Razzle Kay
 
20.07.18
14:03
(87) ПланЗакупок табл. часть СоставПлана
90 Razzle Kay
 
20.07.18
14:06
91 Kolombo82
 
20.07.18
14:07
(89) да, все верно! сорри!
92 Kolombo82
 
20.07.18
14:11
(90) 2 и 3 строка подразделения звучат одинаково, а элементы разные
93 Razzle Kay
 
20.07.18
14:11
(91) ну а почему он мне даёт вот чё https://ibb.co/jV0kJd
94 АНДР
 
20.07.18
14:12
Сначала подготовь временную таблицу со средними ценами, потом уже среднюю тяни. Быстрее отработает.
95 Razzle Kay
 
20.07.18
14:14
да мне сейчас срочно надо чтобы он ЦенаПлан взял нормальную из табличной части документа
96 Razzle Kay
 
20.07.18
14:16
подскажите пожалуйста как сделать, Чтобы он ЦенаПлан взял из документа
97 Razzle Kay
 
20.07.18
14:17
мне очень срочно надо
98 Kolombo82
 
20.07.18
14:19
(90) покажи результаты по одной номенклатуре ВСЕХ врем таблиц по порядку
99 Kolombo82
 
20.07.18
14:19
у тебя их очень много
100 Razzle Kay
 
20.07.18
14:20
(99) а это не ВТ, это весь запрос был, сейчас
101 Razzle Kay
 
20.07.18
14:21
не делает отбор в ВТ...............
102 Kolombo82
 
20.07.18
14:35
в самом первом запросе сделай условие но номенклатура = тНоменклатура (потом удалишь это условие!) , затем в консоли запрос Параметры-ПолучитьИзЗапроса и номенклатура = твоя "не правильная" номенклатура. Потом выполни запрос с просмотром врем. таблиц и покажи результаты ВСЕХ выборок по порядку
103 АНДР
 
20.07.18
14:46
Для последней цены из плана закупки

Выбрать Документ.ПланЗакупок.СоставПлана.Номенклатура, Максимум(Документ.ПланЗакупок.Ссылка.Дата)
    Поместить втСрезПоследнихДатаВПланеЗакупки
    Из Документ.ПланЗакупок.СоставПлана
    Сгруппирвать По Документ.ПланЗакупок.СоставПлана.Номенклатура

Выбрать Документ.ПланЗакупок.СоставПлана.Номенклатура, Документ.ПланЗакупок.СоставПлана.Цена
    Поместить втСрезПоследнихЦенаЗакупки
    Из Документ.ПланЗакупок.СоставПлана
        Соединение втСрезПоследнихДатаВПланеЗакупки
            По втСрезПоследнихДатаВПланеЗакупки.Дата = Документ.ПланЗакупок.Ссылка.Дата и втСрезПоследнихДатаВПланеЗакупки.Номенклатура = Документ.ПланЗакупок.СоставПлана.Номенклатура
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.