Автоматизация технологии формирования документов об окончании университета в рамках АСУ МИИТа

Разработка приложения, автоматизирующего технологию формирования документов об окончании, для совершенствования организации работы учебных отделов, кафедр и отдела аттестации университета. Требования к разрабатываемому приложению, его архитектура.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 15.10.2013
Размер файла 2,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Editing:=true;

Params:=CreateVarAr(['']);

GUID_Select:=Get_session;

GUID_Update:=d_P_EDUCATIONAL_SESSION;

with Select_Columns do

Begin

add(tv_session_id_student,0);

add (tv_session_id_paragraph,1);

add(tv_session_ID_VOLUME_DISCIPLINE,2);

add(tv_session_ESTIMATION,3);

add(tv_session_ID_E,4);

add(tv_session_D_START,5);

add(tv_session_D_PASSING,7);

add(tv_session_ID_DISCIPLINE,9);

add(tv_session_IDK_LESSON,10);

add(tv_session_semester,11);

add(tv_session_ID_EDUCATIONAL_SESSION)

End;

With Insert_Columns do

Begin

add(tv_session_id_student,0);

add (tv_session_id_paragraph,1);

add(tv_session_ID_VOLUME_DISCIPLINE,2);

add(tv_session_ESTIMATION,3);

add(tv_session_ID_E,4);

add(tv_session_D_START,5);

add(tv_session_D_PASSING,7);

add(tv_session_ID_DISCIPLINE,9);

add(tv_session_IDK_LESSON,10);

add(tv_session_semester,11);

End;

With Key_Columns do

Begin

add(tv_session_ID_EDUCATIONAL_SESSION)

End;

end;

//////////////////////////таблица темы работ//////////////

with TSqlData_cxGridTableView.Create(tv_themes_only) do

Begin

Single:=false;

Editing:=true;

GUID_Select:=Get_theme;

GUID_Update:=d_P_THEMES_WORKS;

Params:=CreateVarAr(['']);

with Select_Columns do

Begin

add(tv_themes_only_id_theme,0);

add (tv_themes_only_id_paragraph,1);

add(tv_themes_only_id_student,2);

add(tv_themes_only_id_discipline,3);

add(tv_themes_only_idk_lesson,4);

add(tv_themes_only_d_start,5);

add(tv_themes_only_theme,6);

End;

With Insert_Columns do

Begin

//add(tv_themes_only_id_theme,0);

add (tv_themes_only_id_paragraph,1);

add(tv_themes_only_id_student,2);

add(tv_themes_only_id_discipline,3);

add(tv_themes_only_idk_lesson,4);

add(tv_themes_only_d_start,5);

add(tv_themes_only_theme,6);

End;

With Key_Columns do

Begin

add(tv_themes_only_id_theme,0);

End;

end;

//////////////////////////таблица руководство студентами//////////////

with TSqlData_cxGridTableView.Create(tv_ruk) do

Begin

Single:=false;

Editing:=true;

GUID_Select:=Get_ruk;

GUID_Update:=d_P_STUDENTS_MANUAL;

with Select_Columns do

Begin

add(tv_ruk_id_student,0);

add (tv_ruk_id_e,1);

add(tv_ruk_id_paragraph,2);

add(tv_ruk_idk_lesson,3);

add(tv_ruk_d_start,4);

add(tv_ruk_id_discipline,6);

End;

With Insert_Columns do

Begin

add(tv_ruk_id_student,0);

add (tv_ruk_id_e,1);

add(tv_ruk_id_paragraph,2);

add(tv_ruk_idk_lesson,3);

add(tv_ruk_d_start,4);

add(tv_ruk_id_discipline,6);

End;

With Key_Columns do

Begin

add(tv_ruk_id_student,0);

add (tv_ruk_id_e,1);

End;

end;

//////////////////////////содержимое приказа темы//////////////

with TSqlData_cxGridTableView.Create(tv_theme) do

Begin

Single:=false;

Editing:=true;

GUID_Select:=Get_theme_ruk;

Params:=CreateVarAr(['','']);

with Select_Columns do

Begin

add(tv_theme_id_theme);

add (tv_theme_d_start);

add(tv_theme_id_student);

add(tv_theme_id_paragraph);

add(tv_theme_fio_student);

add(tv_theme_group);

add(tv_theme_spec_name);

add(tv_theme_id_podr);

add(tv_theme_theme);

add(tv_theme_id_e);

add(tv_theme_fio_ruk);

add(tv_theme_post_staff);

End;

With Key_Columns do

Begin

add(tv_theme_id_theme);

End;

with PopupColumnsList.Add(tv_theme_fio_ruk) do

Begin

SelfKeyColumn:=tv_theme_id_e;

PopupKeyColumn:=tv_members_id_e;

PopupNameColumn:=tv_members_fio;

End;

popupactions.Add(delete3);

popupactions.Add(actionUpdate);

end;

////////////протоколы///////////////////////////////////

with TSqlData_cxGridTableView.Create(tv_protokol) do

Begin

Single:=false;

Editing:=true;

GUID_Select:=Get_protokol;

GUID_Update:=d_P_SESSION_REPORT;

Params:=CreateVarAr(['','']);

with Select_Columns do

Begin

add(tv_protokol_ID_SESSION_REPORT,1);

add(tv_protokol_id_comisiion,2);

add(tv_protokol_ID_EDUCATIONAL_SESSION,3);

add(tv_protokol_ID_PARAGRAPH,4);

add(tv_protokol_d_start,5);

add(tv_protokol_ID_WORK_THEMES,6);

add(tv_protokol_fio_stud);

add(tv_protokol_id_student);

add(tv_protokol_id_spec);

add(tv_protokol_spec_name);

add(tv_protokol_group);

add(tv_protokol_comission);

add(tv_protokol_theme);

add(tv_protokol_id_e);

add(tv_protokol_fio_ruk);

add(tv_protokol_post_staff);

add(tv_protokol_estimation);

End;

With Insert_Columns do

Begin

add(tv_protokol_id_comisiion,2);

add(tv_protokol_ID_EDUCATIONAL_SESSION,3);

add(tv_protokol_ID_PARAGRAPH,4);

add(tv_protokol_d_start,5);

add(tv_protokol_ID_WORK_THEMES,6);

End;

With Key_Columns do

Begin

add(tv_protokol_ID_SESSION_REPORT,1);

//add(tv_protokol_id_comisiion,2);

End;

with PopupColumnsList.Add(tv_protokol_comission) do

Begin

SelfKeyColumn:=tv_protokol_id_comisiion;

PopupKeyColumn:=tv_com_spec_id_commission;

PopupNameColumn:=tv_com_spec_abr ;

End;

PopupActions.Add(actionupdate);

end;

//////////////////////////таблица приказы//////////////

if Get_SqlData_cxGrid(TTree_Orders) = nil

then with TSqlData_cxGridTableView.Create(TTree_Orders) do

begin

GUID_Select := Get_order_GAK;

GUID_Update:=d_P_ORDERS;

Editing := False;

Params:=CreateVarAr(['','','','']);

Select_Columns.Add(Tree_Orders_Order);

Select_Columns.Add(Tree_Orders_Kind);

Select_Columns.Add(Tree_Orders_Date);

Select_Columns.Add(Tree_Orders_ID);

Select_Columns.Add(Tree_Orders_ID_Order);

Select_Columns.Add(Tree_Orders_idk_order);

Select_Columns.Add(Tree_Orders_id_series);

Select_Columns.Add(Tree_Orders_note);

Select_Columns.Add(Tree_Orders_inst);

//Select_Columns.Add(Tree_Orders_inst_abbr);

//Select_Columns.Add(Tree_Orders_inst_name);

Insert_Columns.Add(Tree_Orders_note,7);

Key_Columns.Add(Tree_Orders_ID);

Stat_Column := Tree_Orders_Order;

with OptionsOrder do

begin

Column_ID_paragraph := Tree_Orders_ID;

Column_ID_order := Tree_Orders_ID_Order;

// Column_Status_Order := tv_Emp_Status;

// Column_Status_Text := tv_Emp_Id_Queue;

//Column_ID_erp_user := tv_Emp_Id_erp_user;

//Column_User_Name := tv_Emp_user;

end;

PopupActions.Add(Prosmotr);

PopupActions.Add(actionUpdate);

// PopupActions.Add (Action_navigate);

PopupActions.Add(OptionsOrder.ActionNavigate);

// PopupActions.Add(OptionsOrder.ActionPreview);

end;

//Form_About.Init();

end;

///////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////

procedure TF_Main.FormCreate(Sender: TObject);

begin

t1:=true; //открыт табшит1

t2:=false; // остальные табшиты закрыты

t3:=false;

t4:=false;

sostav_create;

ps.StorageName := StoreName + '\' + self.Name + '\' + ps.Name;

ps.RestoreFrom;

cxTabSheet5.Visible:=false;

FSqlData_TableView := Get_SqlData_cxGrid(tv_commission);

FSqlData_TableView.Params[0]:='';

// FSqlData_TableView.Params[1]:='';

FSqlData_TableView.Read_Data;

cxTabSheet1Show(cxTabSheet1);

end;

procedure TF_Main.After_Read_Division;

var

s: string;

t: integer;

begin

with Get_SqlDatacxTreeList(Tree_Division_List, My_cxTreeList) do

begin

