Имя: Пароль:
1C
1С v8
Пустые остатки в скд 1с 8
0 marinakomarova1989
 
24.10.12
09:58
Добрый день, уважаемые профессионалы!
Отчет на скд по таблице ОстаткиИОбороты регистра накопления с параметром таблицы период = Месяц. Отчет показывает конечный остаток ресурса по наборам измерений на каждый месяц, но если остаток в ряде месяцев не менялся, то на выходе получаю пустой остаток. Например: "сентябрь- 100 шт.", "октябрь- 100 шт.", "ноябрь- 200 шт.". В отчет выводится: "сентябрь- 100 шт.", "октябрь- пусто", "ноябрь- 200 шт.". Как проще будет заполнить пробелы? Спасибо за любую помощь.
1 х86
 
24.10.12
10:07
два набора данных
1. набор с датами
2. твой запрос

в свой запрос передаешь дату параметром
2 х86
 
24.10.12
10:08
(1)но это меделенно работает, на большом количестве данных (порядка 100-200 тыщ записей) тормаза жуткие
3 marinakomarova1989
 
24.10.12
10:11
Спасибо, x86, у меня тоже была такая мысль.
4 х86
 
24.10.12
10:21
(3)есть нюансы, задавай вопросы еси что
5 lighto1
 
24.10.12
10:23
Так это же регулируется в СКД группировками и типом дополнения. М? Или мне лучше жевать, чем говорить?)
6 marinakomarova1989
 
24.10.12
10:25
(4) Подскажите, пожалуйста, набор с датами откуда лучше формировать?
7 х86
 
24.10.12
10:31
(6)пробовал из табл регистра брвть(производственный календарь), но почемута СКДхе не понравилось, остановился на этом варианте, допили его как надо

       "ВЫБРАТЬ
       |    ДОБАВИТЬКДАТЕ(&НачалоПериода, День, РазностьДат.НомерДняИзДиапазона) КАК Период
       |ПОМЕСТИТЬ Дни
       |ИЗ (
       |    ВЫБРАТЬ aa.a*1000 + bb.b*100 + cc.c*10 + dd.d КАК НомерДняИзДиапазона
       |    ИЗ
       |    (ВЫБРАТЬ 0 КАК a ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ
       |    ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9) КАК aa
       |    ПОЛНОЕ СОЕДИНЕНИЕ
       |    (ВЫБРАТЬ 0 КАК b ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ
       |    ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9) КАК bb
       |    ПО ИСТИНА
       |    ПОЛНОЕ СОЕДИНЕНИЕ
       |    (ВЫБРАТЬ 0 КАК c ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ
       |    ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9) КАК cc
       |    ПО ИСТИНА
       |    ПОЛНОЕ СОЕДИНЕНИЕ
       |    (ВЫБРАТЬ 0 КАК d ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ
       |    ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9) КАК dd
       |    ПО ИСТИНА
       |    ГДЕ aa.a*1000 + bb.b*100 + cc.c*10 + dd.d <= РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, День)) КАК РазностьДат
       |;
8 х86
 
24.10.12
10:31
(7)брвть = брать
9 marinakomarova1989
 
24.10.12
10:41
(8) Спасибо вам огромное за помощь)