Имя: Пароль:
1C
1С v8
СКД НаборДанных параметром в НаборДанных2
,
0 Aradel3d
 
25.01.16
11:49
Добрый день!
Делаю отчет на СКД, возникла проблема со связыванием наборов данных, нужно получить остатки из РН на даты из НабораДанных1.
Подскажите что не так (тестовые объекты):

//Набор1

ВЫБРАТЬ
        Док.Ссылка,
    Док.Дата
ИЗ
    Документ.Док КАК Док

//Набор2

ВЫБРАТЬ
    РегистрНакопления1Остатки.СуммаОстаток,
    &ПараметрДата КАК ПараметрДата
ИЗ
    РегистрНакопления.РегистрНакопления1.Остатки(&ПараметрДата, ) КАК РегистрНакопления1Остатки

В связях:
ВыражениеИсточник Дата
ВыражениеПриемник ПараметрДата

Книга знаний: Срез последних на каждую дату в запросе - на основе этого материала.
Параметр ПараметрДата
1 aleks_default
 
25.01.16
11:54
(0)Это только для регистров сведений работает, у регистра накопления нет виртуальной таблицы "срез последних"
2 aleks_default
 
25.01.16
11:55
Делай первым способом
3 Defender aka LINN
 
25.01.16
12:05
(1) Таки шо ви говорите...
4 Defender aka LINN
 
25.01.16
12:05
(0) "Передавать данные в параметр" указал?
5 Aradel3d
 
25.01.16
12:13
(4) Видимо нет, не подскажите где этот флаг?
6 aleks_default
 
25.01.16
12:14
(3)Да неужели?
7 Defender aka LINN
 
25.01.16
12:50
(5) http://screencast.com/t/vWI72nts398
(6) Как автор способа через СКД в статье из (0) таки ответственно заявляю.
8 aleks_default
 
25.01.16
12:57
Дык, почему бы в статье тогда именно пример с регистром накопления остатков сделать, а не с набившим оскомину срезом последних.
Что-то я нигде не встречал именно такого примера. Когда-то пытался сам делать но не взлетело у меня...
9 Defender aka LINN
 
25.01.16
20:54
(8) Какбе потому, что разницы нет никакой вообще в принципе. Или ты считаешь, что 1С параметр для виртуальной таблицы среза примет, а для другой, не менее виртуальной, таблицы остатков - нет?
10 Aradel3d
 
26.01.16
05:44
(7) Этот параметр задан. Я вчера еще повозился, не смог, гляньте пожалуйста. На тестовой пустой базе, в более простых условиях (первый набор - документы с датами, второй набор остатки) все работало, даты передавались параметрами, единственно там не участвовали ни контрагенты, ни документы.
Еще я выявил зависимость &Периода и результатов второго набора, хотя во втором запросе к срезу остатков этот параметр не используется… предположу, что в этом и кроется разгадка, но мне она пока не очевидна.

http://i75.fastpic.ru/big/2016/0126/2e/6b5595bb37dbc16fd42f2d5a7448d72e.jpg

НаборДанных1

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

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
                ПланПерваяПоловина.Дата,
                ПланПерваяПоловина.Контрагент,
                ПланПерваяПоловина.НаименованиеДокумента,
                ПланПерваяПоловина.Сумма,
                План.УсловияПоставки,
                План.ДатаОплаты,
                План.ПроцентПлатежаОстаток,
                План.ДокументОплаты
ИЗ
                ПланПерваяПоловина КАК ПланПерваяПоловина
                               ЛЕВОЕ СОЕДИНЕНИЕ План КАК План
                               ПО ПланПерваяПоловина.Контрагент = План.Контрагент
                                               И ПланПерваяПоловина.НаименованиеДокумента = План.НаименованиеДокумента


НаборДанных2

ВЫБРАТЬ
                &ПериодРН КАК ПериодРН,
                ФактОплатаЗаказовИПоступленийОстатки.ДокументРасчетовСКонтрагентом,
                ФактОплатаЗаказовИПоступленийОстатки.ДоговорКонтрагента,
                ФактОплатаЗаказовИПоступленийОстатки.Контрагент,
                ФактОплатаЗаказовИПоступленийОстатки.СуммаВзаиморасчетовОстаток КАК ТекущаяЗадолженность,
                ВЫБОР
                               КОГДА ФактОплатаЗаказовИПоступленийОстатки.СуммаВзаиморасчетовОстаток > 0
                                               ТОГДА РАЗНОСТЬДАТ(&ПериодРН, &Период, ДЕНЬ)
                               ИНАЧЕ 0
                КОНЕЦ КАК СрокПросрочки
ИЗ
                РегистрНакопления.ФактОплатаЗаказовИПоступлений.Остатки(
                                               &ПериодРН,
                                               ВЫБОР
                                                               КОГДА &Контрагент = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
                                                                              ТОГДА ИСТИНА
                                                               ИНАЧЕ Контрагент = &Контрагент
                                               КОНЕЦ) КАК ФактОплатаЗаказовИПоступленийОстатки
11 Aradel3d
 
26.01.16
12:31
Напомню (хотя запилил не скд отчет с использованием программной обработки двух запросов) просто интересно узнать причину.