s := 'Всего: 0'+' за ''' + FloatToStr((Read_User_Time)/1000) + '''';

t := GetTickCount;

Add_Hieararhy(Tree_Division_List, [Tree_Division_List_ID_Division], [Tree_Division_List_ID_Division_Main]);

Load_User_Time := Load_User_Time+Integer(GetTickCount)-t;

s := s+' + ''' + FloatToStr((Load_User_Time)/1000) + '''';

Tree_Division_List_Abbr.SummaryFooter.Format:=s;

end;

end;

procedure TF_Main.Tree_Division_ListMouseUp(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

if Button in [mbRight]

then begin

if Sender = Tree_Division_List

then

Show_PopupEx(self, [al_Refresh_DivList], [True], [], TComponent(Sender));

end;

end;

procedure TF_Main.al_Refresh_DivListExecute(Sender: TObject);

var

tempST: TSqlData_cxTreeList;

begin

tempST := Get_SqlDatacxTreeList(Tree_Division_List, My_cxTreeList);

if tempST <> nil

then begin

with tempST do

begin

if (d_start.Text <> '')

then begin

Params := CreateVarAr([DateToStr(d_start.Date)]);

Read_Data;

end

else begin

Params := CreateVarAr([DateToStr(Date)]);

Read_Data;

end;

end;

end;

end;

/////////////////////////////////////////////

////////////////////////////////////////////

procedure TF_Main.Action_Refresh_RolesExecute(Sender: TObject);

begin

vnSessionAgent.RefreshLoginInfo;

vnSessionAgent.RefreshRolesInfo;

Get_SqlData_cxGrid(Form_About.Tree_Roles_User).IsFirstRead:=True;

Setup;

end;

procedure TF_Main.Change_User ;

begin

if not MSystemServices.Connect(True)

then Close;

Action_Refresh_Roles.Execute;

end;

procedure TF_Main.dxBarButton2Click(Sender: TObject);

begin

Action_Change_User.Execute;

//Change_User;

end;

////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////

//главное подр

procedure TF_Main.cxPopup_podrPropertiesInitPopup(Sender: TObject);

begin

al_Refresh_DivList.Execute;

end;

//обновляем подразделение

procedure TF_Main.cxPopup_podr2PropertiesInitPopup(Sender: TObject);

begin

al_Refresh_DivList.Execute;

end;

// специальность

procedure TF_Main.cxPopup_spec2Click(Sender: TObject);

begin

FSqlData_TableView := Get_SqlData_cxGrid(tv_spec);

if vartostr(Wrap_Div2.Wrappers[cxPopup_podr2].Value)='37'//МИИТ

then

FSqlData_TableView.Params[0]:=''

else // другое подразделение

FSqlData_TableView.Params[0] := vartostr(Wrap_Div2.Wrappers[cxPopup_podr2].Value);

FSqlData_TableView.Read_Data;

end;

procedure TF_Main.cxTabSheet1Show(Sender: TObject);

begin

Panel1.ManualDock(Panel9,nil,alclient);

Panel1.Align:=altop;

cxGrid_Orders.ManualDock(Panel2,nil,alclient);

cxGrid_Orders.Align:=alclient;

// TTree_Orders.ClearItems;

D_start.Text:='';

cxPopup_podr.Text:='';

cxPopup_spec.Text:='';

cxLabel6.Visible:=false;

cxPopup_spec.Visible:=false;

FSqlData_TableView := Get_SqlData_cxGrid(TTree_Orders);

FSqlData_TableView.ClearData;

FSqlData_TableView := Get_SqlData_cxGrid(tv_sostav);

FSqlData_TableView.ClearData;

FSqlData_TableView := Get_SqlData_cxGrid(tv_pred);

FSqlData_TableView.ClearData;

t1:=true;

t2:=false;

t3:=false;

t4:=false;

end;

procedure TF_Main.cxTabSheet2Show(Sender: TObject);

begin

Panel1.ManualDock(Panel4,nil,alclient);

Panel1.Align:=altop;

cxGrid_Orders.ManualDock(Panel5,nil,alclient);

cxGrid_Orders.Align:=alclient;

cxLabel6.Visible:=false;

cxPopup_spec.Visible:=false;

D_start.Text:='';

cxPopup_podr.Text:='';

cxPopup_spec.Text:='';

FSqlData_TableView := Get_SqlData_cxGrid(TTree_Orders);

FSqlData_TableView.ClearData;

FSqlData_TableView := Get_SqlData_cxGrid(tv_theme);

FSqlData_TableView.ClearData;

cxPopup_spec4.Text:='';

t1:=false;

t2:=true;

t3:=false;

t4:=false;

end;

procedure TF_Main.cxPopup_specPropertiesChange(Sender: TObject);

begin

FSqlData_TableView := Get_SqlData_cxGrid(tv_spec);

if vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value)='37'//МИИТ

then

FSqlData_TableView.Params[0]:=''

else // другое подразделение

FSqlData_TableView.Params[0] := vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value);

FSqlData_TableView.Read_Data;

end;

procedure TF_Main.cxPopup_specPropertiesInitPopup(Sender: TObject);

begin

FSqlData_TableView := Get_SqlData_cxGrid(tv_spec);

if vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value)='37'//МИИТ

then

FSqlData_TableView.Params[0]:=''

else // другое подразделение

FSqlData_TableView.Params[0] := vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value);

FSqlData_TableView.Read_Data;

end;

procedure TF_Main.cxPopup_spec2PropertiesInitPopup(Sender: TObject);

begin

FSqlData_TableView := Get_SqlData_cxGrid(tv_spec);

if vartostr(Wrap_Div2.Wrappers[cxPopup_podr2].Value) = '37'//МИИТ

then

FSqlData_TableView.Params[0]:=''

else // другое подразделение

FSqlData_TableView.Params[0] := vartostr(Wrap_Div2.Wrappers[cxPopup_podr2].Value);

FSqlData_TableView.Read_Data;

end;

procedure TF_Main.cxTabSheet3Show(Sender: TObject);

begin

Panel1.ManualDock(Panel16,nil,alclient);

Panel1.Align:=altop;

cxLabel6.Visible:=true;

cxPopup_spec.Visible:=true;

D_start.Text:='';

cxPopup_podr.Text:='';

cxPopup_spec.Text:='';

FSqlData_TableView := Get_SqlData_cxGrid(tv_protokol);

FSqlData_TableView.ClearData;

t1:=false;

t2:=false;

t3:=true;

t4:=false;

end;

procedure TF_Main.cxTabSheet4Show(Sender: TObject);

begin

Panel1.ManualDock(Panel17,nil,alclient);

Panel1.Align:=altop;

cxLabel6.Visible:=true;

cxPopup_spec.Visible:=true;

D_start.Text:='';

cxPopup_podr.Text:='';

cxPopup_spec.Text:='';

t1:=false;

t2:=false;

t3:=false;

t4:=true;

end;

procedure TF_Main.cxButton5Click(Sender: TObject);

begin

//Form_order.ShowModal;

Insert_IzmExecute(TTree_Orders);

end;

//встраиваем правые части

procedure TF_Main.TTree_OrdersMouseDown(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

if t1=true then

begin

//если выбран приказ о составе ГАК

if TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_idk_order.Index]=222

then

begin

Panel8.ManualDock(cxTabSheet5,nil,alclient);

Panel7.ManualDock(Panel3,nil,alclient);

Panel7.Align:= alclient;

cxPopup_spec3.Text:='';

cxPopup_com.Text:='';

FSqlData_TableView := Get_SqlData_cxGrid(tv_sostav);

FSqlData_TableView.Params[1] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_note.Index]);

FSqlData_TableView.Params[0] := '';

FSqlData_TableView.Params[2] :='';

FSqlData_TableView.Read_Data;

end;

//выбранная строчка в гриде, смотрим значение tv_Papers_idk_Order.Index

//если выбран приказ о председателях ГАК

if TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_idk_order.Index]=221

then

begin

Panel7.ManualDock(cxTabSheet5,nil,alclient);

Panel8.ManualDock(Panel3,nil,alclient);

Panel8.Align:= alclient;

cxPopup_spec2.Text:='';

cxPopup_podr2.Text:='';

FSqlData_TableView := Get_SqlData_cxGrid(tv_pred);

FSqlData_TableView.Params[0] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID.Index]);

FSqlData_TableView.Params[1] := '';

FSqlData_TableView.Read_Data;

end;

end;

if t2=true then

begin

FSqlData_TableView := Get_SqlData_cxGrid(tv_theme);

FSqlData_TableView.Params[0] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_note.Index]);

FSqlData_TableView.Params[1] := '';

FSqlData_TableView.Read_Data;

end;

end;

procedure TF_Main.cxPopup_spec2PropertiesChange(Sender: TObject);

begin

FSqlData_TableView := Get_SqlData_cxGrid(tv_pred);

FSqlData_TableView.Params[0] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID.Index]);

FSqlData_TableView.Params[1]:= vartostr(Wrap_spec2.Wrappers[cxPopup_spec2].Value);

FSqlData_TableView.Read_Data;

end;

//добавить ЭК

procedure TF_Main.cxButton1Click(Sender: TObject);

var s:string;

begin

FSqlData_TableView := Get_SqlData_cxGrid(tv_number_commission);

FSqlData_TableView.Params[0]:= vartostr(Wrap_spec2.Wrappers[cxPopup_spec2].Value);

FSqlData_TableView.Read_Data;

if tv_number_commission.DataController.Values[tv_number_commission.DataController.FocusedRecordIndex, tv_number_commission_number.Index]=null

then

begin

FSqlData_TableView := Get_SqlData_cxGrid(tv_commission);

FSqlData_TableView.Insert_New(

CreateVarAr([

inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID.Index]), //id paragraph, появляется при создании приказа с помощью кнопки BE_Izm

'2', //idk commission

vartostr(Wrap_spec2.Wrappers[cxPopup_spec2].Value) ,//'140024' , //id_d_specialitie

datetostr( date) //дата создания комиссии

,'1'

,inttostr(tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex,tv_pred_id_d.Index]) //id d

])) ;

end

else

begin

FSqlData_TableView := Get_SqlData_cxGrid(tv_commission);

FSqlData_TableView.Insert_New(

CreateVarAr([

inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID.Index]), //id paragraph, появляется при создании приказа с помощью кнопки BE_Izm

'2', //idk commission

vartostr(Wrap_spec2.Wrappers[cxPopup_spec2].Value) ,//'140024' , //id_d_specialitie

datetostr( date) //дата создания комиссии

, inttostr(tv_number_commission.DataController.Values[tv_number_commission.DataController.FocusedRecordIndex, tv_number_commission_number.Index]+1)

, inttostr(tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex,tv_pred_id_d.Index])

])) ;

end;

FSqlData_TableView.Params[0]:='';

// FSqlData_TableView.Params[1]:='';

FSqlData_TableView.Read_Data;

FSqlData_TableView := Get_SqlData_cxGrid(tv_pred);

FSqlData_TableView.Params[0] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID.Index]);

FSqlData_TableView.Params[1]:= vartostr(Wrap_spec2.Wrappers[cxPopup_spec2].Value);

FSqlData_TableView.Read_Data;

end;

//специальность доступна только если выбрано подразделение

procedure TF_Main.cxPopup_podr2PropertiesEditValueChanged(Sender: TObject);

begin

if vartostr(Wrap_Div2.Wrappers[cxPopup_podr2].Value) <> ''

then

begin

cxLabel3.Enabled:=true;

cxPopup_spec2.Enabled:=true;

end

else

begin

cxLabel3.Enabled:=false;

cxPopup_spec2.Enabled:=false;

cxPopup_spec2.Text:='';

cxButton1.Enabled:=false;

cxButton2.Enabled:=false;

FSqlData_TableView := Get_SqlData_cxGrid(tv_pred);

FSqlData_TableView.Params[0] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID.Index]);

FSqlData_TableView.Params[1] := '';

FSqlData_TableView.Read_Data;

end;

end;

//специальность доступна только если выбрано подразделение

procedure TF_Main.cxPopup_podrPropertiesEditValueChanged(Sender: TObject);

begin

if t3=true then

begin

if vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value) <> ''

then

begin

cxLabel6.Enabled:=true;

cxPopup_spec.Enabled:=true;

end

else

begin

cxLabel6.Enabled:=false;

cxPopup_spec.Enabled:=false;

cxPopup_spec.Text:='';

end;

end;

if (datetostr(d_start.date)<>'') and (vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value)<>'')

then cxButton10.Enabled:=true

else cxButton10.Enabled:=false;

end;

procedure TF_Main.cxPopup_spec2PropertiesEditValueChanged(Sender: TObject);

begin

FSqlData_TableView := Get_SqlData_cxGrid(tv_pred);

FSqlData_TableView.Params[0] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID.Index]);

FSqlData_TableView.Params[1]:= vartostr(Wrap_spec2.Wrappers[cxPopup_spec2].Value);

FSqlData_TableView.Read_Data;

if vartostr(Wrap_spec2.Wrappers[cxPopup_spec2].Value)<>''

then begin

cxButton1.Enabled:=true;

cxButton2.Enabled:=true

end

else

begin

cxButton1.Enabled:=false;

cxButton2.Enabled:=false;

end

end;

procedure TF_Main.cxButton3Click(Sender: TObject);

begin

//определяем id paragraph создания данной комиссии

FSqlData_TableView := Get_SqlData_cxGrid(tv_commission);

FSqlData_TableView.Params[0] := vartostr(wrap_com.Wrappers[cxPopup_com].Value);

// FSqlData_TableView.Params[1]:='';

FSqlData_TableView.Read_Data;

FSqlData_TableView := Get_SqlData_cxGrid(tv_sostav);

if FSqlData_TableView <> nil

then begin

FSqlData_TableView.Insert_New(

CreateVarAr([

vartostr(wrap_com.Wrappers[cxPopup_com].Value), //(tv_pred_id_comission,3);

//inttostr(tv_commission.DataController.Values[tv_commission.DataController.FocusedRecordIndex, tv_commission_id_paragraph.Index]), // add(tv_pred_id_paragraph,4);

inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID.Index]), // add(tv_pred_id_paragraph,4);

vartostr(wrap_fio.Wrappers[cxPopupEdit6].Value) ,// add(tv_pred_id_e,2);

datetostr(date),// datetostr(tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_d_start.Index]), //add(tv_pred_id_member,1);

vartostr(wrap_sostav.Wrappers[cxPopupEdit2].Value) // add(tv_pred_id_post,8);

]))

end;

FSqlData_TableView.Read_Data;

cxPopupEdit2.Text:='';

cxPopupEdit6.Text:='';

cxLabel10.Caption:='';

end;

procedure TF_Main.cxPopup_spec3PropertiesInitPopup(Sender: TObject);

begin

FSqlData_TableView := Get_SqlData_cxGrid(tv_spec);

FSqlData_TableView.Params[0] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_note.Index]);

FSqlData_TableView.Read_Data;

end;

procedure TF_Main.cxPopup_comPropertiesInitPopup(Sender: TObject);

begin

FSqlData_TableView := Get_SqlData_cxGrid(tv_com_spec);

//FSqlData_TableView.Params[0] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_id.Index]);

FSqlData_TableView.Params[0] := vartostr(Wrap_spec3.Wrappers[cxPopup_spec3].Value);

FSqlData_TableView.Params[1] :='';

FSqlData_TableView.Read_Data;

end;

procedure TF_Main.cxPopup_spec3PropertiesEditValueChanged(Sender: TObject);

begin

cxpopup_com.Text:='';

cxLabel7.Enabled:=false;

cxLabel8.Enabled:=false;

cxLabel9.Enabled:=false;

cxPopupEdit2.Enabled:=false;

cxlabel10.Enabled:=false;

cxPopupEdit6.Enabled:=false;

if vartostr(Wrap_spec3.Wrappers[cxPopup_spec3].Value)=''

then

begin

cxLabel5.Enabled:=false;

cxPopup_com.Enabled:=false;

end

else

begin

cxLabel5.Enabled:=true;

cxPopup_com.Enabled:=true;

FSqlData_TableView := Get_SqlData_cxGrid(tv_sostav);

FSqlData_TableView.Params[1] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_note.Index]);

FSqlData_TableView.Params[0] := vartostr(Wrap_spec3.Wrappers[cxPopup_spec3].Value);

FSqlData_TableView.Params[2] :='';

FSqlData_TableView.Read_Data;

end;

end;

procedure TF_Main.cxButton10Click(Sender: TObject);

begin

if t1=true then //если на первом табшите

begin

FSqlData_TableView := Get_SqlData_cxGrid(TTree_Orders);

FSqlData_TableView.Params[0] := datetostr(D_Start.Date);

if vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value)='37'

then

FSqlData_TableView.Params[1] :=''

else

FSqlData_TableView.Params[1] := vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value);

FSqlData_TableView.Params[2] := '221';

FSqlData_TableView.Params[3] := '222';

FSqlData_TableView.Read_Data;

end;

if t2=true then //если на первом табшите

begin

FSqlData_TableView := Get_SqlData_cxGrid(TTree_Orders);

FSqlData_TableView.Params[0] := datetostr(D_Start.Date);

if vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value)='37'

then

FSqlData_TableView.Params[1] :=''

else

FSqlData_TableView.Params[1] := vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value);

FSqlData_TableView.Params[2] := '223';

FSqlData_TableView.Params[3] := '';

FSqlData_TableView.Read_Data;

end;

if t3=true then

begin

{FSqlData_TableView := Get_SqlData_cxGrid(tv_students);

// FSqlData_TableView.Params[0] := datetostr(D_Start.Date);

if vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value)='37'

then

FSqlData_TableView.Params[0] :=''

else

FSqlData_TableView.Params[0] := vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value);

FSqlData_TableView.Params[1] :=vartostr(Wrap_spec.Wrappers[cxPopup_spec].Value);

FSqlData_TableView.Read_Data; }

FSqlData_TableView := Get_SqlData_cxGrid(tv_protokol);

if vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value)='37'

then

FSqlData_TableView.Params[0] :=''

else

FSqlData_TableView.Params[0] := vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value);

FSqlData_TableView.Params[1] :=vartostr(Wrap_spec.Wrappers[cxPopup_spec].Value);

FSqlData_TableView.Read_Data;

end;

end;

procedure TF_Main.D_StartPropertiesEditValueChanged(Sender: TObject);

begin

if (datetostr(d_start.date)<>'') and (vartostr(Wrap_Div.Wrappers[cxPopup_podr].Value)<>'')

then cxButton10.Enabled:=true

else cxButton10.Enabled:=false;

end;

//добавление приказа о гаках и эках

procedure TF_Main.Insert_IzmExecute(Sender: TObject);

var

id_par,id_order,id_order2,id_series:string; i:integer;

mf: TSForm;

begin

try

// Form_order.Wrap_Div.ClearWrappers;

// Form_order.wrap_korder.ClearWrappers;

mf := CreateSForm(self, 'fNew_SR', 'Добавление приказа',

'Добавление приказа', Form_order.Panel1, tdb_Apply);

TButtonOrderEditWrapper(Form_order.cw_Izm.Wrappers[Form_order.BE_Izm]).IsEmpty:=false;

TButtonOrderEditWrapper(Form_order.cw_Izm.Wrappers[Form_order.BE_Izm2]).IsEmpty:=false;

form_order.cw_izm.OnChangeWrapper(nil);

Form_order.cw_Izm.ClearWrappers;

Form_order.wrap_korder.ClearWrappers;

if mf.ShowModal = mrOk

then begin

id_par:=TButtonOrderEditWrapper(Form_order.cw_Izm.Wrappers[Form_order.BE_Izm]).L_id_paragraph;

if id_par<>'0' then

id_order := TButtonOrderEditWrapper(Form_order.cw_Izm.Wrappers[Form_order.BE_Izm]).L_id_order;

id_order2 := TButtonOrderEditWrapper(Form_order.cw_Izm.Wrappers[Form_order.BE_Izm2]).L_id_order;

if vartostr(Form_order.wrap_korder.Wrappers[Form_order.cxPopupEdit1].Value) = '221'

then

begin

Form_order.cw_Izm.Wrappers[form_order.BE_Izm2].Value:='1';

MSystemServices.UpdateData(d_P_ORDERS, VarArrayOf([7]), CreateVarAr(['37' ]),

VarArrayOf([0]), CreateVarAr([id_order]), 'Не смогли вставить название');

FSqlData_TableView := Get_SqlData_cxGrid(F_Main.tv_spec);

FSqlData_TableView.Params[0]:='';

FSqlData_TableView.Read_Data;

//добавление в таблицу коммиссии

for i:=0 to tv_spec.DataController.RecordCount-1 do

begin

FSqlData_TableView := Get_SqlData_cxGrid(F_Main.tv_commission);

if FSqlData_TableView <> nil

then begin

//вставляем для каждой специальности ГАК и ЭК-1

FSqlData_TableView.Insert_New(

CreateVarAr([

TButtonOrderEditWrapper(Form_order.cw_Izm.Wrappers[form_order.BE_Izm]).L_id_paragraph, //id paragraph, появляется при создании приказа с помощью кнопки BE_Izm

'1', //idk commission

tv_spec_id_spec.DataBinding.DataController.GetDisplayText(i,f_main.tv_spec_id_spec.index) ,//'140024' , //id_d_specialitie

DateToStr(Date) //дата создания приказа

,'' //номер комиссии

, tv_spec_id_d.DataBinding.DataController.GetDisplayText(i,f_main.tv_spec_id_d.index)

])) ;

FSqlData_TableView.Insert_New(

CreateVarAr([

TButtonOrderEditWrapper(Form_order.cw_Izm.Wrappers[form_order.BE_Izm]).L_id_paragraph, //id paragraph, появляется при создании приказа с помощью кнопки BE_Izm

'2', //idk commission

tv_spec_id_spec.DataBinding.DataController.GetDisplayText(i,f_main.tv_spec_id_spec.index) ,//'140024' , //id_d_specialitie

DateToStr(Date) //дата создания приказа

,'1' //номер комиссии

, tv_spec_id_d.DataBinding.DataController.GetDisplayText(i,f_main.tv_spec_id_d.index)

])) ;

end;

end;

end;

if vartostr(Form_order.wrap_korder.Wrappers[Form_order.cxPopupEdit1].Value) = '222' then

begin

// form_order.BE_Izm.Text:='1';

Form_order.cw_Izm.Wrappers[form_order.BE_Izm].Value:='1';

MSystemServices.UpdateData(d_P_ORDERS, VarArrayOf([7]), CreateVarAr([vartostr(Form_order.cw_Izm.Wrappers[form_order.cxPopup_podr].Value )]),

VarArrayOf([0]), CreateVarAr([id_order2]), 'Не смогли вставить название');

end;

end;

finally

{ MSystemServices.DeleteData(d_P_PARAGRAPHS,

VarArrayOf([0]),CreateVarAr([TButtonOrderEditWrapper(Form_order.cw_Izm.Wrappers[Form_order.BE_Izm]).L_id_paragraph]),'не смогли удалить запись');

MSystemServices.DeleteData(d_P_Orders,

VarArrayOf([0]),CreateVarAr([TButtonOrderEditWrapper(Form_order.cw_Izm.Wrappers[Form_order.BE_Izm]).L_id_order]),'не смогли удалить запись') ;}

if assigned(mf)

then FreeAndNil(mf);

end;

end;

procedure TF_Main.DoChanged_cW_Izm(AWrapper: TCustomEditWrapper);

begin

MakeEnable_OkButton(form_order.Panel1, form_order.cW_Izm.IsNotEmptyMandatory);

end;

procedure TF_Main.cxPopup_comPropertiesEditValueChanged(Sender: TObject);

begin

if (vartostr(wrap_com.Wrappers[cxPopup_com].Value)='') or (cxPopup_com.Text='ГАК') then

begin

cxLabel7.Enabled:=false;

cxLabel8.Enabled:=false;

cxLabel9.Enabled:=false;

cxPopupEdit2.Enabled:=false;

cxlabel10.Enabled:=false;

cxPopupEdit6.Enabled:=false;

// cxButton3.Enabled:= false;

end

else

begin

cxLabel7.Enabled:=true;

cxLabel8.Enabled:=true;

cxLabel9.Enabled:=true;

cxPopupEdit2.Enabled:=true;

cxlabel10.Enabled:=true;

cxPopupEdit6.Enabled:=true;

// cxButton3.Enabled:= true;

end;

FSqlData_TableView := Get_SqlData_cxGrid(tv_sostav);

FSqlData_TableView.Params[1] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_note.Index]);

FSqlData_TableView.Params[0] := vartostr(Wrap_spec3.Wrappers[cxPopup_spec3].Value);

FSqlData_TableView.Params[2] :=vartostr(wrap_com.Wrappers[cxPopup_com].Value);

FSqlData_TableView.Read_Data;

end;

procedure TF_Main.cxPopupEdit2PropertiesEditValueChanged(Sender: TObject);

begin

if

(vartostr(Wrap_fio.Wrappers[cxPopupedit6].Value)<>'') and (vartostr(Wrap_sostav.Wrappers[cxPopupedit2].Value)<>'')

then

cxbutton3.Enabled:=true

else

cxbutton3.Enabled:=false

end;

procedure TF_Main.cxPopupEdit6PropertiesEditValueChanged(Sender: TObject);

begin

if (vartostr(Wrap_fio.Wrappers[cxPopupedit6].Value)<>'')

then

begin

FSqlData_TableView := Get_SqlData_cxGrid(tv_members);

FSqlData_TableView.Params[0]:=vartostr(Wrap_fio.Wrappers[cxPopupedit6].Value);

FSqlData_TableView.Read_Data;

cxlabel10.Caption := tv_members_post.DataBinding.DataController.GetDisplayText(0,tv_members_post.index)

+ ' ' + tv_members_podr.DataBinding.DataController.GetDisplayText(0,tv_members_podr.index);

FSqlData_TableView := Get_SqlData_cxGrid(tv_members);

FSqlData_TableView.Params[0]:='';

FSqlData_TableView.Read_Data;

end;

if

(vartostr(Wrap_fio.Wrappers[cxPopupedit6].Value)<>'') and (vartostr(Wrap_sostav.Wrappers[cxPopupedit2].Value)<>'')

then

cxbutton3.Enabled:=true

else

cxbutton3.Enabled:=false

end;

procedure TF_Main.tv_pred_fioPropertiesEditValueChanged(Sender: TObject);

var s:string;

d:variant;

id_post:integer;

begin

{s:= tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_fio.Index];

if s <>''

then cxbutton9.Enabled:= true

else cxbutton9.Enabled:=false;

}

d:= tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_d_start.Index];

//если не введено d_start

if d=null

then d:=date; // то сохраняется текущая дата

//если это ГАК

if inttostr(tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_idk_commission.Index])='1'

then id_post:=55000; // то сохраняется председатель ГАК

//если это ЭК

if inttostr(tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_idk_commission.Index])='2'

then id_post:=55001; // то сохраняется председатель ЭК

// если до этого не было выбрано никого, т е выбираем в первый раз, тодобавляем строку в commission members

if vartostr(tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_id_post.Index])=''

then

begin

FSqlData_TableView := Get_SqlData_cxGrid(tv_pred);

if FSqlData_TableView <> nil

then begin

FSqlData_TableView.Insert_New(

CreateVarAr([

inttostr(tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_id_comission.Index]), //(tv_pred_id_comission,3);

inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID.Index]), // add(tv_pred_id_paragraph,4);

inttostr(tv_members.DataController.Values[tv_members.DataController.FocusedRecordIndex, tv_members_id_e.Index]) ,// add(tv_pred_id_e,2);

vartostr(d), //d_start

inttostr(id_post) // add(tv_pred_id_post,8);

]))

end;

end //если до этого уже был кто-то выбран, то просто делаем update id e

else

begin

MSystemServices.UpdateData(d_P_COMMISSION_MEMBERS,

VarArrayOf([2]), CreateVarAr([inttostr(tv_members.DataController.Values[tv_members.DataController.FocusedRecordIndex, tv_members_id_e.Index]) ]),

VarArrayOf([1]),

CreateVarAr([inttostr(tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_id_member.Index])]), 'Не смогли вставить название');

end;

FSqlData_TableView.Read_Data;

end;

procedure TF_Main.cxButton6Click(Sender: TObject);

begin

Insert_Izm2Execute(TTree_orders);

end;

procedure TF_Main.cxButton7Click(Sender: TObject);

begin

//Form_protokol.cw_Izm.ClearWrappers;

Insert_Izm3Execute(tv_protokol);

end;

//добавление приказа о закреплении тем дипломов

procedure TF_Main.Insert_Izm2Execute(Sender: TObject);

var

mf: TSForm;

id_par,id_order,s:string;

i:integer;

begin

try

mf := CreateSForm(self, 'fNew_SR', 'Добавление приказа', 'Добавление приказа', Form_order_theme.Panel2, tdb_Apply);

TButtonOrderEditWrapper(Form_order_theme.cw_Izm.Wrappers[Form_order_theme.BE_Izm]).IsEmpty:=false;

form_order_theme.cw_izm.OnChangeWrapper(nil);

Form_order_theme.cw_Izm.ClearWrappers;

if mf.ShowModal = mrOk

then begin

id_par:=TButtonOrderEditWrapper(Form_order_theme.cw_Izm.Wrappers[Form_order_theme.BE_Izm]).L_id_paragraph;

id_order := TButtonOrderEditWrapper(Form_order_theme.cw_Izm.Wrappers[Form_order_theme.BE_Izm]).L_id_order;

//записываем по какому подразделению приказ

MSystemServices.UpdateData(d_P_ORDERS, VarArrayOf([7])

, CreateVarAr([vartostr(Form_order_theme.cw_Izm.Wrappers[form_order_theme.cxPopup_podr].Value )]),

VarArrayOf([0]), CreateVarAr([id_order]), 'Не смогли вставить название');

FSqlData_TableView := Get_SqlData_cxGrid(tv_students);

FSqlData_TableView.Params[0]:=vartostr(Form_order_theme.cw_Izm.Wrappers[form_order_theme.cxPopup_podr].Value );

FSqlData_TableView.Params[1]:='';

FSqlData_TableView.Read_Data;

// FSqlData_TableView := Get_SqlData_cxGrid(tv_themes_only);

//добавление в таблицу ТЕМЫ

for i:=0 to tv_students.DataController.RecordCount-1 do

begin

FSqlData_TableView := Get_SqlData_cxGrid(tv_themes_only);

if FSqlData_TableView <> nil

then begin

s:= tv_students_id_theme.DataBinding.DataController.GetDisplayText(i,tv_students_id_theme.index);

if tv_students_id_student.DataBinding.DataController.GetDisplayText(i,tv_students_id_student.index)= '1132119'

then

if s=''

then;

if s = '' then

begin

FSqlData_TableView.Insert_New(

CreateVarAr([

TButtonOrderEditWrapper(Form_order_theme.cw_Izm.Wrappers[Form_order_theme.BE_Izm]).L_id_paragraph // add (tv_themes_only_id_paragraph,1);

, tv_students_id_student.DataBinding.DataController.GetDisplayText(i,tv_students_id_student.index) //add(tv_themes_only_id_student,2);

,'22031' // ,'53836' //add(tv_themes_only_id_discipline,3); дисциплина - дипломный проект

,'12' //add(tv_themes_only_idk_lesson,4); нагрузка-дипломное проектирование

, DateToStr(Date) //add(tv_themes_only_d_start,5);

,' ' //add(tv_themes_only_theme,6);

])) ;

end;

end;

end;

end;

finally

if assigned(mf)

then FreeAndNil(mf);

end;

end;

//добавление протокола

procedure TF_Main.Insert_Izm3Execute(Sender: TObject);

var

mf: TSForm;

i:integer;

s1,s2,s3:string;

begin

try

// Form_protokol.cw_Izm.ClearWrappers;

mf := CreateSForm(self, 'fNew_SR', 'Добавление протоколов', 'Добавление протоколов', Form_protokol.Panel1, tdb_Apply);

TButtonOrderEditWrapper(Form_protokol.cw_Izm.Wrappers[Form_protokol.BE_Izm]).IsEmpty:=false;

form_protokol.cw_izm.OnChangeWrapper(nil);

Form_protokol.cw_Izm.ClearWrappers;

if mf.ShowModal = mrOk

then begin

FSqlData_TableView := Get_SqlData_cxGrid(tv_students);

FSqlData_TableView.Params[0]:=vartostr(Form_protokol.cw_Izm.Wrappers[form_protokol.cxPopup_podr].Value );

FSqlData_TableView.Params[1]:=vartostr(Form_protokol.cw_Izm.Wrappers[form_protokol.cxPopup_spec].Value );

FSqlData_TableView.Read_Data;

FSqlData_TableView := Get_SqlData_cxGrid(tv_com_spec);

FSqlData_TableView.Params[0]:= vartostr(Form_protokol.cw_Izm.Wrappers[form_protokol.cxPopup_spec].Value );

FSqlData_TableView.Params[1]:='2'; //читаем только ЭК

FSqlData_TableView.Read_Data;

for i:=0 to tv_students.DataController.RecordCount-1 do

begin

FSqlData_TableView := Get_SqlData_cxGrid(tv_session);

if FSqlData_TableView <> nil

then begin

FSqlData_TableView.Insert_New(

CreateVarAr([

tv_students_id_student.DataBinding.DataController.GetDisplayText(i,tv_students_id_student.index), // add(tv_session_id_student,0);

TButtonOrderEditWrapper(Form_protokol.cw_Izm.Wrappers[Form_protokol.BE_Izm]).L_id_paragraph, // add (tv_session_id_paragraph,1);

'437425',//'1340784', // add(tv_session_ID_VOLUME_DISCIPLINE,2);

'', //add(tv_session_ESTIMATION,3);

'3141', //add(tv_session_ID_E,4);

datetostr(date), // add(tv_session_D_START,5);

'', // add(tv_session_D_PASSING,7);

'22031',//'53836' , // add(tv_session_ID_DISCIPLINE,9);

'12', //add(tv_session_IDK_LESSON,10);

'12' //semester

])) ;

end;

//читаем educational session для этого студента, чтобы узнать id educ session

FSqlData_TableView.Params[0]:= tv_students_id_student.DataBinding.DataController.GetDisplayText(i,tv_students_id_student.index);

FSqlData_TableView.Read_Data;

//читаем табл темы для этого студента чтоб узнать id его темы

FSqlData_TableView := Get_SqlData_cxGrid(tv_themes_only);

FSqlData_TableView.Params[0]:=tv_students_id_student.DataBinding.DataController.GetDisplayText(i,tv_students_id_student.index);

FSqlData_TableView.Read_Data;

FSqlData_TableView := Get_SqlData_cxGrid(tv_protokol);

if FSqlData_TableView <> nil

then begin

s1:=tv_com_spec_id_commission.DataBinding.DataController.GetDisplayText(0,tv_com_spec_id_commission.index);

if s1<>'1' then

s3:= tv_session_ID_EDUCATIONAL_SESSION.DataBinding.DataController.GetDisplayText(0,tv_session_ID_EDUCATIONAL_SESSION.index);

if s3<>'2' then

s2:=tv_themes_only_id_theme.DataBinding.DataController.GetDisplayText(0,tv_themes_only_id_theme.index);

if s2='' then s2:=' ';

FSqlData_TableView.Insert_New(

CreateVarAr([

s1,//tv_com_spec_id_commission.DataBinding.DataController.GetDisplayText(0,tv_com_spec_id_commission.index), // add(tv_protokol_id_comisiion,2);

//по умолчанию вставляем первый ЭК специальности (индекс записи-1, т к нулевой индекс-ГАК)

// вставляем ID_EDUCATIONAL_SESSION для данного студента, тк таблица tv_session содержит в дан омент одну запись для этого студента(индекс записи-0)

s3,//tv_session_ID_EDUCATIONAL_SESSION.DataBinding.DataController.GetDisplayText(0,tv_session_ID_EDUCATIONAL_SESSION.index),// add(tv_protokol_ID_EDUCATIONAL_SESSION,3);

TButtonOrderEditWrapper(Form_protokol.cw_Izm.Wrappers[Form_protokol.BE_Izm]).L_id_paragraph,// add(tv_protokol_ID_PARAGRAPH,4);

datetostr(date), // add(tv_protokol_d_start,5);

s2 // add(tv_protokol_ID_WORK_THEMES,6);

])) ;

end;

end;

//FSqlData_TableView.Params[0]:=vartostr(Form_protokol.cw_Izm.Wrappers[form_protokol.cxPopup_podr].Value );

//FSqlData_TableView.Params[1]:=vartostr(Form_protokol.cw_Izm.Wrappers[form_protokol.cxPopup_spec].Value );

FSqlData_TableView.ClearData;

end;

finally

if assigned(mf)

then FreeAndNil(mf);

end;

end;

procedure TF_Main.cxPopup_spec4PropertiesInitPopup(Sender: TObject);

begin

FSqlData_TableView := Get_SqlData_cxGrid(tv_spec);

FSqlData_TableView.Params[0] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_note.Index]);

FSqlData_TableView.Read_Data;

end;

procedure TF_Main.cxPopup_spec4PropertiesEditValueChanged(Sender: TObject);

begin

//if t2=true then

//begin

FSqlData_TableView := Get_SqlData_cxGrid(tv_theme);

FSqlData_TableView.Params[0] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_note.Index]);

FSqlData_TableView.Params[1] := vartostr(Wrap_spec4.Wrappers[cxPopup_spec4].Value);

FSqlData_TableView.Read_Data;

// end

end;

procedure TF_Main.tv_theme_fio_rukPropertiesEditValueChanged(

Sender: TObject);

begin

if tv_theme.DataController.Values[tv_theme.DataController.FocusedRecordIndex, tv_theme_fio_ruk.Index] <>''

then cxbutton13.Enabled:= true

else cxbutton13.Enabled:=false;

end;

procedure TF_Main.cxButton13Click(Sender: TObject);

var i:integer;

begin

// FNode := Tree_Staff.FocusedNode;

// ID_staff_unit := tv_Poz.DataController.Values[tv_Poz.DataController.FocusedRecordIndex, tv_Poz_ID_Units.Index];

// i := tv_theme.DataController.FocusedRecordIndex;

// if HandymanFunctions.ShowVNDialog(vnd_Confirmation, 'Удаление записи в таблице "Позиции штатного расписания"','Вы действительно хотите удалить запись?')

// then begin

// MSystemServices.ExchangeData(Del_new_Str,

// CreateVarAr([ID_staff_unit]),

// 'Не смогли удалить позицию штатного расписания');

// Get_SqlData_cxGrid(tv_Poz).Read_Data;

// tv_theme.DataController.DeleteRecord(i);

//если до этого не был никто выбран, т е выбираем первый раз то вставляем строку

if vartostr(tv_theme.DataController.Values[tv_theme.DataController.FocusedRecordIndex, tv_theme_post_staff.Index])=''

then

begin

FSqlData_TableView := Get_SqlData_cxGrid(tv_ruk);

if FSqlData_TableView <> nil

then begin

FSqlData_TableView.Insert_New(

CreateVarAr([

inttostr(tv_theme.DataController.Values[tv_theme.DataController.FocusedRecordIndex, tv_theme_id_student.Index]), // add(tv_ruk_id_student,0);

inttostr(tv_theme.DataController.Values[tv_theme.DataController.FocusedRecordIndex, tv_theme_id_e.Index]), // add (tv_ruk_id_e,1);

inttostr(tv_theme.DataController.Values[tv_theme.DataController.FocusedRecordIndex, tv_theme_id_paragraph.Index]), // add(tv_ruk_id_paragraph,2);

'12', //add(tv_ruk_idk_lesson,3);

datetostr(date),//add(tv_ruk_d_start,4);

'22031' //'53836' //add(tv_ruk_id_discipline,6);

]))

end;

end

else //если уже был кто-то выбрандо этого , т е меняем, то делаем update id e

begin

MSystemServices.UpdateData(d_P_STUDENTS_MANUAL, VarArrayOf([1])

, CreateVarAr([vartostr(tv_theme.DataController.Values[tv_theme.DataController.FocusedRecordIndex, tv_theme_id_e.Index]) ]),

VarArrayOf([0])

, CreateVarAr([inttostr(tv_theme.DataController.Values[tv_theme.DataController.FocusedRecordIndex, tv_theme_id_student.Index])]),

'Не смогли вставить название');

end;

FSqlData_TableView.Read_Data;

MSystemServices.UpdateData(d_P_THEMES_WORKS, VarArrayOf([6])

, CreateVarAr([vartostr(tv_theme.DataController.Values[tv_theme.DataController.FocusedRecordIndex, tv_theme_theme.Index]) ]),

VarArrayOf([0])

, CreateVarAr([inttostr(tv_theme.DataController.Values[tv_theme.DataController.FocusedRecordIndex, tv_theme_id_theme.Index])]), 'Не смогли вставить название');

FSqlData_TableView := Get_SqlData_cxGrid(tv_theme);

FSqlData_TableView.Params[0] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_note.Index]);

FSqlData_TableView.Params[1] := vartostr(Wrap_spec4.Wrappers[cxPopup_spec4].Value);

FSqlData_TableView.Read_Data

end;

procedure TF_Main.tv_protokol_comissionPropertiesInitPopup(

Sender: TObject);

begin

FSqlData_TableView := Get_SqlData_cxGrid(tv_com_spec);

FSqlData_TableView.Params[0]:=inttostr(tv_protokol.DataController.Values[tv_protokol.DataController.FocusedRecordIndex, tv_protokol_id_spec.Index]);

FSqlData_TableView.Params[1]:='2'; //читаем только ЭК

FSqlData_TableView.Read_Data;

end;

procedure TF_Main.tv_protokol_comissionPropertiesEditValueChanged(

Sender: TObject);

var s,s1:string;

begin

// FSqlData_TableView := Get_SqlData_cxGrid(tv_session);

// FSqlData_TableView.IsNeedUpdate := false;

FSqlData_TableView := Get_SqlData_cxGrid(tv_protokol);

FSqlData_TableView.IsNeedUpdate := false;

MSystemServices.UpdateData(d_P_SESSION_REPORT, VarArrayOf([2])

, CreateVarAr([vartostr(tv_com_spec.DataController.Values[tv_com_spec.DataController.FocusedRecordIndex, tv_com_spec_id_commission.Index])]),

VarArrayOf([1])

, CreateVarAr([vartostr(tv_protokol.DataController.Values[tv_protokol.DataController.FocusedRecordIndex, tv_protokol_ID_SESSION_REPORT.Index])]),

'Не смогли вставить название');

FSqlData_TableView.Read_Data;

end;

procedure TF_Main.prosmotrExecute(Sender: TObject);

begin

if t1=true then //просмотр приказа о председателях

begin

if inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_idk_order.Index])='221' then

HandymanFunctions.PreviePaper(MSystemServices,StringToGUID('{E155BC19-F495-4E4C-873E-911B6022984F}'),CreateVarAr( [inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID_Order.Index])]));

if inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_idk_order.Index])='222' then

HandymanFunctions.PreviePaper(MSystemServices,StringToGUID('{128F5570-4DFB-4C98-9312-789AC63B5ACE}'),CreateVarAr( [inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID_Order.Index])]));

end;

if t2=true then //просмотр приказа о темах

HandymanFunctions.PreviePaper(MSystemServices,StringToGUID('{9591563F-2C5F-4469-9BC8-E81791177620}'),CreateVarAr( [inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID.Index])]));

end;

procedure TF_Main.delete1Execute(Sender: TObject);

begin

if HandymanFunctions.ShowVNDialog(vnd_Confirmation, 'Удаление председателей','Вы действительно хотите удалить запись?')

then

MSystemServices.DeleteData(d_P_COMMISSION_MEMBERS,

VarArrayOf([1]),CreateVarAr([inttostr(tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_id_member.Index])]),'не смогли удалить запись');

{MSystemServices.DeleteData(d_P_COMMISSION,

VarArrayOf([1]),CreateVarAr([inttostr(tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_id_member.Index])]),'не смогли удалить запись');}

FSqlData_TableView := Get_SqlData_cxGrid(tv_pred);

FSqlData_TableView.Params[0] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID.Index]);

FSqlData_TableView.Params[1]:= vartostr(Wrap_spec2.Wrappers[cxPopup_spec2].Value);

FSqlData_TableView.Read_Data;

end;

procedure TF_Main.delete2Execute(Sender: TObject);

var s,s1:string;

s2:variant;

begin

s:=inttostr(tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_idk_commission.Index]);

s1:=inttostr(tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_com_number.Index]);

s2:=tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_id_e.Index];

if vartostr(s2)<>'6'then

if ((s<>'1')

and (s1<>'1')

and (vartostr(s2)=''))

then

if HandymanFunctions.ShowVNDialog(vnd_Confirmation, 'Удаление ЭК','Вы действительно хотите удалить запись?')

then

MSystemServices.DeleteData(d_P_COMMISSION,

VarArrayOf([1]),CreateVarAr([inttostr(tv_pred.DataController.Values[tv_pred.DataController.FocusedRecordIndex, tv_pred_id_comission.Index])]),'не смогли удалить запись')

//tv_pred.

else

else HandymanFunctions.ShowVNDialog(vnd_Confirmation, 'Нельзя произвести действие','Нельзя удалить ГАК и ЭК-1!') ;

FSqlData_TableView := Get_SqlData_cxGrid(tv_pred);

FSqlData_TableView.Params[0] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID.Index]);

FSqlData_TableView.Params[1]:= vartostr(Wrap_spec2.Wrappers[cxPopup_spec2].Value);

FSqlData_TableView.Read_Data;

end;

procedure TF_Main.delete3Execute(Sender: TObject);

begin

if HandymanFunctions.ShowVNDialog(vnd_Confirmation, 'Удаление названия темы','Вы действительно хотите удалить запись?')

then begin

MSystemServices.DeleteData(d_P_THEMES_WORKS,

VarArrayOf([0]),CreateVarAr([inttostr(tv_theme.DataController.Values[tv_theme.DataController.FocusedRecordIndex, tv_theme_id_theme.Index])]),'не смогли удалить запись');

end

end;

procedure TF_Main.delete4Execute(Sender: TObject);

begin

if ((inttostr(tv_sostav.DataController.Values[tv_sostav.DataController.FocusedRecordIndex, tv_sostav_id_post.Index])<>'55000')

and (inttostr(tv_sostav.DataController.Values[tv_sostav.DataController.FocusedRecordIndex, tv_sostav_id_post.Index])<>'55001'))

then

begin

if HandymanFunctions.ShowVNDialog(vnd_Confirmation, 'Удаление члена комиссии','Вы действительно хотите удалить запись?')

then

MSystemServices.DeleteData(d_P_COMMISSION_MEMBERS,

VarArrayOf([1]),CreateVarAr([inttostr(tv_sostav.DataController.Values[tv_sostav.DataController.FocusedRecordIndex, tv_sostav_id_member.Index])]),'не смогли удалить запись');

end

else

HandymanFunctions.ShowVNDialog(vnd_Confirmation , 'Нельзя произвести действие','Нельзя удалить председателя!');

FSqlData_TableView := Get_SqlData_cxGrid(tv_sostav);

FSqlData_TableView.Params[1] := inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_note.Index]);

FSqlData_TableView.Params[0] := vartostr(Wrap_spec3.Wrappers[cxPopup_spec3].Value);

FSqlData_TableView.Params[2] :=vartostr(wrap_com.Wrappers[cxPopup_com].Value);

FSqlData_TableView.Read_Data;

end;

procedure TF_Main.cxButton2Click(Sender: TObject);

begin

delete2.Execute;

end;

procedure TF_Main.dxBarButton1Click(Sender: TObject);

begin

Form_About.ShowModal;

end;

procedure TF_Main.FormShow(Sender: TObject);

begin

Form_About.Init;

//Setup;

//Form_About.Refresh_Roles := Setup;

end;

procedure TF_Main.Setup;

begin

//F_Main.Refresh_Roles;

end;

procedure TF_Main.Action_Change_UserExecute(Sender: TObject);

begin

if not MSystemServices.Connect(True)

then Close;

Action_Refresh_Roles.Execute;

end;

procedure TF_Main.Action_navigateExecute(Sender: TObject);

var

s,s1:string;

begin

{s:=inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_ID.Index]);

s1:=inttostr(TTree_Orders.DataController.Values[TTree_Orders.DataController.FocusedRecordIndex, Tree_Orders_idk_order.Index]);

vnListAgent.LA_ConsoleWindow(

[vnLC_VisibleActionsPanel, vnLC_VisibleFiltersPanel, vnLC_VisibleChoosePanel

, vnLC_Value_ListsProject, vnLC_Value_ListsOrder, vnLC_Value_ListsOwner

, vnLC_Value_KindsList

, vnLC_Value_StepOnListChild

, vnLC_Caption_Window

]

, VarArrayOf([True, True, False

, True, True, True

, s1//New_Data //вид приказа

, s //id_paragraph

, 'Навигация по документам'

])

, nil

, nil//After_Navigate

); }

end;

procedure TF_Main.tv_sessionEditValueChanged(

Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem);

begin

FSqlData_TableView := Get_SqlData_cxGrid(tv_session);

FSqlData_TableView.IsNeedUpdate := true;

end;

procedure TF_Main.tv_protokolEditValueChanged(

Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem);

begin

FSqlData_TableView := Get_SqlData_cxGrid(tv_protokol);

FSqlData_TableView.IsNeedUpdate := false;

//FSqlData_TableView := Get_SqlData_cxGrid(tv_session);

//FSqlData_TableView.IsNeedUpdate := false;

end;

procedure TF_Main.tv_predEditValueChanged(Sender: TcxCustomGridTableView;

AItem: TcxCustomGridTableItem);

begin

FSqlData_TableView := Get_SqlData_cxGrid(tv_pred);

FSqlData_TableView.IsNeedUpdate:=false;

end;

end.

ПРИЛОЖЕНИЕ 2

Текст запросов

select p.id_post,p.name

from posts_categories_ pc,post_ p,categories_ c

where c.id_categorie=8

and c.id_categorie=pc.id_categorie

and pc.id_post=p.id_post

and p.id_post not in (55000,55001)

select

c.id_commission

,c.id_paragraph

,c.idk_commission

,c.id_speciality

,c.d_start

,c.commission_number

,c.id_d

from commission_ c

where ((c.id_commission=%p1[i]%) or (%p1[i]% is null))

SELECT p.ID_POST, p.NAME,s.factor, d.name

FROM POST_ p, POSTS_CATEGORIES_ pc, UNITS_STAFF_ us, STAFF_ s,DIVISION_ d,LIST_STAFF_ ls

WHERE s.id_e=%p1% AND s.idk_reception=1 AND

s.D_START<='%p2%' AND (s.D_END IS NULL OR s.D_END>='%p2%') AND

BS_.IsSigned(s.ID_ORDER_START) <> '0' AND (s.id_order_end IS NULL OR BS_.IsSigned(s.ID_ORDER_end) <>

'0')

AND s.ID_UNITS=us.ID_UNITS AND us.id_lstaff=ls.id_lstaff AND ls.id_d=d.id_d AND

us.idg_post=pc.idg_post AND pc.id_post=p.id_post

select e.id_student

,e.id_paragraph

,e.id_volume_discipline

,e.estimation

,e.id_e

,e.d_start

,e.d_passing

,e.id_discipline

,e.idk_lesson

,e.semester

,e.id_educational_session

from educational_session_ e

where

((e.id_student=%p1[i]%) or (%p1[i]% is null))

--and e.id_volume_discipline=1340784

and e.id_volume_discipline=437425

order by e.id_student

select t.id_work_themes

,t.id_paragraph

,t.id_student

,t.id_discipline

,t.idk_lesson

,t.d_start

,t.theme

from themes_works_ t

where

((t.id_student=%p1[i]%) or (%p1[i]% is null)

SELECT

distinct

em.id_e

,EM.SURNAME||' '||EM.NAME||' '||EM.PATRONYMIC fio

--,p.ID_POST

, p.NAME

--, kr.IDK_RECEPTION,kr.name, s.factor

, d.name

FROM

STAFF_ s, UNITS_STAFF_ us, LIST_STAFF_ ls, DIVISION_ d, POSTS_CATEGORIES_ pc, POST_ p,

KIND_RECEPTION_ kr,EMPLOYEES_ EM,

SCIENTIFIC_DEGREE_ SDE,

SCIENTIFIC_RANK_ SRA,

KIND_SCIENTIFIC_RANK_ KSRA

WHERE

s.id_e=em.id_e

AND

s.ID_UNITS=us.ID_UNITS AND us.id_lstaff=ls.id_lstaff AND ls.id_d=d.id_d AND

us.idg_post=pc.idg_post AND pc.id_post=p.id_post AND s.idk_reception=kr.idk_reception


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.