|
Подскажите с запросом... | ☑ | ||
---|---|---|---|---|
0
morik44
24.05.13
✎
09:55
|
Хочу вывести отчёт по дебиторской задолженности контрагента в БП 2.0,
задолженностью считается суммДт, которая не закрыта СуммойКт в предыдущем месяце. Сломал уже всю голову. Вот мой запрос: ВЫБРАТЬ ДОБАВИТЬКДАТЕ(&НачалоПериода, МЕСЯЦ, ИтогЗапроса.Поле1) КАК Период ПОМЕСТИТЬ Периоды ИЗ (ВЫБРАТЬ Календарь.Поле1 КАК Поле1 ИЗ (ВЫБРАТЬ 0 КАК Поле1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 10 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 11 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 12) КАК Календарь) КАК ИтогЗапроса ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗЛИЧНЫЕ ХозрасчетныйОстаткиИОбороты.Организация, ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Контаргент, ХозрасчетныйОстаткиИОбороты.Субконто2 КАК Договор, ЕСТЬNULL(ХозрасчетныйОстаткиИОбороты.СуммаОборотДт, 0) КАК СуммаДт, КОНЕЦПЕРИОДА(ХозрасчетныйОстаткиИОбороты.Период, МЕСЯЦ) КАК КонецПериода, НАЧАЛОПЕРИОДА(ХозрасчетныйОстаткиИОбороты.Период, МЕСЯЦ) КАК НачалоПериода, ЕСТЬNULL(ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт, 0) КАК СальдоКонец, ЕСТЬNULL(ХозрасчетныйОстаткиИОбороты.СуммаОборотКт, 0) КАК СуммаКт, Периоды.Период ПОМЕСТИТЬ ОборотыПоМесяцам ИЗ Периоды КАК Периоды ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты( , , Месяц, , Счет В ИЕРАРХИИ (&Счет) И НЕ Счет В ИЕРАРХИИ (&СчетНЕ), , Организация = &Организация) КАК ХозрасчетныйОстаткиИОбороты ПО (НАЧАЛОПЕРИОДА(Периоды.Период, МЕСЯЦ) = НАЧАЛОПЕРИОДА(ХозрасчетныйОстаткиИОбороты.Период, МЕСЯЦ)) ГДЕ ХозрасчетныйОстаткиИОбороты.Субконто1 ССЫЛКА Справочник.Контрагенты И ХозрасчетныйОстаткиИОбороты.Субконто2 ССЫЛКА Справочник.ДоговорыКонтрагентов ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗЛИЧНЫЕ ХозрасчетныйОстаткиИОбороты.Организация, ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Контаргент, ХозрасчетныйОстаткиИОбороты.Субконто2 КАК Договор, ЕСТЬNULL(ХозрасчетныйОстаткиИОбороты.СуммаОборотДт, 0) КАК СуммаДт, ЕСТЬNULL(ХозрасчетныйОстаткиИОбороты.СуммаОборотКт, 0) КАК СуммаКт, ОборотыПоМесяцам.Период КАК Период, ВЫБОР КОГДА &МинусЗаНоль ТОГДА ВЫБОР КОГДА ЕСТЬNULL(ОборотыПоМесяцам.СальдоКонец, 0) < 0 ТОГДА 0 ИНАЧЕ ЕСТЬNULL(ОборотыПоМесяцам.СальдоКонец, 0) КОНЕЦ ИНАЧЕ ЕСТЬNULL(ОборотыПоМесяцам.СальдоКонец, 0) КОНЕЦ КАК СуммаНачало, ВЫБОР КОГДА &МинусЗаНоль ТОГДА ВЫБОР КОГДА ЕСТЬNULL(ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт, 0) - ЕСТЬNULL(ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт, 0) < 0 ТОГДА 0 ИНАЧЕ ЕСТЬNULL(ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт, 0) - ЕСТЬNULL(ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт, 0) КОНЕЦ ИНАЧЕ ЕСТЬNULL(ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт, 0) - ЕСТЬNULL(ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт, 0) КОНЕЦ КАК СуммаКонец, ОборотыПоМесяцам.СуммаДт КАК ОборотПрошлый, ВЫБОР КОГДА &МинусЗаНоль ТОГДА ВЫБОР КОГДА ЕСТЬNULL(ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт, 0) - ЕСТЬNULL(ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт, 0) - ОборотыПоМесяцам.СуммаДт < 0 ТОГДА 0 ИНАЧЕ ЕСТЬNULL(ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт, 0) - ЕСТЬNULL(ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт, 0) - ОборотыПоМесяцам.СуммаДт КОНЕЦ ИНАЧЕ ЕСТЬNULL(ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт, 0) - ЕСТЬNULL(ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт, 0) - ОборотыПоМесяцам.СуммаДт КОНЕЦ КАК Долг, ОборотыПоМесяцам.СуммаКт КАК СуммаКт1 ПОМЕСТИТЬ Подитог ИЗ ОборотыПоМесяцам КАК ОборотыПоМесяцам ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты( , , Месяц, , Счет В ИЕРАРХИИ (&Счет) И НЕ Счет В ИЕРАРХИИ (&СчетНЕ), , Организация = &Организация) КАК ХозрасчетныйОстаткиИОбороты ПО (ХозрасчетныйОстаткиИОбороты.Субконто1 = ОборотыПоМесяцам.Контаргент) И (ХозрасчетныйОстаткиИОбороты.Субконто2 = ОборотыПоМесяцам.Договор) И (ХозрасчетныйОстаткиИОбороты.Организация = ОборотыПоМесяцам.Организация) И (ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ХозрасчетныйОстаткиИОбороты.Период, МЕСЯЦ), МЕСЯЦ, -1) = ОборотыПоМесяцам.Период) ГДЕ ХозрасчетныйОстаткиИОбороты.Субконто1 ССЫЛКА Справочник.Контрагенты И ХозрасчетныйОстаткиИОбороты.Субконто2 ССЫЛКА Справочник.ДоговорыКонтрагентов ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Подитог.Организация, Подитог.Контаргент, Подитог.Договор, Подитог.ОборотПрошлый, Подитог.Долг, Подитог.СуммаДт, Подитог.СуммаКт, Подитог.СуммаКт - ВЫБОР КОГДА Подитог.Долг >= Подитог.СуммаКт ТОГДА Подитог.СуммаКт ИНАЧЕ ВЫБОР КОГДА Подитог.Долг <= 0 ТОГДА 0 ИНАЧЕ Подитог.СуммаКт - Подитог.Долг КОНЕЦ КОНЕЦ КАК ОплатаТекущая, ВЫБОР КОГДА Подитог.Долг >= Подитог.СуммаКт ТОГДА Подитог.СуммаКт ИНАЧЕ ВЫБОР КОГДА Подитог.Долг <= 0 ТОГДА 0 ИНАЧЕ Подитог.СуммаКт - Подитог.Долг КОНЕЦ КОНЕЦ КАК ОплатаПросрочки, Подитог.Период, Подитог.СуммаНачало, Подитог.СуммаКонец ИЗ Подитог КАК Подитог |
|||
1
morik44
24.05.13
✎
10:11
|
может кто помочь?
|
|||
2
azernot
24.05.13
✎
10:15
|
Чем помочь-то? Запрос за тебя написать? В (0) запрос отвратительный чисто по оптимальности, без анализа логики работы..
|
|||
3
morik44
24.05.13
✎
10:26
|
(2) писать за меня не надо) Направить на верную мысль)
|
|||
4
azernot
24.05.13
✎
10:29
|
(3) Направляю. Сформулируй нормально задачу. В нормальных терминах, чётко и понятно.
|
|||
5
morik44
24.05.13
✎
10:39
|
Задача: получить дебиторскую задолженность по каждому месяцу за выбранный период. Дебитрская задолженность возникает в том случае, если в прошлом месяце суммаДт привысила суммаКт.
|
|||
6
mastodont
24.05.13
✎
10:50
|
(5) счет 62-й ?
суммаДт и суммаДт это обороты? если да, то авансы их могут не хило увеличить. |
|||
7
azernot
24.05.13
✎
10:52
|
(5) Что такое суммаДт и что такое суммаКт?
|
|||
8
morik44
24.05.13
✎
10:53
|
счёт 62.01
|
|||
9
morik44
24.05.13
✎
10:53
|
СуммаОборотДт и СуммаОборотКт
|
|||
10
mastodont
24.05.13
✎
10:55
|
как-то так:?
ВЫБРАТЬ ХозрасчетныйОбороты.Субконто1 КАК Контрагент, ПРЕДСТАВЛЕНИЕ(ХозрасчетныйОбороты.Субконто1), ХозрасчетныйОбороты.Субконто2 КАК ДоговорКонтрагента, ПРЕДСТАВЛЕНИЕ(ХозрасчетныйОбороты.Субконто2), ХозрасчетныйОбороты.СуммаОборотДт, ХозрасчетныйОбороты.СуммаОборотКт, ВЫБОР КОГДА ХозрасчетныйОбороты.СуммаОборотДт > ХозрасчетныйОбороты.СуммаОборотКт ТОГДА ХозрасчетныйОбороты.СуммаОборотДт - ХозрасчетныйОбороты.СуммаОборотКт ИНАЧЕ 0 КОНЕЦ КАК Поле1 ИЗ РегистрБухгалтерии.Хозрасчетный.Обороты(, , Месяц, Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПокупателями), , Организация = &Организация, , ) КАК ХозрасчетныйОбороты |
|||
11
azernot
24.05.13
✎
10:56
|
А задолженность - это остаток по Дт на конец месяца? или разница между дебетовым оборотом этого мес яца и кредитовым предыдущего?
|
|||
12
morik44
24.05.13
✎
11:02
|
(11) ну тут не так всё просто) если есть кредитовый оборот, то он вначале идёт на погашение прошлого дебетового оборота,а остаток на погашение текущего.
|
|||
13
mastodont
24.05.13
✎
11:05
|
(12) Ну тогда могу только вернуть тебя к (4).
"Сформулируй нормально задачу. В нормальных терминах, чётко и понятно." |
|||
14
azernot
24.05.13
✎
11:06
|
(12) Ты вот подумай, надо оно кому-то из тебя клещами информацию тянуть?
ИМХО, задача, в том виде как ты её описываешь (а точнее пытаешься описать) первосортный бред. И почему-то я склонен думать, что это именно твоя интерпретация. В общем, помочь тебе невозможно по причине того, что ты сам толком не понимаешь что тебе надо. |
|||
15
morik44
24.05.13
✎
11:11
|
вот такую задачу мне поставили..
|
|||
16
azernot
24.05.13
✎
11:12
|
(15) Не ври.
|
|||
17
mastodont
24.05.13
✎
11:14
|
(15) ну тогда надо сесть с тем кто ставил задачу, что бы тебе прям по оборотке показали какие цифры откуда берутся...
|
|||
18
morik44
24.05.13
✎
11:22
|
(16) чо мне врать то))
|
|||
19
ИС-2
naïve
24.05.13
✎
11:25
|
(0) сделай ход конем. В БП есть отчет "Просроченная задолжность" - отдай буху его
|
|||
20
morik44
24.05.13
✎
11:29
|
http://clip2net.com/s/575crA
вот такая вот задача) |
|||
21
morik44
24.05.13
✎
11:33
|
(19) просроченная и нужна, не уточнил я)) вот только прочрочка считается мудрёно)
|
|||
22
mastodont
24.05.13
✎
11:46
|
(21) так а в чем мудреность-то? где это описано?
|
|||
23
morik44
24.05.13
✎
11:52
|
система такая: за услуги оказанные в январе, покупатель оплатит только в феврале, т.е. в феврале просрочки ещё нету, она возникнет в марте, если январский ДТ не полностью погашен.
|
|||
24
azernot
24.05.13
✎
11:55
|
В общем как я понимаю, формула такая
Просроченная задолженность месяца (N) = ОборотДтЗа(N-1)Месяцев - ОбоотКтЗа(N)Месяцев |
|||
25
morik44
24.05.13
✎
11:57
|
(24)грубо говоря да)
|
|||
26
mastodont
24.05.13
✎
12:01
|
(25) а если сальдо на начало-оборотКт?
|
|||
27
mastodont
24.05.13
✎
12:02
|
(26) или еще можно ориентироваться на "Документы расчетов с контрагентом". По ним можно увидеть за какой месяц не закрытая задолженность.
|
|||
28
morik44
24.05.13
✎
12:05
|
(26) их это не устраивает
|
|||
29
azernot
24.05.13
✎
12:29
|
Вот тебе основа. Дальше сам работай.
ВЫБРАТЬ ОборотыЗадолженности.Период КАК Месяц, ОборотыЗадолженности.Организация, ОборотыЗадолженности.Субконто1 КАК Контрагент, ОборотыЗадолженности.Субконто2 КАК Договор, ОборотыЗадолженности.СуммаОборотДт, ОборотыЗадолженности.СуммаОборотКт, ОборотыЗадолженности.СуммаНачальныйОстаток, ОборотыЗадолженности.СуммаКонечныйОстаток ПОМЕСТИТЬ МесячныеОбороты ИЗ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(, КОНЕЦПЕРИОДА(&ДатаКонца, МЕСЯЦ), Месяц, ДвиженияИГраницыПериода, Счет В ИЕРАРХИИ (&Счет), &МассивВидовХарактеристикКонтрагентыДоговоры, Организация = &Организация) КАК ОборотыЗадолженности ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ОстаткиИОборотыСПросроченнойЗадолженностью.Месяц, ОстаткиИОборотыСПросроченнойЗадолженностью.Организация, ОстаткиИОборотыСПросроченнойЗадолженностью.Контрагент, ОстаткиИОборотыСПросроченнойЗадолженностью.Договор, ОстаткиИОборотыСПросроченнойЗадолженностью.СуммаНачальныйОстаток, ОстаткиИОборотыСПросроченнойЗадолженностью.Выставлено, ОстаткиИОборотыСПросроченнойЗадолженностью.ВыставленоВПрошлыйМесяц, ОстаткиИОборотыСПросроченнойЗадолженностью.ПросроченнаяЗадолженость, ОстаткиИОборотыСПросроченнойЗадолженностью.Оплачено, ВЫБОР КОГДА ОстаткиИОборотыСПросроченнойЗадолженностью.ПросроченнаяЗадолженость >= ОстаткиИОборотыСПросроченнойЗадолженностью.Оплачено ТОГДА ОстаткиИОборотыСПросроченнойЗадолженностью.Оплачено ИНАЧЕ ОстаткиИОборотыСПросроченнойЗадолженностью.ПросроченнаяЗадолженость КОНЕЦ КАК ОплаченоПросроченнойЗадолженности, ВЫБОР КОГДА ОстаткиИОборотыСПросроченнойЗадолженностью.ПросроченнаяЗадолженость >= ОстаткиИОборотыСПросроченнойЗадолженностью.Оплачено ТОГДА 0 ИНАЧЕ ОстаткиИОборотыСПросроченнойЗадолженностью.Оплачено - ОстаткиИОборотыСПросроченнойЗадолженностью.ПросроченнаяЗадолженость КОНЕЦ КАК ОплаченоТекущейЗадолженности, ОстаткиИОборотыСПросроченнойЗадолженностью.СуммаКонечныйОстаток ИЗ (ВЫБРАТЬ МесячныеОбороты.Месяц КАК Месяц, МесячныеОбороты.Организация КАК Организация, МесячныеОбороты.Контрагент КАК Контрагент, МесячныеОбороты.Договор КАК Договор, МесячныеОбороты.СуммаНачальныйОстаток КАК СуммаНачальныйОстаток, МесячныеОбороты.СуммаОборотДт КАК Выставлено, СУММА(ВЫБОР КОГДА МесячныеОбороты.Месяц = НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПрошломесячныеМесячныеОбороты.Месяц, МЕСЯЦ, 1), МЕСЯЦ) ТОГДА ПрошломесячныеМесячныеОбороты.СуммаОборотДт ИНАЧЕ 0 КОНЕЦ) КАК ВыставленоВПрошлыйМесяц, ВЫБОР КОГДА СУММА(ВЫБОР КОГДА ПрошломесячныеМесячныеОбороты.Месяц ЕСТЬ NULL ИЛИ МесячныеОбороты.Месяц = НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПрошломесячныеМесячныеОбороты.Месяц, МЕСЯЦ, 1), МЕСЯЦ) ТОГДА 0 ИНАЧЕ ЕСТЬNULL(ПрошломесячныеМесячныеОбороты.СуммаОборотДт, 0) КОНЕЦ) - СУММА(ЕСТЬNULL(ПрошломесячныеМесячныеОбороты.СуммаОборотКт, 0)) > 0 ТОГДА СУММА(ВЫБОР КОГДА ПрошломесячныеМесячныеОбороты.Месяц ЕСТЬ NULL ИЛИ МесячныеОбороты.Месяц = НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПрошломесячныеМесячныеОбороты.Месяц, МЕСЯЦ, 1), МЕСЯЦ) ТОГДА 0 ИНАЧЕ ЕСТЬNULL(ПрошломесячныеМесячныеОбороты.СуммаОборотДт, 0) КОНЕЦ) - СУММА(ЕСТЬNULL(ПрошломесячныеМесячныеОбороты.СуммаОборотКт, 0)) ИНАЧЕ 0 КОНЕЦ КАК ПросроченнаяЗадолженость, МесячныеОбороты.СуммаОборотКт КАК Оплачено, МесячныеОбороты.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток ИЗ МесячныеОбороты КАК МесячныеОбороты ЛЕВОЕ СОЕДИНЕНИЕ МесячныеОбороты КАК ПрошломесячныеМесячныеОбороты ПО МесячныеОбороты.Организация = ПрошломесячныеМесячныеОбороты.Организация И МесячныеОбороты.Контрагент = ПрошломесячныеМесячныеОбороты.Контрагент И МесячныеОбороты.Договор = ПрошломесячныеМесячныеОбороты.Договор И МесячныеОбороты.Месяц > ПрошломесячныеМесячныеОбороты.Месяц ГДЕ МесячныеОбороты.Месяц МЕЖДУ НАЧАЛОПЕРИОДА(&ДатаНачала, МЕСЯЦ) И КОНЕЦПЕРИОДА(&ДатаКонца, МЕСЯЦ) СГРУППИРОВАТЬ ПО МесячныеОбороты.Месяц, МесячныеОбороты.Организация, МесячныеОбороты.Контрагент, МесячныеОбороты.Договор, МесячныеОбороты.СуммаНачальныйОстаток, МесячныеОбороты.СуммаОборотДт, МесячныеОбороты.СуммаОборотКт, МесячныеОбороты.СуммаКонечныйОстаток) КАК ОстаткиИОборотыСПросроченнойЗадолженностью УПОРЯДОЧИТЬ ПО ОстаткиИОборотыСПросроченнойЗадолженностью.Месяц |
|||
30
morik44
24.05.13
✎
12:34
|
(29) хм.. спасибо, сейчас гляну.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |