|
Запрос, показывающий возникновение и прекращение задолженности в УТ 10 | ☑ | ||
---|---|---|---|---|
0
Obliterator
10.04.17
✎
13:05
|
Всем привет!
Стоит задача - в УТ 10 (10.3.37.1) написать запрос, показывающий по выбранному договору и за выбранный период даты возникновения и окончания задолженности, в итоге нужно получить таблицу вида: https://docs.google.com/spreadsheets/d/1swilTDOXzhFequ7lpLb3PdaWV3cAx5qgVb2Dx7AUPyA/edit?usp=sharing Пишу такой запрос: ВЫБРАТЬ Взаиморасчеты.СуммаВзаиморасчетовНачальныйОстаток, Взаиморасчеты.СуммаВзаиморасчетовОборот, Взаиморасчеты.СуммаВзаиморасчетовКонечныйОстаток, Взаиморасчеты.Регистратор КАК Регистратор, ВЫБОР КОГДА Взаиморасчеты.СуммаВзаиморасчетовКонечныйОстаток > 0 И Взаиморасчеты.СуммаВзаиморасчетовНачальныйОстаток <= 0 ТОГДА Взаиморасчеты.Период ИНАЧЕ 0 КОНЕЦ КАК ДолгПоявился, ВЫБОР КОГДА Взаиморасчеты.СуммаВзаиморасчетовКонечныйОстаток <= 0 И Взаиморасчеты.СуммаВзаиморасчетовНачальныйОстаток > 0 ТОГДА Взаиморасчеты.Период ИНАЧЕ 0 КОНЕЦ КАК ДолгЗакрылся, ВЫБОР КОГДА Взаиморасчеты.СуммаВзаиморасчетовКонечныйОстаток > 0 И Взаиморасчеты.СуммаВзаиморасчетовНачальныйОстаток <= 0 ТОГДА Взаиморасчеты.Регистратор ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ КАК ДолгПоявился_Регистратор, ВЫБОР КОГДА Взаиморасчеты.СуммаВзаиморасчетовКонечныйОстаток <= 0 И Взаиморасчеты.СуммаВзаиморасчетовНачальныйОстаток > 0 ТОГДА Взаиморасчеты.Регистратор ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ КАК ДолгЗакрылся_Регистратор ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&Дата1, &Дата2, Регистратор, , ДоговорКонтрагента = &ДоговорКонтрагента) КАК Взаиморасчеты УПОРЯДОЧИТЬ ПО Регистратор АВТОУПОРЯДОЧИВАНИЕ Получаю такой результат: https://drive.google.com/file/d/0B6F_pZSHKOpsWTVILVhLSFl0SU0/view?usp=sharing Не получается объединить полученные данные в таблицу нужного вида. Что я делаю не так? Как написать запрос так, чтобы получилась таблица нужного вида? |
|||
1
Альбатрос
10.04.17
✎
13:08
|
Соединять надо
|
|||
2
Альбатрос
10.04.17
✎
13:09
|
А вобще нужен учет по документам расчетов и все
|
|||
3
Obliterator
10.04.17
✎
13:10
|
(1) Что соединять? Как? Можете подсказать? Думаю, не могу сообразить.
|
|||
4
Obliterator
10.04.17
✎
13:19
|
Что с чем нужно объединить? Выбрать отдельно регистраторы с началом и окончанием задолженности и сделать объединение?
|
|||
5
Альбатрос
10.04.17
✎
13:22
|
(4) Не объединение, а соединение
|
|||
6
Альбатрос
10.04.17
✎
13:23
|
А вот по какому условию соединять хз. А чо тебе (2) не нравится?
|
|||
7
Obliterator
10.04.17
✎
14:00
|
(6) Клиенту не нравится.
|
|||
8
Obliterator
10.04.17
✎
14:01
|
(5) То есть, выбрать сначала с датами открытия задолженности, и левое соединение с датами закрытия? Или как?
|
|||
9
Злопчинский
10.04.17
✎
14:04
|
Посмотри на ИС у Ильдаровича
|
|||
10
Obliterator
10.04.17
✎
14:07
|
(9) Пардон, если глупый вопрос, но что это за ИС у Ильдаровича?
|
|||
11
DrShad
10.04.17
✎
14:09
|
(10) ИС 7 )))
|
|||
12
Numerus Mikhail
10.04.17
✎
14:14
|
||||
13
Arutynov
10.04.17
✎
15:38
|
Может глупо но по быстрому:
ВЫБРАТЬ Взаиморасчеты.Регистратор.ДокументОснование КАК ДолгПоявилсяРегистратор, ВЫБОР КОГДА Взаиморасчеты.СуммаВзаиморасчетовРасход > 0 ТОГДА Взаиморасчеты.Регистратор КОНЕЦ КАК ДолгЗакрылсяРегистратор, Взаиморасчеты.Регистратор.ДокументОснование.СуммаДокумента, Взаиморасчеты.СуммаВзаиморасчетовРасход, Взаиморасчеты.Регистратор.ДокументОснование.Дата КАК ДолгПоявился, ВЫБОР КОГДА Взаиморасчеты.СуммаВзаиморасчетовРасход > 0 ТОГДА Взаиморасчеты.Регистратор.Дата КОНЕЦ КАК ДолгЗакрылся, ДЕНЬ(Взаиморасчеты.Регистратор.ДокументОснование.Дата) КАК ДеньПоявился, ДЕНЬ(ВЫБОР КОГДА Взаиморасчеты.СуммаВзаиморасчетовРасход > 0 ТОГДА Взаиморасчеты.Регистратор.Дата КОНЕЦ) КАК ДеньЗакрылся ПОМЕСТИТЬ Временная ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&Дата1, &Дата2, Регистратор, , ДоговорКонтрагента = &ДоговорКонтрагента) КАК Взаиморасчеты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Временная.ДолгПоявилсяРегистратор, Временная.ДолгЗакрылсяРегистратор, Временная.ДолгПоявился, Временная.ДолгЗакрылся, Временная.ДеньЗакрылся - Временная.ДеньПоявился КАК КоличествоДней ИЗ Временная КАК Временная |
|||
14
Obliterator
10.04.17
✎
16:03
|
Сделали вот так, может поможет кому...
ВЫБРАТЬ ВЫБОР КОГДА Взаиморасчеты.СуммаВзаиморасчетовКонечныйОстаток > 0 И Взаиморасчеты.СуммаВзаиморасчетовНачальныйОстаток <= 0 ТОГДА Взаиморасчеты.Период ИНАЧЕ 0 КОНЕЦ КАК ДолгПоявился, ВЫБОР КОГДА Взаиморасчеты.СуммаВзаиморасчетовКонечныйОстаток > 0 И Взаиморасчеты.СуммаВзаиморасчетовНачальныйОстаток <= 0 ТОГДА Взаиморасчеты.Регистратор ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ КАК ДолгПоявился_Регистратор ПОМЕСТИТЬ Вт_Появление ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&Дата1, &Дата2, Регистратор, , ДоговорКонтрагента = &ДоговорКонтрагента) КАК Взаиморасчеты ГДЕ Взаиморасчеты.СуммаВзаиморасчетовКонечныйОстаток > 0 И Взаиморасчеты.СуммаВзаиморасчетовНачальныйОстаток <= 0 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВЫБОР КОГДА Взаиморасчеты.СуммаВзаиморасчетовКонечныйОстаток <= 0 И Взаиморасчеты.СуммаВзаиморасчетовНачальныйОстаток > 0 ТОГДА Взаиморасчеты.Период ИНАЧЕ 0 КОНЕЦ КАК ДатаЗакрылся, ВЫБОР КОГДА Взаиморасчеты.СуммаВзаиморасчетовКонечныйОстаток <= 0 И Взаиморасчеты.СуммаВзаиморасчетовНачальныйОстаток > 0 ТОГДА Взаиморасчеты.Регистратор ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ КАК ЗакрылсяРегистратор ПОМЕСТИТЬ Вт_Закрытие ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&Дата1, &Дата2, Регистратор, , ДоговорКонтрагента = &ДоговорКонтрагента) КАК Взаиморасчеты ГДЕ Взаиморасчеты.СуммаВзаиморасчетовКонечныйОстаток <= 0 И Взаиморасчеты.СуммаВзаиморасчетовНачальныйОстаток > 0 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Вт_Появление.ДолгПоявился КАК ДолгПоявился_свзь, Вт_Появление.ДолгПоявился_Регистратор, МИНИМУМ(Вт_Закрытие.ДатаЗакрылся) КАК ДатаЗакрылся ПОМЕСТИТЬ ВТ_Данные ИЗ Вт_Появление КАК Вт_Появление ПОЛНОЕ СОЕДИНЕНИЕ Вт_Закрытие КАК Вт_Закрытие ПО Вт_Появление.ДолгПоявился <= Вт_Закрытие.ДатаЗакрылся СГРУППИРОВАТЬ ПО Вт_Появление.ДолгПоявился_Регистратор, Вт_Появление.ДолгПоявился ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_Данные.ДатаЗакрылся, Вт_Закрытие.ЗакрылсяРегистратор, ВТ_Данные.ДолгПоявился_Регистратор, ВТ_Данные.ДолгПоявился_свзь ПОМЕСТИТЬ ВТ_Буфер ИЗ Вт_Закрытие КАК Вт_Закрытие ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Данные КАК ВТ_Данные ПО Вт_Закрытие.ДатаЗакрылся = ВТ_Данные.ДатаЗакрылся ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Вт_Появление.ДолгПоявился, Вт_Появление.ДолгПоявился_Регистратор, ВТ_Буфер.ДатаЗакрылся, ВТ_Буфер.ЗакрылсяРегистратор ИЗ Вт_Появление КАК Вт_Появление ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Буфер КАК ВТ_Буфер ПО Вт_Появление.ДолгПоявился = ВТ_Буфер.ДолгПоявился_свзь И Вт_Появление.ДолгПоявился_Регистратор = ВТ_Буфер.ДолгПоявился_Регистратор Всем спасибо! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |