На данный момент настроить шаблоны финансового плана через Web
интерфейс нельзя.
Для того чтобы создать свой шаблон, вам необходимо создать XML файл специального вида и поместить его в
папку ...\Projects\SpreadSheetTemplates.
По умолчанию в папке находится 4 файла: два типа шаблонов на двух языках.
Структура файла шаблона финансового плана:
1) Описание шаблона;
2) Записи - Rows;
3) Блок - Block;
4) Запись - Row.
Примерный вид шаблона:
<SpreadSheet>
<Template>
<Name>Profit and loss statement</Name>
<Description>Two groups exist: revenues (Net sales, Rent
revenue, Interest revenue) and expenses (Cost of goods sold, Selling
expenses, Administrative expenses, Interest expense). Expenses are
deducted from revenues to get net income.</Description>
<Rows>
<Block Id="NetSales" Name="Net sales" CanAddRow="True"
NewRowDefaultName="New item" ReadOnly="True">
</Block>
<Block Id="RentRevenue" Name="Rent revenue"
CanAddRow="True" NewRowDefaultName="New item" ReadOnly="True">
</Block>
<Block Id="InterestRevenue" Name="Interest revenue"
CanAddRow="True" NewRowDefaultName="New item" ReadOnly="True">
</Block>
<Row Id="TotalRevenue" Name="Total revenue"
ReadOnly="True"
Expression="[NetSales]+[RentRevenue]+[InterestRevenue]"/>
<Row Id="Space1" Name="" ReadOnly="True" />
<Block Id="CostOfGoodsSold" Name="Cost of goods sold"
CanAddRow="True" NewRowDefaultName="New item" ReadOnly="True">
</Block>
<Block Id="SellingExpenses" Name="Selling expenses"
CanAddRow="True" NewRowDefaultName="New item" ReadOnly="True">
</Block>
<Block Id="AdministrativeExpenses" Name="Administrative
expenses" CanAddRow="True" NewRowDefaultName="New item"
ReadOnly="True">
</Block>
<Block Id="InterestExpense" Name="Interest expense"
CanAddRow="True" NewRowDefaultName="New item" ReadOnly="True">
</Block>
<Row Id="TotalExpense" Name="Total expense"
ReadOnly="True"
Expression="[CostOfGoodsSold]+[SellingExpenses]+[AdministrativeExpenses]+[InterestExpense]"/>
<Row Id="Space2" Name="" ReadOnly="True" />
<Row Id="IncomeBeforeTaxes" Name="Income before taxes"
ReadOnly="True" Expression="[TotalRevenue]-[TotalExpense]"/>
<Row Id="IncomeTaxes" Name="Income taxes"
ReadOnly="False"/>
<Row Id="Space3" Name="" ReadOnly="True" />
<Row Id="NetIncome" Name="Net income" ReadOnly="True"
Expression="[IncomeBeforeTaxes]-[IncomeTaxes]"/>
</Rows>
</Template>
</SpreadSheet>
Как видно из примера, теги Name и Description определяют описание шаблона в пользовательском интерфейсе. Вся основная структура шаблона находится внутри тега Rows.
В нем описываются блоки и предопределенные записи. Внутри блока могут
быть только записи, т.е. не допускаются несколько уровней вложенности.
Элемент Block содержит следующие атрибуты:
1) Id - уникальный идентификатор;
2) Name - визуальное имя блока;
3) CanAddRow - определяет возможность пользователю добавлять самому новые записи (может
принимать значения True или False);
4) NewRowDefaultName - имя новой записи по умолчанию;
5) ReadOnly - определяет возможность изменения значений полей в
данном блоке (может принимать значения True или False).
Элемент Row содержит следующие атрибуты:
1) Id - уникальный идентификатор;
2) Name - визуальное имя записи;
3) ReadOnly - определяет возможность изменения значений полей в
данном блоке (может принимать значения True или False);
4)
Expression - выражение для
автоматического вычисления значений на основе значений из других ячеек в данном
столбце. Синтаксис этого атрибута будет рассмотрен ниже.
Рассмотрим пример записи:
<Row Id="NetIncome" Name="Net income" ReadOnly="True"
Expression="[IncomeBeforeTaxes]-[IncomeTaxes]"/>
Будет
создана строчка с уникальным идентификатором NetIncome и визуальным
именем Net Income. Значения ячеек будут доступны только для чтения и будут вычисляться как разница между значениеми ячеек из
текущей строки из записи с Id = IncomeBeforeTaxes и Id = IncomeTaxes.
В выражениях можно использовать:
1)
ссылку на ячейку из текущего столбца в квадратных скобках
[IncomeBeforeTaxes];
2)
натуральные и дробные числа;
3)
Операторы +, -, /, *, %;
4)
Знак возведения в степень ^;
5)
Функции cos, sin, exp, ln, tan,
acos, asin, atan, cosh, sinh, tanh, sqrt, cotan, round, ceil, floor, fac, abs,
log;
6)
для группировки скобки ( ).