Имя: Пароль:
1C
1С v8
Как добавить фильтр в начальные пакеты скд?
0 ksenod
 
19.11.18
09:26
Имею запрос следующего вида.

ВЫБРАТЬ
+ Code
    ТоварыНаСкладахОстатки.КоличествоОстаток,
    ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
    ПРЕДСТАВЛЕНИЕ(ТоварыНаСкладахОстатки.Номенклатура)
ПОМЕСТИТЬ ОстНаСкл
ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(&конпер, ) КАК ТоварыНаСкладахОстатки

ИНДЕКСИРОВАТЬ ПО
    Номенклатура
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
    ПРЕДСТАВЛЕНИЕ(ТоварыНаСкладахОстаткиИОбороты.Номенклатура),
    СУММА(ВЫБОР
            КОГДА НЕ(ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПеремещениеТоваров
                        ИЛИ ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.СписаниеТоваров)
                ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход
        КОНЕЦ) КАК КоличествоПриход,
    СУММА(ВЫБОР
            КОГДА НЕ(ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.ПеремещениеТоваров
                        ИЛИ ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.СписаниеТоваров)
                ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход
        КОНЕЦ) КАК КоличествоРасход,
    СУММА(ВЫБОР
            КОГДА ТоварыНаСкладахОстаткиИОбороты.Регистратор ССЫЛКА Документ.СписаниеТоваров
                ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход
        КОНЕЦ) КАК КолСпис,
    ТоварыНаСкладахОстаткиИОбороты.Регистратор
ПОМЕСТИТЬ обороты
ИЗ
    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&начпер, &конпер, Регистратор, , ) КАК ТоварыНаСкладахОстаткиИОбороты

СГРУППИРОВАТЬ ПО
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
    ТоварыНаСкладахОстаткиИОбороты.Регистратор

ИНДЕКСИРОВАТЬ ПО
    Номенклатура
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    ЕСТЬNULL(обороты.Номенклатура, ОстНаСкл.Номенклатура) КАК Номенклат,
    СУММА(обороты.КоличествоПриход) КАК КоличествоПриход,
    СУММА(обороты.КоличествоРасход) КАК КоличествоРасход,
    ОстНаСкл.КоличествоОстаток КАК Остаток,
    обороты.КолСпис,
    обороты.Регистратор
ПОМЕСТИТЬ ост_обороты
ИЗ
    обороты КАК обороты
        ПОЛНОЕ СОЕДИНЕНИЕ ОстНаСкл КАК ОстНаСкл
        ПО обороты.Номенклатура = ОстНаСкл.Номенклатура

СГРУППИРОВАТЬ ПО
    ЕСТЬNULL(обороты.Номенклатура, ОстНаСкл.Номенклатура),
    ОстНаСкл.КоличествоОстаток,
    обороты.КолСпис,
    обороты.Регистратор

ИНДЕКСИРОВАТЬ ПО
    Номенклат
;

////////////////////////////////////////////////////////////////////////////////

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

СГРУППИРОВАТЬ ПО
    ост_обороты.Номенклат,
    ост_обороты.КоличествоПриход,
    ост_обороты.КоличествоРасход,
    ост_обороты.Остаток

УПОРЯДОЧИТЬ ПО
    Номенклат

Подскажите как мне в данном запросе исключить лишние документы прихода? Если бы не было остатков то все просто, в самих настройках скд бы отфильтровал лишние, но если я подключаю регистр остатков то при таком подходе исчезают записи по которым не было движений но были остатки. Как сделать правильно?
1 palsergeich
 
19.11.18
09:32
ИСпользуй отборы вот в таких скобочках {}
+ Роль обязательное.
2 ksenod
 
19.11.18
09:42
(1) Вы предлагаете отдельно вносить в переменную лишние документы и добавить условие с их проверкой в вирт таблицу оборотов? Это первое что мне пришло в голову, но правильно ли это? И еще можете немного разжевать про роли? Не очень понимаю как и с чем их есть, сейчас читаю про них, но буду рад вашим комментариям.