Имя: Пароль:
1C
1С v8
Отбор в регистре накопления СКД
,
0 zerat
 
29.03.16
16:19
Всем привет! Делаю отчет на СКД по регистру накопления остатки и обороты, не указываю период для виртуальной таблицы. В регистре период записи стоит 18.03.2016, еще есть измерение "ДеньОплаты" в нем 16.03.2016. Так вот делаю отчет на СКД в котором делаю отбор только по измерению "ДеньОплаты", если ставлю период день и указываю 16.03.2016 с начала по конец дня, то в отчет ничего не попадает. если период поставить с 16.03.2016 по 18.03.2016 тогда данные выводятся. В чем дело не пойму....
1 ObjectRelation Model
 
29.03.16
16:21
период движения и твое измерение никак не связаны
2 zerat
 
29.03.16
16:26
(1) я это тоже понимаю....но почему СКД тупит
3 zerat
 
29.03.16
16:26
консполь запросов выводит нормально данные

ВЫБРАТЬ
    zer_ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Контрагент,
    zer_ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Организация,
    zer_ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Подразделение,
    zer_ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Менеджер,
    zer_ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДатаОтправкиНаОплату,
    zer_ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовОборот,
    zer_ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДеньОплаты,
    zer_ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.УсловиеОплаты,
    zer_ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДокументРасчетов,
    zer_ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СрокОплаты КАК СрокОплаты,
    zer_ВзаиморасчетыСКонтрагентамиОплата.СуммаВзаиморасчетовРасход,
    zer_ВзаиморасчетыСКонтрагентамиОплата.СуммаВзаиморасчетовКонечныйОстаток,
    zer_ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДеньОплаты КАК ДатаОплаты,
    zer_ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДокументРасчетов.ДатаФактВыгрузки,
    zer_ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДокументРасчетов.Номер,
    zer_ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДокументРасчетов.Клиент
ИЗ
    РегистрНакопления.zer_ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(
            ,
            ,
            ,
            ,
            ДеньОплаты МЕЖДУ &НачалоПериода И &КонецПериода
                И ДокументРасчетов ССЫЛКА Документ.zer_Рейс
                И СрокОплаты > 0) КАК zer_ВзаиморасчетыСКонтрагентамиОстаткиИОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.zer_ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&ТекущаяДата, &ТекущаяДата, Авто, , ) КАК zer_ВзаиморасчетыСКонтрагентамиОплата
        ПО zer_ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДокументРасчетов = zer_ВзаиморасчетыСКонтрагентамиОплата.ДокументРасчетов
            И zer_ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Организация = zer_ВзаиморасчетыСКонтрагентамиОплата.Организация
            И zer_ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Контрагент = zer_ВзаиморасчетыСКонтрагентамиОплата.Контрагент
            И zer_ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Договор = zer_ВзаиморасчетыСКонтрагентамиОплата.Договор
ГДЕ
    zer_ВзаиморасчетыСКонтрагентамиОплата.СуммаВзаиморасчетовКонечныйОстаток <> 0
4 LordCMEPTb
 
29.03.16
16:45
(2) СКД не тупит, а оптимизирует.
Если поставить в (3)

РегистрНакопления.zer_ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты({&НачалоПериодаРегистра}, {&КонецПериодаРегистра},....

можно увидеть, что хоть и появились 2 новых параметра, но результат будет больше похож на тот, что в консоли.
5 zerat
 
29.03.16
17:40
(4) эти параметры поставил но ничего все равно не выводит, или эти параметры чем то заполнять надо?
6 zladenuw
 
29.03.16
17:48
(5) конечно надо. это же параметры
7 zladenuw
 
29.03.16
17:53
(3) а зачем это тут  ДеньОплаты МЕЖДУ &НачалоПериода И &КонецПериода .

Просто выводи отборы да и все.
8 zladenuw
 
29.03.16
17:54
и тут так же скобки добавь.
ОстаткиИОбороты(&ТекущаяДата, &ТекущаяДата, Авто, , )
9 zerat
 
30.03.16
09:08
(7) мне нужно отбирать только по этому измерению, только по Дню оплаты, суть отчета в том чтобы выводить за день данные по поставщикам кому нужно оплатить за указанный период. Период регистратора это одна дата, а вот день оплаты это другая дата, которая считается след. образом, дата документа + количество рабочих дней. Можно конечно отчет и не на СКД сделать...но хочется красиво...
10 Defender aka LINN
 
30.03.16
09:15
(0) Потому что автозаполнение.
Посмотри текст запроса консолью и удивись
11 zerat
 
30.03.16
09:20
(10) в консоле запросов всё отрабатывает правильно
12 AceVi
 
30.03.16
09:42
(11) в консоле ты как дату начала и конца забиваешь?
Например 23.03.2016 00.00.00 и 23.03.2016 23.59.59?
Больше чем уверен что в параметрах СКД у тебя тип переменных ТекущаяДата просто "Дата", а не "ДатаИВремя". Поставь в запросе вот так

НАЧАЛОПЕРИОДА(&ТекущаяДата,ДЕНЬ), КОНЕЦПЕРИОДА(&ТекущаяДата,ДЕНЬ)
13 LordCMEPTb
 
30.03.16
10:02
(5) Т.е. хочешь сказать, что запрос в СКД:

ВЫБРАТЬ * ИЗ    РегистрНакопления.zer_ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(
    {&НачалоПериодаРегистра},
    {&КонецПериодаРегистра},
    Период,
    ,
    ДеньОплаты МЕЖДУ &НачалоПериода И &КонецПериода
        И ДокументРасчетов ССЫЛКА Документ.zer_Рейс)

При установленных значениях "НачалоПериода" и "КонецПериода" дает результат, который не похож на результат консоли запросов?
14 zerat
 
31.03.16
11:00
(13) Всё получилось! Спасибо огромное!!
15 zerat
 
31.03.16
11:01
(13) Можешь объяснить почему так нужно делать в СКД?