Файл: Информационная система финансового анализа состояния преприятия.doc

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Проектирование информационных систем

Добавлен: 21.10.2018

Просмотров: 32195

Скачиваний: 9

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

StrToInt(sgPeriods.Cells[1,3]), StrToInt(sgPeriods.Cells[2,3]));

end;


end.


Программный модуль uOPU.pas


unit uOPU;


interface


uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons, DBCtrls, ExtCtrls, Grids, DBGrids;


type

TfmOPU = class(TForm)

DBGrid1: TDBGrid;

Panel1: TPanel;

DBNavigator1: TDBNavigator;

BitBtn1: TBitBtn;

procedure FormClose(Sender: TObject; var Action: TCloseAction);

procedure FormShow(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;


var

fmOPU: TfmOPU;


implementation


uses uDM;


{$R *.dfm}


procedure TfmOPU.FormClose(Sender: TObject; var Action: TCloseAction);

begin

DM.dstOPU.Close;

end;


procedure TfmOPU.FormShow(Sender: TObject);

begin

DM.dstOPU.Sort := 'КодСтроки';

end;


end.


Программный модуль uOPUStructure.pas


unit uOPUStructure;


interface


uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons, DBCtrls, ExtCtrls, Grids, DBGrids;


type

TfmOPUStructure = class(TForm)

DBGrid1: TDBGrid;

Panel1: TPanel;

DBNavigator1: TDBNavigator;

BitBtn1: TBitBtn;

procedure FormShow(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;


var

fmOPUStructure: TfmOPUStructure;


implementation


uses uDM;


{$R *.dfm}


procedure TfmOPUStructure.FormShow(Sender: TObject);

begin

DM.dstOPUStr.Open;

DM.dstOPUStr.Sort := 'Код';

end;


end.


Программный модуль uRep.pas


unit uRep;

//Модуль для формирования отчетов


interface

uses

Windows, SysUtils, Classes, ComObj, DB, Controls, Forms, ADODB, Math, DBGrids;


procedure Rep_Tables1(Year1, Quarter1, Year2, Quarter2, Year3, Quarter3: Integer);

procedure Rep_Tables2(Year1, Quarter1, Year2, Quarter2, Year3, Quarter3: Integer);

procedure Rep_Tables3(Year1, Quarter1, Year2, Quarter2, Year3, Quarter3: Integer);

procedure Rep_Tables4(Year1, Quarter1, Year2, Quarter2, Year3, Quarter3: Integer);

procedure Rep_Tables5(Year1, Quarter1, Year2, Quarter2, Year3, Quarter3: Integer);


implementation

uses

uDM, DateUtils, Dialogs;


//Формирование таблиц "Коэффициенты ликвидности и платежеспособности":

procedure Rep_Tables1(Year1, Quarter1, Year2, Quarter2, Year3, Quarter3: Integer);

var

Excel: Variant;

WorkbookName: string;

begin

//Шаблон хранится в папке Шаблоны:

WorkbookName := GetCurrentDir + '\Шаблоны\' + '1 Коэффициенты ликвидности и платежеспособности.xlt';

Excel := CreateOleObject('Excel.Application');

Screen.Cursor := crHourGlass;

try

try

Excel.Workbooks.Open(WorkbookName);

Excel.Worksheets[1].Select;


//Заголовок таблицы абс. показателей:

Excel.Cells[1,1] := string(Excel.Cells[1,1]) +

IntToStr(Quarter1) + ' кв. ' + IntToStr(Year1) + ' г., ' +

IntToStr(Quarter2) + ' кв. ' + IntToStr(Year2) + ' г., ' +

IntToStr(Quarter3) + ' кв. ' + IntToStr(Year3) + ' г. ';

//Шапка таблицы абс. показателей:

Excel.Cells[3,2] := IntToStr(Quarter1) + ' кв. ' + IntToStr(Year1) + ' г.';

Excel.Cells[3,3] := IntToStr(Quarter2) + ' кв. ' + IntToStr(Year2) + ' г.';

Excel.Cells[3,4] := IntToStr(Quarter3) + ' кв. ' + IntToStr(Year3) + ' г.';

Excel.Cells[3,6] := IntToStr(Quarter1) + ' кв. ' + IntToStr(Year1) + ' г.';

Excel.Cells[3,7] := IntToStr(Quarter2) + ' кв. ' + IntToStr(Year2) + ' г.';

Excel.Cells[3,8] := IntToStr(Quarter3) + ' кв. ' + IntToStr(Year3) + ' г.';

Excel.Cells[4,9] := IntToStr(Quarter1) + ' кв. ' + IntToStr(Year1) + ' г.';

Excel.Cells[4,10] := IntToStr(Quarter2) + ' кв. ' + IntToStr(Year2) + ' г.';

Excel.Cells[4,11] := IntToStr(Quarter3) + ' кв. ' + IntToStr(Year3) + ' г.';

Excel.Cells[4,12] := IntToStr(Quarter1) + ' кв. ' + IntToStr(Year1) + ' г.';

Excel.Cells[4,13] := IntToStr(Quarter2) + ' кв. ' + IntToStr(Year2) + ' г.';

Excel.Cells[4,14] := IntToStr(Quarter3) + ' кв. ' + IntToStr(Year3) + ' г.';


//наиболее ликвидные активы (А1):

Excel.Cells[5,2] := GetBalValue(Year1, Quarter1, 250, 2) + GetBalValue(Year1, Quarter1, 260, 2);

Excel.Cells[5,3] := GetBalValue(Year2, Quarter2, 250, 2) + GetBalValue(Year2, Quarter2, 260, 2);

Excel.Cells[5,4] := GetBalValue(Year3, Quarter3, 250, 2) + GetBalValue(Year3, Quarter3, 260, 2);

//быстрореализуемые активы (А2):

Excel.Cells[6,2] := GetBalValue(Year1, Quarter1, 240, 2) + GetBalValue(Year1, Quarter1, 270, 2);

Excel.Cells[6,3] := GetBalValue(Year2, Quarter2, 240, 2) + GetBalValue(Year2, Quarter2, 270, 2);

Excel.Cells[6,4] := GetBalValue(Year3, Quarter3, 240, 2) + GetBalValue(Year3, Quarter3, 270, 2);

//медленно реализуемые активы (наименее ликвидные активы)(А3):


Excel.Cells[7,2] := GetBalValue(Year1, Quarter1, 210, 2) - GetBalValue(Year1, Quarter1, 216, 2) +

GetBalValue(Year1, Quarter1, 220, 2) + GetBalValue(Year1, Quarter1, 140, 2);

Excel.Cells[7,3] := GetBalValue(Year2, Quarter2, 210, 2) - GetBalValue(Year2, Quarter2, 216, 2) +

GetBalValue(Year2, Quarter2, 220, 2) + GetBalValue(Year2, Quarter2, 140, 2);

Excel.Cells[7,4] := GetBalValue(Year3, Quarter3, 210, 2) - GetBalValue(Year3, Quarter3, 216, 2) +

GetBalValue(Year3, Quarter3, 220, 2) + GetBalValue(Year3, Quarter3, 140, 2);

//труднореализуемые активы (А4):

Excel.Cells[8,2] := GetBalValue(Year1, Quarter1, 110, 2) + GetBalValue(Year1, Quarter1, 120, 2) +

GetBalValue(Year1, Quarter1, 130, 2) + GetBalValue(Year1, Quarter1, 216, 2) +

GetBalValue(Year1, Quarter1, 230, 2);

Excel.Cells[8,3] := GetBalValue(Year2, Quarter2, 110, 2) + GetBalValue(Year2, Quarter2, 120, 2) +

GetBalValue(Year2, Quarter2, 130, 2) + GetBalValue(Year2, Quarter2, 216, 2) +

GetBalValue(Year2, Quarter2, 230, 2);

Excel.Cells[8,4] := GetBalValue(Year3, Quarter3, 110, 2) + GetBalValue(Year3, Quarter3, 120, 2) +

GetBalValue(Year3, Quarter3, 130, 2) + GetBalValue(Year3, Quarter3, 216, 2) +

GetBalValue(Year3, Quarter3, 230, 2);


//наиболее краткосрочные обязательства (П1):

Excel.Cells[5,6] := GetBalValue(Year1, Quarter1, 620, 2) + GetBalValue(Year1, Quarter1, 660, 2);

Excel.Cells[5,7] := GetBalValue(Year2, Quarter2, 620, 2) + GetBalValue(Year2, Quarter2, 660, 2);

Excel.Cells[5,8] := GetBalValue(Year3, Quarter3, 620, 2) + GetBalValue(Year3, Quarter3, 660, 2);

//краткосрочные пассивы (П2):

Excel.Cells[6,6] := GetBalValue(Year1, Quarter1, 610, 2);

Excel.Cells[6,7] := GetBalValue(Year2, Quarter2, 610, 2);

Excel.Cells[6,8] := GetBalValue(Year3, Quarter3, 610, 2);

//долгосрочные пассивы (П3):

Excel.Cells[7,6] := GetBalValue(Year1, Quarter1, 510, 2) + GetBalValue(Year1, Quarter1, 520, 2);

Excel.Cells[7,7] := GetBalValue(Year2, Quarter2, 510, 2) + GetBalValue(Year2, Quarter2, 520, 2);

Excel.Cells[7,8] := GetBalValue(Year3, Quarter3, 510, 2) + GetBalValue(Year3, Quarter3, 520, 2);

//постоянные пассивы (П4):

Excel.Cells[8,6] := GetBalValue(Year1, Quarter1, 490, 2) + GetBalValue(Year1, Quarter1, 630, 2) +

GetBalValue(Year1, Quarter1, 640, 2) + GetBalValue(Year1, Quarter1, 650, 2);

Excel.Cells[8,7] := GetBalValue(Year2, Quarter2, 490, 2) + GetBalValue(Year2, Quarter2, 630, 2) +

GetBalValue(Year2, Quarter2, 640, 2) + GetBalValue(Year2, Quarter2, 650, 2);

Excel.Cells[8,8] := GetBalValue(Year3, Quarter3, 490, 2) + GetBalValue(Year3, Quarter3, 630, 2) +

GetBalValue(Year3, Quarter3, 640, 2) + GetBalValue(Year3, Quarter3, 650, 2);


Excel.Visible := True;


Excel.Worksheets[2].Select;

//Заголовок таблицы отн. показателей:

Excel.Cells[1,1] := string(Excel.Cells[1,1]) +

IntToStr(Quarter1) + ' кв. ' + IntToStr(Year1) + ' г., ' +

IntToStr(Quarter2) + ' кв. ' + IntToStr(Year2) + ' г., ' +

IntToStr(Quarter3) + ' кв. ' + IntToStr(Year3) + ' г. ';

//Шапка таблицы отн. показателей:

Excel.Cells[3,3] := IntToStr(Quarter1) + ' кв. ' + IntToStr(Year1) + ' г.';

Excel.Cells[3,4] := IntToStr(Quarter2) + ' кв. ' + IntToStr(Year2) + ' г.';

Excel.Cells[3,5] := IntToStr(Quarter3) + ' кв. ' + IntToStr(Year3) + ' г.';

Excel.Cells[4,6] := IntToStr(Quarter1) + ' кв. ' + IntToStr(Year1) + ' г. от ' +

IntToStr(Quarter2) + ' кв. ' + IntToStr(Year2) + ' г.';

Excel.Cells[4,7] := IntToStr(Quarter2) + ' кв. ' + IntToStr(Year2) + ' г. от ' +

IntToStr(Quarter3) + ' кв. ' + IntToStr(Year3) + ' г.';

Excel.Cells[4,8] := IntToStr(Quarter1) + ' кв. ' + IntToStr(Year1) + ' г. от ' +

IntToStr(Quarter3) + ' кв. ' + IntToStr(Year3) + ' г.';

except

Excel.Quit;

end;

finally

Screen.Cursor := crDefault;

end;

end;


//Формирование таблиц "Показатели финансовой устойчивости":

procedure Rep_Tables2(Year1, Quarter1, Year2, Quarter2, Year3, Quarter3: Integer);

var

Excel: Variant;

WorkbookName: string;

begin

//Шаблон хранится в папке Шаблоны:

WorkbookName := GetCurrentDir + '\Шаблоны\' + '2 Показатели финансовой устойчивости.xlt';

Excel := CreateOleObject('Excel.Application');

Screen.Cursor := crHourGlass;


try

try

Excel.Workbooks.Open(WorkbookName);

//Вывод данных на первую закладку шаблона (абс. показатели):

Excel.Worksheets[1].Select;


//Заголовок таблицы абс. показателей:

Excel.Cells[1,1] := string(Excel.Cells[1,1]) +

IntToStr(Quarter1) + ' кв. ' + IntToStr(Year1) + ' г., ' +

IntToStr(Quarter2) + ' кв. ' + IntToStr(Year2) + ' г., ' +

IntToStr(Quarter3) + ' кв. ' + IntToStr(Year3) + ' г. ';

//Шапка таблицы абс. показателей:

Excel.Cells[3,2] := IntToStr(Quarter1) + ' кв. ' + IntToStr(Year1) + ' г.';

Excel.Cells[3,3] := IntToStr(Quarter2) + ' кв. ' + IntToStr(Year2) + ' г.';

Excel.Cells[3,4] := IntToStr(Quarter3) + ' кв. ' + IntToStr(Year3) + ' г.';

Excel.Cells[4,5] := IntToStr(Quarter1) + ' кв. ' + IntToStr(Year1) + ' г. от ' +

IntToStr(Quarter2) + ' кв. ' + IntToStr(Year2) + ' г.';

Excel.Cells[4,6] := IntToStr(Quarter2) + ' кв. ' + IntToStr(Year2) + ' г. от ' +

IntToStr(Quarter3) + ' кв. ' + IntToStr(Year3) + ' г.';

Excel.Cells[4,7] := IntToStr(Quarter1) + ' кв. ' + IntToStr(Year1) + ' г. от ' +

IntToStr(Quarter3) + ' кв. ' + IntToStr(Year3) + ' г.';


//Источники собственных средств:

Excel.Cells[5,2] := GetBalValue(Year1, Quarter1, 490, 2) + GetBalValue(Year1, Quarter1, 640, 2) +

GetBalValue(Year1, Quarter1, 650, 2);

Excel.Cells[5,3] := GetBalValue(Year2, Quarter2, 490, 2) + GetBalValue(Year2, Quarter2, 640, 2) +

GetBalValue(Year2, Quarter2, 650, 2);

Excel.Cells[5,4] := GetBalValue(Year3, Quarter3, 490, 2) + GetBalValue(Year3, Quarter3, 640, 2) +

GetBalValue(Year3, Quarter3, 650, 2);

//Основные средства и вложения:

Excel.Cells[6,2] := GetBalValue(Year1, Quarter1, 190, 2);

Excel.Cells[6,3] := GetBalValue(Year2, Quarter2, 190, 2);

Excel.Cells[6,4] := GetBalValue(Year3, Quarter3, 190, 2);

//Долгосрочные кредиты и заемные средства:

Excel.Cells[8,2] := GetBalValue(Year1, Quarter1, 590, 2);

Excel.Cells[8,3] := GetBalValue(Year2, Quarter2, 590, 2);

Excel.Cells[8,4] := GetBalValue(Year3, Quarter3, 590, 2);

//Краткосрочные кредиты и займы:

Excel.Cells[10,2] := GetBalValue(Year1, Quarter1, 610, 2);

Excel.Cells[10,3] := GetBalValue(Year2, Quarter2, 610, 2);

Excel.Cells[10,4] := GetBalValue(Year3, Quarter3, 610, 2);

//Краткосрочные кредиты и займы:

Excel.Cells[12,2] := GetBalValue(Year1, Quarter1, 210, 2) + GetBalValue(Year1, Quarter1, 220, 2);

Excel.Cells[12,3] := GetBalValue(Year2, Quarter2, 210, 2) + GetBalValue(Year2, Quarter2, 220, 2);

Excel.Cells[12,4] := GetBalValue(Year3, Quarter3, 210, 2) + GetBalValue(Year3, Quarter3, 220, 2);


//Вывод данных на вторую закладку шаблона (относ. показатели):

Excel.Worksheets[2].Select;

//Заголовок таблицы отн. показателей:

Excel.Cells[1,1] := string(Excel.Cells[1,1]) +

IntToStr(Quarter1) + ' кв. ' + IntToStr(Year1) + ' г., ' +

IntToStr(Quarter2) + ' кв. ' + IntToStr(Year2) + ' г., ' +

IntToStr(Quarter3) + ' кв. ' + IntToStr(Year3) + ' г. ';

//Шапка таблицы отн. показателей:

Excel.Cells[3,3] := IntToStr(Quarter1) + ' кв. ' + IntToStr(Year1) + ' г.';

Excel.Cells[3,4] := IntToStr(Quarter2) + ' кв. ' + IntToStr(Year2) + ' г.';

Excel.Cells[3,5] := IntToStr(Quarter3) + ' кв. ' + IntToStr(Year3) + ' г.';

Excel.Cells[4,6] := IntToStr(Quarter1) + ' кв. ' + IntToStr(Year1) + ' г. от ' +

IntToStr(Quarter2) + ' кв. ' + IntToStr(Year2) + ' г.';

Excel.Cells[4,7] := IntToStr(Quarter2) + ' кв. ' + IntToStr(Year2) + ' г. от ' +

IntToStr(Quarter3) + ' кв. ' + IntToStr(Year3) + ' г.';

Excel.Cells[4,8] := IntToStr(Quarter1) + ' кв. ' + IntToStr(Year1) + ' г. от ' +

IntToStr(Quarter3) + ' кв. ' + IntToStr(Year3) + ' г.';


//Коэффициент обеспеченности собственными оборотными средствами (Ко):

Excel.Cells[5,3] := (GetBalValue(Year1, Quarter1, 490, 2) + GetBalValue(Year1, Quarter1, 640, 2) +

GetBalValue(Year1, Quarter1, 650, 2) - GetBalValue(Year1, Quarter1, 190, 2)) /

GetBalValue(Year1, Quarter1, 290, 2);

Excel.Cells[5,4] := (GetBalValue(Year2, Quarter2, 490, 2) + GetBalValue(Year2, Quarter2, 640, 2) +

GetBalValue(Year2, Quarter2, 650, 2) - GetBalValue(Year2, Quarter2, 190, 2)) /


GetBalValue(Year2, Quarter2, 290, 2);

Excel.Cells[5,5] := (GetBalValue(Year3, Quarter3, 490, 2) + GetBalValue(Year3, Quarter3, 640, 2) +

GetBalValue(Year3, Quarter3, 650, 2) - GetBalValue(Year3, Quarter3, 190, 2)) /

GetBalValue(Year3, Quarter3, 290, 2);

//Коэффициент реальной стоимости имущества (Крси):

Excel.Cells[10,3] := (GetBalValue(Year1, Quarter1, 120, 2) + GetBalValue(Year1, Quarter1, 211, 2) +

GetBalValue(Year1, Quarter1, 213, 2)) / GetBalValue(Year1, Quarter1, 300, 2);

Excel.Cells[10,4] := (GetBalValue(Year2, Quarter2, 120, 2) + GetBalValue(Year2, Quarter2, 211, 2) +

GetBalValue(Year2, Quarter2, 213, 2)) / GetBalValue(Year2, Quarter2, 300, 2);

if GetBalValue(Year3, Quarter3, 300, 2) <> 0 then

Excel.Cells[10,5] := (GetBalValue(Year3, Quarter3, 120, 2) + GetBalValue(Year3, Quarter3, 211, 2) +

GetBalValue(Year3, Quarter3, 213, 2)) / GetBalValue(Year3, Quarter3, 300, 2)

else

Excel.Cells[10,5] := '-';

//Коэффициент имущества производственного назначения (Кп.им):

Excel.Cells[11,3] := (GetBalValue(Year1, Quarter1, 210, 2) + GetBalValue(Year1, Quarter1, 220, 2) +

GetBalValue(Year1, Quarter1, 190, 2)) / GetBalValue(Year1, Quarter1, 300, 2);

Excel.Cells[11,4] := (GetBalValue(Year2, Quarter2, 210, 2) + GetBalValue(Year2, Quarter2, 220, 2) +

GetBalValue(Year2, Quarter2, 190, 2)) / GetBalValue(Year2, Quarter2, 300, 2);

if GetBalValue(Year3, Quarter3, 300, 2) <> 0 then

Excel.Cells[11,5] := (GetBalValue(Year3, Quarter3, 210, 2) + GetBalValue(Year3, Quarter3, 220, 2) +

GetBalValue(Year3, Quarter3, 190, 2)) / GetBalValue(Year3, Quarter3, 300, 2)

else

Excel.Cells[11,5] := '-';

//Коэффициент имущества производственного назначения (Кп.им):

Excel.Cells[12,3] := (GetBalValue(Year1, Quarter1, 490, 2) + GetBalValue(Year1, Quarter1, 640, 2) +

GetBalValue(Year1, Quarter1, 650, 2)) / GetBalValue(Year1, Quarter1, 300, 2);

Excel.Cells[12,4] := (GetBalValue(Year2, Quarter2, 490, 2) + GetBalValue(Year2, Quarter2, 640, 2) +

GetBalValue(Year2, Quarter2, 650, 2)) / GetBalValue(Year2, Quarter2, 300, 2);

if GetBalValue(Year3, Quarter3, 300, 2) <> 0 then

Excel.Cells[12,5] := (GetBalValue(Year3, Quarter3, 490, 2) + GetBalValue(Year3, Quarter3, 640, 2) +

GetBalValue(Year3, Quarter3, 650, 2)) / GetBalValue(Year3, Quarter3, 300, 2)

else

Excel.Cells[12,5] := '-';

//Коэффициент соотношения мобильных и иммобилизованных средств (Км/и):

Excel.Cells[14,3] := GetBalValue(Year1, Quarter1, 290, 2) / GetBalValue(Year1, Quarter1, 190, 2);

Excel.Cells[14,4] := GetBalValue(Year2, Quarter2, 290, 2) / GetBalValue(Year2, Quarter2, 190, 2);

Excel.Cells[14,5] := GetBalValue(Year3, Quarter3, 290, 2) / GetBalValue(Year3, Quarter3, 190, 2);

//Коэффициент прогноза банкротства (Кпб):

Excel.Cells[15,3] := (GetBalValue(Year1, Quarter1, 290, 2) - GetBalValue(Year1, Quarter1, 610, 2)) /

GetBalValue(Year1, Quarter1, 300, 2);

Excel.Cells[15,4] := (GetBalValue(Year2, Quarter2, 290, 2) - GetBalValue(Year2, Quarter2, 190, 2)) /

GetBalValue(Year2, Quarter2, 300, 2);

if GetBalValue(Year3, Quarter3, 300, 2) <> 0 then

Excel.Cells[15,5] := (GetBalValue(Year3, Quarter3, 290, 2) - GetBalValue(Year3, Quarter3, 190, 2)) /

GetBalValue(Year3, Quarter3, 300, 2)

else

Excel.Cells[12,5] := '-';

Excel.Visible := True;

except

Excel.Quit;

end;

finally

Screen.Cursor := crDefault;

end;

end;


//Формирование таблиц "Показатели рентабельности и деловой активности":

procedure Rep_Tables3(Year1, Quarter1, Year2, Quarter2, Year3, Quarter3: Integer);

var

Excel: Variant;

WorkbookName: string;

begin

//Шаблон хранится в папке Шаблоны:

WorkbookName := GetCurrentDir + '\Шаблоны\' + '3 Показатели рентабельности и деловой активности.xlt';

Excel := CreateOleObject('Excel.Application');

Screen.Cursor := crHourGlass;

try

try

Excel.Workbooks.Open(WorkbookName);

//Вывод данных на первую закладку шаблона (показатели рентабельности):

Excel.Worksheets[1].Select;

//Заголовок таблицы абс. показателей:

Excel.Cells[1,1] := string(Excel.Cells[1,1]) +


IntToStr(Quarter1) + ' кв. ' + IntToStr(Year1) + ' г., ' +

IntToStr(Quarter2) + ' кв. ' + IntToStr(Year2) + ' г., ' +

IntToStr(Quarter3) + ' кв. ' + IntToStr(Year3) + ' г. ';

//Шапка таблицы абс. показателей:

Excel.Cells[3,2] := IntToStr(Quarter1) + ' кв. ' + IntToStr(Year1) + ' г.';

Excel.Cells[3,3] := IntToStr(Quarter2) + ' кв. ' + IntToStr(Year2) + ' г.';

Excel.Cells[3,4] := IntToStr(Quarter3) + ' кв. ' + IntToStr(Year3) + ' г.';

Excel.Cells[4,5] := IntToStr(Quarter1) + ' кв. ' + IntToStr(Year1) + ' г. от ' +

IntToStr(Quarter2) + ' кв. ' + IntToStr(Year2) + ' г.';

Excel.Cells[4,7] := IntToStr(Quarter2) + ' кв. ' + IntToStr(Year2) + ' г. от ' +

IntToStr(Quarter3) + ' кв. ' + IntToStr(Year3) + ' г.';

Excel.Cells[4,9] := IntToStr(Quarter1) + ' кв. ' + IntToStr(Year1) + ' г. от ' +

IntToStr(Quarter3) + ' кв. ' + IntToStr(Year3) + ' г.';


//Рентабельность продаж:

Excel.Cells[6,2] := GetOPUValue(Year1, Quarter1, 50, 1) / GetOPUValue(Year1, Quarter1, 10, 1);

Excel.Cells[6,3] := GetOPUValue(Year2, Quarter2, 50, 1) / GetOPUValue(Year2, Quarter2, 10, 1);

Excel.Cells[6,4] := GetOPUValue(Year3, Quarter3, 50, 1) / GetOPUValue(Year3, Quarter3, 10, 1);

//Общая рентабельность отчетного периода (экономическая рентабельность):

Excel.Cells[7,2] := GetOPUValue(Year1, Quarter1, 140, 1) / GetBalValue(Year1, Quarter1, 300, 2);

Excel.Cells[7,3] := GetOPUValue(Year2, Quarter2, 140, 1) / GetBalValue(Year2, Quarter2, 300, 2);

if GetBalValue(Year3, Quarter3, 300, 2) <> 0 then

Excel.Cells[7,4] := GetOPUValue(Year3, Quarter3, 140, 1) / GetBalValue(Year3, Quarter3, 300, 2)

else

Excel.Cells[7,4] := '-';

//Рентабельность собственного капитала:

if (GetBalValue(Year1, Quarter1, 490, 2) <> 0) and (GetBalValue(Year1, Quarter1, 640, 2) <> 0) and

(GetBalValue(Year1, Quarter1, 650, 2) <> 0) then

Excel.Cells[8,2] := GetOPUValue(Year1, Quarter1, 190, 1) / GetBalValue(Year1, Quarter1, 490, 2) +

GetOPUValue(Year1, Quarter1, 190, 1) / GetBalValue(Year1, Quarter1, 640, 2) +

GetOPUValue(Year1, Quarter1, 190, 1) / GetBalValue(Year1, Quarter1, 650, 2)

else

Excel.Cells[8,2] := '-';

if (GetBalValue(Year2, Quarter2, 490, 2) <> 0) and (GetBalValue(Year2, Quarter2, 640, 2) <> 0) and

(GetBalValue(Year2, Quarter2, 650, 2) <> 0) then

Excel.Cells[8,3] := GetBalValue(Year2, Quarter2, 190, 2) / GetBalValue(Year2, Quarter2, 490, 2) +

GetOPUValue(Year2, Quarter2, 190, 1) / GetBalValue(Year2, Quarter2, 640, 2) +

GetOPUValue(Year2, Quarter2, 190, 1) / GetBalValue(Year2, Quarter2, 650, 2)

else

Excel.Cells[8,3] := '-';

if (GetBalValue(Year3, Quarter3, 490, 2) <> 0) and (GetBalValue(Year3, Quarter3, 640, 2) <> 0) and

(GetBalValue(Year3, Quarter3, 650, 2) <> 0) then

Excel.Cells[8,4] := GetBalValue(Year3, Quarter3, 190, 2) / GetBalValue(Year3, Quarter3, 490, 2) +

GetOPUValue(Year3, Quarter3, 190, 1) / GetBalValue(Year3, Quarter3, 640, 2) +

GetOPUValue(Year3, Quarter3, 190, 1) / GetBalValue(Year3, Quarter3, 650, 2)

else

Excel.Cells[8,4] := '-';

//Рентабельность внеоборотных активов:

Excel.Cells[9,2] := GetOPUValue(Year1, Quarter1, 190, 1) / GetBalValue(Year1, Quarter1, 190, 2);

Excel.Cells[9,3] := GetOPUValue(Year2, Quarter2, 190, 1) / GetBalValue(Year2, Quarter2, 190, 2);

Excel.Cells[9,4] := GetOPUValue(Year3, Quarter3, 190, 1) / GetBalValue(Year3, Quarter3, 190, 2);

//Рентабельность основной деятельности (окупаемость издержек):

Excel.Cells[10,2] := GetOPUValue(Year1, Quarter1, 50, 1) / GetOPUValue(Year1, Quarter1, 20, 1);

Excel.Cells[10,3] := GetOPUValue(Year2, Quarter2, 50, 1) / GetOPUValue(Year2, Quarter2, 20, 1);

Excel.Cells[10,4] := GetOPUValue(Year3, Quarter3, 50, 1) / GetOPUValue(Year3, Quarter3, 20, 1);

//Рентабельность перманентного (постоянного) капитала, рентабельность инвестиций:

if (GetBalValue(Year1, Quarter1, 490, 2) <> 0) and (GetBalValue(Year1, Quarter1, 640, 2) <> 0) and

(GetBalValue(Year1, Quarter1, 650, 2) <> 0) then

Excel.Cells[11,2] := GetOPUValue(Year1, Quarter1, 140, 1) / GetBalValue(Year1, Quarter1, 490, 2) +

GetOPUValue(Year1, Quarter1, 140, 1) / GetBalValue(Year1, Quarter1, 640, 2) +

GetOPUValue(Year1, Quarter1, 140, 1) / GetBalValue(Year1, Quarter1, 650, 2)