Грешка при изчисляване на салда в ACS и софтуерната му корекция, като се използва примера на универсалния отчет

  • грешка
  • изчисляване

Не знам колко хора вече са срещнали грешка при изчисляването на първоначалното и крайното салдо по групи. Лично аз имах „късмет“, при това неведнъж. Причината, както успях да разбера, се крие в неправилните настройки на полетата за данни на ACS, значението на които много начинаещи (и не толкова) програмисти все още не осъзнават напълно.

Когато ACS набор от данни се създава автоматично въз основа на заявка, това обикновено не е проблем, тъй като самата платформа правилно попълва настройките на полето въз основа на текста на заявката. Но има ситуации, когато настройките на полетата с данни не се попълват автоматично (например, използвате външен източник на данни), а оригиналните данни съдържат движения с баланси и обороти.

Ако преди това не сте се сблъсквали с този проблем, за по-добро разбиране на същността му предлагам да го възпроизведете сами, като използвате универсален доклад (въз основа на метаданни). Стартирайте отчета, изберете всеки непразен регистър за натрупване със салда и обороти, активирайте квадратчето "Подробни записи" в настройките на отчета (екран1), посочете някои групи и добавете Регистратора към показаните полета. Voila - началното и крайното салдо се обобщават за всяко групиране. Оказва се отчет с абсолютно неправилни номера, който по никакъв начин не може да се показва на потребителите.

За да се реши такъв проблем, е необходимо правилно да се попълнят настройките на полетата за набор от данни на ACS - по-специално полето "Роля", което има ключова стойност.

РЕШЕНИЕ интерактивно (не е подходящо за универсален доклад):

Отворете схемата за съставяне на данни на вашия отчет и погледнете настройките за полетата на набора от данни.

За полетата на първоначалното и окончателното салдо за всеки от ресурсите трябва да попълните ролята: изберете групата „Оставащи“ и посочете съответно стойността „Начален баланс“ или „Краен баланс“. Така че (screen2) това се прави в конструктора на ACS.

По същия начин трябва да зададете ролята „Измерение“ за всички измерения на вашия набор от данни.

Но това не е достатъчно, за да работят отчетите правилно. За правилното изчисляване на остатъчните полета е необходимо да знаете периода на всяко движение, за да ги подредите в правилния хронологичен ред. Ако оригиналният ви източник на данни няма поле за период, трябва да го добавите там. Ако в набора от данни вече има поле за период, то трябва да посочи ролята "Период" и съответния номер на периода (за повече подробности относно номерирането на периода вижте Помощта).