![]() |
![]() |
![]() |
|
Вывод счетов по иерархии 8.3 | ☑ | ||
---|---|---|---|---|
0
Murano
07.03.18
✎
14:24
|
Добрый день. Я сделал отчет "Отклонение в оборотно-сальдовой ведомости", где в отдельной форме галочкой надо выбирать счета и их выводит. А нужно сделать, чтобы если например: выбраны счета, которые относятся к 20(281, 231...), то выводило не только их, а и сам 20. Я вообще не понимаю как это переделать. Помогите пожалуйста
|
|||
1
tesseract
07.03.18
✎
14:31
|
Мы не знаем, на чем ты отчет сделал.
Может достаточно ИТОГИ ПО Счет ИЕРАРХИЯ Добавить. |
|||
2
Гипервизор
07.03.18
✎
14:35
|
Что за счета такие интересные? Украина чтоль?
И разве счета верхнего уровня используются в проводках? |
|||
3
Murano
07.03.18
✎
14:37
|
В модуле объекта я функцией возвращаю результат запроса, в который передаются номера счетов, дальше прорисовываю колонки.
Я не очень понимаю, какую часть кода лучше бы кинуть, чтобы была ясна суть проблемы |
|||
4
Murano
07.03.18
✎
14:38
|
(2) Украина. Это для бух. расчетов нужны. Я в них вообще не разбирабюсь :)
|
|||
5
tesseract
07.03.18
✎
14:40
|
(3) Если сам решил рисовать - тогда итоги по иерархии и обходи выборку из запроса по группировкам.
|
|||
6
Murano
07.03.18
✎
14:44
|
(5)
Прошу прощения, я не очень всё понимаю. Итоги по иерархии в запросе? Вот так у меня модуль выглядит, я просто не знаю что именно лучше показать, поэтому покажу всё: Перем мПериодичность Экспорт; Перем мСпСчетов Экспорт; Функция ИнициализацияЗапроса() Экспорт мСпСчетов = мСписокСчетов; Запрос = Новый Запрос; Запрос.УстановитьПараметр("НачалоПериода", НачалоДня(НачалоПериода)); Запрос.УстановитьПараметр("КонецПериода", КонецДня(КонецПериода)); Запрос.УстановитьПараметр("Счет", мСпСчетов); Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ХозрасчетныйОстаткиИОбороты.Организация, | ХозрасчетныйОстаткиИОбороты.Счет, | ХозрасчетныйОстаткиИОбороты.Период, | ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт, | ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт |ПОМЕСТИТЬ ВТ_Отклонение |ИЗ | РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты( | &НачалоПериода, | &КонецПериода, |" + мПериодичность + ", | , | Счет В (&Счет), | , ) КАК ХозрасчетныйОстаткиИОбороты |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВТ_Отклонение.Период, | МАКСИМУМ(ВТ_Отклонение1.Период) КАК Период1 |ПОМЕСТИТЬ ВТ_Дати |ИЗ | ВТ_Отклонение КАК ВТ_Отклонение | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Отклонение КАК ВТ_Отклонение1 | ПО ВТ_Отклонение.Период > ВТ_Отклонение1.Период | |СГРУППИРОВАТЬ ПО | ВТ_Отклонение.Период |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВТ_Отклонение.Организация, | ВТ_Отклонение.Счет КАК Счет, | КОНЕЦПЕРИОДА(ВТ_Дати.Период," + мПериодичность + ") КАК ПериодТекущий, | КОНЕЦПЕРИОДА(ВТ_Дати.Период1," + мПериодичность + ") КАК ПериодПредыдущий, | ВТ_Отклонение.СуммаКонечныйОстатокДт КАК КонечныйОстатокДтТекущий, | ВТ_Отклонение.СуммаКонечныйОстатокКт КАК КонечныйОстатокКтТекущий, | ВТ_Отклонение1.СуммаКонечныйОстатокДт КАК КонечныйОстатокДтПредыдущий, | ВТ_Отклонение1.СуммаКонечныйОстатокКт КАК КонечныйОстатокКтПредыдущий, | ВТ_Отклонение.СуммаКонечныйОстатокДт - ВТ_Отклонение1.СуммаКонечныйОстатокДт КАК ОтклонениеДт, | ВТ_Отклонение.СуммаКонечныйОстатокКт - ВТ_Отклонение1.СуммаКонечныйОстатокКт КАК ОтклонениеКт |ИЗ | ВТ_Дати КАК ВТ_Дати | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Отклонение КАК ВТ_Отклонение | ПО ВТ_Дати.Период = ВТ_Отклонение.Период | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Отклонение КАК ВТ_Отклонение1 | ПО ВТ_Дати.Период1 = ВТ_Отклонение1.Период | |ГДЕ | ВТ_Отклонение.Счет = ВТ_Отклонение1.Счет | И ВТ_Отклонение.Организация = ВТ_Отклонение1.Организация | |УПОРЯДОЧИТЬ ПО | ПериодТекущий"; РезультатЗапроса = Запрос.Выполнить().Выгрузить(); Возврат РезультатЗапроса; КонецФункции Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ТаблицаСчетов = Новый ТаблицаЗначений; ТаблицаСчетов.Колонки.Добавить("Организация", Новый ОписаниеТипов("СправочникСсылка.Организации")); ТаблицаСчетов.Колонки.Добавить("Счет", Новый ОписаниеТипов("ПланСчетовСсылка.Хозрасчетный")); //план счетов ТаблицаСчетов.Колонки.Добавить("ОтклонениеДт", Новый ОписаниеТипов("Число")); ТаблицаСчетов.Колонки.Добавить("ОтклонениеКт", Новый ОписаниеТипов("Число")); ТаблицаСчетов.Колонки.Добавить("ПериодПредыдущий", Новый ОписаниеТипов("Дата")); ТаблицаСчетов.Колонки.Добавить("ПериодТекущий", Новый ОписаниеТипов("Дата")); ТаблицаСчетов.Колонки.Добавить("КонечныйОстатокДтПредыдущий", Новый ОписаниеТипов("Число")); ТаблицаСчетов.Колонки.Добавить("КонечныйОстатокДтТекущий", Новый ОписаниеТипов("Число")); ТаблицаСчетов.Колонки.Добавить("КонечныйОстатокКтПредыдущий", Новый ОписаниеТипов("Число")); ТаблицаСчетов.Колонки.Добавить("КонечныйОстатокКтТекущий", Новый ОписаниеТипов("Число")); ТаблицаСчетов = ИнициализацияЗапроса(); СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; Настройки = КомпоновщикНастроек.ПолучитьНастройки(); МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки); ВнешнийНаборДанных = Новый Структура("ТаблицаЗначений", ТаблицаСчетов); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешнийНаборДанных, ДанныеРасшифровки); ДокументРезультат.Очистить(); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.ОтображатьПроцентВывода = Истина; ПроцессорВывода.НачатьВывод(); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных, Истина); ПроцессорВывода.ЗакончитьВывод(); ДокументРезультат.ОтображатьСетку=Ложь; ДокументРезультат.ОтображатьЗаголовки=Ложь; ДокументРезультат.ТолькоПросмотр = Истина; ДокументРезультат.Показать(); КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |