После написания нескольких больших статических управленческих отчетов на регистрах бухгалтерии, понял, что надо делать универсальный механизм. Этот механизм и представлен, это не готовый коммерческий продукт, хотя у многих он заработает адекватно - стоит лишь указать параметры в конфигураторе в макете.
В данном примере представлен механизм, задействующий возможности Excel, в настройках - во второй колонке макета программист (для пользователя - не делал) может указать параметры заполнения данной ячейки в виде формулы, например, сч50_ДТ+сч51_ДТ и в ячейку подставится сумма СальдоДебетового по счету 50 и 51, или указать ЕСЛИ(сч62_ДТ[ВГО]>сч62_КТ[ВГО];сч62_ДТ[ВГО]-сч62_КТ[ВГО];сч62_ДТ[ВГО]) то данные в ячейке будут высчитываться по формуле Excel, ВГО (обороты внутри группы компаний) - в нашем случае значение субконто1, которое может иметь значение Контрагент или список Контрагентов.
Отчет парсит строку параметров и подставляет значение из регистра Хозрасчетный, легенда:
- "_ДТ"=СуммаКонечныйОстатокДт
- "_КТ"=СуммаКонечныйОстатокКт
- "_ОДТ"=СуммаОборотДт
- "_ОКТ"=СуммаОборотКт
- "_РДТ"=СуммаКонечныйРазвернутыйОстатокДт
- "_РКТ"=СуммаКонечныйРазвернутыйОстатокКт
//Специально расчитанное в запросе, не путать с обычным развернутым сальдо!
- "_РУДТ"=СуммаУменьшенныйКонечныйРазвернутыйОстатокДт
- "_РУКТ"=СуммаУменьшенныйКонечныйРазвернутыйОстатокКт
Отчет разбивает период по месяцам и по каждому месяцу считает параметры.
Изначально все было реализовано только на COMSafeArray и чтение и заполнения (за минуту выводил данные за год из базы размером более 200Гб), но от заполнения пришлось отказаться из за доработки по аналитике.
Надеюсь, данный отчет облегчит жизнь многим программистам 1С.
Если будет нужна доработка, пишите на почту.