Затраты на страховые взносы
Затраты на страховые взносы (ЗСВ) в 2011 году составляют 34% от основной и дополнительной заработной платы ИТР.
ЗСВ = 240282 * 0,34 = 81695,9 руб.
11.1.3.3 Расчет затрат по содержанию и эксплуатации оборудования.
Затраты на содержание и эксплуатацию оборудования рассчитываются по следующей формуле:
S = Sa + Se ; руб.
где: Sa – Амортизационные отчисления, используемого оборудования за время работы над проектом;
Se – Стоимость электроэнергии, затраченной оборудованием за время работы над проектом.
Амортизационные отчисления (Sa), рассчитываются путём умножения стоимости использованного оборудования на коэффициент амортизации, принятый для данного класса оборудования.
С учётом того, что разработка велась с использованием персонального компьютера (ПК), коэффициент амортизации равен 25% в год, а значит, формула имеет вид:
Sa/год = Sоб * 0,25; руб.
Таблица 30. Стоимость персонального компьютера и периферии
№ п/п | Наименование | Цена, руб. |
Системный блок | 11700,00 | |
Монитор LCD 19” | 5500,00 | |
Клавиатура | 250,00 | |
Мышь | ||
Принтер лазерный HP LaserJet P6008 | 4800,00 | |
Итого (Sоб): | 22370,00 |
Амортизационные отчисления за год составляют:
Sa/год = 22370 * 0,25 = 5593 руб./год
Годовой полезный фонд времени работы компьютера составляет 244 дня, или 1952 часа:
Тф/год =244 дней = 244 * 8 = 1952 часа.
Исходя из того, что компьютер использовался для разработки программного обеспечения не целый год, а лишь 51 дней (T=51*8=408 часов), необходимо вычислить амортизационные отчисления используемого оборудования за время работы над проектом по следующей формуле:
Стоимость электроэнергии (Se), затраченной оборудованием за время работы над проектом рассчитывается по формуле:
Se = Рк * SкВт * Т; руб.
где: Рк – мощность, потребляемая ПК (250 Вт – 0,25 кВт);
SкВт – цена за 1 кВт/час, установленная для предприятия (3 Рубля);
Т – время использования ПК при разработке программного обеспечения.
Se =0,25 * 3 * 408 = 306 руб.
В результате вышеприведённых вычислений затраты на содержание и эксплуатацию оборудования составляют:
S = Sa + Se = 1169 + 306 = 1475 руб.
11.1.3.4 Прочие денежные расходы.
Величина прочих денежных расходов рассчитывается в процентном соотношении от объема заработной платы инженерно-технических работников и составляет 100% ее величины:
Пр=200235*1,0=200235
11.1.3.5 Смета затрат на разработку интерфейса пользователя.
Смета затрат на разработку на разработку интерфейса пользователя представлена в таблице 31.
Таблица 31. Смета затрат на проведение работ по созданию интерфейса пользователя
№ п/п | Статьи расходов | Сумма, руб. |
Затраты на материалы, используемые на стадии выполнения ОКР | 1660,89 | |
Заработная плата (основная и дополнительная) разработчиков (ИТР) | ||
Затраты на страховые взносы (34% от основной и дополнительной заработной платы ИТР) | 81695,9 | |
Затраты на содержание и эксплуатацию оборудования | ||
Прочие денежные расходы (100% от основной заработной платы разработчиков проекта) | ||
ИТОГО: | 525348,8 |
Вывод.
По результат расчетов, для создания данного программного продукта потребуется 525348,8 рублей. Оценить эту сумму сложно, т.к. схожие программные продукты, присутствующие на рынке, не подходят для решения поставленной задачи. Тот факт, что разработанная программа будет использоваться только внутри университета и не будет представлена на рынке, позволяет нам отказаться от расчетов отпускной цены для данного продукта.
Для снижения сметы расходов можно предпринять ряд мер. Более половины суммы расходов, представляют собой затраты на оплату труда программиста. Добиться снижения этих затрат можно путем улучшения эффективности труда.
Заключение
В результате дипломного проектирования было разработано программное обеспечение АИС «Будущий абитуриент». Программное обеспечение отвечает требованиям, предъявленным в техническом задании. На данный момент программное обеспечение интегрировано в программный комплекс Информатизация МГОУ и используется в работе ЦПК.
Использование разработанного программного обеспечения позволяет оперативно получать статистическую и персональную информацию пользователем по каналам внутренней локальной сети из базы данных после предварительной установки специального клиентского ПО на рабочем месте. Программное обеспечение расширяет возможности для актуализации информации в базе данных по поступившим возможным абитуриентам.
Список литературы
Книги
Однотомные издания
Путилин А.Б., Юрагов Е.А. Компонентное моделирование и программирование на языке UML. Практическое руководство по проектированию информационных систем. - М. НТ Пресс 2005 г.
Путилин А.Б., Юрагов Е.А. Дипломное проектирование.Методическое пособиепо подготовке выпускной квалификационной работы по направлению 654600 «Информатика и вычислительная техника», специальность 230105 «Программное обеспечение вычислительной техники и автоматизированных систем». - М. изд. МГОУ 2010 г.
Хелен Борри, InterBase и Firebird. Практическое руководство для умных пользователей и начинающих разработчиков. – BHV, 2007 г.
Хелен Борри, FireBird: руководство разработчика баз данных. – BHV, 2007 г.
Эрик Хармон. Руководство разработчика баз данных в Delphi/Kylix. – Вильямс, 2002 г.
Интернет ресурсы
1. http://www.firebirdsql.org/manual/ru/qsg15-databases-ru.html. Работа с базами данных.
2. http://www.ibprovider.com/rus/documentation/firebird_interbase_delphi.html. Работа с Firebird и Interbase в Delphi. Часть 1.
Приложение 1. Листинг
{Модуль регистрации}
Unit Vabit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms, Dialogs, SDIEvent, cxGraphics, cxLookAndFeels,
cxLookAndFeelPainters, Menus, StdCtrls, cxButtons, cxControls,
cxContainer, cxEdit, dxCntner, dxExEdtr, dxEdLib, dxDBELib,
cxGroupBox, cxPC, cxStyles, cxCustomData, cxFilter, cxData,
cxDataStorage, DB, cxDBData, cxGridLevel, cxClasses,
cxGridCustomView, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxGrid, cxRadioGroup, cxDBEdit, cxTextEdit,
cxMaskEdit, cxDropDownEdit, cxLookupEdit, cxDBLookupEdit,
cxDBLookupComboBox, cxCalendar, FIBDataSet, pFIBDataSet, DMmain,
cxCheckBox, cxImageComboBox, Grids, DBGrids, frxClass, frxDBSet,
frxFIBComponents;
type
TFvabit = class(TForm)
cxB_Print_ID: TcxButton;
cxGroupBox1: TcxGroupBox;
cxB_Registr: TcxButton;
cxB_Ok_Commit: TcxButton;
cxB_Cancel: TcxButton;
cxGroupBox2: TcxGroupBox;
Label2: TLabel;
cxPC_Vbr: TcxPageControl;
cxTabSheet1: TcxTabSheet;
cxTabSheet2: TcxTabSheet;
cxGrid1DBTableView1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
Label1: TLabel;
cxGrid2DBTableView1: TcxGridDBTableView;
cxGrid2Level1: TcxGridLevel;
cxGrid2: TcxGrid;
cxGroupBox3: TcxGroupBox;
cxGroupBox4: TcxGroupBox;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
cxDBME_HP: TcxDBMaskEdit;
cxDBME_MP: TcxDBMaskEdit;
cxDBME_Mail: TcxDBMaskEdit;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
cxDBLCB_NameEduc: TcxDBLookupComboBox;
cxDBLookupComboBox3: TcxDBLookupComboBox;
cxGroupBox5: TcxGroupBox;
cxGroupBox6: TcxGroupBox;
cxDBDE_BD: TcxDBDateEdit;
cxDBRG_Sex: TcxDBRadioGroup;
cxGroupBox7: TcxGroupBox;
cxDBLCB_From: TcxDBLookupComboBox;
cxDBRG_Hostel: TcxDBRadioGroup;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
cxME_ID_Abit: TcxMaskEdit;
pFIBDS_All: TpFIBDataSet;
DS_All: TDataSource;
cxDBTextEdit1: TcxDBTextEdit;
cxDBTextEdit2: TcxDBTextEdit;
cxDBTextEdit3: TcxDBTextEdit;
pFIBDS_From: TpFIBDataSet;
DS_From: TDataSource;
cxDBImageCB_EducID: TcxDBImageComboBox;
pFIBDS_NameEduc: TpFIBDataSet;
DS_NameEduc: TDataSource;
pFIBDS_LivingEduc: TpFIBDataSet;
DS_LivingEduc: TDataSource;
pFIBDS_PayForm: TpFIBDataSet;
DS_PayForm: TDataSource;
cxDBLCB_Pay: TcxDBLookupComboBox;
cxDBRadioGroup1: TcxDBRadioGroup;
pFIBDS_Fakul: TpFIBDataSet;
pFIBDS_Spec: TpFIBDataSet;
DS_Fakul: TDataSource;
cxGrid1DBTableView1NAME: TcxGridDBColumn;
DS_Spec: TDataSource;
cxGrid2DBTableView1NAME: TcxGridDBColumn;
cxGrid1DBTableView1Column1: TcxGridDBColumn;
cxGrid2DBTableView1Column1: TcxGridDBColumn;
frxReport_Pirnt: TfrxReport;
frxDBDataset1: TfrxDBDataset;
frxFIBComponents1: TfrxFIBComponents;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure cxB_RegistrClick(Sender: TObject);
procedure cxB_Ok_CommitClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure cxB_CancelClick(Sender: TObject);
procedure cxME_ID_AbitKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure cxB_Print_IDClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Fvabit: TFvabit;
implementation
{$R *.dfm}
{Обрабатываем закрытие формы}
procedure TFvabit.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action := caFree;
end;
{Освобождаем память}
procedure TFvabit.FormDestroy(Sender: TObject);
begin
Fvabit := nil;
end;
{Обрабатываем нажатие кнопки Регистрация}
procedure TFvabit.cxB_RegistrClick(Sender: TObject);
begin
if pFIBDS_All.Modified then
if pFIBDS_All.Fieldbyname('ID').AsVariant <> null then
pFIBDS_All.Post
else
begin
//кто зарегистрировал
pFIBDS_All.FieldByName('USER_ADD').AsInteger :=
DM_Main.NickID;
//на каком мероприятии
pFIBDS_All.FieldByName('Source_ID').AsInteger :=
DM_Main.vSource;
pFIBDS_All.Post;
//Показываем список факультетов и специальностей
pFIBDS_Fakul.FullRefresh;
pFIBDS_Spec.FullRefresh;
//в поле ID записываем сгенерированный ID воз. абитуриента
cxME_ID_Abit.Text := pFIBDS_All.Fieldbyname('ID').AsString;
end;
if pFIBDS_Fakul.Modified then
pFIBDS_Fakul.Post;
if pFIBDS_Spec.Modified then
pFIBDS_Spec.Post;
DM_Main.pFIBTWrite.CommitRetaining;
end;
{Обрабатываем нажатие кнопки Сохранить}
procedure TFvabit.cxB_Ok_CommitClick(Sender: TObject);
begin
if pFIBDS_All.Modified then
pFIBDS_All.Post;
if pFIBDS_Fakul.Modified then
pFIBDS_Fakul.Post;
if pFIBDS_Spec.Modified then
pFIBDS_Spec.Post;
DM_Main.pFIBTWrite.CommitRetaining;
close;
ModalResult := mrOk;
end;
{Обрабатываем создание формы регистрации}
procedure TFvabit.FormCreate(Sender: TObject);
begin
pFIBDS_All.Active := true;
pFIBDS_From.Active := true;
pFIBDS_NameEduc.Active := true;
pFIBDS_LivingEduc.Active := true;
pFIBDS_PayForm.Active := true;
pFIBDS_Fakul.Active := true;
pFIBDS_Spec.Active := true;
end;
{Обрабатываем нажатие кнопки Отмена}
procedure TFvabit.cxB_CancelClick(Sender: TObject);
begin
DM_Main.pFIBTWrite.Rollback;
ModalResult := mrCancel;
close;
end;
{Обрабатываем введение в поле ‘ID’ идентификационный номер возможного абитуриента во время повторного посещения МГОУ}
procedure TFvabit.cxME_ID_AbitKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = 13 then
begin
cxB_Registr.Visible := false;
pFIBDS_All.Active := false;
pFIBDS_All.ParamByName('ID').AsString := cxME_ID_Abit.Text;
pFIBDS_All.Active := true;
pFIBDS_All.Edit;
pFIBDS_All.FieldByName('REPEAT').AsInteger := 1;
end;
end;
{Обрабатываем нажатие кнопки Печать ID}
procedure TFvabit.cxB_Print_IDClick(Sender: TObject);
begin
//открываем окно предварительного просмотра карточки воз.абитуриента
frxReport_Pirnt.ShowReport(true);
end;
end.
{Модуль работы с сообщением}
Unit UPost;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms, Dialogs, SDIEvent, cxGraphics, cxControls, cxLookAndFeels,
cxLookAndFeelPainters, cxContainer, cxEdit, cxSplitter, cxGroupBox,
Menus, dxCntner, dxEditor, dxExEdtr, dxEdLib, dxDBELib, StdCtrls,
cxButtons, cxTextEdit, cxMaskEdit, cxDropDownEdit, cxLookupEdit,
cxDBLookupEdit, cxDBLookupComboBox, cxStyles, cxCustomData,
cxFilter, cxData, cxDataStorage, DB, cxDBData, FIBDataSet,
pFIBDataSet, cxGridLevel, cxClasses, cxGridCustomView,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid,
cxProgressBar, DMMain, cxCheckBox, cxMemo, cxDBEdit, Grids, DBGrids,
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdMessageClient, IdSMTP, IdMessage;
type
TFPost = class(TForm)
SDIEvents: TSDIEvents;
cxGroupBox5: TcxGroupBox;
cxSplitter1: TcxSplitter;
cxGroupBox1: TcxGroupBox;
cxGroupBox2: TcxGroupBox;
cxDBLCB_Tema: TcxDBLookupComboBox;
cxGroupBox3: TcxGroupBox;
cxGroupBox4: TcxGroupBox;
Label2: TLabel;
Label4: TLabel;
Label3: TLabel;
cxGroupBox6: TcxGroupBox;
cxB_Save: TcxButton;
cxB_Send: TcxButton;
cxProgressBar: TcxProgressBar;
Label1: TLabel;
cxGrid1DBTableView1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
pFIBDS_Post: TpFIBDataSet;
DataSource1: TDataSource;
cxGrid1DBTableView1SURNAME: TcxGridDBColumn;
cxGrid1DBTableView1NAME: TcxGridDBColumn;
cxGrid1DBTableView1EDUCATION_ID: TcxGridDBColumn;
cxGrid1DBTableView1PAY_FORM_ID: TcxGridDBColumn;
cxGrid1DBTableView1EMAIL: TcxGridDBColumn;
cxGrid1DBTableView1Column1: TcxGridDBColumn;
cxGrid1DBTableView1Column2: TcxGridDBColumn;
cxGrid1DBTableView1Column3: TcxGridDBColumn;
cxDBMemo1: TcxDBMemo;
DS_Mes: TDataSource;
pFIBDS_Mes: TpFIBDataSet;
DS_Theme: TDataSource;
pFIBDS_Theme: TpFIBDataSet;
cxGroupBox7: TcxGroupBox;
cxBnot: TcxButton;
cxBAll: TcxButton;
IdSMTP: TIdSMTP;
pFIBDS_Send: TpFIBDataSet;
OpenDialog: TOpenDialog;
dxBE_ADD: TdxButtonEdit;
dxBE_ADD1: TdxButtonEdit;
dxBE_ADD2: TdxButtonEdit;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure SDIEventsSDIActivate(Sender: TObject);
procedure cxB_SaveClick(Sender: TObject);
procedure cxB_SendClick(Sender: TObject);
procedure cxBAllClick(Sender: TObject);
procedure dxBE_ADDButtonClick(Sender: TObject; AbsoluteIndex:
Integer);
procedure dxBE_ADD1ButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
procedure dxBE_ADD2ButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
procedure cxBnotClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
FPERSID: integer;
procedure SetPERSID(const Value: integer);
{ Private declarations }
public
property PERSID :integer read FPERSID write SetPERSID;
{ Public declarations }
end;
var
FPost: TFPost;
implementation
{$R *.dfm}
{Обрабатываем закрытие формы}
procedure TFPost.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action := caFree;
end;
{Освобождаем память}
procedure TFPost.FormDestroy(Sender: TObject);
begin
FPost := nil;
end;
{Обрабатываем нажатие кнопки Сохранить}
procedure TFPost.cxB_SaveClick(Sender: TObject);
begin
pFIBDS_Mes.Edit;
//сохраняем прикрепленные файлы
pFIBDS_Mes.FieldByName('ENCLOSURE').AsString := dxBE_ADD.Text + ','
+ dxBE_ADD1.Text + ',' + dxBE_ADD2.Text;
if pFIBDS_Post.Modified then
pFIBDS_Post.Post;
if pFIBDS_Mes.Modified then
pFIBDS_Mes.Post;
DM_Main.pFIBTWrite.Commit;
close;
end;
{Обрабатываем нажатие кнопки Отправить}
procedure TFPost.cxB_SendClick(Sender: TObject);
var
M: TIdMessage;
ATT: Tidattachment;
i, MessageID: integer;
begin
cxB_Save.Click;
//начало отправки сообщений
Screen.Cursor := crHourGlass;
//проверяем тип авторизации пользователя на почтовом сервере
if pFIBDS_Send.FieldByName('AUTHENTICATIONTYPE').AsInteger = 0 then
begin
IdSMTP.AuthenticationType := atNone;
ShowMessage('- AUTHENTICATION: OFF');
end
else
// хост
IdSMTP.Host := pFIBDS_Send.FieldByName('Host').AsString;
// учетная запись
IdSMTP.Username := pFIBDS_Send.FieldByName('Username').AsString;
// порт
IdSMTP.Port := pFIBDS_Send.FieldByName('Port').AsInteger;
// пароль
IdSMTP.Password := pFIBDS_Send.FieldByName('Pass').AsString;
// создаем сообщение
M := TIdMessage.Create(self);
// формируем параметры сообщения
M.From.Text := '"' + pFIBDS_Send.FieldByName('MAILLOGIN').AsString
+ '"<' + pFIBDS_Send.FieldByName('USERNAME').AsString + '>';
m.Body.Add(cxDBMemo1.Text); //текст письма
M.Recipients.Add;
m.Subject := cxDBLCB_Tema.Text; //тема письма
M.IsEncoded := true;
try
try
Application.ProcessMessages;
idSMTP.Connect();
except
MessageBox(0, 'Не удалось соединиться с почтовым сервером.' +
#13 + #10 + 'Сообщения не будут отправлены.' + #13 + #10 +
'Проверьте наличие соединения с интернетом.', 'Соединение с
почтовым ящиком', MB_ICONSTOP or MB_OK or MB_TASKMODAL);
exit;
end;
// добавление файлов к сообщению
if dxBE_ADD.Text <> '' then
ATT := TIdAttachment.Create(m.MessageParts, dxBE_ADD.Text);
if dxBE_ADD1.Text <> '' then
ATT := TIdAttachment.Create(m.MessageParts, dxBE_ADD1.Text);
if dxBE_ADD2.Text <> '' then
ATT := TIdAttachment.Create(m.MessageParts, dxBE_ADD2.Text);
i := 1;
cxProgressBar.Properties.Max :=
cxGrid1DBTableView1.DataController.RowCount + 1;
{Добавление email выделенных возможных абитуриентов}
for i := 1 to cxGrid1DBTableView1.DataController.RowCount do
try
cxGrid1DBTableView1.DataController.RecNo := i;
Application.ProcessMessages;
cxProgressBar.Position := i + 1;
if pFIBDS_Post.FieldByName('CB').AsInteger = 0 then Continue;
M.Recipients.EMailAddresses :=
pFIBDS_Post.FieldByName('email').AsString;
idSMTP.Send(m);
except
MessageBox(0, 'Ошибка при отправке сообщения.' + #13 + #10 +
'Возможно соединение с интернетом было утерено.', 'Отправка
сообщения', MB_ICONERROR or MB_OK or MB_TASKMODAL);
break;
end;
finally
IdSMTP.Disconnect;
att.free;
m.Free;
screen.Cursor := crdefault;
if DM_Main.pFIBTWrite.Active then
DM_Main.pFIBTWrite.Commit;
end;
end;
{Обрабатываем нажатие кнопки Выделить все}
procedure TFPost.cxBAllClick(Sender: TObject);
var i:integer;
begin
pFIBDS_Post.DisableControls;
pFIBDS_Post.First;
for i := 0 to cxGrid1DBTableView1.DataController.RecordCount + 1 do
begin
pFIBDS_Post.Edit;
pFIBDS_Post.FieldByName('CB').AsInteger := 1;
pFIBDS_Post.Post;
cxGrid1DBTableView1.DataController.RecNo := i;
end;
pFIBDS_Post.EnableControls;
end;
{Прикрепление первого файла к сообщению}
procedure TFPost.dxBE_ADDButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
begin
if OpenDialog.Execute then
dxBE_ADD.Text := OpenDialog.FileName;
end;
{Прикрепление второго файла к сообщению}
procedure TFPost.dxBE_ADD1ButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
begin
if OpenDialog.Execute then
dxBE_ADD1.Text := OpenDialog.FileName;
end;
{Прикрепление третьего файла к сообщению}
procedure TFPost.dxBE_ADD2ButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
begin
if OpenDialog.Execute then
dxBE_ADD2.Text := OpenDialog.FileName;
end;
{Обрабатываем нажатие кнопки Снять выделение}
procedure TFPost.cxBnotClick(Sender: TObject);
var i:integer;
begin
pFIBDS_Post.DisableControls;
pFIBDS_Post.First;
for i := 0 to cxGrid1DBTableView1.DataController.RecordCount + 1 do
begin
pFIBDS_Post.Edit;
pFIBDS_Post.FieldByName('CB').AsInteger := 0;
pFIBDS_Post.Post;
cxGrid1DBTableView1.DataController.RecNo := i;
end;
pFIBDS_Post.EnableControls
end;
{Создание формы}
procedure TFPost.FormCreate(Sender: TObject);
var i:integer;
begin
pFIBDS_Mes.Active := true;
pFIBDS_Mes.Insert;
// получение ID нового сообщения
i := pFIBDS_Mes.fieldByName('ID').AsInteger;
// получение ID пользователя, который создает сообщение
pFIBDS_Mes.FieldByName('USER_ID').AsInteger := DM_Main.NickID;
pFIBDS_Mes.Post;
DM_Main.pFIBTWrite.CommitRetaining;
pFIBDS_Mes.Active := false;
pFIBDS_Mes.ParamByName('ID').AsInteger := i;
pFIBDS_Mes.Active := true;
pFIBDS_Send.Active := true;
end;
{Установить персональный ID. Выбор адресата по переданному ID}
procedure TFPost.SetPERSID(const Value: integer);
begin
FPERSID := Value;
if pFIBDS_Post.Locate('pr_id', persid, [loCaseInsensitive]) then
begin
pFIBDS_Post.Edit;
pFIBDS_Post.FieldByName('CB').AsInteger := 1;
pFIBDS_Post.Post;
end;
end;
end.