- Всё о программировании на 1С:Предприятие - http://life1c.ru -

Вычисление строк отчёта по формулам. Отчёт по статьям ДДС.

Для более глубокого изучения 1С скачайте книгу "Разработка оперативного учёта в 1С 8.3" [1]

[2]

Использование парсера для вычисления строк отчёта

Предыдущая статья по теме построения парсера выражений была написана здесь: life1c.ru/post/1117 [3].

Для построения регламентированных отчётов (в том числе регламентированного отчёта по движению денежных средств) и сложных отчётов СКД можно использовать концепцию вычисления строк отчёта по определённым формулам. При этом расшифровки вычисляемых строк могут быть получены как слагаемые алгоритмической таблицы. Желательно, чтобы формулы можно было использовать так же просто, как на листе таблицы в MS Excel.

Основными преимуществами данного подхода являются:

  1. Легко менять алгоритм расчёта под новые требования.
  2. Не нужно долго изучать код построения сложного отчёта, чтобы сделать необходимые изменения.
  3. Функционал построения отчёта разделён с функционалом вычисления итоговых значений. Необходимые формулы можно прописать отдельно в макете отчёта.
  4. Функция по вычислению результата вполне универсальна и может быть использована в разных отчётах. Это снижает количество написанного кода и трудозатрат.

Рассмотрим данную концепцию подробнее. У нас есть начальные данные – это, в данном случае, движения регистра бухгалтерии по статьям ДДС. Такие данные легко получить с помощью обычного запроса к регистру бухгалтерии. Единственное условие к начальным данным – это то, что они должны содержать детализированные суммы, которые можно собрать и из которых можно полностью построить итоговый отчёт по ДДС. Далее есть алгоритм построения отчёта в виде специальной алгоритмической таблицы, где указаны все формулы для вычисления. Берутся начальные данные, алгоритмическая таблица и на выходе получается таблица с результатом (в виде соответствий параметр – сумма).

Представленная ниже обработка 1С выполняет следующие действия для построения отчёта:

  1. По каждой строке алгоритмической таблицы производится отбор исходных данных по заданным значениям. В данном случае отбор производится по полям «Счёт» и «Статья ДДС».
  2. Вычисляются значения формул условий, которые прописаны в колонке «Условие».
  3. Делается отбор строк алгоритмической таблицы только по выполненным условиям.
  4. По оставшимся строкам алгоритмической таблицы вычисляются значения основных формул.
  5. Формируется расшифровка отчёта.
  6. Результат сворачивается в итоговую таблицу, где данные представлены в виде соответствий: Параметр – сумма.

 

Структура отчёта

Регламентированный отчёт по статьям ДДС имеет следующую структуру (на рисунке приведена часть отчёта):

[4]

Определённому коду строки в отчёте соответствует сумма за соответствующий период формирования. Каждая сумма имеет свою расшифровку и свой алгоритм построения.

 

Программная реализация

Алгоритм работы парсера выражений смотрите в статье life1c.ru/post/1117 [3].

Функция по вычислению итоговой таблицы называется «РасчётАлгоритмическойТаблицы». В обработке она выполняется со следующими параметрами:

СтруктураКолонок = Новый Структура;
СтруктураКолонок.Вставить(«КолонкаПоказатель», «ИдентификаторПараметра»);
СтруктураКолонок.Вставить(«КолонкиОтбор», «Счёт»);
СтруктураКолонок.Вставить(«КолонкаИдентификатор», «КодДДС»);
СтруктураКолонок.Вставить(«КолонкиСумма», «СуммаФормула»);
СтруктураКолонок.Вставить(«КолонкиАТСумма», «Сумма»);
СтруктураКолонок.Вставить(«ОтборНаУсловие», Истина);
РасчитаннаяТаблица = РасчётАлгоритмическойТаблицы(АлгоритмическаяТаблица, ОсновнаяТаблица, СтруктураКолонок);

Разные колонки алгоритмической таблицы выполняют разные роли и разбиваются в соответствии с этим на группы, что и указывается в структуре «СтруктураКолонок»:

 

Обработка 1С

Обработка демонстрирует функционирование построения отчёта по ДДС (Отчёт о движении денежных средств). В окне обработки есть следующие вкладки:

Чтобы протестировать выполнение обработки 1С, делаем следующее:

1. Открываем обработку, на вкладке «Статьи ДДС» нажимаем кнопку «Получить движения». Движения по статьям ДДС для проверки алгоритма появятся ниже в табличном поле. Для тестирования можно изменить или добавить свои движения.

[5]

2. На вкладке «Алгоритм» представлена последовательность вычисления результата. Для тестирования можно поменять строки алгоритма, изменить формулы и условия выполнения.

[6]

3. Нажимаем кнопку «Выполнить» и переходим на вкладку «Результат», смотрим что получилось в результате вычислений.

[7]

 

Название файла

Версия

Ссылка

Отчёт по статьям ДДС [8]

1.0

Скачать [8]

 

Нравится статья? Подпишитесь прямо сейчас и получайте обновления на свой E-Mail:

БЕСПЛАТНЫЕ материалы по изучению конфигурации 1С:Бухгалтерия 8 (ред. 2 и новая ред. 3) [9]