Квартальный отчет с разбивкой по месяцам

1. Snatcher 05.11.07 11:50 Сейчас в теме
Ниже приведен код, который выводит обороты по счету в разрезе по субконто за квартал. Как сделать чтоб данный отчет выводил данные как за квартал так и за месяца которые входят в данный квартал?

Помогите плиззззз никак не могу решить данную проблему......

Дата1 - Начало квартала
Дата2 - Конец квартала


Ит.ВыполнитьЗапрос(Дата1, Дата2, "РПБК",,, 1,"День", "СВ");
Таб.ВывестиСекцию("Шапка");
ОбщСумма = 0;
Ит.ВыбратьСубконто(ВидыСубконто.СтатьиБюджета);
Пока Ит.ПолучитьСубконто(ВидыСубконто.СтатьиБюджета) = 1 Цикл
Ит.ВыбратьПериоды();
ИтСумма = 0;
Пока Ит.ПолучитьПериод() = 1 Цикл
СпрВал = СоздатьОбъект("Справочник.Валюты");
СпрВал.НайтиЭлемент(Константа.КонВалюта.ТекущийЭлемент());
Опер = Ит.Операция;
Если Опер.Валюта = Константа.НацВалюта Тогда
Курс = 1;
Иначе
Курс = СпрВал.КурсСом.Получить(Ит.НачДата);
КонецЕсли;
Субконто = 0;
Субконто = Ит.ДО(ВидыСубконто.СтатьиБюджета);
Сумма = Окр(?(Курс > 0,Субконто/Курс,0),2);
ИтСумма = ИтСумма +Сумма;
КонецЦикла;</BLOCKQUOTE>
Субконто = Ит.Субконто(ВидыСубконто.СтатьиБюджета);
Если Субконто.ЭтоГруппа() = 1 Тогда
Код = Субконто.ФинКод;
Таб.ВывестиСекцию("Группа1");
ИначеЕсли Субконто.ЭтоГруппа() = 0 Тогда
Код = Субконто.СубФинКод;
Таб.ВывестиСекцию("Строка");
ОбщСумма = ОбщСумма + ИтСумма;
КонецЕсли;
КонецЦикла;
Таб.ВывестиСекцию("Итого");
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. sashulyT 201 06.11.07 09:15 Сейчас в теме
В приведенном коде в упор не вижу групировки по кварталу, по дням есть.
Что б была групировка по месяцам надо писать:

Ит.ВыполнитьЗапрос(Дата1, Дата2, "РПБК",,, 1,"Месяц", "СВ");

3. Snatcher 07.11.07 14:36 Сейчас в теме
Даже если сделаю группировку по месяцам, как вывести в отчет эти месяцы???
К примеру пользователь выбирает период отчета квартал, а отчет выводит данные по месяцам (по отдельности) этого квартала......
4. sashulyT 201 07.11.07 15:14 Сейчас в теме
Поменяй местами циклы

Пока Ит.ПолучитьСубконто(ВидыСубконто.СтатьиБюджета) = 1 Цикл

и

Пока Ит.ПолучитьПериод() = 1 Цикл
5. Snatcher 08.11.07 11:16 Сейчас в теме
Я это уже делал, а как сделать чтоб информация выводилась следущим образом выходила:

Когда пользователь выберет период 4 квартал, отчет будет выглядеть примерно так.....

4 Квартал
Наименование Октябрь Ноябрь Декабрь
Субконто - 234 200 150
Субконто - 126 278 153
Субконто - 354 298 128


Как это сделать????
6. sashulyT 201 08.11.07 11:31 Сейчас в теме
т.е. ты хочешь что б оборрты по месяцам в колонках отражались?
7. Snatcher 08.11.07 13:05 Сейчас в теме
Да, наконец то меня поняли..... Спасибо.... А вот как это сделать я не пойму.
8. sashulyT 201 08.11.07 13:20 Сейчас в теме
Snatcher Написал:
-------------------------------------------------------
> Да, наконец то меня поняли..... Спасибо.... А вот
> как это сделать я не пойму.

Как же тебя понять если об этом и упоминания не было.
Что-то в этом виде:
Код
Процедура СформироватьКолонки(Таб, стр)
      Таб.ВывестиСекцию(Стр+"|Начало");
      Ит.ВыбратьПериод();
      Пока Ит.ПолучитьПериод() = 1 Цикл
             Таб.ПрисоеденитьСекцию(Стр+"|Колнка_1");

      КонецЦикла;
      Таб.ВывестиСекцию(Стр+"|Конец");

КонецПроцедуры

Процедура Сформировать()
      Таб = СоздатьОбъект("Таблица");
      Таб.ИсходнаяТаблица("Таблица");
      Ит.ВыполнитьЗапрос(Дата1, Дата2, "РПБК",,, 1,"Месяц", "СВ"); 
      Ит.ИспользоватьСубконто(ВидыСубконто.СтатьиБюджета); 

      Ит.ВыбратьСубконто(ВидыСубконто.СтатьиБюджета); 
      Пока Ит.ПолучитьСубконто(ВидыСубконто.СтатьиБюджета) = 1 Цикл 
              СформироватьКолонки(Таб, "Строка_1")
      КонецЦикла;
КонецПроцедуры

Показать полностью


Прикрепленные файлы:
9. Snatcher 08.11.07 15:08 Сейчас в теме
А в первую процедуру нужно вставлять бухгалтерский запрос (Ит.ВыполнитьЗапрос) или нет??? Если нет, выскакивает ошибка, так как не найдена переменная Ит. А если да то, не будет ли двойного пересчета так как в во второй процедуре уже есть бухгалтерский запрос........
10. sashulyT 201 08.11.07 15:24 Сейчас в теме
Это только пример, основа так сказать.

Запрос один, поэтому добавь в начало:
Перем Ит;

и не будет ошибки
11. Snatcher 08.11.07 15:31 Сейчас в теме
Блин не получилось, вообще никакой информации не выходит....
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот