Отчет на СКД. Идеи
25.10.2011
19:04
#1
Здравствуйте,
Подкиньте, пожалуйста, идеи, как организовать запрос в отчете.
Работаем в УПП 1.3
Суть в следующем:
В результате одного влож.запроса "А" получается набор след. информации:
- ПериодАкта
- Контрагент
- Организация
и т.д. (остальные поля не важны)
Дальше по регистру накопления "ВзаиморасчетыСКонтрагентами" нужно получить остатки на каждый из периодов влож.запроса "А" (-ПериодАкта), также в разрезе контрагента и организации.
Подскажите идею, как это можно сделать одним запросом или может как-то по-другому??? Использую СКД.
Спасибо всем за отклик! Буду очень признателен за помощь!!!
Подкиньте, пожалуйста, идеи, как организовать запрос в отчете.
Работаем в УПП 1.3
Суть в следующем:
В результате одного влож.запроса "А" получается набор след. информации:
- ПериодАкта
- Контрагент
- Организация
и т.д. (остальные поля не важны)
Дальше по регистру накопления "ВзаиморасчетыСКонтрагентами" нужно получить остатки на каждый из периодов влож.запроса "А" (-ПериодАкта), также в разрезе контрагента и организации.
Подскажите идею, как это можно сделать одним запросом или может как-то по-другому??? Использую СКД.
Спасибо всем за отклик! Буду очень признателен за помощь!!!
25.10.2011
21:08
#2
"Нужна таблица "ОстаткиИОбороты". В ней есть периоды "Начало", "Конец", "ДатаДвижения". Берется начальный остаток. Таблица соединяется с таблицей твоих периодов по принципу "ПериоРегистра" <= "ТвойПериод". Группируются периоды суммируя движения. Конечный остаток получается как начальный остаток + движения. Например:
1) Есть периоды 1, 10, 25, 30.
2) Есть регистр нач = 100, приход на 2-е + 40, расход на 4-е -30, приход на 17-е +40, расход на 28-е -60.
3) Смотрим данные за период с 1-го по 30-е.
4) По соединению получаем
Твой -- Движения Регистра
1-е -- Движ = 0 - Ост = 100 (начальный) + Движ = 100 (конечный)
10-е -- Движ (+40 - 30) = +10; 100 (нач.) + 10 = 110 (конечный)
25-е -- Движ (+40 - 30 + 40) = +50; 100 (нач.) + 50 = 150 (конечный)
30-е -- Движ (+40 -30 +40 -60) = -10; 100 (нач.) - 10 = 90 (конечный)"
1) Есть периоды 1, 10, 25, 30.
2) Есть регистр нач = 100, приход на 2-е + 40, расход на 4-е -30, приход на 17-е +40, расход на 28-е -60.
3) Смотрим данные за период с 1-го по 30-е.
4) По соединению получаем
Твой -- Движения Регистра
1-е -- Движ = 0 - Ост = 100 (начальный) + Движ = 100 (конечный)
10-е -- Движ (+40 - 30) = +10; 100 (нач.) + 10 = 110 (конечный)
25-е -- Движ (+40 - 30 + 40) = +50; 100 (нач.) + 50 = 150 (конечный)
30-е -- Движ (+40 -30 +40 -60) = -10; 100 (нач.) - 10 = 90 (конечный)"
26.10.2011
11:09
#3
спасибо попробую!
А не подскажите, В СКД в настройке для периода можно сделать дополнение по дням, месяцам и так далее. А можно ли так сделать с помощью запроса? чтобы получить таблицу со всеми датами и дальше с ней работать также в запросе, а в настройке СКД - это уже заключительный этап ведь...
спасибо
А не подскажите, В СКД в настройке для периода можно сделать дополнение по дням, месяцам и так далее. А можно ли так сделать с помощью запроса? чтобы получить таблицу со всеми датами и дальше с ней работать также в запросе, а в настройке СКД - это уже заключительный этап ведь...
спасибо
26.10.2011
11:44
#4
Нет, дополнение дат в запросе настраивается, но результат Вы получите только при обходе выборки из запроса.
Даты можно либо через регламентированный календарь выбрать (если типовая конфигурация), либо посмотрите здесь
Даты можно либо через регламентированный календарь выбрать (если типовая конфигурация), либо посмотрите здесь
26.10.2011
17:51
#5
"Твой -- Движения Регистра"
Вы знаете в моем влож. запросе получаются не движения регистра "Взаиморасчет с контрагентами"... поэтому честно говоря я не совсем понял Вашу идею тогда...
В моем влож. запросе. приходят данные по актам сверки с контрагентами.
Например:
Дата акта/Контрагент/Организация/Сумма
01.04.11/КонтрагентА/ОрганизацияА/1000 р.
05.05.11/КонтрагентА/ОрганизацияА/500р
Дата акта не совпадает с движениями по регистру "Взаиморасчеты с к-ми"....или я Вас не правильно понял?
Спасибо
Вы знаете в моем влож. запросе получаются не движения регистра "Взаиморасчет с контрагентами"... поэтому честно говоря я не совсем понял Вашу идею тогда...
В моем влож. запросе. приходят данные по актам сверки с контрагентами.
Например:
Дата акта/Контрагент/Организация/Сумма
01.04.11/КонтрагентА/ОрганизацияА/1000 р.
05.05.11/КонтрагентА/ОрганизацияА/500р
Дата акта не совпадает с движениями по регистру "Взаиморасчеты с к-ми"....или я Вас не правильно понял?
Спасибо
26.10.2011
21:14
#6
И не нужно чтобы совпадали.
Допустим запрос по Актам дал нам одну запись:
Акт№1 - 10.10.2011
Запрос по движениям дает нам
01.10.2011 - +40 руб
02.10.2011 - -25 руб
07.10.2011 - +60 руб
Делаем левое соединение записей 1-го запроса со вторым по условию
ДатаДвижения <= ДатаАкта
Получим записи
Акт№1 - 10.10.2011 - 01.10.2011 - +40
Акт№1 - 10.10.2011 - 02.10.2011 - -25
Акт№1 - 10.10.2011 - 07.10.2011 - +60
Группируем их по Акту и ДатеАкта, суммируя движения. Получим записи
Акт№1 - 10.10.2011 - 75
Прибавим 75 к начальному остатку на 01.10.2011 и получим остаток на 10.10.2011.
Допустим запрос по Актам дал нам одну запись:
Акт№1 - 10.10.2011
Запрос по движениям дает нам
01.10.2011 - +40 руб
02.10.2011 - -25 руб
07.10.2011 - +60 руб
Делаем левое соединение записей 1-го запроса со вторым по условию
ДатаДвижения <= ДатаАкта
Получим записи
Акт№1 - 10.10.2011 - 01.10.2011 - +40
Акт№1 - 10.10.2011 - 02.10.2011 - -25
Акт№1 - 10.10.2011 - 07.10.2011 - +60
Группируем их по Акту и ДатеАкта, суммируя движения. Получим записи
Акт№1 - 10.10.2011 - 75
Прибавим 75 к начальному остатку на 01.10.2011 и получим остаток на 10.10.2011.
Читают тему
(гостей: 1)