gifts2017

Бухгалтерия. Отчет "Управленческий баланс" на формулах расчета (управляемые формы). Редакция 3

Опубликовал Имя Михаил (fromtomike) в раздел Отчеты - Бухгалтерские

Отчет с декларативным описанием расчета показателей (формулы расчета).
Выводит остатки по бухгалтерским счетам на дату в разрезе некоторых показателей. Алгоритм расчета этих показателей описывается формулами.
Пользователь может самостоятельно редактировать формулы и макет отчета, т.е. изменять вид и логику построения отчета.
Есть возможность сохранения полученных настроек в файл (*.mxl) и загрузки их из файла на диске.

Таким образом, можно в одном отчете строить множество его вариантов, различающихся как по оформлению, так и по алгоритму расчета показателей.

Появилась задача создания в бухгалтерских базах компании (БП 2.0, БП 3.0) отчетов «Управленческий баланс». По сути такой отчет - это остатки по счетам на конец месяца с распределением сумм по определенным статьям баланса. Конфигурации нетиповые, используются различные планы счетов. Попробовал применить общий подход для всех баз, т.е. не зашивать жестко алгоритм построения отчета в код, а применить декларативное описание логики построения отчета.

Вид и алгоритм построения отчета полностью определяется схемой расчета. Схема расчета - это макет (табличный документ). В отчет встроен редактор схемы расчета. Пользователь может редактировать макет, сохранять его в файл или загружать из файла.

 

В схеме расчета каждой статье баланса сопоставляется уникальный идентификатор и формула расчета.

Идентификатор - это параметр в ячейке макета с уникальным именем.

Идентификаторы условно группируются по разделам. Первый символ идентификатора – буква определяет раздел отчета. Например, «А001», «А002», … «Б001», …
Идентификаторы с нулевой цифровой частью «А000», «Б000» … формул не имеют и служат для расчета и вывода в отчет итогов по соответствующему разделу.

Формулы расчета показателей задаются как простые арифметические операции (сложение и вычитание) с бухгалтерскими счетами.

Внимание! для отображения в макете именованных областей отчета нужно включить режим "Главное меню / Таблица / Имена / Отображение именованных строк/колонок"

Действуют следующие правила расчета по формулам:

  1. Простое указание номера (кода) счета означает что берется остаток по указанному счету и полученная сумма подставляется как она есть. При этом сумма рассчитывается как разница: СуммаДт - СуммаКт. Т.е. для активных счетов получим "+", а для пассивных "-"
  2. Если указан синтетический счет, то сумма собирается как сумма (СуммаДт - СуммаКт) всех субсчетов этого счета
  3. Вместе с номером счета в формуле можно использовать модификаторы:
  • (Д)  - после номера счета означает что берется дебетовая часть развернутого сальдо
  • (К)  - после номера счета означает что берется кредитовая часть развернутого сальдо
  • {?+}  - перед номером счета означает, что сумма остатка берется только если она положительная
  • {?-}  - перед номером счета означает, что сумма остатка берется только если она отрицательная

Разработчик может создать схему расчета по умолчанию. Такая схема зашивается в макет отчета и будет использоваться при первом запуске. Пользователь всегда может вернуться к этой схеме расчета нажав кнопку «Восстановить схему».

В отчете реализована простейшая расшифровка по статьям баланса. В расшифровку выводятся составляющие части суммы в разрезе бухгалтерских счетов.

  

Отличия третьей редакции от предыдущей редакции:

  1. Внешний вид отчета теперь полностью определяется пользователем. Т.е. можно менять не только формулы, но и макет отчета в режиме 1С:Предприятие
  2. Реализован полноценный редактор табличного документа (схемы расчета)
  3. Добавлено автоматическое сохранение отредактированной схемы расчета в пользовательских настройках при закрытии отчета и их восстановление при открытии

Не знаю, насколько примененный в отчете подход может быть полезен для других задач, но в моем случае реально помог. Не имея четкой постановки по задаче, отдал заказчику отчет, а через день получил готовую схему расчета (*.mxl файл) с формулами, которые просто перенес в код отчета.

Ясно, что этот отчет не является универсальным решением. Но, может быть, подобный подход можно использовать еще где-нибудь в разработке. Буду рад, если поделитесь идеями :)

ПыСы. В выложенных файлах отчета схема расчета не отражает законченный бухгалтерский баланс, а приведена в качестве демонстрационной.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Баланс управленческий
.erf 37,17Kb
12.11.15
36
.erf v03 37,17Kb 36 Скачать
Баланс управленческий за период (по месяцам)
.erf 37,74Kb
12.11.15
19
.erf v03 37,74Kb 19 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Константин Соболевский (Константин С.) 29.09.15 16:20
При нажатии схемы:

{Форма.ФормаОтчета.Форма(752)}: Ошибка при вызове метода контекста (ПолучитьФорму)
	Форма = ПолучитьФорму("ВнешнийОтчет.БалансДрафт.Форма.СхемаРасчета", , ЭтаФорма);
по причине:
Неизвестное имя формы. Имя: "ВнешнийОтчет.БалансДрафт.Форма.СхемаРасчета"

...Показать Скрыть


ps:
для народа в конфигураторе вместо БалансДрафт указать БалансУправленческий или Имя написать БалансДрафт.
fromtomike; +1 Ответить 1
2. Имя Михаил (fromtomike) 29.09.15 19:37
(1) Константин С.,
Спасибо, подправил
3. Greg Greg (MGreg) 30.09.15 11:30
То что надо. Каркас есть, допилить можно под себя.
4. Шутов Андрей (Pover) 20.10.15 14:16
(3) Согласен, допиливать можно и нужно.
Автору - а раздела Пассив - принципиально нет, или я его не увидел?
5. Имя Михаил (fromtomike) 21.10.15 11:06
(4) Pover, Видимо в выложенной обработке это разделы "Обязательства" и "Собственные средства".
Но это не реальный бухгалтерский баланс.
Программа изначально создавалась для аналитических отчетов отдела МСФО (хотя в результате манипуляций с формулами он у них тоже сводится в 0).
Я изначально не пытался как-то ограничить логику расчета показателей. Остаток по счету (если без модификаторов) берется как разница Дт - Кт.
Соответственно для активных счетов получим "+", для пассивных "-". Куда и как выводить полученную сумму в отчет определяет пользователь.

На мой взгляд существенный недостаток этой обработки, то что изначально макет отчета с колонкой кодов показателей все-таки задается разработчиком в конфигураторе.
Формулы потом в этом макете может перебить заказчик отчета.
Есть мысль - дать возможность пользователю самому задавать всю форму отчета.
Будет посложнее, но вроде технически реализуемо.
6. Имя Михаил (fromtomike) 13.11.15 10:21
В новой редакции обработок реализован полноценный редактор макета на стороне пользователя.

Теперь в режиме 1С:Предприятия можно редактировать макет целиком.
Показатели задаются как параметры ячейки табличного документа
Формулы как и ранее прописываются как текст в строке показателя

7. Андрей Чунихин (ApocalypseNTC) 03.06.16 06:55
Это очень крутая вещь. Благодаря ей я сделал работу 10 дней за 1 день. Спасибо.
8. Имя Михаил (fromtomike) 23.06.16 12:37
(7) ApocalypseNTC, Спасибо на добром слове :)
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа