/HRManager/__history/CONJUCTIONUnit.pas.~2~
Unknown | 516 lines | 490 code | 26 blank | 0 comment | 0 complexity | 32557090effe5889fa9289e8d72aaed6 MD5 | raw file
1unit CONJUCTIONUnit; 2 3interface 4 5uses 6 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 7 Dialogs, DictUnit, DB, PKDBFindPanel, PKDBEditButtons, ExtCtrls, Grids, DBGrids, 8 VrDbGrid, ComCtrls, StdCtrls, Menus,reportunit, PKDBTable, PKDBEdit, 9 PKDBBBaseComboBox, Mask,DateUtils,DISMISSOREDERUnit, EditDialogUnit, 10 uADStanIntf, uADStanOption, uADStanParam, uADStanError, uADDatSManager, 11 uADPhysIntf, uADDAptIntf, uADStanAsync, uADDAptManager, uADCompClient, 12 uADCompDataSet,Employeeditunit ; 13 14type 15 EditDialogClass = class of TEditDialog; 16 TCONJUCTION = class(TDictForm) 17 PageControl2: TPageControl; 18 TabSheet2: TTabSheet; 19 MainQueryID: TFMTBCDField; 20 MainQueryCITEZENID: TFMTBCDField; 21 MainQuerySTRUCTUREID: TFMTBCDField; 22 MainQueryLASTNAME: TStringField; 23 MainQueryNAME: TStringField; 24 MainQueryFATHERSHIP: TStringField; 25 MainQueryJOBTITLE: TStringField; 26 MainQueryQUALIFICATION: TStringField; 27 MainQueryCATEGORYNUMB: TFMTBCDField; 28 MainQueryAMOUNT: TFMTBCDField; 29 MainQuerySALARY: TFMTBCDField; 30 MainQueryDCODE: TStringField; 31 MainQueryCONTRACT: TStringField; 32 MainQueryCODE: TStringField; 33 MainQueryCONDITION: TStringField; 34 MainQueryWORKTYPE: TStringField; 35 MainQueryRATECODE: TStringField; 36 VrDbGrid1: TVrDbGrid; 37 ADQuery1: TADQuery; 38 DataSource2: TDataSource; 39 ADQuery2: TADQuery; 40 DataSource3: TDataSource; 41 ADQuery3: TADQuery; 42 DataSource4: TDataSource; 43 ADQuery4: TADQuery; 44 DataSource5: TDataSource; 45 ADQuery1ID: TFMTBCDField; 46 ADQuery1CITEZENID: TFMTBCDField; 47 ADQuery1STRUCTUREID: TFMTBCDField; 48 ADQuery1JOBTITLE: TStringField; 49 ADQuery1QUALIFICATION: TStringField; 50 ADQuery1CATEGORYNUMB: TFMTBCDField; 51 ADQuery1AMOUNT: TFMTBCDField; 52 ADQuery1SALARY: TFMTBCDField; 53 ADQuery1DCODE: TStringField; 54 ADQuery1CONTRACT: TStringField; 55 ADQuery1CODE: TStringField; 56 ADQuery1CONDITION: TStringField; 57 ADQuery1WORKTYPE: TStringField; 58 ADQuery1RATECODE: TStringField; 59 MainQueryAGREEMENTNUMB: TStringField; 60 MainQueryAGREEMENTDATE: TDateTimeField; 61 MainQueryTABNUMB: TStringField; 62 TabSheet5: TTabSheet; 63 TabSheet6: TTabSheet; 64 GridPanel4: TGridPanel; 65 PKDBEditButtons4: TPKDBEditButtons; 66 PKDBFindPanel4: TPKDBFindPanel; 67 GridPanel5: TGridPanel; 68 PKDBEditButtons5: TPKDBEditButtons; 69 PKDBFindPanel5: TPKDBFindPanel; 70 VrDbGrid3: TVrDbGrid; 71 VrDbGrid4: TVrDbGrid; 72 MainQueryFIRSTINDATE: TDateTimeField; 73 MainQueryINDATE: TDateTimeField; 74 MainQueryPASSPORTSERIES: TStringField; 75 MainQueryPASSPORTNUMB: TStringField; 76 MainQueryPASSINST: TStringField; 77 MainQueryADRESS: TStringField; 78 PopupMenu1: TPopupMenu; 79 N1: TMenuItem; 80 ADQuery1INDATE: TDateTimeField; 81 ADQuery1AGREEMENTDATE: TDateTimeField; 82 ADQuery2ID: TFMTBCDField; 83 ADQuery2CITEZENID: TFMTBCDField; 84 ADQuery2EMPLOYEEID: TFMTBCDField; 85 ADQuery2EVENTDATE: TDateTimeField; 86 ADQuery2DECISION: TStringField; 87 ADQuery2DOCNUMB: TStringField; 88 ADQuery2DOCDATE: TDateTimeField; 89 ADQuery2REASON: TStringField; 90 TabSheet7: TTabSheet; 91 GridPanel6: TGridPanel; 92 PKDBEditButtons6: TPKDBEditButtons; 93 PKDBFindPanel6: TPKDBFindPanel; 94 GridPanel2: TGridPanel; 95 PKDBEditButtons2: TPKDBEditButtons; 96 PKDBFindPanel2: TPKDBFindPanel; 97 VrDbGrid5: TVrDbGrid; 98 ADQuery3ID: TFMTBCDField; 99 ADQuery3CITEZENID: TFMTBCDField; 100 ADQuery3EMPLOYEEID: TFMTBCDField; 101 ADQuery3INDATE: TDateTimeField; 102 ADQuery3OUTDATE: TDateTimeField; 103 ADQuery3EDTYPE: TStringField; 104 ADQuery3ORGANISATION: TStringField; 105 ADQuery3DOCTYPE: TStringField; 106 ADQuery3DOCNUMB: TStringField; 107 ADQuery3DOCDATE: TDateTimeField; 108 ADQuery3REASON: TStringField; 109 TabSheet8: TTabSheet; 110 GridPanel7: TGridPanel; 111 PKDBEditButtons7: TPKDBEditButtons; 112 PKDBFindPanel7: TPKDBFindPanel; 113 VrDbGrid6: TVrDbGrid; 114 ADQuery4ID: TFMTBCDField; 115 ADQuery4CITEZENID: TFMTBCDField; 116 ADQuery4EMPLOYEEID: TFMTBCDField; 117 ADQuery4INDATE: TDateTimeField; 118 ADQuery4OUTDATE: TDateTimeField; 119 ADQuery4JOBTITLE: TStringField; 120 ADQuery4DOCTYPE: TStringField; 121 ADQuery4DOCNUMB: TStringField; 122 ADQuery4DOCDATE: TDateTimeField; 123 ADQuery4REASON: TStringField; 124 ADQuery5: TADQuery; 125 DataSource6: TDataSource; 126 ADQuery5ID: TFMTBCDField; 127 ADQuery5CITEZENID: TFMTBCDField; 128 ADQuery5EMPLOYEEID: TFMTBCDField; 129 ADQuery5AWARDTYPE: TStringField; 130 ADQuery5DOCTYPE: TStringField; 131 ADQuery5DOCNUMB: TStringField; 132 ADQuery5DOCDATE: TDateTimeField; 133 TabSheet9: TTabSheet; 134 TabSheet10: TTabSheet; 135 GridPanel8: TGridPanel; 136 PKDBEditButtons8: TPKDBEditButtons; 137 PKDBFindPanel8: TPKDBFindPanel; 138 VrDbGrid7: TVrDbGrid; 139 GridPanel9: TGridPanel; 140 PKDBEditButtons9: TPKDBEditButtons; 141 PKDBFindPanel9: TPKDBFindPanel; 142 VrDbGrid8: TVrDbGrid; 143 ADQuery6: TADQuery; 144 ADQuery7: TADQuery; 145 DataSource7: TDataSource; 146 DataSource8: TDataSource; 147 ADQuery6ID: TFMTBCDField; 148 ADQuery6CITEZENID: TFMTBCDField; 149 ADQuery6EMPLOYEEID: TFMTBCDField; 150 ADQuery6HOLTYPE: TStringField; 151 ADQuery6WORKDATE1: TDateTimeField; 152 ADQuery6WORKDATE2: TDateTimeField; 153 ADQuery6INDATE: TDateTimeField; 154 ADQuery6OUTDATE: TDateTimeField; 155 ADQuery6DAYS: TFMTBCDField; 156 ADQuery6REASON: TStringField; 157 ADQuery7ID: TFMTBCDField; 158 ADQuery7CITEZENID: TFMTBCDField; 159 ADQuery7EMPLOYEEID: TFMTBCDField; 160 ADQuery7PRIVTYPE: TStringField; 161 ADQuery7DOCNUMB: TStringField; 162 ADQuery7DOCDATE: TDateTimeField; 163 ADQuery7REASON: TStringField; 164 TabSheet4: TTabSheet; 165 TabSheet11: TTabSheet; 166 GridPanel10: TGridPanel; 167 PKDBEditButtons10: TPKDBEditButtons; 168 PKDBFindPanel10: TPKDBFindPanel; 169 VrDbGrid9: TVrDbGrid; 170 TabSheet13: TTabSheet; 171 PKDBBLabelComboBox2: TPKDBBLabelComboBox; 172 PKDBBLabelComboBox1: TPKDBBLabelComboBox; 173 PKDBLabelEdit1: TPKDBLabelEdit; 174 PKDBLabelEdit2: TPKDBLabelEdit; 175 PKDBBLabelComboBox3: TPKDBBLabelComboBox; 176 Button3: TButton; 177 PKDBBLabelComboBox4: TPKDBBLabelComboBox; 178 PKDBLabelEdit3: TPKDBLabelEdit; 179 PKDBLabelEdit7: TPKDBLabelEdit; 180 PKDBBLabelComboBox5: TPKDBBLabelComboBox; 181 PKDBLabelEdit14: TPKDBLabelEdit; 182 TabSheet14: TTabSheet; 183 GridPanel12: TGridPanel; 184 PKDBEditButtons12: TPKDBEditButtons; 185 PKDBFindPanel12: TPKDBFindPanel; 186 VrDbGrid11: TVrDbGrid; 187 TabSheet15: TTabSheet; 188 PKDBLabelEdit4: TPKDBLabelEdit; 189 PKDBLabelEdit5: TPKDBLabelEdit; 190 PKDBLabelEdit6: TPKDBLabelEdit; 191 Button4: TButton; 192 PKDBLabelEdit8: TPKDBLabelEdit; 193 PKDBLabelEdit9: TPKDBLabelEdit; 194 GroupBox1: TGroupBox; 195 PKDBLabelEdit10: TPKDBLabelEdit; 196 PKDBBLabelComboBox6: TPKDBBLabelComboBox; 197 PKDBLabelEdit12: TPKDBLabelEdit; 198 PKDBLabelEdit11: TPKDBLabelEdit; 199 PKDBLabelEdit13: TPKDBLabelEdit; 200 TabSheet16: TTabSheet; 201 GridPanel13: TGridPanel; 202 PKDBEditButtons13: TPKDBEditButtons; 203 PKDBFindPanel13: TPKDBFindPanel; 204 VrDbGrid12: TVrDbGrid; 205 TabSheet19: TTabSheet; 206 GridPanel15: TGridPanel; 207 PKDBEditButtons15: TPKDBEditButtons; 208 PKDBFindPanel15: TPKDBFindPanel; 209 VrDbGrid14: TVrDbGrid; 210 ADQuery9: TADQuery; 211 FloatField3: TFMTBCDField; 212 FloatField4: TFMTBCDField; 213 ADQuery3DOCSERIA: TStringField; 214 StringField1: TStringField; 215 ADQuery3NAME: TStringField; 216 ADQuery3OUTYEAR: TStringField; 217 StringField2: TStringField; 218 ADQuery3OVEREDUCATION: TStringField; 219 ADQuery3SPECIALITYCODE: TStringField; 220 ADQuery3SPECIALITY: TStringField; 221 ADQuery3CVALIFICATIONCODE: TStringField; 222 ADQuery3CVALIFICATION: TStringField; 223 ADQuery3FIO: TStringField; 224 ADQuery3EDUCATIONFORM: TStringField; 225 ADQuery11: TADQuery; 226 FloatField7: TFMTBCDField; 227 FloatField8: TFMTBCDField; 228 ADQuery6ADRESS: TStringField; 229 ADQuery6REGDATE: TDateTimeField; 230 ADQuery6STATUS: TFMTBCDField; 231 ADQuery6PHONEID: TFMTBCDField; 232 ADQuery12: TADQuery; 233 FloatField9: TFMTBCDField; 234 FloatField10: TFMTBCDField; 235 ADQuery7BIRTHDATE: TDateTimeField; 236 ADQuery7BIRTHPLACE: TStringField; 237 ADQuery7STEP: TStringField; 238 ADQuery7LASTNAME: TStringField; 239 ADQuery7NAME: TStringField; 240 ADQuery7FATHERSHIP: TStringField; 241 DataSource11: TDataSource; 242 DataSource12: TDataSource; 243 DataSource15: TDataSource; 244 PKDBTable1: TPKDBTable; 245 PKDBTable2: TPKDBTable; 246 PKDBTable3: TPKDBTable; 247 PKDBTable4: TPKDBTable; 248 ADQuery8: TADQuery; 249 ADQuery8CITEZENID: TFMTBCDField; 250 ADQuery8INDATE: TDateTimeField; 251 ADQuery8OUTDATE: TDateTimeField; 252 ADQuery8DEPT_NO: TStringField; 253 ADQuery8AGREEMENTNUMB: TStringField; 254 ADQuery8AGREEMENTDATE: TDateTimeField; 255 ADQuery8JOBTITLE: TStringField; 256 ADQuery8SUMSAL: TFMTBCDField; 257 ADQuery8REASON: TStringField; 258 ADQuery8ID: TFMTBCDField; 259 DataSource9: TDataSource; 260 ADQuery10: TADQuery; 261 DataSource10: TDataSource; 262 ADQuery10ID: TFMTBCDField; 263 GroupBox2: TGroupBox; 264 Label1: TLabel; 265 Button5: TButton; 266 MaskEdit1: TMaskEdit; 267 GridPanel3: TGridPanel; 268 PKDBEditButtons3: TPKDBEditButtons; 269 PKDBFindPanel3: TPKDBFindPanel; 270 VrDbGrid2: TVrDbGrid; 271 ADQuery13: TADQuery; 272 DataSource13: TDataSource; 273 ADQuery13ID: TFMTBCDField; 274 ADQuery13CITEZENID: TFMTBCDField; 275 ADQuery13STATUSID: TFMTBCDField; 276 ADQuery13CHANGESTATUSDATE: TDateTimeField; 277 ADQuery13EVENTDATE: TDateTimeField; 278 ADQuery13BASICDOC: TStringField; 279 ADQuery13STATUSNAME: TStringField; 280 ADQuery13EVENTTYPE: TStringField; 281 ADQuery13COLLECTTYPE: TStringField; 282 ADQuery13EMPLOYEEID: TFMTBCDField; 283 TabSheet3: TTabSheet; 284 GridPanel11: TGridPanel; 285 PKDBEditButtons11: TPKDBEditButtons; 286 PKDBFindPanel11: TPKDBFindPanel; 287 VrDbGrid10: TVrDbGrid; 288 ADQuery14: TADQuery; 289 DataSource14: TDataSource; 290 ADQuery14ID: TFMTBCDField; 291 ADQuery14CITEZENID: TFMTBCDField; 292 ADQuery14STATUSID: TFMTBCDField; 293 ADQuery14CHAGESTATUSDATE: TDateTimeField; 294 ADQuery14DOCNUMB: TStringField; 295 ADQuery14DELIVERYDATE: TDateTimeField; 296 ADQuery14STATUSNAME: TStringField; 297 ADQuery14COMPANY: TStringField; 298 ADQuery14DOCTYPE: TStringField; 299 ADQuery14SERVICE: TStringField; 300 PKDBBLabelComboBox7: TPKDBBLabelComboBox; 301 TabSheet12: TTabSheet; 302 ADStoredProc1: TADStoredProc; 303 PKDBTable5: TPKDBTable; 304 ADQuery10STRUCTUREID: TFMTBCDField; 305 PKDBBLabelComboBox8: TPKDBBLabelComboBox; 306 PKDBLabelEdit15: TPKDBLabelEdit; 307 PKDBLabelEdit16: TPKDBLabelEdit; 308 PKDBBLabelComboBox10: TPKDBBLabelComboBox; 309 Button6: TButton; 310 PKDBBLabelComboBox9: TPKDBBLabelComboBox; 311 MainQueryEDUCATION: TStringField; 312 N2: TMenuItem; 313 ADStoredProc2: TADStoredProc; 314 MainQueryWORKUNITTYPEROW: TStringField; 315 ADQuery1WORKUNITTYPE: TStringField; 316 MainQueryBIRTHDATE: TDateTimeField; 317 procedure N1Click(Sender: TObject); 318 procedure Button3Click(Sender: TObject); 319 procedure Button4Click(Sender: TObject); 320 procedure anotherrow; 321 procedure clearboxes; 322 procedure GridCellClick(Column: TColumn); 323 procedure GridKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); 324 procedure GridKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); 325 procedure Button5Click(Sender: TObject); 326 procedure Button6Click(Sender: TObject); 327 procedure N2Click(Sender: TObject); 328 329 procedure PKDBEditButtons1BeforeOpenNewClick(Sender: TObject; 330 Form: TEMPLOYEEDIT); 331 332 private 333 procedure InitForm(); override; 334 public 335 { Public declarations } 336 end; 337 338var 339 CONJUCTION: TCONJUCTION; 340 Cform: TWREPORT; 341 342implementation 343 {$R *.dfm} 344uses DM, MainUnit; 345 346procedure TCONJUCTION.Button3Click(Sender: TObject); 347begin 348 PKDBTable1.Update; 349 inherited; 350end; 351 352procedure TCONJUCTION.Button4Click(Sender: TObject); 353begin 354 inherited; 355 PKDBTable2.Update; 356 PKDBTable3.Update; 357 PKDBTable4.Update; 358end; 359 360procedure TCONJUCTION.Button6Click(Sender: TObject); 361begin 362 inherited; 363 if ADQuery10STRUCTUREID.Asstring='' then 364 showmessage('�?????? ?????????? ?? ????????? ??????� ???????.') 365 else 366 PKDBTable5.Update; 367end; 368 369procedure TCONJUCTION.Button5Click(Sender: TObject); 370var // ?????? ????? 371stag,yy,mm,dd: integer; 372str: string; 373dat: TDateTime; 374begin 375 if (trim(PKDBLabelEdit8.Text)='') or (trim(MaskEdit1.Text)='..') then exit; 376 377 // ?????? ?????(?????????) 378 // str := inttostr(yearsbetween(strtodate(trim(PKDBLabelEdit8.Text)), StrToDate(MaskEdit1.Text)))+ ' ??? '; 379// dat:= incyear(strtodate(trim(PKDBLabelEdit8.Text)),yearsbetween(strtodate(trim(PKDBLabelEdit8.Text)), StrToDate(PKDBEdit1.Text))); 380 // str := str+ inttostr(monthsbetween(dat, StrToDate(MaskEdit1.Text)))+ ' ???�??? '; 381// dat:= incmonth(dat,monthsbetween(dat, StrToDate(MaskEdit1.Text))); 382// str := str+ inttostr(daysbetween(dat, StrToDate(MaskEdit1.Text)))+ ' ???? '; 383// showmessage(str); 384 385 ADStoredProc1.Params[0].Value:= strtodate(PKDBLabelEdit8.Text); 386 ADStoredProc1.Params[1].Value:= strtodate(MaskEdit1.Text); 387 ADStoredProc1.Execute(); 388 showmessage('????? ???? ?? '+MaskEdit1.Text+':'+ADStoredProc1.Params[4].Value+' ??? ' 389 +ADStoredProc1.Params[3].Value+' ???�??? '+ADStoredProc1.Params[2].Value+' ????'); 390end; 391 392procedure TCONJUCTION.InitForm; 393begin 394 inherited; 395 ADQuery1.Open; 396 ADQuery10.Open; 397 ADQuery2.Open; 398 ADQuery3.Open; 399 ADQuery4.Open; 400 ADQuery5.Open; 401 ADQuery6.Open; 402 ADQuery7.Open; 403 ADQuery9.Open; 404 //ADQuery11.Open; 405 ADQuery12.Open; 406 ADQuery8.Open; 407 ADQuery13.Open; 408 ADQuery14.Open; 409 PKDBTable1.ReadFromDB(MainQueryCITEZENID.Asstring); 410 PKDBTable2.ReadFromDB(MainQueryCITEZENID.Asstring); 411 PKDBTable3.ReadFromDB(MainQueryCITEZENID.Asstring); 412 PKDBTable4.ReadFromDB(MainQueryCITEZENID.Asstring); 413 PKDBTable5.ReadFromDB(ADQuery10STRUCTUREID.Asstring); 414 mainform.WindowState:= wsMaximized; 415 PageControl1.Height:=150; 416end; 417 418 419// ??????? ?? ?????? ?????? 420procedure TCONJUCTION.anotherrow; 421begin 422 clearboxes; 423 PKDBTable1.ReadFromDB(MainQueryCITEZENID.Asstring); 424 PKDBTable2.ReadFromDB(MainQueryCITEZENID.Asstring); 425 PKDBTable3.ReadFromDB(MainQueryCITEZENID.Asstring); 426 PKDBTable4.ReadFromDB(MainQueryCITEZENID.Asstring); 427 if ADQuery10STRUCTUREID.Asstring<>'' then 428 PKDBTable5.ReadFromDB(ADQuery10STRUCTUREID.Asstring); 429 PKDBTable1.Update; 430 PKDBTable2.Update; 431 PKDBTable3.Update; 432 PKDBTable4.Update; 433 PKDBTable5.update; 434end; 435 436// ????????? ?????? �2 437procedure TCONJUCTION.N1Click(Sender: TObject); 438begin 439 inherited; 440 Cform := TWREPORT.Create(self); 441 Cform.madereportT2(MainQuery.FieldByName('CITEZENID').AsFloat); 442end; 443 444procedure TCONJUCTION.N2Click(Sender: TObject); 445 Var // ?????????? ?????????� 446 Form: TEditDialog; 447begin 448 Form := TEditDialogClass(FindClass('TDISMISSORDER')).Run(Application, tcInsert, '', MainQueryID.Asstring, false); 449 Form.ShowModal; 450 if Form.ModalResult = mrOK then 451 begin 452 MainQuery.Refresh; 453 Grid.Refresh; 454 end; 455 456{if Application.MessageBox('�??????? ?????? ?????????? ?? "?����??�"?','�???? ???????',MB_YESNO)=IDYES then 457 begin 458 ADStoredProc2.Params[0].Value:=MainQueryID.AsInteger; 459 ADStoredProc2.ExecProc; 460 end; 461 MainQuery.Refresh; 462 Grid.Refresh; } 463end; 464 465 466 467procedure TCONJUCTION.PKDBEditButtons1BeforeOpenNewClick(Sender: TObject; 468 Form: TEMPLOYEEDIT); 469begin 470 inherited; 471 form.PKDBDictEdit2.DictionaryClass:='TVACANCY_CONJUCTION'; 472 form.PKDBBaseEdit2. 473end; 474 475// ??????? ?? ?????? ?????? 476procedure TCONJUCTION.GridCellClick(Column: TColumn); 477begin 478 inherited; 479 anotherrow; 480end; 481// ??????? ?? ?????? ?????? 482procedure TCONJUCTION.GridKeyDown(Sender: TObject; var Key: Word; 483 Shift: TShiftState); 484begin 485 inherited; 486 anotherrow; 487end; 488// ??????? ?? ?????? ?????? 489procedure TCONJUCTION.GridKeyUp(Sender: TObject; var Key: Word; 490 Shift: TShiftState); 491begin 492 inherited; 493 anotherrow; 494end; 495 496// ??????? ????? 497procedure TCONJUCTION.clearboxes; 498begin 499 PKDBBLabelComboBox1.Text:=''; 500 PKDBBLabelComboBox2.Text:=''; 501 PKDBBLabelComboBox3.Text:=''; 502 PKDBBLabelComboBox4.Text:=''; 503 PKDBBLabelComboBox5.Text:=''; 504 PKDBBLabelComboBox6.Text:=''; 505 PKDBBLabelComboBox7.Text:=''; 506 PKDBBLabelComboBox8.Text:=''; 507 PKDBBLabelComboBox9.Text:=''; 508 PKDBBLabelComboBox10.Text:=''; 509 PKDBLabelEdit15.Text:=''; 510 PKDBLabelEdit16.Text:=''; 511end; 512 513initialization 514 515RegisterClasses([TCONJUCTION]); 516end.