Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Задать периодичность(за пользователя) в скд

Задать периодичность(за пользователя) в скд
Я
   ksenod
 
20.11.18 - 13:46
ут10.3
Хочу получить остатки и обороты из соответствующего регистра, но не просто получить их а с периодичностью удобной пользователю. В параметрах вирт таблицы ставлю периодичность-авто, в самом скд потом ставлю периодичность через параметр(по столбцам) и получаю избыточные данные, не могу понять почему. Можете подсказать как избавиться от этого?

Пример выполнения http://prntscr.com/lkmhep


Мой запрос

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

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

УПОРЯДОЧИТЬ ПО
    Номенклатура
 
 
   Cyberhawk
 
1 - 20.11.18 - 13:47
"получаю избыточные данные" // Подробнее
   ksenod
 
2 - 20.11.18 - 13:49
(1) Скриншот, все что выделено это одна и та же номенклатура, скд раздробила месяц на детальные записи по каждому движению, я же хотел чтобы 1 номенклатура была одной строкой.
   RomanYS
 
3 - 20.11.18 - 13:52
СГРУППИРОВАТЬ ПО
....    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток
   ksenod
 
4 - 20.11.18 - 13:58
(3) Тоже об этом думал, но не придумал как это этого избавиться. Скд не дает удалить это поле из группировки
   Cyberhawk
 
5 - 20.11.18 - 14:00
1. Говно твой скриншот.
2. Покажи как ты хочешь.
   RomanYS
 
6 - 20.11.18 - 14:09
(5) он хочет в запросе использовать регистратор и чтобы при этом корректно считались остатки с нужной периодичностью
   RomanYS
 
7 - 20.11.18 - 14:12
+(6) похоже его желания ТС не совпадают с его возможностями, и эта ветка ему не поможет. Ссылку на срезы по всем датам он уже проигнорировал в другой ветке
   Cyberhawk
 
8 - 20.11.18 - 14:12
(6) Пусть использует, какие проблемы? В поле СКД регистратор-то не попадает
   Cyberhawk
 
9 - 20.11.18 - 14:12
Я так понял ему не нравится что сколько столбиков столько и строк у него
   Cyberhawk
 
10 - 20.11.18 - 14:13
Пустого места типа много
 
 Рекламное место пустует
   RomanYS
 
11 - 20.11.18 - 14:14
(8) остатки то возвращаются подокументно, свернуть их корректно не получится
   RomanYS
 
12 - 20.11.18 - 14:14
(10) (9) его косяк выделен в (3), но просто его исправить не получится
   ksenod
 
13 - 20.11.18 - 14:21
(5) Попытался свернуть чтобы получить верный формат с неверными данными и получил то что мне и было нужно
https://gyazo.com/758566586c8104356f093e578adbf417
В конструкторе настроек добавил группировку по номенклатуре
   ksenod
 
14 - 20.11.18 - 14:22
(7) Эта ссылка была не тем чем мне нужно я же писал, в той теме, я ознакомился с ней но это не то.
   ksenod
 
15 - 20.11.18 - 14:31
(13) ошибся, это был отчет в котором я явно задавал период месяц, можно и получить подобный результат для моего запроса?
   Cyberhawk
 
16 - 20.11.18 - 14:32
(15) Периодичность сделать реквизитом формы, под каждую периодичность своя схема СКД
   Cyberhawk
 
17 - 20.11.18 - 14:32
Но проще, кажется, остатки получать одним набором данных, а обороты - другим
   ksenod
 
18 - 20.11.18 - 14:35
(16) Но ведь если проставить периодичность месяц, то я не смогу фильтровать регистратор. (17) Похоже придется делать так.
   RomanYS
 
19 - 20.11.18 - 14:37
(17) я бы тоже так делал.
Есть ещё одна проблемка: если нет оборотов по периоду, то ВТ не показывают остатки
   ksenod
 
20 - 20.11.18 - 14:44
(19) Несколько решений этой проблемы я нашел на инфоре и тут
На сегодня я сдаюсь, можете подсказать где можно подробно прочитать как это реализовать, соединить обороты по периодам и остатки на конец каждого периода.
   Cyberhawk
 
21 - 20.11.18 - 14:45
ОСВ в БП 2.0
   ksenod
 
22 - 20.11.18 - 14:56
(21)  можете поделиться им? нет у меня бп2.
   Borteg
 
23 - 20.11.18 - 15:07
(0) убрать группировку из запроса, указать роли для измерений и ресурсов(особенно начальный и конечный остаток)
   ksenod
 
24 - 21.11.18 - 10:30
(21) Не нашел там этого в коде, запустить его нет возможности, статьи из интернета не демонстрируют разбивки по периодам в ОСВ. Можете подсказать как передать получить остатки по периодам из другой таблицы, не могу понять как в неё получить нужные даты.
(23) Моих знаний не хватает чтобы убрать группировку из запроса.
   ksenod
 
25 - 21.11.18 - 10:38
(24)Можете подсказать как в запросе передать даты чтобы получить остатки по периодам** (сам не понял как получилась такая мешанина из слов)
   ksenod
 
26 - 21.11.18 - 13:17
Похоже что это слишком сложно объяснить, можете посоветовать литературу/видеокурс(лучше литературу) в которой разжеван этот случай?


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует