|
Выборка документов. Недостаточно памяти | ☑ | ||
---|---|---|---|---|
0
ИУБиПовиц
16.08.12
✎
13:03
|
Здравствуйт. Имеется дописанная БП 2.0.33.7 на базе платформы 8.2.15.301. Имеется документ график. В нем поля контрагент, договор и тч в которой дата платежа и сальдо. по каждому договору может быть несколько графиков, последний -актуальный. Мне нужно выяснить на сколько изменились обязательства клиентов в суммарном выражении. Документов не так много, но вылетает ошибка недостаточно памяти на периоде в год.
Вот сам запрос: ВЫБРАТЬ Изм_ГрафикЗаймаСведенияОЗайме.Ссылка КАК Ссылка, Изм_ГрафикЗаймаСведенияОЗайме.ДатаПлатежа, Изм_ГрафикЗаймаСведенияОЗайме.Сальдо ПОМЕСТИТЬ графики ИЗ (ВЫБРАТЬ Изм_ГрафикЗаймаСведенияОЗайме.Ссылка КАК Ссылка, МАКСИМУМ(Изм_ГрафикЗаймаСведенияОЗайме.ДатаПлатежа) КАК ДатаПлатежа ИЗ Документ.Изм_ГрафикЗайма.СведенияОЗайме КАК Изм_ГрафикЗаймаСведенияОЗайме ГДЕ Изм_ГрафикЗаймаСведенияОЗайме.Ссылка.Проведен = ИСТИНА И Изм_ГрафикЗаймаСведенияОЗайме.ДатаПлатежа <= &ПериодПо СГРУППИРОВАТЬ ПО Изм_ГрафикЗаймаСведенияОЗайме.Ссылка) КАК Максимумдата ЛЕВОЕ СОЕДИНЕНИЕ Документ.Изм_ГрафикЗайма.СведенияОЗайме КАК Изм_ГрафикЗаймаСведенияОЗайме ПО Максимумдата.ДатаПлатежа = Изм_ГрафикЗаймаСведенияОЗайме.ДатаПлатежа ГДЕ Изм_ГрафикЗаймаСведенияОЗайме.Ссылка.Проведен = ИСТИНА И Изм_ГрафикЗаймаСведенияОЗайме.ДатаПлатежа <= &ПериодПо СГРУППИРОВАТЬ ПО Изм_ГрафикЗаймаСведенияОЗайме.Ссылка, Изм_ГрафикЗаймаСведенияОЗайме.ДатаПлатежа, Изм_ГрафикЗаймаСведенияОЗайме.Сальдо ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ МИНИМУМ(Изм_ГрафикЗайма.Ссылка) КАК Ссылка, Изм_ГрафикЗайма.ДоговорКонтрагента, Изм_ГрафикЗайма.Организация, Изм_ГрафикЗайма.Контрагент, Изм_ГрафикЗайма.ДоговорКонтрагента КАК ДоговорКонтрагента1, Изм_ГрафикЗайма.ПервДог, Изм_ГрафикЗайма.ПервичноеРаспределение, ЕСТЬNULL(графики.Сальдо, 0) КАК СуммаПервая ПОМЕСТИТЬ ПервыйГрафик ИЗ графики КАК графики ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ МАКСИМУМ(Изм_ГрафикЗайма.Дата) КАК Дата, Изм_ГрафикЗайма.ДоговорКонтрагента КАК ДоговорКонтрагента, Изм_ГрафикЗайма.Ссылка КАК Ссылка ИЗ Документ.Изм_ГрафикЗайма КАК Изм_ГрафикЗайма ГДЕ Изм_ГрафикЗайма.Проведен = ИСТИНА И Изм_ГрафикЗайма.Дата МЕЖДУ &ПериодС И &ПериодПо СГРУППИРОВАТЬ ПО Изм_ГрафикЗайма.ДоговорКонтрагента, Изм_ГрафикЗайма.Ссылка) КАК График ЛЕВОЕ СОЕДИНЕНИЕ Документ.Изм_ГрафикЗайма КАК Изм_ГрафикЗайма ПО График.Дата = Изм_ГрафикЗайма.Дата И График.ДоговорКонтрагента = Изм_ГрафикЗайма.ДоговорКонтрагента ПО графики.Ссылка = График.Ссылка ГДЕ Изм_ГрафикЗайма.Проведен = ИСТИНА И Изм_ГрафикЗайма.Дата МЕЖДУ &ПериодС И &ПериодПо СГРУППИРОВАТЬ ПО Изм_ГрафикЗайма.ДоговорКонтрагента, Изм_ГрафикЗайма.Организация, Изм_ГрафикЗайма.Контрагент, Изм_ГрафикЗайма.ПервДог, Изм_ГрафикЗайма.ПервичноеРаспределение, ЕСТЬNULL(графики.Сальдо, 0), Изм_ГрафикЗайма.ДоговорКонтрагента ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Изм_ГрафикЗайма.Ссылка КАК Ссылка, Изм_ГрафикЗайма.ДоговорКонтрагента, Изм_ГрафикЗайма.Организация, Изм_ГрафикЗайма.Контрагент, Изм_ГрафикЗайма.ПервДог, Изм_ГрафикЗайма.ПервичноеРаспределение, ЕСТЬNULL(графики.Сальдо, 0) КАК Суммаотсрочки ПОМЕСТИТЬ последнийГрафик ИЗ графики КАК графики ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ МИНИМУМ(Изм_ГрафикЗайма.Дата) КАК Дата, Изм_ГрафикЗайма.ДоговорКонтрагента КАК ДоговорКонтрагента, Изм_ГрафикЗайма.Ссылка КАК Ссылка ИЗ Документ.Изм_ГрафикЗайма КАК Изм_ГрафикЗайма ГДЕ Изм_ГрафикЗайма.Проведен = ИСТИНА И Изм_ГрафикЗайма.Дата МЕЖДУ &ПериодС И &ПериодПо СГРУППИРОВАТЬ ПО Изм_ГрафикЗайма.ДоговорКонтрагента, Изм_ГрафикЗайма.Ссылка) КАК График ЛЕВОЕ СОЕДИНЕНИЕ Документ.Изм_ГрафикЗайма КАК Изм_ГрафикЗайма ПО График.Дата = Изм_ГрафикЗайма.Дата И График.ДоговорКонтрагента = Изм_ГрафикЗайма.ДоговорКонтрагента ПО графики.Ссылка = График.Ссылка ГДЕ Изм_ГрафикЗайма.Проведен = ИСТИНА И Изм_ГрафикЗайма.Дата МЕЖДУ &ПериодС И &ПериодПо СГРУППИРОВАТЬ ПО Изм_ГрафикЗайма.ДоговорКонтрагента, Изм_ГрафикЗайма.Ссылка, Изм_ГрафикЗайма.Организация, Изм_ГрафикЗайма.Контрагент, Изм_ГрафикЗайма.ПервДог, Изм_ГрафикЗайма.ПервичноеРаспределение, ЕСТЬNULL(графики.Сальдо, 0) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПервыйГрафик.ДоговорКонтрагента, ПервыйГрафик.Организация, ПервыйГрафик.Контрагент, ПервыйГрафик.ПервДог, ПервыйГрафик.ПервичноеРаспределение, последнийГрафик.Ссылка КАК ПоследнийДок, ПервыйГрафик.Ссылка КАК ПервыйДок, -(ПервыйГрафик.СуммаПервая - последнийГрафик.Суммаотсрочки) КАК Сумма ИЗ графики КАК графики, ПервыйГрафик КАК ПервыйГрафик ПОЛНОЕ СОЕДИНЕНИЕ последнийГрафик КАК последнийГрафик ПО ПервыйГрафик.ДоговорКонтрагента = последнийГрафик.ДоговорКонтрагента |
|||
1
ИУБиПовиц
16.08.12
✎
13:09
|
подозреваю, что дело в полном соединении первого и последнего графика
|
|||
2
ИУБиПовиц
16.08.12
✎
13:13
|
А все, разобрался.
|
|||
3
lex-kex
16.08.12
✎
13:14
|
Сам спросил, сам ответил и сам разобрался )
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |