Форум программистов, компьютерный форум, киберфорум
Наши страницы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/74: Рейтинг темы: голосов - 74, средняя оценка - 5.00
myyroromomtyk
0 / 0 / 0
Регистрация: 17.09.2009
Сообщений: 5
1

Разбивка по периодам внутри бух.итогов

21.09.2009, 07:18. Просмотров 13488. Ответов 6
Метки нет (Все метки)

Добрый день!
Нужно реализовать возможность разбивки по периодам внутри периода с детализацтей по дням, неделям, декадам, месяцам и т.п.
Получаю через форму значение из списка значений. Затем делаю запрос.
Итоги.ВыполнитьЗапрос(начдата, кондата, "10.1", , , , , период) // период - переменная, которая получает выбранное через форму значение.
Ит.ВыбратьСубконто();
Пока Ит.ПолучитьСубконто()=1 цикл
Ит.ВыбратьПериоды(0)
Пока Ит.ПолучитьПериод()=1 цикл
П=Ит.ПолучитьПериод;
..........................................
.....................................
КонецЦикла;
КонецЦикла
По условию задачи должна быть возможность детализации по дням, неделям и т.п. внутри периода. Возможность развбивки по периодам реализована
на форме с помощью флажка. Если флажок снят, нет разбивки по периодам внутри периода и наоборот, т.е. выполняются в коде два разных
условия, в каждом свой запрос. В последнем случае в запросе указан параметр "периодичность". Но разницы в случае работы того или иного условия в печатной форме нет. Загводка еще в том, что я не до конца понимаю каким должен быть результат в случае разбивки по периодам внутри периода. Представляю себе это так.
Например, нужно получить период с 1.06 по 31.08 с разбивкой по месяцам. Тогда печатная форма будет выглядеть так.
Июнь Июль Август
Итоги Итоги Итоги
Но как получить в коде значение каждого месяца или переменную, содержащую интервал по датам месяца на текущей итерации цикла?
В данном случае перменная П имеет знаение 0.
Этой мой первый отчет. Объясните как получить необходимый результат. Или может быть я неправильно понял условие и все должно выглядеть как-нибудь иначе?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2009, 07:18
Ответы с готовыми решениями:

Перенос данных из Бух. 7.7 в Бух. 7.7
Всем доброго времени суток! Был сделан архив базы, затем произведено...

Отчет по разным периодам в СКД?
Кто нибудь пробовал делать отчет в СКД по разным периодам? т.е. дупустим берем...

8.2 Остатки по периодам в отчете. Диаграмма по верхнему уровню иерархи
1. Есть регистр накопления. Хочу создать отчет с помощью СКД, чтобы получать...

Получение итогов
Всем привет! В общем дело такое, получаю итоги путем ...

Создание Итогов в Excel
В Excel есть команда ИТОГИ , которая формирует промежуточные итоги, позволяет...

6
umkmowm181538
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
21.09.2009, 08:28 2
Цитата Сообщение от neiroromantik
Но разницы в случае работы того или иного условия в печатной форме нет.
Может не все данные попадают на печ. форму?


Цитата Сообщение от neiroromantik
Но как получить в коде значение каждого месяца или переменную, содержащую интервал по датам месяца на текущей итерации цикла?
Используйте Ит.НачДата и Ит.КонДата.
0
kyr
0 / 0 / 0
Регистрация: 04.12.2005
Сообщений: 1,588
21.09.2009, 10:36 3
Цитата Сообщение от neiroromantik
Загводка еще в том, что я не до конца понимаю каким должен быть результат в случае разбивки по периодам внутри периода
это самая большая проблема! кто тебе задачу подобную ставил? думаю стоит к этому человеку обратится за разяснениями. а запросы можно делать за любой интервал. да и печатную форму можно строить динамически - ведь есть вертикальные и горизонтальные поля
0
myyroromomtyk
0 / 0 / 0
Регистрация: 17.09.2009
Сообщений: 5
21.09.2009, 11:02 4
Нет, все данные попадают в печатную форму. Ит.НачДата и Ит.КонДата я использовал в запросе. Задача состоит в том, чтобы была возможность
разбить выбранные периоды на дни, недели, декады, месяцы и т.п.
Как это сделать я пока не представляю. В документации не нашел никаких адекватных поставленной задаче примеров.
Была идея с вложенным циклом отбирать периоды после выбора конкретного значения субконто. В первом сообщении написан пример. Но сейчас я понимаю, что это нелогично. По логике вещей необходимо во внешнем цикле отбирать период , а во вложенном значение субконто. Но тогда программа вообще не работает , пишет "не выбрано предыдущее значение". Вот и ломаю мозг, как после использования параметра "периодичность" в запросе, получить детальную разбивку по периодам. К примеру, нужно получить нач. сальдо по каждому из месяцов, входящих в заданный период отбора.
Может кто-нибудь чем-нибудь поможет. Не словом, так кодом.

Kir, все обратился за разъянениями.
В печатной форме все должно выглядеть примерно так, как я и предполагал. Например,
Июль Август Сентябрь
Итоги Итоги Итоги
Теперьв вопрос в том, как это реализовать в коде. Если написать запрос
Итоги.ВыполнитьЗапрос(начдата, кондата, "10.1", , , , , "месяц")
Как затем получить результаты этого запроса?
Как из него получить субконто понятно. А как извлечь месяц отдельно?
0
kyr
0 / 0 / 0
Регистрация: 04.12.2005
Сообщений: 1,588
21.09.2009, 11:16 5
ну так ты все правильно делаешь - Итоги.ВыполнитьЗапрос(начдата, кондата, "10.1", , , , , "месяц")
Потом в цикле обходишь результаты запроса и в том же цикле можешь заполнять сразу и табличную часть. только не забудь перед выполнением запроса объявить субконто - сколько их тебе нужно - Итоги.использоватьСубконо(); - синтаксис почитай в помощнике
0
myyroromomtyk
0 / 0 / 0
Регистрация: 17.09.2009
Сообщений: 5
23.09.2009, 05:41 6
Kir, видимо не совсем правильно, потому что таким образом не работает
Итоги.СоздатьЗапрос(НачДата, КонДата, "10.1", , , , , период ) ;
//Значение итогов нужно получить с учетом субконто.
Итоги.ВыбратьПериоды()
Пока Итоги.ПолучитьПериод()=1 Цикл
П=ПолучитьПериод();
Итоги.ВыбратьСубконто();
Пока Итоги.ПолучитьСубконто()=1 Цикл
..........
.........
КонецЦикла;
КонецЦикла;
Например, пользователь выбирает период с 1.06.2009 по 1.08.2009 и деталицию по периодам в диалоге, со
значением "месяц", которое передается переменной "период", заданной в запросе. Как получить в коде
значение каждого из периодов? Я пробовал сделать это способом, который описан кодом выше. Но переменная П
имеет в этом случае значение 0. В доке ничего не нашел по этому вопросу, поэтому прошу помощи здесь.
Кто знает, как получить период кодом внутри периода, помогите.
Для наглядности, если слегка сумбурно описал, визуальный пример результата.
Июнь Июль Август
Итоги Итоги Итоги
0
kyr
0 / 0 / 0
Регистрация: 04.12.2005
Сообщений: 1,588
23.09.2009, 11:17 7
обрабатывая результаты запроса у тебя в Итоги есть поля ДатаНач или ДатаКон. Соотвественно их можно преобразовать с помощью функции формат в название месяца. советую поглядеть отладчиком переменную ИТОГИ чтобы увидеть какие у тебя поля вообще возвращаются после выполнения запроса, а зная это - можно уже думать как их лучше использовать, ибо объект БухИтоги возвращает определенный набор данных
0
23.09.2009, 11:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.09.2009, 11:17

Вывод итогов в запросе
Мне нужно чтобы в итоге не учитывалось кол-во выпуск по статьям затрат но по...

Вывод итогов в отчёте
Здравствуйте! Делаю внешний отчёт на основе Универсального. Как вывести в...

Запрос к регистру накопления с расчетом итогов 1с 8.2
Есть регистр накопления, в котором хранятся записи в разрезе организаций,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru