Обзор строки учета финансового журнала
Модуль 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 можно найти здесь