![]() |
|
ОСВ по счету ошибка детализации по субконто | ☑ | ||
---|---|---|---|---|
0
Benevalete
19.09.17
✎
04:58
|
Бухгалтерия 1.6.8.3 сконвертированная под платформой 8.3.5.1231
В план счетов к счету 91 добавлен субсчет 91.08, с субконто 1 - Подразделения, субконто 2 - Прочие доходы и расходы. скрин - http://prntscr.com/gmuq5o При формировании ОСВ по счету 91 отчет формируется с детализацией по подразделениям и ПрочимДиР, заходим в настройки и убираем детализацию по подразделениям - детализация для 91.08 отображается некорректно(вместо прочих доходов и расходов выводится детализация по подразделению) скрин - http://prntscr.com/gmuqiz Та же проблема в демо базе бухгалтерия 2.0 (для счета 10.07 номенклатура - субконто 2, для остальных - субконто 1) скрин -http://prntscr.com/gmurbv При этом ОСВ отдельно по 91.08 при указанной детализации отображается корректно http://prntscr.com/gmuqsp Стоит задача исправить эту ошибку, т.к. требуется именно в осв по 91 счету видеть детализацию по "Прочим доходам и расходам", без лишней аналитики. Помогите разобраться, каким методом исправить это - переделать построитель, изменить метод добавления субконто в массив группировок, править конечный запрос для ведомости, или что-то другое? Формируется детализация для ОСВ следующим образом(если кратко): При выборе счета вызывается процедура для формирования настроек для построителя отчета Процедура СформироватьПервоначальныйОтборПостроителяПоСубконто(ПостроительОтчета, Знач Счет) Экспорт ПостроительОтчета.ИзмеренияСтроки.Очистить(); Сч = 0; Для Каждого СтрокаВидаСубконто Из Счет.ВидыСубконто Цикл Сч = Сч + 1; ИмяСубконто = "Субконто" + Сч; ЭлементОтбора = ПостроительОтчета.Отбор.Найти(ИмяСубконто); Если ЭлементОтбора = Неопределено Тогда ЭлементОтбора = ПостроительОтчета.Отбор.Добавить(ИмяСубконто); ЭлементОтбора.Использование = Ложь; КонецЕсли; ТипИзмерения = ПолучитьТипИзмеренияПоУмолчанию(СтрокаВидаСубконто.ВидСубконто.ТипЗначения); ПостроительОтчета.ИзмеренияСтроки.Добавить(ИмяСубконто, , ТипИзмерения); КонецЦикла; КонецПроцедуры Процедура ЗаполнитьНачальныеНастройки() Экспорт ... ... Сч = 0; Для Каждого ВидСубконто Из Счет.ВидыСубконто Цикл Сч = Сч+1; ТекстПоля = ТекстПоля + ", " + " ОстаткиИОбороты.Субконто" + Сч + " КАК Субконто"+Сч; ТекстПоля = ТекстПоля + ", " + " ПРЕДСТАВЛЕНИЕ(ОстаткиИОбороты.Субконто" + Сч + ") КАК Субконто"+Сч+"Представление"; ТекстОтбор = ТекстОтбор + ", Субконто"+Сч+".*"; ТекстИтоги = ТекстИтоги + ", Субконто"+Сч+".*"; ТекстПорядок = ТекстПорядок + ", Субконто"+Сч+".*"; МассивСубконто.Добавить(ВидСубконто.ВидСубконто); КонецЦикла; ... ... Для каждого Элемент Из МассивСубконто Цикл Сч = Сч+1; Поле = ПостроительОтчета.ДоступныеПоля.Найти("Субконто"+Сч); Поле.ТипЗначения = Элемент.ТипЗначения; Поле.Представление = Элемент.Наименование; КонецЦикла; КонецПроцедуры Далее при нажатии на "Сформировать отчет" берутся данные из построителя отчета и на их основании формируется массив группировок: //Функция возвращает массив группировок для отчета Функция СформироватьМассивГруппировок() Экспорт МассивГруппировок = Новый Массив; Если ПоСубСчетам Тогда МассивГруппировок.Добавить("Счет"); КонецЕсли; Для Сч = 0 По ПостроительОтчета.ИзмеренияСтроки.Количество() - 1 Цикл МассивГруппировок.Добавить(ПостроительОтчета.ИзмеренияСтроки[Сч].Имя); //первоначально при выборе счета в постороитель отчета добавлены субконто из главного счета КонецЦикла; Возврат МассивГруппировок; КонецФункции После чего формируется текст запроса, в который в качестве итогов добавляется часть текста: Для каждого Измерение Из ПостроительОтчета.ИзмеренияСтроки Цикл ТекстПоля = ТекстПоля + ", " + Измерение.ПутьКДанным + " КАК " + Измерение.Имя; ТекстПоля = ТекстПоля + ", ПРЕДСТАВЛЕНИЕ(" + Измерение.ПутьКДанным + ") КАК " + Измерение.Имя + "Представление"; ТекстИтоги = ТекстИтоги + ", " + Измерение.Имя + БухгалтерскиеОтчеты.ПолучитьПоТипуИзмеренияПостроителяОтчетаСтрокуЗапроса(Измерение.ТипИзмерения); КонецЦикла; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |