Изчисляеми полета в ACS

Случва се, и то много често, при проектирането на отчети да няма достатъчно зададени полета в набора от данни. И трябва да отразите полетата, които се изчисляват въз основа на съществуващите. С изчисляемите полета можете да добавите толкова полета, колкото са ви необходими, ако искате да съставите сложно поле от различни набори от данни, като например тип „заявка и обект“.

Изразът на изчисленото поле трябва да бъде указан на езика на системата за съставяне на данни, така че системата да може да изчисли неговата стойност. Езикът има ограничение - не можете да използвате изчисляеми полета. Можете да използвате всички синтактични конструкции на изразния език, полета от набори от данни, както и функции на общи конфигурационни модули.

поле

Пример В справка "Задължения на контрагенти" добавяме поле "Такса". Ние изчисляваме, както следва: ако закъснението е по-малко от пет дни, неустойка не се начислява, в противен случай неустойката е равна на един процент от сумата на дълга, който е просрочен за всеки ден закъснение.

Отворете схемата за съставяне на данни (SKD) и добавете поле в раздела Изчислени полета. Нека да му дадем име "Път към данни" - "Пеня", в колоната с изрази ще въведем следния код:

Избор Когато Брой просрочени дни>= 5 Тогава Просрочена сума * 0,01 * Брой просрочени дни Друго 0 Край

Задайте тип стойност - "Число" и формат - "CHT=14; NPV=2"

Добавете полето "Такса " към списъка с ресурси с функцията "Сума() ". Изчисляваме общите суми за контрагентите и общите суми като цяло. В резултат на изпълнението на отчета в полето „Неустойка” за контрагента ще се отрази размерът на неустойките за всеки документ, за който е изпълнено условието за начисляване на неустойка.

Но на практика при изчисляване на неустойката периодът и размерът на забавянето се вземат като цяло за контрагента. За да може отчетът да показва необходимите данни за контрагента, е необходимо да се усложни изразътагрегиране за ресурса Penya:

Сума (Просрочена сума) * 0,01 * Максимум (Брой просрочени дни)

Ако въведем такъв израз в колоната "Израз" за ресурса "Такса", тогава получаваме правилното изчисление за контрагенти.

Това са основите за работа с изчислени полета в ACS.