Если показатель имеет тип расчета Авто, необходимо задать текст расчета показателя. Текст расчета задается в редакторе ISBL-текстов.
К расчету предъявляются требования:
• | не должно быть сообщений, если расчет показателя будет выполняться по расписанию. Если расчет будет выполняться пользователем по мере необходимости, сообщения использовать можно; |
• | не должно быть чтения реквизитов в контексте текущей записи справочника. Например, нельзя использовать предопределенную переменную Object или функции СпрРекв() и СпрПолеЗнач() с неуказанными параметрами Вид и Код. |
Если необходимо считать значения реквизитов из карточки показателя, нужно использовать формат вычислений, который будет правильно интерпретироваться в любом контексте, например в каком-либо сценарии системы;
• | не должно изменяться значение переменной IndicatorCode. Данная переменная содержит код текущей записи справочника. Использовать значение переменной в текстах можно; |
Для создания таблицы следует использовать ISBL-функцию CreateTableForFactValueIndicators().
Заполнять таблицу можно при помощи ISBL-функции IndicatorFactValueWriteInTable() или, если это по каким-либо причинам неудобно, SQL-запросов.
Если таблица заполняется SQL-запросами, в качестве имени таблицы рекомендуется использовать значение, возвращаемое функцией создания таблицы;
• | в таблице для показателей с типом За период должны заполняться поля: |
• | BeginPeriod – дата начала периода расчета показателя; |
• | EndPeriod – дата окончания периода расчета показателя; |
• | значения разрезов показателя должны быть заполнены. |
Если необходимо рассчитать значения показателей за прошлый период, в расчете рекомендуется использовать ISBL-функцию GetCalculatedPeriod().
Если в расчете требуется получить относительные даты, например, текущую дату, дату начала текущего месяца или дату окончания предыдущего месяца, рекомендуется использовать ISBL-функции Today(), BeginOfMonth(), EndOfMonth().