7.7 Запрос или бухгалтерский запрос?

olga13

Well-Known Member
10.10.2008
208
0
#1
Добрый день. Задача такова: необходимо сформировать отчет о доходах и расходах за период с промежуточными итогами по каждому месяцу, кварталу и с нарастающим итогом с начала года.
Пыталась сделать двумя способами: бухгалтерским запросом и просто запросом.
В бухгалтерском запросе не могу сформировать промежуточные итоги, т.к. периодичность "Проводка". Городить вложенные запросы, наверное, не очень красиво.
В обычном запросе не могу вытащить субконто. Если задать прямо (н-р, Док = Операция.Де_бет.Основание), то в запрос не попадают проводки, у которых в аналитике нет субконто "Основание".
Посоветуйте, какие есть пути решения?
 

Paume

Well-Known Member
15.12.2010
107
0
#4
Лично мое мнение - если цифры нужно вытаскивать, не зная, на каком счете и по каким субконто они лежат, то использовать бухгалтерские итоги.
Промежуточные итоги собирать в переменные, или в ТЗ или просто запросы в цикле по периодам - месяц, квартал - обрабатывать... Зависит от сложности выходной таблицы.
 

olga13

Well-Known Member
10.10.2008
208
0
#5
Лично мое мнение - если цифры нужно вытаскивать, не зная, на каком счете и по каким субконто они лежат, то использовать бухгалтерские итоги.
Промежуточные итоги собирать в переменные, или в ТЗ или просто запросы в цикле по периодам - месяц, квартал - обрабатывать... Зависит от сложности выходной таблицы.
Я, в принципе, тоже так склоняюсь к бухгалтерскому запросу. Хотя так удобно использовать группировки по периодам... Может быть, в цикл обычного запроса вложить бухгалтерский?
 

olga13

Well-Known Member
10.10.2008
208
0
#6
Ёлки, оказывается, Запрос.Месяц - это строка типа "Январь 11". И как мне из этой строки получить период в виде интервала дат?
 

vbs

Well-Known Member
18.02.2007
1 708
3
Санкт-Петербург
#7
А разве при выводе на печать "Январь 11" менее информативно, чем "01.01.2011 - 31.01.2011" ?
К тому же "Январь 11" легко превратить в "Январь 2011"... (СтрЗаменить("СтрокаЗамены"," "," 20"))
Но если уж очень хочется иметь именно второй вариант - кусочек кода написать несложно.
Например, создать ТЗ из четырех колонок :
1. Месяц (строка)
2. Год (число)
3. Начало месяца (дата)
4. Конец месяца (дата)
Ну и организовать поиск в ТЗ.
Возможны и другие способы
 

olga13

Well-Known Member
10.10.2008
208
0
#8
А разве при выводе на печать "Январь 11" менее информативно, чем "01.01.2011 - 31.01.2011" ?
К тому же "Январь 11" легко превратить в "Январь 2011"... (СтрЗаменить("СтрокаЗамены"," "," 20"))
Но если уж очень хочется иметь именно второй вариант - кусочек кода написать несложно.
Например, создать ТЗ из четырех колонок :
1. Месяц (строка)
2. Год (число)
3. Начало месяца (дата)
4. Конец месяца (дата)
Ну и организовать поиск в ТЗ.
Возможны и другие способы
Вопрос не в информативности. Я хочу период, полученный обычным запросом, использовать как интервал в бухгалтерском запросе. А там "Январь 11" не годится :)
 

Paume

Well-Known Member
15.12.2010
107
0
#10
Дату возвращает
Запрос.ЗначениеГруппировки("Месяц")
Если, конечно, по месяцу идет группировка...