Поделиться через


Обзор строки учета финансового журнала

Модуль codeunit 12 Фин. журнал - строка учета — это основной объект приложения для учета главной книги и единственное место для вставки операций главной книги, НДС, книги поставщиков и клиентов. Этот модуль codeunit также используется для всех операций применения, отмены применения и сторнирования.

В Microsoft Dynamics NAV 2013 R2 codeunit был переработан, поскольку он стал очень большим, примерно с 7600 строками кода. Архитектура была изменена и модуль codeunit стало проще использовать и поддерживать. Эта документация описывает изменения и содержит сведения, необходимые для обновления.

Старая архитектура

Старая архитектура имела следующие функции:

  • Глобальные переменные использовались слишком часто, что увеличивало возможность скрытых ошибок из-за неправильного использования переменных.
  • Существовало множество длинных процедур (содержащих более 100 строк кода) с высоким уровнем цикломатической сложности (т.е. частое использование вложенных операторов CASE, REPEAT и IF), из-за чего код было сложно считывать и поддерживать.
  • Несколько процедур, которые использовались только локально и предназначались только для локального использования, не были отмечены как локальные.
  • В большинстве процедур отсутствовали параметры и использовались глобальные переменные. В некоторых процедурах использовались параметры и были переопределены глобальные переменные локальными значениями.
  • Шаблоны кода для поиска счетов главной книги и создания операций НДС и главной книги не были стандартизированы и различаются в зависимости от места использования. Кроме того, часто возникает дублирование кода и нарушается симметрия между кодом клиента и поставщика.
  • Большая часть кода в модуле codeunit 12, т.е. приблизительно 30 процентов, связана с расчетами скидки оплаты и отклонения в оплате, хотя эти функции не требуются в большинстве стран или регионов.
  • Функции "Учет", "Применить", "Отменить применение", "Сторнировать", "Скидка оплаты", "Отклонение в оплате" и "Коррекция валютного курса" были объединены в модуль codeunit 12 с помощью длинного списка глобальных переменных.

Новая архитектура

В Business Central модуль codeunit 12 усовершенствован следующим образом:

  • Модуль codeunit 12 был реорганизован на более мелкие процедуры (все содержат менее 100 строк кода).
  • Стандартизированные шаблоны для поиска счетов главной книги реализованы с помощью вспомогательных функций из таблицы "Учетная группа".
  • Платформа механизма учета была реализована для управления началом и окончанием транзакций и для изолирования создания в главной книге и операциях НДС, коллекции коррекции НДС и расчета дополнительных сумм валюты.
  • Дублирование кода устранено.
  • Множество вспомогательных функций перемещены в соответствующие таблицы и книги клиентов и поставщиков.
  • Использование глобальных переменных сведено к минимуму, чтобы в каждой процедуре использовались параметры и инкапсулировалась собственная логика применения.

См. также

Сведения о проектировании: структура интерфейса учета
Технические подробности: структура механизма учета
Сведения о проектировании: строка учета финансового журнала (Dynamics NAV)

Бесплатные модули электронного обучения для Business Central можно найти здесь