Имя: Пароль:
1C
1С v8
Запрос по регистру накопления (Остатки и обороты)
, ,
0 mrCreator
 
22.06.16
15:47
Всем доброго времени суток!

Делаю запрос по партиям с остатками и оборотами без отбора по складу и нужно как то из оборотов исключить перемещения, а то они всю картину портят.

Возможно как то это сделать? Фильтр по типу регистратора или отбор по реквизиту(не измерение и не ресурс), что то нечего не получается.
1 Nuobu
 
22.06.16
15:48
На СКД?
2 mrCreator
 
22.06.16
15:49
нет, обычный отчет на обычных формах в обычном макете на 8.2
3 Ёпрст
 
22.06.16
15:51
где не регистратор ссылка документ.ПеремещениеТоваров
4 Nuobu
 
22.06.16
15:51
ГДЕ Регистратор Есть Null ИЛИ НЕ (Регистратор ссылка Документ.ПеремещениеТоваров)

так пробовал?
5 aleks_default
 
22.06.16
15:54
Делай объединением отдельно таблицы остатков и отдельно таблицы оборотов. Так меньше проблем получишь.
6 mrCreator
 
22.06.16
15:54
Поле не найдено Регистратор
7 Nuobu
 
22.06.16
15:54
(6) Периодичность задай
8 mrCreator
 
22.06.16
15:57
С переодичностью тоже самое, не важно какую задаю "Регистратор" или "Запись" или любую другую и МетодДополнения тоже не как не влияет на возможность использования Регистратора в отборе
9 Nuobu
 
22.06.16
15:58
(8) Давай сюда весь запрос.
10 mrCreator
 
22.06.16
16:07
отбор получилось сделать, только теперь он мне на каждую запись показывает отдельно остаток
11 lubitelxml
 
22.06.16
16:08
(10) покажи код то, тут телепаты не всегда грамотно отрабатывают
12 mrCreator
 
22.06.16
16:08
ВЫБРАТЬ РАЗЛИЧНЫЕ
    СУММА(ВЫБОР
            КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход ЕСТЬ NULL
                    ИЛИ ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход = 0
                ТОГДА 0
            ИНАЧЕ ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьПриход / ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход
        КОНЕЦ) КАК ЦенаПриход,
    СУММА(ВЫБОР
            КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток ЕСТЬ NULL
                    ИЛИ ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток = 0
                ТОГДА 0
            ИНАЧЕ ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьНачальныйОстаток / ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток
        КОНЕЦ) КАК ЦенаНачальныйОстаток,
    СУММА(ВЫБОР
            КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток ЕСТЬ NULL
                    ИЛИ ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток = 0
                ТОГДА 0
            ИНАЧЕ ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьКонечныйОстаток / ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток
        КОНЕЦ) КАК ЦенаКонечныйОстаток,
    СУММА(ВЫБОР
            КОГДА ПродажиОбороты.СтоимостьОборот ЕСТЬ NULL
                    ИЛИ ПродажиОбороты.СтоимостьОборот = 0
                ТОГДА 0
            ИНАЧЕ ПродажиОбороты.КоличествоОборот / ПродажиОбороты.СтоимостьОборот
        КОНЕЦ) КАК ЦенаОборот,
    СУММА(ВЫБОР
            КОГДА ПродажиОбороты.КоличествоОборот ЕСТЬ NULL
                    ИЛИ ПродажиОбороты.КоличествоОборот = 0
                    ИЛИ ПродажиОбороты.СтоимостьОборот ЕСТЬ NULL
                    ИЛИ ПродажиОбороты.СтоимостьОборот = 0
                ТОГДА 0
            ИНАЧЕ 100 - (ПродажиОбороты.СтоимостьОборот - ПродажиСебестоимостьОбороты.СтоимостьОборот) * 100 / (ПродажиОбороты.КоличествоОборот / ПродажиОбороты.СтоимостьОборот)
        КОНЕЦ) КАК МаржаПроц,
    СУММА(ВЫБОР
            КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток ЕСТЬ NULL
                ТОГДА 0
            ИНАЧЕ ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток
        КОНЕЦ) КАК НачальныйОстаток,
    СУММА(ВЫБОР
            КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьНачальныйОстаток ЕСТЬ NULL
                ТОГДА 0
            ИНАЧЕ ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьНачальныйОстаток
        КОНЕЦ) КАК СуммаНачальныйОстаток,
    СУММА(ВЫБОР
            КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход ЕСТЬ NULL
                ТОГДА 0
            ИНАЧЕ ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход
        КОНЕЦ) КАК КоличествоПриход,
    СУММА(ВЫБОР
            КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьПриход ЕСТЬ NULL
                ТОГДА 0
            ИНАЧЕ ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьПриход
        КОНЕЦ) КАК СтоимостьПриход,
    СУММА(ВЫБОР
            КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток ЕСТЬ NULL
                ТОГДА 0
            ИНАЧЕ ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток
        КОНЕЦ) КАК КонечныйОстаток,
    СУММА(ВЫБОР
            КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьКонечныйОстаток ЕСТЬ NULL
                ТОГДА 0
            ИНАЧЕ ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьКонечныйОстаток
        КОНЕЦ) КАК СуммаКонечныйОстаток,
    СУММА(ВЫБОР
            КОГДА ПродажиОбороты.КоличествоОборот ЕСТЬ NULL
                ТОГДА 0
            ИНАЧЕ ПродажиОбороты.КоличествоОборот
        КОНЕЦ) КАК КоличествоОборот,
    СУММА(ВЫБОР
            КОГДА ПродажиОбороты.СтоимостьОборот ЕСТЬ NULL
                ТОГДА 0
            ИНАЧЕ ПродажиОбороты.СтоимостьОборот
        КОНЕЦ) КАК СтоимостьОборот,
    СУММА(ВЫБОР
            КОГДА ПродажиОбороты.СтоимостьОборот ЕСТЬ NULL
                ТОГДА 0
            ИНАЧЕ ПродажиОбороты.СтоимостьОборот
        КОНЕЦ - ВЫБОР
            КОГДА ПродажиСебестоимостьОбороты.СтоимостьОборот ЕСТЬ NULL
                ТОГДА 0
            ИНАЧЕ ПродажиСебестоимостьОбороты.СтоимостьОборот
        КОНЕЦ) КАК МаржаСум,
    ВЫБОР
        КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура ЕСТЬ NULL
            ТОГДА ВЫБОР
                    КОГДА ПродажиОбороты.Номенклатура ЕСТЬ NULL
                        ТОГДА ПродажиСебестоимостьОбороты.Номенклатура
                    ИНАЧЕ ПродажиОбороты.Номенклатура
                КОНЕЦ
        ИНАЧЕ ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура
    КОНЕЦ КАК Модель,
    ВЫБОР
        КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.Бренд ЕСТЬ NULL
            ТОГДА ВЫБОР
                    КОГДА ПродажиОбороты.Номенклатура.Бренд ЕСТЬ NULL
                        ТОГДА ПродажиСебестоимостьОбороты.Номенклатура.Бренд
                    ИНАЧЕ ПродажиОбороты.Номенклатура.Бренд
                КОНЕЦ
        ИНАЧЕ ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.Бренд
    КОНЕЦ КАК Бренд
ИЗ
    РегистрНакопления.Продажи.Обороты(&ДатаНачало, &ДатаОкончание, , Организация = &Организация) КАК ПродажиОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПродажиСебестоимость.Обороты(&ДатаНачало, &ДатаОкончание, , ДокументОприходования.Организация = &Организация) КАК ПродажиСебестоимостьОбороты
        ПО ПродажиОбороты.Номенклатура = ПродажиСебестоимостьОбороты.Номенклатура
        ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&ДатаНачало, &ДатаОкончание, Регистратор, , ДокументОприходования.Организация = &Организация) КАК ПартииТоваровНаСкладахОстаткиИОбороты
        ПО ПродажиОбороты.Номенклатура = ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура
ГДЕ
    НЕ ПартииТоваровНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПеремещениеТоваров

СГРУППИРОВАТЬ ПО
    ВЫБОР
        КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура ЕСТЬ NULL
            ТОГДА ВЫБОР
                    КОГДА ПродажиОбороты.Номенклатура ЕСТЬ NULL
                        ТОГДА ПродажиСебестоимостьОбороты.Номенклатура
                    ИНАЧЕ ПродажиОбороты.Номенклатура
                КОНЕЦ
        ИНАЧЕ ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура
    КОНЕЦ,
    ВЫБОР
        КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.Бренд ЕСТЬ NULL
            ТОГДА ВЫБОР
                    КОГДА ПродажиОбороты.Номенклатура.Бренд ЕСТЬ NULL
                        ТОГДА ПродажиСебестоимостьОбороты.Номенклатура.Бренд
                    ИНАЧЕ ПродажиОбороты.Номенклатура.Бренд
                КОНЕЦ
        ИНАЧЕ ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.Бренд
    КОНЕЦ

УПОРЯДОЧИТЬ ПО
    Бренд,
    Модель
ИТОГИ
    СРЕДНЕЕ(ЦенаПриход),
    СРЕДНЕЕ(ЦенаНачальныйОстаток),
    СРЕДНЕЕ(ЦенаКонечныйОстаток),
    СРЕДНЕЕ(ЦенаОборот),
    СРЕДНЕЕ(МаржаПроц),
    СУММА(НачальныйОстаток),
    СУММА(СуммаНачальныйОстаток),
    СУММА(КоличествоПриход),
    СУММА(СтоимостьПриход),
    СУММА(КонечныйОстаток),
    СУММА(СуммаКонечныйОстаток),
    СУММА(КоличествоОборот),
    СУММА(СтоимостьОборот),
    СУММА(МаржаСум)
ПО
    ОБЩИЕ,
    Бренд
13 Nuobu
 
22.06.16
16:13
(12) Жесть какая.
Зачем же Вы соединили третий регистр сюда? Какова цель запроса7
14 lubitelxml
 
22.06.16
16:18
мдя... и продажи и себестоимость и партии. присоединяюсь к (13)
15 mrCreator
 
22.06.16
16:19
вывести
1) остаток на начало, количество, сумма и средняя цена по себестоимости
2) Вывести сколько поступило товара так же по себестоимости
3) вывести продажи и посчитать маржу в суммовом и процентоном выражении
4) получить остаток в себестоимости
16 mrCreator
 
22.06.16
16:22
ну на самом деле да, можно было бы обойтись и без третьего регистра, но это не решит моей основной проблемы
17 mrCreator
 
22.06.16
16:24
хотя нет, без третьего не обойтись. Нужны именно продажи, если бы из партий себестоимость по продажам тащил, то у меня бы туда и списания попали
18 Nuobu
 
22.06.16
16:27
(17) Я нюхом чую, что Вы не понимаете, как формируется себестоимость. Её, ведь, формируют не только документы прихода и продажи, но документы переоценки, документы ввода дополнительных затрат.
А Вы хотите в одном отчете увидеть всё и сразу. Типа: есть партия в "ПродажиСебестоимость" и нужно вывести все документы, которые влияют на её стоимость. При этом исключить перемещения и списания.
19 Nuobu
 
22.06.16
16:28
(15) Попробуй воспользоваться СКД для своих пунктов.
Берёшь первые два регистра: Продажи и ПродажиСебестоимость.
Во втором наборе добавляешь ПартииТоваровНаСкладах.
Ну и соединяй их по документу партии. Должно получиться.
20 mrCreator
 
22.06.16
16:32
в ПродажиСебестоимость пишется именно реальная Себестоимость по которой списался товар при продаже. Если бы я ее брал просто суммой расхода за период из партий то в эту сумму у меня попали бы документы списания и перемещения и комплектация и чернт знает что еще и это бы очень сильно отличалось от действительной себестоимости. В Этом отчете мне не нужны данные по прочим расходам. Только сколько было в начале, сколько зашло товара от поставщиков, сколько продали и сколько осталось. Без всех прочих возможных движений с товаром