Имя: Пароль:
1C
1С v8
Связанный запрос не отображает данные
0 Aramis
 
22.06.12
10:21
Подскажите, пожалуйста, как быть: есть связанный запрос по двум регистрам. На момент выборки по регистру накопления "Взносы" есть данные, а по регистру сведений "График платежей" нет данных. Регистры связаны левым соединением с преимуществом регистра накопления. В результате выполнения данного запроса, отчет не отображает данные по взносам, хотя без связи, а просто запросом к одному регистру он их отображает.

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

СГРУППИРОВАТЬ ПО
   ГрафикПлатежейДСПСрезПоследних.Договор,
   ГрафикПлатежейДСПСрезПоследних.Объект,
   ГрафикПлатежейДСПСрезПоследних.Программа,
   ГрафикПлатежейДСПСрезПоследних.Риск
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВзносыДСП.Договор КАК Договор,
   ВзносыДСП.Объект КАК Объект,
   ВзносыДСП.Программа КАК Программа,
   ВзносыДСП.Риск КАК Риск,
   СУММА(ВЫБОР
           КОГДА ВзносыДСП.Период < ДАТАВРЕМЯ(2008, 1, 1)
               ТОГДА ВзносыДСП.ВзносОборот
           ИНАЧЕ 0
       КОНЕЦ) КАК ВзносДо2008,
   СУММА(ВзносыДСП.ВзносОборот) КАК Взнос
ПОМЕСТИТЬ Взносы
ИЗ
   РегистрНакопления.ВзносыДСП.Обороты(, &КонецПериода, Год, Договор = &Договор) КАК ВзносыДСП

СГРУППИРОВАТЬ ПО
   ВзносыДСП.Объект,
   ВзносыДСП.Программа,
   ВзносыДСП.Риск,
   ВзносыДСП.Договор
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   Взносы.Договор КАК Договор,
   Взносы.Объект КАК Объект,
   Взносы.Программа КАК Программа,
   Взносы.Риск КАК Риск,
   Взносы.ВзносДо2008 КАК ВзносДо2008,
   ВЫБОР
       КОГДА Взносы.Взнос > ЕСТЬNULL(ГрафикПлатежей.Премия, 0)
           ТОГДА ЕСТЬNULL(ГрафикПлатежей.Премия, 0)
       ИНАЧЕ Взносы.Взнос
   КОНЕЦ - Взносы.ВзносДо2008 КАК ВзносПосле2008,
   ВЫБОР
       КОГДА Взносы.Взнос > ЕСТЬNULL(ГрафикПлатежей.Премия, 0)
           ТОГДА ЕСТЬNULL(ГрафикПлатежей.Премия, 0)
       ИНАЧЕ Взносы.Взнос
   КОНЕЦ КАК Взнос
ИЗ
   Взносы КАК Взносы
       ПОЛНОЕ СОЕДИНЕНИЕ ГрафикПлатежей КАК ГрафикПлатежей
       ПО Взносы.Договор = ГрафикПлатежей.Договор
           И Взносы.Объект = ГрафикПлатежей.Объект
           И Взносы.Программа = ГрафикПлатежей.Программа
           И Взносы.Риск = ГрафикПлатежей.Риск
1 Ненавижу 1С
 
гуру
22.06.12
10:23
"связаны левым соединением с преимуществом регистра накопления"

ну я вижу ПОЛНОЕ, а что такое "с преимуществом регистра накопления"?
2 viktor_vv
 
22.06.12
10:26
(0) Ты точно уверен, что по договору есть данные по взносам ? Убери соединение, посмотри результат. Там не в соединение дело.
3 viktor_vv
 
22.06.12
10:27
(2)+ Не дочитал сабж.
4 Aramis
 
22.06.12
10:28
Ну, полное, это я уже экспериментировал. Что касается "с преимуществом регистра накопления", то это я просто так описал Левое соединение


Взносы КАК Взносы
       ЛЕВОЕ СОЕДИНЕНИЕ ГрафикПлатежей КАК ГрафикПлатежей
       ПО Взносы.Договор = ГрафикПлатежей.Договор
           И Взносы.Объект = ГрафикПлатежей.Объект
           И Взносы.Программа = ГрафикПлатежей.Программа
5 viktor_vv
 
22.06.12
10:30
А не отображает это как ? Вообще строки не выводит или какие-то поля не заполнены?
6 Aramis
 
22.06.12
10:38
(5) Дружище, спасибо за подсказку. Я понял, в чем проблема: в том, что у меня
"ВЫБОР
       КОГДА Взносы.Взнос > ЕСТЬNULL(ГрафикПлатежей.Премия, 0)
           ТОГДА ЕСТЬNULL(ГрафикПлатежей.Премия, 0)
       ИНАЧЕ Взносы.Взнос
   КОНЕЦ - Взносы.ВзносДо2008 КАК Взнос"
Сборная солянка из реквизитов, отсюда ничего и не отображает, а если просто вывожу
"Взносы.Взнос КАК Взнос", то данные видны.
7 Жан Пердежон
 
22.06.12
10:43
мде