Файл: Информационная система финансового анализа состояния преприятия.doc
Добавлен: 21.10.2018
Просмотров: 32450
Скачиваний: 10
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)