unit frmOdlitek; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, ddPlugin_TLB, Vcl.StdCtrls, Vcl.ExtCtrls, Vcl.Mask, RzEdit, Vcl.Themes, RxToolEdit, Vcl.NumberBox; const tblOdlitky = '[dbo].[_hdc_TabOdlitky]'; tblOdlitkyPrava = '[dbo].[_hdc_TabOdlitkyPrava]'; tblAtestVyst = '[dbo].[_hdc_TabAtestyVystavPozad]'; tblAtestDruhy = '[dbo].[_hdc_TabAtestyDruhy]'; tblMaterial = '[dbo].[_hdc_TabMaterial]'; type TLazyIfThen=record class function IfThen(aCondition:Boolean;aIfTrue, aIfFalse:TFunc):T; static; end; TOdlitek = record id, idKmenZbozi: integer; odlitek, nazev, matecniOdlitek, material, lis, cisloPKZ, poznamka: string; forma, frmZnac, frmZnacOld, frmDruh, frmDruhAlt, oznac, vykres, incoterms: string; vlastnik, zivotnost, zivotKov, zivotVosk, nalisKs, celkemKs, lisSkup, lisCas, casVstrik, lisSkup2, lisCas2, casVstrik2, pozicVeFrm, pozicVeFrmAlt, teplMin, teplMax: integer; ksNaPlate, ksVeForme, ksVeFormeAlt, pocetVetv, pocetVetvAlt, ksVEtazi, strNaTavbu, ksNaTavbu, ksNaStrom, vetviNaStrom, vetviNaForm, vetviNaFormAlt: integer; druhVtoku, doplDil1, ksDoplDil1, doplDil2, ksDoplDil2, doplDil3, ksDoplDil3, prvniObal, druhObalu, kalkVyrDavka, kalkPocetUpn: integer; druhTech, druhVtokuTxt, doplDil1Txt, doplDil2Txt, doplDil3Txt, prurezVt, prurezVt2: string; hmot, hmotObrob, hmotVoskD, hmotSkor, hmotStrom, hmotBrt: Extended; garant, odrez, specifOdl, specifObr, sarze, legPripl: string; tepZprac, voskJadra, voskJadraMoc, voskCepy, voskChlad, voskRiziko: boolean; tstMat, tstTZ, tstObrab, tstPovrch, tstDefekt, tstJine: Boolean; tstMatPop, tstTZPop, tstObrabPop, tstPovrchPop, tstDefektPop, tstJinePop: string; tstMatDruh, tstTZDruh, tstObrabDruh, tstPovrchDruh, tstDefektDruh, tstJineDruh: integer; tstMatVyst, tstMatPozad, tstTZVyst, tstTZPozad, tstObrabVyst, tstObrabPozad, tstPovrchVyst, tstPovrchPozad: string[2]; tstJazyk, tstDefektVyst, tstDefektPozad, tstJineVyst, tstJinePozad: string[2]; koopTpl, koopDefekt, koopBarva, koopJine, koopObrab, koopPovrch: boolean; koopTplPop, koopDefektPop, koopBarvaPop, koopJinePop, koopObrabPop: string; end; TformOdlitek = class(TForm) pgCtrl: TPageControl; selDruhFor: TComboEdit; edtDruhFor: TLabeledEdit; edtDruhForA: TLabeledEdit; selDruhForA: TComboEdit; Label1: TLabel; edtKsFor: TNumberBox; Label2: TLabel; edtKsForA: TNumberBox; btnOK: TButton; btnStorno: TButton; edtDoplDil1: TLabeledEdit; selDoplDil1: TComboEdit; edtDoplDil2: TLabeledEdit; selDoplDil2: TComboEdit; edtDoplDil3: TLabeledEdit; selDoplDil3: TComboEdit; edtDruhVtoku: TLabeledEdit; selDruhVtoku: TComboEdit; edtKSNaStrom: TNumberBox; Label4: TLabel; shObecne: TTabSheet; edtDruhTech: TEdit; Label5: TLabel; Label6: TLabel; edtKsDopl1: TNumberBox; edtKsDopl2: TNumberBox; Label7: TLabel; Label8: TLabel; edtKsDopl3: TNumberBox; Label10: TLabel; edtVetvNaStrom: TNumberBox; edtMatOdlit: TLabeledEdit; selMatOdlit: TComboEdit; edtStrNaTavbu: TNumberBox; Label3: TLabel; Label9: TLabel; edtPocetVetvi: TNumberBox; Label11: TLabel; edtPocetVetviA: TNumberBox; Label12: TLabel; edtKsEtaz: TNumberBox; shKoop: TTabSheet; cbAtestTepel: TCheckBox; mPoznTepel: TMemo; cbAtestObr: TCheckBox; mPoznObr: TMemo; cbAtestPovrch: TCheckBox; mPoznPovrch: TMemo; cbAtestDefekt: TCheckBox; mPoznDefekt: TMemo; cbAtestJine: TCheckBox; mPoznJine: TMemo; Label14: TLabel; edtHmotStr: TNumberBox; Label15: TLabel; edtHmotSkor: TNumberBox; Label16: TLabel; cbPrvniObal: TComboBox; edtCisOrg: TLabeledEdit; selCisOrg: TComboEdit; edtOrg: TEdit; selOrg: TComboEdit; Panel1: TPanel; edtHmotNetto: TNumberBox; Label17: TLabel; Label18: TLabel; edtHmotBrutto: TNumberBox; edtVykres: TEdit; Label19: TLabel; Label20: TLabel; edtIncoterms: TEdit; edtPKZ: TEdit; Label21: TLabel; Label22: TLabel; edtHmVoskD: TNumberBox; Label23: TLabel; Label24: TLabel; lblVyuziti: TLabel; lblHmOdlKovu: TLabel; Label25: TLabel; cbOdrez: TComboBox; Label26: TLabel; edtPrurezVtk1: TEdit; edtPrurezVtk2: TEdit; edtGarant: TEdit; Label27: TLabel; Label28: TLabel; Label29: TLabel; cbSpecVyrOdlitek: TComboBox; Label30: TLabel; cbSpecVyrObrobek: TComboBox; Label31: TLabel; Label13: TLabel; cbJazyk: TComboBox; Label32: TLabel; edtKsNaPlate: TNumberBox; edtDruhTepel: TLabeledEdit; selDruhTZ: TComboEdit; Label33: TLabel; Label34: TLabel; selDruhObr: TComboEdit; edtDruhObr: TEdit; edtDruhPovrch: TEdit; selDruhPovrch: TComboEdit; edtDruhDefekt: TEdit; selDruhDefekt: TComboEdit; edtDruhJine: TEdit; selDruhJine: TComboEdit; Label35: TLabel; Label36: TLabel; cbVystTepel: TComboBox; cbPozadTepel: TComboBox; cbVystObr: TComboBox; cbPozadObr: TComboBox; cbVystPU: TComboBox; cbPozadPU: TComboBox; cbVystDefekt: TComboBox; cbPozadDefekt: TComboBox; cbVystJine: TComboBox; cbPozadJine: TComboBox; cbAtestMat: TCheckBox; cbVystMat: TComboBox; cbPozadMat: TComboBox; edtDruhMat: TEdit; selDruhMat: TComboEdit; Label37: TLabel; edtTeplotaMin: TNumberBox; Label38: TLabel; edtTeplotaMax: TNumberBox; Label39: TLabel; edtHmotObr: TNumberBox; Label40: TLabel; cbSarze: TComboBox; mPozn: TMemo; Label41: TLabel; Label42: TLabel; edtPozForA: TNumberBox; Label43: TLabel; edtPozFor: TNumberBox; Label44: TLabel; shOstatni: TTabSheet; GroupBox1: TGroupBox; pnlVosk: TPanel; cbVoskJadra: TCheckBox; cbVoskCepy: TCheckBox; cbVoskChladitka: TCheckBox; cbVoskJadraMocovina: TCheckBox; Label45: TLabel; cbLegPripl: TComboBox; Label46: TLabel; cbSkupFirem: TComboBox; cbVoskRizikovaPoz: TCheckBox; Shape1: TShape; Label47: TLabel; cbMaterial: TComboBox; Label48: TLabel; edtLisSkup: TEdit; edtLisCas: TNumberBox; edtLisSkup2: TEdit; edtLisCas2: TNumberBox; Label49: TLabel; Label50: TLabel; edtVstrikCas: TNumberBox; Label51: TLabel; edtVstrikCas2: TNumberBox; selGarant: TComboEdit; procedure FormShow(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure selDruhForClick(Sender: TObject); procedure btnStornoClick(Sender: TObject); procedure btnOKClick(Sender: TObject); procedure selDruhForAClick(Sender: TObject); procedure selDruhVtokuClick(Sender: TObject); procedure selDoplDil1Click(Sender: TObject); procedure selDoplDil2Click(Sender: TObject); procedure selDoplDil3Click(Sender: TObject); procedure cbAtestTepelClick(Sender: TObject); procedure selOrgClick(Sender: TObject); procedure selCisOrgClick(Sender: TObject); procedure edtCisOrgExit(Sender: TObject); procedure edtOrgExit(Sender: TObject); procedure edtHmotStrExit(Sender: TObject); procedure edtStrNaTavbuExit (Sender: TObject); procedure edtKSNaStromExit (Sender: TObject); procedure edtHmotNettoExit (Sender: TObject); procedure cbAtestPovrchClick (Sender: TObject); procedure cbAtestDefektClick (Sender: TObject); procedure cbAtestJineClick (Sender: TObject); procedure cbAtestObrClick (Sender: TObject); procedure selMatOdlitClick (Sender: TObject); procedure selDruhTZClick (Sender: TObject); procedure selDruhObrClick (Sender: TObject); procedure selDruhPovrchClick (Sender: TObject); procedure selDruhDefektClick (Sender: TObject); procedure selDruhJineClick (Sender: TObject); procedure selDruhMatClick (Sender: TObject); procedure selGarantButtonClick (Sender: TObject); procedure edtMatOdlitKeyUp (Sender: TObject; var Key: Word; Shift: TShiftState); procedure edtMatOdlitKeyDown (Sender: TObject; var Key: Word; Shift: TShiftState); procedure edtMatOdlitKeyPress (Sender: TObject; var Key: Char); procedure btnStornoMouseUp (Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); private function NactiParametryKarty (id: integer; var karta: TOdlitek): boolean; safecall; procedure NactiParametry; safecall; procedure ZmenaVypoctu; safecall; public Helios: IHelios; jenView: boolean; idK: integer; odlitek, skinName: string; debug: boolean; end; var formOdlitek: TformOdlitek; idOdl, idOdlRodic, idKZ, idKZRodic: integer; idProUpd: integer; mamMatOdlitek: Boolean; podm, tempTab: string; oVar1, oVar2: OleVariant; bidAtestyDruhy, bidGarant, bidMaterial: integer; kOdlitek, kRodic: TOdlitek; implementation uses System.StrUtils, System.Math, {Vcl.Styles.ColorTabs,} helUtils; {$R *.dfm} class function TLazyIfThen.IfThen(aCondition:Boolean;aIfTrue, aIfFalse:TFunc):T; begin if aCondition then result:= aIfTrue else result:= aIfFalse end; function NQuotedStr (inStr: string=''; trimMe: boolean=false): string; begin if (trimMe) then inStr:= inStr.Trim; result:= 'N' + inStr.QuotedString; end; function NullOrNumNoZero (inVal: Extended): string; begin if (inVal=0) then result:= 'NULL' else result:= inVal.ToString.Replace(',', '.'); end; function NullOrNQuotedStr (inStr: string=''; trimMe: boolean=false): string; begin if (trimMe) then inStr:= inStr.Trim; if (inStr='') then result:= 'NULL' else result:= 'N' + inStr.QuotedString; end; function IfThenBool(const podm, valTrue, valFalse: Boolean): boolean; begin result:= valFalse; if (podm) then result:= valTrue; end; function RodicNeboPotomekS(const rVal, pVal: string; const vratJenSHodnotou:boolean): string; begin result:= rVal; if (vratJenSHodnotou) then begin if (pVal.Trim<>'') then result:= pVal.Trim; end else if (pVal<>rVal) and (rVal<>'') then result:= rVal.Trim; end; function RodicNeboPotomekE(const rVal, pVal: Extended): Extended; begin result:= rVal; if (pVal<>rVal) then result:= pVal; end; function RodicNeboPotomekI(const rVal, pVal: integer): integer; begin result:= rVal; if (pVal<>rVal) then result:= pVal; end; function EmptyToZero(inStr: string): string; begin inStr:= StringReplace(inStr, ',', '.', [rfReplaceAll]); result:= inStr; if (Trim(inStr)='') then result:= '0'; end; { procedure TNumberBoxPaint(Sender: TObject; Canvas: TCanvas; const ARect: TRectF); var nb: TNumberBox; rf: TRectF; tx: string; begin nb := Sender as TNumberBox; if nb.Value = 0 then tx := 'zero' else tx := format('%.0n',[nb.Value]); rf := ARect; Canvas.ClearRect(ARect, TAlphaColors.Lightpink); rf.inflate(-4, -2); Canvas.Fill.Color := TAlphaColors.Black; Canvas.FillText(rf, tx, False, 1, [], TTextAlign.Leading, TTextAlign.Center); end; } procedure TformOdlitek.ZmenaVypoctu; begin lblVyuziti.Caption:= FormatFloat('##0.##', ((edtHmotNetto.Value*edtKsNaStrom.Value)/edtHmotStr.Value)*100); lblHmOdlKovu.Caption:= FormatFloat('#,###0', edtStrNaTavbu.Value*edtHmotStr.Value); end; function TformOdlitek.NactiParametryKarty (id: integer; var karta: TOdlitek): boolean; var lSQL, matOdl, lng, sTemp: string; iTemp: integer; begin result:= false; lSQL:= 'SELECT ISNULL(Vlastnik,-1) AS Vlastnik, ISNULL(Odrez, N'''') AS Odrez, ISNULL(LisovaciSkup,0) AS LisovaciSkup, ISNULL(Sarzovat, N'''') AS Sarzovat'; lSQL:= lSQL + ', ISNULL(LisovaciSkup2,0) AS LisovaciSkup2, * FROM ' + tblOdlitky + ' WHERE ID=' + id.ToString; with Helios.OpenSQL(lSQL) do if (RecordCount=1) then begin karta.id:= id; karta.odlitek:= VarToStr(FieldByNameValues('Odlitek')); karta.material:= VarToStr(FieldByNameValues('Material')); lSQL:= 'SELECT TOP(1) k.Nazev1 FROM ' + tblOdlitky + ' o INNER JOIN ' + tblKZ + ' k ON (k.RegCis=o.Odlitek) WHERE o.ID=' + id.ToString; lSQL:= lSQL + ' AND k.SkupZbo IN (N''VOB'', N''VOD'', N''P51'', ''P41'') ORDER BY k.SkupZbo DESC'; karta.nazev:= helUtils.getHeliosStrVal(Helios, '', lSQL); karta.frmDruh:= VarToStr(FieldByNameValues('FormaDruh')); karta.ksVeForme:= StrToInt(EmptyToZero(VarToStr(FieldByNameValues('KSveForme')))); karta.ksVeFormeAlt:= StrToInt(EmptyToZero(VarToStr(FieldByNameValues('KSveFormeAlt')))); karta.frmDruhAlt:= VarToStr(FieldByNameValues('FormaDruhAlt')); karta.strNaTavbu:= StrToInt(EmptyToZero(VarToStr(FieldByNameValues('StromuNaTavbu')))); karta.druhVtokuTxt:= VarToStr(FieldByNameValues('DruhVtokuTxt')); karta.doplDil1Txt:= VarToStr(FieldByNameValues('DoplDil1Txt')); karta.doplDil2Txt:= VarToStr(FieldByNameValues('DoplDil2Txt')); karta.doplDil3Txt:= VarToStr(FieldByNameValues('DoplDil3Txt')); karta.ksNaStrom:= StrToInt(EmptyToZero(VarToStr(FieldByNameValues('KSnaStrom')))); karta.druhTech:= VarToStr(FieldByNameValues('DruhTechnologie')).Trim; karta.ksDoplDil1:= StrToInt(EmptyToZero(VarToStr(FieldByNameValues('KsDoplDil1')))); karta.ksDoplDil2:= StrToInt(EmptyToZero(VarToStr(FieldByNameValues('KsDoplDil2')))); karta.ksDoplDil3:= StrToInt(EmptyToZero(VarToStr(FieldByNameValues('KsDoplDil3')))); karta.pocetVetv:= StrToInt(EmptyToZero(VarToStr(FieldByNameValues('PocetVetvicek')))); karta.pocetVetvAlt:= StrToInt(EmptyToZero(VarToStr(FieldByNameValues('PocetVetvicekAlt')))); karta.ksVEtazi:= StrToInt(EmptyToZero(VarToStr(FieldByNameValues('KSvEtazi')))); karta.lisCas:= StrToInt(EmptyToZero(VarToStr(FieldByNameValues('LisovaciCas')))); karta.casVstrik:= StrToInt(EmptyToZero(VarToStr(FieldByNameValues('VstrikCas')))); karta.lisCas2:= StrToInt(EmptyToZero(VarToStr(FieldByNameValues('LisovaciCas2')))); karta.casVstrik2:= StrToInt(EmptyToZero(VarToStr(FieldByNameValues('VstrikCas2')))); karta.pozicVeFrm:= StrToInt(EmptyToZero(VarToStr(FieldByNameValues('PozicVeForme')))); karta.pozicVeFrmAlt:= StrToInt(EmptyToZero(VarToStr(FieldByNameValues('PozicVeFormeAlt')))); karta.teplMin:= StrToInt(EmptyToZero(VarToStr(FieldByNameValues('TeplotaMin')))); karta.teplMax:= StrToInt(EmptyToZero(VarToStr(FieldByNameValues('TeplotaMax')))); karta.ksNaPlate:= StrToInt(EmptyToZero(VarToStr(FieldByNameValues('KSNaPlate')))); karta.matecniOdlitek:= Trim(VarToStr(FieldByNameValues('MatecniOdlitek'))); karta.koopTpl:= VarToBool(FieldByNameValues('Koop_TepelneZprac')); karta.koopTplPop:= VarToStr(FieldByNameValues('Koop_TepelneZprac_Popis')); if not(TryStrToInt(VarToStr(FieldByNameValues('Atest_TepelneZprac_Druh')), karta.tstTZDruh)) then karta.tstTZDruh:= 0; karta.tstTZVyst:= VarToStr(FieldByNameValues('Atest_TepelneZprac_Vystavuje')); karta.tstTZPozad:= VarToStr(FieldByNameValues('Atest_TepelneZprac_Pozaduje')); karta.voskJadra:= VarToBool(FieldByNameValues('VoskJadra')); karta.voskJadraMoc:= VarToBool(FieldByNameValues('VoskJadraMocovina')); karta.voskCepy:= VarToBool(FieldByNameValues('VoskCepy')); karta.voskChlad:= VarToBool(FieldByNameValues('VoskChladitka')); karta.voskRiziko:= VarToBool(FieldByNameValues('VoskRiziko')); karta.koopObrab:= VarToBool(FieldByNameValues('Koop_Obrabeni')); karta.koopObrabPop:= VarToStr(FieldByNameValues('Koop_Obrabeni_Popis')); if not(TryStrToInt(VarToStr(FieldByNameValues('Atest_Obrabeni_Druh')), karta.tstObrabDruh)) then karta.tstObrabDruh:= 0; karta.tstObrabVyst:= VarToStr(FieldByNameValues('Atest_Obrabeni_Vystavuje')); karta.tstObrabPozad:= VarToStr(FieldByNameValues('Atest_Obrabeni_Pozaduje')); karta.tstPovrch:= VarToBool(FieldByNameValues('Atest_PovrchUprava')); karta.tstPovrchPop:= VarToStr(FieldByNameValues('Atest_PovrchUprava_Popis')); if not(TryStrToInt(VarToStr(FieldByNameValues('Atest_PovrchUprava_Druh')), karta.tstPovrchDruh)) then karta.tstPovrchDruh:= 0; karta.tstPovrchVyst:= VarToStr(FieldByNameValues('Atest_PovrchUprava_Vystavuje')); karta.tstPovrchPozad:= VarToStr(FieldByNameValues('Atest_PovrchUprava_Pozaduje')); karta.koopDefekt:= VarToBool(FieldByNameValues('Koop_Defekt')); karta.koopDefektPop:= VarToStr(FieldByNameValues('Koop_Defekt_Popis')); if not(TryStrToInt(VarToStr(FieldByNameValues('Atest_Defekt_Druh')), karta.tstDefektDruh)) then karta.tstDefektDruh:= 0; karta.tstDefektVyst:= VarToStr(FieldByNameValues('Atest_Defekt_Vystavuje')); karta.tstDefektPozad:= VarToStr(FieldByNameValues('Atest_Defekt_Pozaduje')); karta.koopJine:= VarToBool(FieldByNameValues('Koop_Jine')); karta.koopJinePop:= VarToStr(FieldByNameValues('Koop_Jine_Popis')); if not(TryStrToInt(VarToStr(FieldByNameValues('Atest_Jine_Druh')), karta.tstJineDruh)) then karta.tstJineDruh:= 0; karta.tstJineVyst:= VarToStr(FieldByNameValues('Atest_Jine_Vystavuje')); karta.tstJinePozad:= VarToStr(FieldByNameValues('Atest_Jine_Pozaduje')); karta.tstMat:= VarToBool(FieldByNameValues('Atest_Material')); karta.tstMatPop:= VarToStr(FieldByNameValues('Atest_Material_Popis')); if not(TryStrToInt(VarToStr(FieldByNameValues('Atest_Material_Druh')), karta.tstMatDruh)) then karta.tstMatDruh:= 0; karta.tstMatVyst:= VarToStr(FieldByNameValues('Atest_Material_Vystavuje')); karta.tstMatPozad:= VarToStr(FieldByNameValues('Atest_Material_Pozaduje')); karta.tstJazyk:= VarToStr(FieldByNameValues('Atest_Jazyk')); if not TryStrToFloat(VarToStr(FieldByNameValues('HmotnostStrom')), karta.hmotStrom) then karta.hmotStrom:= 0; if not TryStrToFloat(VarToStr(FieldByNameValues('HmotnostSkorepiny')), karta.hmotSkor) then karta.hmotSkor:= 0; if not TryStrToInt(VarToStr(FieldByNameValues('PrvniObal')), karta.prvniObal) then karta.prvniObal:= 0; karta.vlastnik:= StrToInt(VarToStr(FieldByNameValues('Vlastnik'))); if not TryStrToFloat(VarToStr(FieldByNameValues('Hmotnost')), karta.hmot) then karta.hmot:= 0; if not TryStrToFloat(VarToStr(FieldByNameValues('HmotnostBrutto')), karta.hmotBrt) then karta.hmotBrt:= 0; if not TryStrToFloat(VarToStr(FieldByNameValues('HmotVoskDilce')), karta.hmotVoskD) then karta.hmotVoskD:= 0; { karta.odlitek = 'SELECT ' } karta.incoterms:= VarToStr(FieldByNameValues('Incoterms')); kOdlitek.cisloPKZ:= VarToStr(FieldByNameValues('CisloPKZ')); karta.odrez:= Trim(VarToStr(FieldByNameValues('Odrez'))); if (karta.odrez.Length>1) then karta.odrez:= IfThen(karta.odrez.ToLower='false','N','A'); karta.sarze:= Trim(VarToStr(FieldByNameValues('Sarzovat'))); if (karta.sarze.Length>1) then karta.sarze:= IfThen(karta.sarze.ToLower='false','N','A'); karta.legPripl:= Trim(VarToStr(FieldByNameValues('LegovaciPriplatek'))); if (karta.legPripl.Length>1) then karta.legPripl:= IfThen(karta.legPripl.ToLower='false','N','A'); karta.prurezVt:= VarToStr(FieldByNameValues('PrurezVtocku')); karta.prurezVt2:= VarToStr(FieldByNameValues('PrurezVtocku2')); karta.garant:= Trim(VarToStr(FieldByNameValues('Garant'))); karta.specifOdl:= Trim(VarToStr(FieldByNameValues('SpecifikaceOdl'))); karta.specifObr:= Trim(VarToStr(FieldByNameValues('SpecifikaceObr'))); karta.lisSkup:= StrToInt(VarToStr(FieldValues(2))); karta.lisSkup2:= StrToInt(VarToStr(FieldValues(4))); karta.poznamka:= VarToStr(FieldByNameValues('Poznamka')); result:= true; end; end; procedure TformOdlitek.NactiParametry; var lSQL, matOdl, lng: string; ex: Extended; i: integer; begin matOdl:= helUtils.getHeliosStrVal(Helios, '', ' SELECT MatecniOdlitek FROM ' + tblOdlitky + ' WHERE ID=' + idOdl.ToString); if (matOdl<>'') then begin idOdl:= helUtils.getHeliosIntVal(Helios, 0, ' SELECT ID FROM ' + tblOdlitky + ' WHERE Odlitek=N' + matOdl.QuotedString); if (idOdl=0) then with Helios.OpenSQL('INSERT ' + tblOdlitky + ' (Odlitek, JeNovaVetaEditor) VALUES (N' + matOdl.QuotedString + ', 1); SELECT SCOPE_IDENTITY()') do if (RecordCount=1) then idOdl:= StrToInt(VarToStr(FieldValues(0))); mamMatOdlitek:= true; end; NactiParametryKarty (idOdl, kOdlitek); NactiParametryKarty (idOdlRodic, kRodic); idProUpd:= IfThen(idOdlRodic=0, idOdl, idOdlRodic); edtDruhFor.Text:= RodicNeboPotomekS(kRodic.frmDruh, kOdlitek.frmDruh, false); if (edtDruhFor.Text='') and (kRodic.frmDruh<>'') then edtDruhFor.Text:= kRodic.frmDruh; edtKsFor.Value:= RodicNeboPotomekI(kRodic.ksVeForme, kOdlitek.ksVeForme); if (edtKsFor.Value=0) and (kRodic.ksVeForme>0) then edtKsFor.Value:= kRodic.ksVeForme; edtDruhForA.Text:= RodicNeboPotomekS(kRodic.frmDruhAlt, kOdlitek.frmDruhAlt, false); if (edtDruhForA.Text='') and (kRodic.frmDruhAlt<>'') then edtDruhForA.Text:= kRodic.frmDruhAlt; edtKsForA.Value:= RodicNeboPotomekI(kRodic.ksVeFormeAlt, kOdlitek.ksVeFormeAlt); if (edtKsForA.Value=0) and (kRodic.ksVeFormeAlt>0) then edtKsForA.Value:= kRodic.ksVeFormeAlt; edtStrNaTavbu.Value:= RodicNeboPotomekI(kRodic.strNaTavbu, kOdlitek.strNaTavbu); if (edtStrNaTavbu.Value=0) and (kRodic.strNaTavbu>0) then edtStrNaTavbu.Value:= kRodic.strNaTavbu; edtDruhVtoku.Text:= RodicNeboPotomekS(kRodic.druhVtokuTxt, kOdlitek.druhVtokuTxt, false); if (edtDruhVtoku.Text='') and (kRodic.druhVtokuTxt<>'') then edtDruhVtoku.Text:= kRodic.druhVtokuTxt; edtDoplDil1.Text:= RodicNeboPotomekS(kRodic.doplDil1Txt, kOdlitek.doplDil1Txt, false); if (edtDoplDil1.Text='') and (kRodic.doplDil1Txt<>'') then edtDoplDil1.Text:= kRodic.doplDil1Txt; edtDoplDil2.Text:= RodicNeboPotomekS(kRodic.doplDil2Txt, kOdlitek.doplDil2Txt, false); if (edtDoplDil2.Text='') and (kRodic.doplDil2Txt<>'') then edtDoplDil2.Text:= kRodic.doplDil2Txt; edtDoplDil3.Text:= RodicNeboPotomekS(kRodic.doplDil3Txt, kOdlitek.doplDil3Txt, false); if (edtDoplDil3.Text='') and (kRodic.doplDil3Txt<>'') then edtDoplDil3.Text:= kRodic.doplDil3Txt; if (kRodic.matecniOdlitek<>kRodic.odlitek) then edtMatOdlit.Text:= kRodic.matecniOdlitek else edtMatOdlit.Text:= ''; edtKSNaStrom.Value:= RodicNeboPotomekI(kRodic.ksNaStrom, kOdlitek.ksNaStrom); if (edtKSNaStrom.Value=0) and (kRodic.ksNaStrom>0) then edtKSNaStrom.Value:= kRodic.ksNaStrom; edtDruhTech.Text:= RodicNeboPotomekS(kRodic.druhTech, kOdlitek.druhTech, false); if (edtDruhTech.Text='') and (kRodic.druhTech<>'') then edtDruhTech.Text:= kRodic.druhTech; edtKsDopl1.Value:= RodicNeboPotomekI(kRodic.ksDoplDil1, kOdlitek.ksDoplDil1); if (edtKsDopl1.Value=0) and (kRodic.ksDoplDil1>0) then edtKsDopl1.Value:= kRodic.ksDoplDil1; edtKsDopl2.Value:= RodicNeboPotomekI(kRodic.ksDoplDil2, kOdlitek.ksDoplDil2); if (edtKsDopl2.Value=0) and (kRodic.ksDoplDil2>0) then edtKsDopl2.Value:= kRodic.ksDoplDil2; edtKsDopl3.Value:= RodicNeboPotomekI(kRodic.ksDoplDil3, kOdlitek.ksDoplDil3); if (edtKsDopl3.Value=0) and (kRodic.ksDoplDil3>0) then edtKsDopl3.Value:= kRodic.ksDoplDil3; edtPocetVetvi.Value:= RodicNeboPotomekI(kRodic.pocetVetv, kOdlitek.pocetVetv); if (edtPocetVetvi.Value=0) and (kRodic.pocetVetv>0) then edtPocetVetvi.Value:= kRodic.pocetVetv; edtPocetVetviA.Value:= RodicNeboPotomekI(kRodic.pocetVetvAlt, kOdlitek.pocetVetvAlt); if (edtPocetVetviA.Value=0) and (kRodic.pocetVetvAlt>0) then edtPocetVetviA.Value:= kRodic.pocetVetvAlt; edtKsEtaz.Value:= RodicNeboPotomekI(kRodic.ksVEtazi, kOdlitek.ksVEtazi); if (edtKsEtaz.Value=0) and (kRodic.ksVEtazi>0) then edtKsEtaz.Value:= kRodic.ksVEtazi; edtLisCas.Value:= RodicNeboPotomekI(kRodic.lisCas, kOdlitek.lisCas); if (edtLisCas.Value=0) and (kRodic.lisCas>0) then edtLisCas.Value:= kRodic.lisCas; edtLisCas2.Value:= RodicNeboPotomekI(kRodic.lisCas2, kOdlitek.lisCas2); if (edtLisCas2.Value=0) and (kRodic.lisCas2>0) then edtLisCas2.Value:= kRodic.lisCas2; edtPozFor.Value:= RodicNeboPotomekI(kRodic.pozicVeFrm, kOdlitek.pozicVeFrm); if (edtPozFor.Value=0) and (kRodic.pozicVeFrm>0) then edtPozFor.Value:= kRodic.pozicVeFrm; edtPozForA.Value:= RodicNeboPotomekI(kRodic.pozicVeFrmAlt, kOdlitek.pozicVeFrmAlt); if (edtPozForA.Value=0) and (kRodic.pozicVeFrmAlt>0) then edtPozForA.Value:= kRodic.pozicVeFrmAlt; edtTeplotaMin.Value:= RodicNeboPotomekI(kRodic.teplMin, kOdlitek.teplMin); if (edtTeplotaMin.Value=0) and (kRodic.teplMin>0) then edtTeplotaMin.Value:= kRodic.teplMin; edtTeplotaMax.Value:= RodicNeboPotomekI(kRodic.teplMax, kOdlitek.teplMax); if (edtTeplotaMax.Value=0) and (kRodic.teplMax>0) then edtTeplotaMax.Value:= kRodic.teplMax; edtKsNaPlate.Value:= RodicNeboPotomekI(kRodic.ksNaPlate, kOdlitek.ksNaPlate); if (edtKsNaPlate.Value=0) and (kRodic.ksNaPlate>0) then edtKsNaPlate.Value:= kRodic.ksNaPlate; edtVstrikCas.Value:= RodicNeboPotomekI(kRodic.casVstrik, kOdlitek.casVstrik); if (edtVstrikCas.Value=0) and (kRodic.casVstrik>0) then edtVstrikCas.Value:= kRodic.casVstrik; edtVstrikCas2.Value:= RodicNeboPotomekI(kRodic.casVstrik2, kOdlitek.casVstrik2); if (edtVstrikCas2.Value=0) and (kRodic.casVstrik2>0) then edtVstrikCas2.Value:= kRodic.casVstrik2; cbAtestTepel.Checked:= kRodic.koopTpl; if not(cbAtestTepel.Checked) then mPoznTepel.Enabled:= false; mPoznTepel.Lines.Text:= kRodic.koopTplPop; edtDruhTepel.Text:= kRodic.tstTZDruh.ToString; if (edtDruhTepel.Text='0') then edtDruhTepel.Text:= ''; cbVystTepel.ItemIndex:= cbVystTepel.Items.IndexOf(kRodic.tstTZVyst); cbPozadTepel.ItemIndex:= cbPozadTepel.Items.IndexOf(kRodic.tstTZPozad); cbVoskJadra.Checked:= kRodic.voskJadra; cbVoskJadraMocovina.Checked:= kRodic.voskJadraMoc; cbVoskCepy.Checked:= kRodic.voskCepy; cbVoskChladitka.Checked:= kRodic.voskChlad; cbVoskRizikovaPoz.Checked:= kRodic.voskRiziko; cbAtestObr.Checked:= kRodic.koopObrab; if not(cbAtestObr.Checked) then mPoznObr.Enabled:= false; mPoznObr.Lines.Text:= kRodic.koopObrabPop; edtDruhObr.Text:= kRodic.tstObrabDruh.ToString; if (edtDruhObr.Text='0') then edtDruhObr.Text:= ''; cbVystObr.ItemIndex:= cbVystObr.Items.IndexOf(kRodic.tstObrabVyst); cbPozadObr.ItemIndex:= cbPozadObr.Items.IndexOf(kRodic.tstObrabPozad); cbAtestPovrch.Checked:= kRodic.tstPovrch; if not(cbAtestPovrch.Checked) then mPoznPovrch.Enabled:= false; mPoznPovrch.Lines.Text:= kRodic.tstPovrchPop; edtDruhPovrch.Text:= kRodic.tstPovrchDruh.ToString; if (edtDruhPovrch.Text='0') then edtDruhPovrch.Text:= ''; cbVystPU.ItemIndex:= cbVystPU.Items.IndexOf(kRodic.tstPovrchVyst); cbPozadPU.ItemIndex:= cbPozadPU.Items.IndexOf(kRodic.tstPovrchPozad); cbAtestDefekt.Checked:= kRodic.koopDefekt; if not(cbAtestDefekt.Checked) then mPoznDefekt.Enabled:= false; mPoznDefekt.Lines.Text:= kRodic.koopDefektPop; edtDruhDefekt.Text:= kRodic.tstDefektDruh.ToString; if (edtDruhDefekt.Text='0') then edtDruhDefekt.Text:= ''; cbVystDefekt.ItemIndex:= cbVystDefekt.Items.IndexOf(kRodic.tstDefektVyst); cbPozadDefekt.ItemIndex:= cbPozadDefekt.Items.IndexOf(kRodic.tstDefektPozad); cbAtestJine.Checked:= kRodic.koopJine; if not(cbAtestJine.Checked) then mPoznJine.Enabled:= false; mPoznJine.Lines.Text:= kRodic.koopJinePop; edtDruhJine.Text:= kRodic.tstJineDruh.ToString; if (edtDruhJine.Text='0') then edtDruhJine.Text:= ''; cbVystJine.ItemIndex:= cbVystJine.Items.IndexOf(kRodic.tstJineVyst); cbPozadJine.ItemIndex:= cbPozadJine.Items.IndexOf(kRodic.tstJinePozad); cbAtestMat.Checked:= kRodic.tstMat; edtDruhMat.Text:= kRodic.tstMatDruh.ToString; if (edtDruhMat.Text='0') then edtDruhMat.Text:= ''; cbVystMat.ItemIndex:= cbVystMat.Items.IndexOf(kRodic.tstMatVyst); cbPozadMat.ItemIndex:= cbPozadMat.Items.IndexOf(kRodic.tstMatPozad); lng:= kRodic.material; if (lng='') then cbMaterial.ItemIndex:= -1 else begin lng:= helUtils.getHeliosStrVal(Helios, '', 'SELECT Kod FROM ' + tblMaterial + ' WHERE Znacka=N' + lng.QuotedString) + ' : ' + lng; cbMaterial.ItemIndex:= cbMaterial.Items.IndexOf(lng); end; lng:= kRodic.tstJazyk; cbJazyk.ItemIndex:= 0; if (lng='DE') then cbJazyk.ItemIndex:= 1; if (lng='EN') then cbJazyk.ItemIndex:= 2; i:= helUtils.getHeliosIntVal(Helios, -1, 'SELECT SkupinaFirem FROM ' + tblOdlitky + ' WHERE ID=' + idOdlRodic.ToString); cbSkupFirem.ItemIndex:= i + 1; cbPrvniObal.ItemIndex:= RodicNeboPotomekI(kRodic.prvniObal, kOdlitek.prvniObal); edtCisOrg.Text:= RodicNeboPotomekS(kRodic.vlastnik.ToString, kOdlitek.vlastnik.ToString, false); if (edtCisOrg.Text='-1') then edtCisOrg.Text:= ''; if (edtCisOrg.Text<>'') then edtOrg.Text:= helUtils.getHeliosStrVal(Helios, '', 'SELECT Nazev FROM ' + tblCOrg + ' WHERE CisloOrg=' + edtCisOrg.Text); edtHmotNetto.Value:= RodicNeboPotomekE(kRodic.hmot, kOdlitek.hmot); if (edtHmotNetto.Value=0) and (kRodic.hmot>0) then edtHmotNetto.Value:= kRodic.hmot; edtHmotBrutto.Value:= RodicNeboPotomekE(kRodic.hmotBrt, kOdlitek.hmotBrt); if (edtHmotBrutto.Value=0) and (kRodic.hmotBrt>0) then edtHmotBrutto.Value:= kRodic.hmotBrt; edtHmVoskD.Value:= RodicNeboPotomekE(kRodic.hmotVoskD, kOdlitek.hmotVoskD); if (edtHmVoskD.Value=0) and (kRodic.hmotVoskD>0) then edtHmVoskD.Value:= kRodic.hmotVoskD; edtHmotStr.Value:= RodicNeboPotomekE(kRodic.hmotStrom, kOdlitek.hmotStrom); if (edtHmotStr.Value=0) and (kRodic.hmotStrom>0) then edtHmotStr.Value:= kRodic.hmotStrom; edtHmotSkor.Value:= RodicNeboPotomekE(kRodic.hmotSkor, kOdlitek.hmotSkor); if (edtHmotSkor.Value=0) and (kRodic.hmotSkor>0) then edtHmotSkor.Value:= kRodic.hmotSkor; ZmenaVypoctu; edtIncoterms.Text:= RodicNeboPotomekS(kRodic.incoterms, kOdlitek.incoterms, false); if (edtIncoterms.Text='') and (kRodic.incoterms<>'') then edtIncoterms.Text:= kRodic.incoterms; cbOdrez.ItemIndex:= 0; lng:= RodicNeboPotomekS(kRodic.odrez, kOdlitek.odrez, false); if (lng='A') then cbOdrez.ItemIndex:= 1; if (lng='N') then cbOdrez.ItemIndex:= 2; cbSarze.ItemIndex:= 0; lng:= RodicNeboPotomekS(kRodic.sarze, kOdlitek.sarze, false); if (lng='A') then cbSarze.ItemIndex:= 1; if (lng='N') then cbSarze.ItemIndex:= 2; cbLegPripl.ItemIndex:= 0; lng:= RodicNeboPotomekS(kRodic.legPripl, kOdlitek.legPripl, false); if (lng='A') then cbLegPripl.ItemIndex:= 1; if (lng='N') then cbLegPripl.ItemIndex:= 2; edtPrurezVtk1.Text:= RodicNeboPotomekS(kRodic.prurezVt, kOdlitek.prurezVt, false); if (edtPrurezVtk1.Text='') and (kRodic.prurezVt<>'') then edtPrurezVtk1.Text:= kRodic.prurezVt; edtPrurezVtk2.Text:= RodicNeboPotomekS(kRodic.prurezVt2, kOdlitek.prurezVt2, false); if (edtPrurezVtk2.Text='') and (kRodic.prurezVt2<>'') then edtPrurezVtk2.Text:= kRodic.prurezVt2; edtGarant.Text:= RodicNeboPotomekS(kRodic.garant, kOdlitek.garant, false); if (edtGarant.Text='') and (kRodic.garant<>'') then edtGarant.Text:= kRodic.garant; cbSpecVyrOdlitek.ItemIndex:= 0; lng:= RodicNeboPotomekS (kRodic.specifOdl, kOdlitek.specifOdl, false); if (lng='S') then cbSpecVyrOdlitek.ItemIndex:= 1; if (lng='P') then cbSpecVyrOdlitek.ItemIndex:= 2; cbSpecVyrObrobek.ItemIndex:= 0; lng:= RodicNeboPotomekS (kRodic.specifObr, kOdlitek.specifObr, false); if (lng='S') then cbSpecVyrObrobek.ItemIndex:= 1; if (lng='P') then cbSpecVyrObrobek.ItemIndex:= 2; edtLisSkup.Text:= RodicNeboPotomekS (kRodic.lisSkup.ToString, kOdlitek.lisSkup.ToString, false); if (edtLisSkup.Text='0') and (kRodic.lisSkup.ToString<>'0') then edtLisSkup.Text:= kRodic.lisSkup.ToString; if (edtLisSkup.Text='0') then edtLisSkup.Text:= ''; edtLisSkup2.Text:= RodicNeboPotomekS (kRodic.lisSkup2.ToString, kOdlitek.lisSkup2.ToString, false); if (edtLisSkup2.Text='0') and (kRodic.lisSkup2.ToString<>'0') then edtLisSkup2.Text:= kRodic.lisSkup2.ToString; if (edtLisSkup2.Text='0') then edtLisSkup2.Text:= ''; // parametry rozdilne u obrobku (rodice) a odlitku kOdlitek.vykres:= helUtils.getHeliosStrVal (Helios, '', 'SELECT Vykres FROM ' + tblOdlitky + ' WHERE ID=' + idOdlRodic.ToString); edtVykres.Text:= kOdlitek.vykres; if (edtVykres.Text='') and (kRodic.vykres<>'') then edtVykres.Text:= kRodic.vykres; kOdlitek.poznamka:= helUtils.getHeliosStrVal (Helios, '', 'SELECT Poznamka FROM ' + tblOdlitky + ' WHERE ID=' + idOdlRodic.ToString); mPozn.Text:= kOdlitek.poznamka; if (mPozn.Text='') and (kRodic.poznamka<>'') then mPozn.Text:= kRodic.poznamka; kOdlitek.hmotObrob:= helUtils.getHeliosFloatVal (Helios, 0, 'SELECT HmotnostObrobku FROM ' + tblOdlitky + ' WHERE ID=' + idOdlRodic.ToString); edtHmotObr.Value:= kOdlitek.hmotObrob; if (edtHmotObr.Value=0) and (kRodic.hmotObrob>0) then edtHmotObr.Value:= kRodic.hmotObrob; kOdlitek.cisloPKZ:= helUtils.getHeliosStrVal (Helios, '', 'SELECT CisloPKZ FROM ' + tblOdlitky + ' WHERE ID=' + idOdlRodic.ToString); edtPKZ.Text:= kOdlitek.cisloPKZ; if (edtPKZ.Text='') and (kRodic.cisloPKZ<>'') then edtPKZ.Text:= kRodic.cisloPKZ; end; procedure TformOdlitek.btnOKClick (Sender: TObject); var lSQL, lng, matTxt: string; i,idMatOdl: integer; begin if not(jenView) then begin i:= 0; while (i' + NQuotedStr (edtDruhTech.Text) + CRLF; if (idK>0) then lSQL:= lSQL + 'UPDATE ' + tblKZe + ' SET _DruhTechnologie=' + NullOrNQuotedStr (edtDruhTech.Text) + ' WHERE ID=' + idK.ToString + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET FormaDruh=' + NullOrNQuotedStr (edtDruhFor.Text) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(FormaDruh,N'''')<>' + NQuotedStr (edtDruhFor.Text) + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET KSveForme=' + edtKsFor.ValueInt.ToString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(KSveForme,0)<>' + edtKsFor.ValueInt.ToString + CRLF; if (idK>0) then lSQL:= lSQL + 'UPDATE ' + tblKZe + ' SET _KsVeForme=' + IfThen(edtKsFor.Value=0, 'NULL', edtKsFor.ValueInt.ToString) + ' WHERE ID=' + idK.ToString + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET FormaDruhAlt=' + NullOrNQuotedStr (edtDruhForA.Text) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(FormaDruhAlt,N'''')<>' + NQuotedStr (edtDruhForA.Text) + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET KSveFormeAlt=' + edtKsForA.Value.ToString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(KSveFormeAlt,0)<>' + edtKsForA.Value.ToString + CRLF; matTxt:= ''; if (cbMaterial.ItemIndex>-1) then if (Pos(' : ', cbMaterial.Text)>0) then matTxt:= MidStr(cbMaterial.Text, Pos(' : ', cbMaterial.Text)+3, 255); lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Material=' + NullOrNQuotedStr (matTxt) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(Material,N'''')<>' + NQuotedStr (matTxt) + CRLF; if (idOdlRodic>0) and (idOdl<>idOdlRodic) then begin lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Material=' + NullOrNQuotedStr (matTxt) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idOdlRodic.ToString; lSQL:= lSQL + ' AND ISNULL(Material,N'''')<>' + NQuotedStr (matTxt) + CRLF; end; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET TeplotaMin=' + edtTeplotaMin.Value.ToString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(TeplotaMin,0)<>' + edtTeplotaMin.Value.ToString + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET TeplotaMax=' + edtTeplotaMax.Value.ToString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(TeplotaMax,0)<>' + edtTeplotaMax.Value.ToString + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET PozicVeForme=' + edtPozFor.Value.ToString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(PozicVeForme,0)<>' + edtPozFor.Value.ToString + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET PozicVeFormeAlt=' + edtPozForA.Value.ToString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(PozicVeFormeAlt,0)<>' + edtPozForA.Value.ToString + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET StromuNaTavbu=' + edtStrNaTavbu.Value.ToString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(StromuNaTavbu,0)<>' + edtStrNaTavbu.Value.ToString + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET LisovaciCas=' + edtLisCas.Value.ToString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(LisovaciCas,0)<>' + edtLisCas.Value.ToString + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET LisovaciCas2=' + edtLisCas2.Value.ToString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(LisovaciCas2,0)<>' + edtLisCas2.Value.ToString + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET VstrikCas=' + edtVstrikCas.Value.ToString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(VstrikCas,0)<>' + edtVstrikCas.Value.ToString + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET VstrikCas2=' + edtVstrikCas2.Value.ToString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(VstrikCas2,0)<>' + edtVstrikCas2.Value.ToString + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET VoskJadra=' + IfThen(cbVoskJadra.Checked,'1','0') + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(VoskJadra,0)<>' + IfThen(cbVoskJadra.Checked,'1','0') + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET VoskJadraMocovina=' + IfThen(cbVoskJadraMocovina.Checked,'1','0') + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(VoskJadraMocovina,0)<>' + IfThen(cbVoskJadraMocovina.Checked,'1','0') + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET VoskCepy=' + IfThen(cbVoskCepy.Checked,'1','0') + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(VoskCepy,0)<>' + IfThen(cbVoskCepy.Checked,'1','0') + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET VoskChladitka=' + IfThen(cbVoskChladitka.Checked,'1','0') + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(VoskChladitka,0)<>' + IfThen(cbVoskChladitka.Checked,'1','0') + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET VoskRiziko=' + IfThen(cbVoskRizikovaPoz.Checked,'1','0') + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(VoskRiziko,0)<>' + IfThen(cbVoskRizikovaPoz.Checked,'1','0') + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET DoplDil1Txt=' + NullOrNQuotedStr (edtDoplDil1.Text) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(DoplDil1Txt,N'''')<>' + NQuotedStr (edtDoplDil1.Text) + CRLF; lSQL:= lSQL + 'MERGE dbo._hdc_TabOdlitky AS T USING (SELECT ID, SKP, RegCis FROM dbo.TabKmenZbozi WHERE SKP<>N'''' AND SkupZbo=N''P10'''; lSQL:= lSQL + ' AND LEFT(RIGHT(REPLACE(dbo.ef_RemoveAlpha(RegCis),N''-'',N''''),4),1)=N''1'') AS S ON (S.RegCis=T.Odlitek)'; lSQL:= lSQL + ' WHEN MATCHED AND T.DoplDil1Txt=S.SKP AND S.RegCis LIKE N''%-''+CASE WHEN T.DruhTechnologie IN (N''1'', N''5'') THEN N''M'' ELSE N''S'''; lSQL:= lSQL + ' END THEN UPDATE SET T.DoplDil1=S.ID, T.Zmenil=SUSER_SNAME(), T.DatZmeny=GETDATE();' + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET DoplDil2Txt=' + NullOrNQuotedStr (edtDoplDil2.Text) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(DoplDil2Txt,N'''')<>' + NQuotedStr (edtDoplDil2.Text) + CRLF; lSQL:= lSQL + 'MERGE dbo._hdc_TabOdlitky AS T USING (SELECT ID, SKP, RegCis FROM dbo.TabKmenZbozi WHERE SKP<>N'''' AND SkupZbo=N''P10'''; lSQL:= lSQL + ' AND LEFT(RIGHT(REPLACE(dbo.ef_RemoveAlpha(RegCis),N''-'',N''''),4),1)=N''1'') AS S ON (S.RegCis=T.Odlitek)'; lSQL:= lSQL + ' WHEN MATCHED AND T.DoplDil2Txt=S.SKP AND S.RegCis LIKE N''%-''+CASE WHEN T.DruhTechnologie IN (N''1'',N''5'') THEN N''M'' ELSE N''S'''; lSQL:= lSQL + ' END THEN UPDATE SET T.DoplDil2=S.ID, T.Zmenil=SUSER_SNAME(), T.DatZmeny=GETDATE();' + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET DoplDil3Txt=' + NullOrNQuotedStr (edtDoplDil3.Text) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(DoplDil3Txt,N'''')<>' + NQuotedStr (edtDoplDil3.Text) + CRLF; lSQL:= lSQL + 'MERGE dbo._hdc_TabOdlitky AS T USING (SELECT ID, SKP, RegCis FROM dbo.TabKmenZbozi WHERE SKP<>N'''' AND SkupZbo=N''P10'''; lSQL:= lSQL + ' AND LEFT(RIGHT(REPLACE(dbo.ef_RemoveAlpha(RegCis),N''-'',N''''),4),1)=N''1'') AS S ON (S.RegCis=T.Odlitek)'; lSQL:= lSQL + ' WHEN MATCHED AND T.DoplDil3Txt=S.SKP AND S.RegCis LIKE N''%-''+CASE WHEN T.DruhTechnologie IN (N''1'',N''5'') THEN N''M'' ELSE N''S'''; lSQL:= lSQL + ' END THEN UPDATE SET T.DoplDil3=S.ID, T.Zmenil=SUSER_SNAME(), T.DatZmeny=GETDATE();' + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET DruhVtokuTxt=' + NullOrNQuotedStr (edtDruhVtoku.Text) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(DruhVtokuTxt,N'''')<>' + NQuotedStr (edtDruhVtoku.Text) + CRLF; lSQL:= lSQL + 'MERGE dbo._hdc_TabOdlitky AS T USING (SELECT ID, SKP, RegCis FROM dbo.TabKmenZbozi WHERE SKP<>N'''' AND SkupZbo=N''P10'''; lSQL:= lSQL + ' AND LEFT(RIGHT(REPLACE(dbo.ef_RemoveAlpha(RegCis),N''-'',N''''),4),1)=N''2'') AS S ON (S.RegCis=T.Odlitek)'; lSQL:= lSQL + ' WHEN MATCHED AND T.DruhVtokuTxt=S.SKP AND S.RegCis LIKE N''%-''+CASE WHEN T.DruhTechnologie IN (N''1'',N''5'') THEN N''M'' ELSE N''S'''; lSQL:= lSQL + ' END THEN UPDATE SET T.DruhVtoku=S.ID, T.Zmenil=SUSER_SNAME(), T.DatZmeny=GETDATE();' + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET DruhVtoku=' + kOdlitek.druhVtoku.ToString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(DruhVtoku,-1)<>' + kOdlitek.druhVtoku.ToString; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET MatecniOdlitek=' + NullOrNQuotedStr (edtMatOdlit.Text, true) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(MatecniOdlitek,N'''')<>Odlitek AND ISNULL(MatecniOdlitek,N'''')<>' + NQuotedStr(edtMatOdlit.Text) + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET MatecniOdlitek=N'''' WHERE ID=' + idOdl.ToString + ' AND MatecniOdlitek=Odlitek' + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Vlastnik=' + IfThen(edtCisOrg.Text='', 'NULL', edtCisOrg.Text); lSQL:= lSQL + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString + ' AND ISNULL(Vlastnik,-1)<>' + IfThen(edtCisOrg.Text='', '-1', edtCisOrg.Text) + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET KSnaStrom=' + edtKSNaStrom.ValueInt.ToString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(KSnaStrom,0)<>' + edtKSNaStrom.ValueInt.ToString + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET KsDoplDil1=' + edtKsDopl1.ValueInt.ToString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(KsDoplDil1,0)<>' + edtKsDopl1.ValueInt.ToString + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET KsDoplDil2=' + edtKsDopl2.ValueInt.ToString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(KsDoplDil2,0)<>' + edtKsDopl2.ValueInt.ToString + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET KsDoplDil3=' + edtKsDopl3.ValueInt.ToString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(KsDoplDil3,0)<>' + edtKsDopl3.ValueInt.ToString + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET PocetVetvicek=' + edtPocetVetvi.ValueInt.ToString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(PocetVetvicek,0)<>' + edtPocetVetvi.ValueInt.ToString + CRLF; if (idK>0) then lSQL:= lSQL + 'UPDATE ' + tblKZe + ' SET _VetvicekNaStrom=' + IfThen(edtPocetVetvi.ValueInt=0, 'NULL', edtPocetVetvi.ValueInt.ToString) + ' WHERE ID=' + idK.ToString + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET PocetVetvicekAlt=' + edtPocetVetviA.Value.ToString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(PocetVetvicekAlt,0)<>' + edtPocetVetviA.Value.ToString + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET KSvEtazi=' + NullOrNumNoZero (edtKsEtaz.Value) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(KSvEtazi,0)<>' + edtKsEtaz.ValueInt.ToString + CRLF; if (idK>0) then lSQL:= lSQL + 'UPDATE ' + tblKZe + ' SET _VetvicekNaEtaz=' + NullOrNumNoZero (edtKsEtaz.Value) + ' WHERE ID=' + idK.ToString + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET HmotnostStrom=' + NullOrNumNoZero (edtHmotStr.Value) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(HmotnostStrom,0)<>' + StringReplace(edtHmotStr.Value.ToString, ',', '.', [rfReplaceAll]) + CRLF; if (idK>0) then lSQL:= lSQL + 'UPDATE ' + tblKZe + ' SET _HmotnostStrom=' + NullOrNumNoZero (edtHmotStr.Value) + ' WHERE ID=' + idK.ToString + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET HmotnostSkorepiny=' + NullOrNumNoZero (edtHmotSkor.Value) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(HmotnostSkorepiny,0)<>' + StringReplace(edtHmotSkor.Value.ToString, ',', '.', [rfReplaceAll]) + CRLF; if (idK>0) then lSQL:= lSQL + 'UPDATE ' + tblKZe + ' SET _HmotnostSkorepiny=' + NullOrNumNoZero (edtHmotSkor.Value) + ' WHERE ID=' + idK.ToString + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Hmotnost=' + StringReplace(edtHmotNetto.Value.ToString, ',', '.', [rfReplaceAll]); lSQL:= lSQL + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + IfThen(idOdlRodic=0, idOdl, idOdlRodic).ToString; lSQL:= lSQL + ' AND ISNULL(Hmotnost,0)<>' + StringReplace(edtHmotNetto.Value.ToString, ',', '.', [rfReplaceAll]) + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET HmotnostBrutto=' + StringReplace(edtHmotBrutto.Value.ToString, ',', '.', [rfReplaceAll]); lSQL:= lSQL + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(HmotnostBrutto,0)<>' + StringReplace(edtHmotBrutto.Value.ToString, ',', '.', [rfReplaceAll]) + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET HmotVoskDilce=' + NullOrNumNoZero (edtHmVoskD.Value) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(HmotVoskDilce,0)<>' + StringReplace(edtHmVoskD.Value.ToString, ',', '.', [rfReplaceAll]) + CRLF; if (idK>0) then lSQL:= lSQL + 'UPDATE ' + tblKZe + ' SET _HmotnostVD=' + NullOrNumNoZero (edtHmVoskD.Value) + ' WHERE ID=' + idK.ToString + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET IncoTerms=' + NullOrNQuotedStr (edtIncoterms.Text) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND IncoTerms<>' + NQuotedStr (edtIncoterms.Text) + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET PrurezVtocku=' + NullOrNQuotedStr (edtPrurezVtk1.Text) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(PrurezVtocku,N'''')<>' + NQuotedStr (edtPrurezVtk1.Text) + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET PrurezVtocku2=' + NullOrNQuotedStr (edtPrurezVtk2.Text) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(PrurezVtocku2,N'''')<>' + NQuotedStr (edtPrurezVtk2.Text) + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Garant=' + NullOrNQuotedStr (edtGarant.Text, true) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(Garant,N'''')<>' + NQuotedStr (edtGarant.Text) + CRLF; lng:= ''; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET SpecifikaceOdl='; case cbSpecVyrOdlitek.ItemIndex of 0: lng:= 'NULL'; 1: lng:= 'S'; 2: lng:= 'P'; end; if (lng.Length>1) then lSQL:= lSQL + 'NULL, Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString + ' AND SpecifikaceOdl IS NOT NULL' + CRLF else lSQL:= lSQL + NQuotedStr(lng) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString + ' AND SpecifikaceOdl<>' + NQuotedStr (lng) + CRLF; lng:= ''; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Sarzovat='; case cbSarze.ItemIndex of 0: lng:= 'NULL'; 1: lng:= 'A'; 2: lng:= 'N'; end; if (lng.Length>1) then lSQL:= lSQL + 'NULL, Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString + ' AND Sarzovat IS NOT NULL' + CRLF else lSQL:= lSQL + NQuotedStr (lng) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString + ' AND ISNULL(Sarzovat,N'''')<>' + NQuotedStr (lng) + CRLF; lng:= ''; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET SkupinaFirem='; if (cbSkupFirem.ItemIndex<=0) then lSQL:= lSQL + 'NULL' else lSQL:= lSQL + IntToStr(cbSkupFirem.ItemIndex-1); lSQL:= lSQL + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString + ' AND (SkupinaFirem IS NULL OR SkupinaFirem<>'; lSQL:= lSQL + IntToStr(cbSkupFirem.ItemIndex-1) + ')' + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET PrvniObal=' + cbPrvniObal.ItemIndex.ToString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(PrvniObal,0)<>' + cbPrvniObal.ItemIndex.ToString + CRLF; lng:= ''; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET SpecifikaceObr='; case cbSpecVyrObrobek.ItemIndex of 0: lng:= 'NULL'; 1: lng:= 'S'; 2: lng:= 'P'; end; if (lng.Length>1) then lSQL:= lSQL + 'NULL, Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString + ' AND SpecifikaceObr IS NOT NULL' + CRLF else lSQL:= lSQL + 'N' + lng.QuotedString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString + ' AND ISNULL(SpecifikaceObr,N'''')<>N' + QuotedStr(lng) + CRLF; lng:= ''; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET LegovaciPriplatek='; case cbLegPripl.ItemIndex of 0: lng:= 'NULL'; 1: lng:= '1'; 2: lng:= '0'; end; if (lng.Length>1) then lSQL:= lSQL + 'NULL, Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString + ' AND LegovaciPriplatek IS NOT NULL' + CRLF else lSQL:= lSQL + lng + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString + ' AND ISNULL(LegovaciPriplatek,-1)<>' + lng + CRLF; if (idOdlRodic>0) and (idProUpd<>idOdlRodic) then begin lng:= ''; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET LegovaciPriplatek='; case cbLegPripl.ItemIndex of 0: lng:= 'NULL'; 1: lng:= '1'; 2: lng:= '0'; end; if (lng.Length>1) then lSQL:= lSQL + 'NULL, Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idOdlRodic.ToString + ' AND LegovaciPriplatek IS NOT NULL' + CRLF else lSQL:= lSQL + lng + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idOdlRodic.ToString + ' AND ISNULL(LegovaciPriplatek,-1)<>' + lng + CRLF; end; lng:= ''; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Odrez='; case cbOdrez.ItemIndex of 0: lng:= 'NULL'; 1: lng:= 'A'; 2: lng:= 'N'; end; if (lng.Length>1) then lSQL:= lSQL + 'NULL, Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString + ' AND Odrez IS NOT NULL' + CRLF else lSQL:= lSQL + 'N' + lng.QuotedString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString + ' AND ISNULL(Odrez,N'''')<>N' + lng.QuotedString + CRLF; lng:= ''; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Sarzovat='; case cbSarze.ItemIndex of 0: lng:= 'NULL'; 1: lng:= 'A'; 2: lng:= 'N'; end; if (lng.Length>1) then lSQL:= lSQL + 'NULL, Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString + ' AND Sarzovat IS NOT NULL' + CRLF else lSQL:= lSQL + 'N' + lng.QuotedString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString + ' AND ISNULL(Sarzovat,N'''')<>N' + lng.QuotedString + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET LisovaciSkup=' + IfThen(edtLisSkup.Text='', 'NULL', edtLisSkup.Text) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(LisovaciSkup,0)<>' + IfThen(edtLisSkup.Text='', '0', edtLisSkup.Text); lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET LisovaciSkup2=' + IfThen(edtLisSkup2.Text='', 'NULL', edtLisSkup2.Text) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(LisovaciSkup2,0)<>' + IfThen(edtLisSkup2.Text='', '0', edtLisSkup2.Text); lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET KSNaPlate=' + edtKsNaPlate.Value.ToString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(KSNaPlate,0)<>' + edtKsNaPlate.Value.ToString; Helios.ExecSQL(lSQL); edtDruhTepel.Text:= Trim(edtDruhTepel.Text); lSQL:= 'UPDATE ' + tblOdlitky + ' SET Koop_TepelneZprac=' + cbAtestTepel.Checked.ToString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + {' AND Koop_TepelneZprac<>' + cbAtestTepel.Checked.ToString +} CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Atest_TepelneZprac_Druh=' + IfThen(edtDruhTepel.Text='', '0', edtDruhTepel.Text) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID='; lSQL:= lSQL + idProUpd.ToString; lSQL:= lSQL + {' AND Atest_TepelneZprac_Druh<>' + IfThen(edtDruhTepel.Text='', '0', edtDruhTepel.Text) +} CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Atest_TepelneZprac_Vystavuje=N' + cbVystTepel.Text.QuotedString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + {' AND Atest_TepelneZprac_Vystavuje<>N' + QuotedStr(cbVystTepel.Text) +} CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Atest_TepelneZprac_Pozaduje=N' + cbPozadTepel.Text.QuotedString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + {' AND Atest_TepelneZprac_Pozaduje<>N' + QuotedStr(cbPozadTepel.Text) +} CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Koop_TepelneZprac_Popis=N' + mPoznTepel.Lines.Text.Trim.QuotedString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; // lSQL:= lSQL + IfThen(idOdlRodic=0, idOdl.ToString, idOdlRodic.ToString); lSQL:= lSQL + {' AND Koop_TepelneZprac_Popis<>N' + QuotedStr(mPoznTepel.Lines.Text.Trim) +} CRLF; edtDruhObr.Text:= Trim(edtDruhObr.Text); lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Koop_Obrabeni=' + cbAtestObr.Checked.ToString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + {' AND Koop_Obrabeni<>' + cbAtestObr.Checked.ToString +} CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Atest_Obrabeni_Druh=' + IfThen(edtDruhObr.Text='', '0', edtDruhObr.Text) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + {' AND Atest_Obrabeni_Druh<>' + IfThen(edtDruhObr.Text='', '0', edtDruhObr.Text) +} CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Atest_Obrabeni_Vystavuje=' + NullOrNQuotedStr (cbVystObr.Text, true) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + {' AND Atest_Obrabeni_Vystavuje<>N' + QuotedStr(cbVystObr.Text) +} CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Atest_Obrabeni_Pozaduje=' + NullOrNQuotedStr (cbPozadObr.Text, true) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + {' AND Atest_Obrabeni_Pozaduje<>N' + QuotedStr(cbPozadObr.Text) +} CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Koop_Obrabeni_Popis=' + NullOrNQuotedStr (mPoznObr.Lines.Text, true) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + {' AND Koop_Obrabeni_Popis<>N' + QuotedStr(mPoznObr.Lines.Text.Trim) +} CRLF; edtDruhPovrch.Text:= Trim(edtDruhPovrch.Text); lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Atest_PovrchUprava=' + cbAtestPovrch.Checked.ToString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + {' AND Atest_PovrchUprava<>' + cbAtestPovrch.Checked.ToString +} CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Atest_PovrchUprava_Druh=' + IfThen(edtDruhPovrch.Text='', '0', edtDruhPovrch.Text) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID='; lSQL:= lSQL + idProUpd.ToString; lSQL:= lSQL + {' AND Atest_PovrchUprava_Druh<>' + IfThen(edtDruhPovrch.Text='', '0', edtDruhPovrch.Text) +} CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Atest_PovrchUprava_Vystavuje=' + NullOrNQuotedStr (cbVystPU.Text, true) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + {' AND Atest_PovrchUprava_Vystavuje<>N' + QuotedStr(cbVystPU.Text) +} CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Atest_PovrchUprava_Pozaduje=' + NullOrNQuotedStr (cbPozadPU.Text, true) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + {' AND Atest_PovrchUprava_Pozaduje<>N' + QuotedStr(cbPozadPU.Text) +} CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Atest_PovrchUprava_Popis=' + NullOrNQuotedStr (mPoznPovrch.Lines.Text, true) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + {' AND Atest_PovrchUprava_Popis<>N' + QuotedStr(mPoznPovrch.Lines.Text.Trim) +} CRLF; edtDruhDefekt.Text:= Trim(edtDruhDefekt.Text); lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Koop_Defekt=' + cbAtestDefekt.Checked.ToString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + {' AND Koop_Defekt<>' + cbAtestDefekt.Checked.ToString +} CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Atest_Defekt_Druh=' + IfThen(edtDruhDefekt.Text='', '0', edtDruhDefekt.Text) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + {' AND Atest_Defekt_Druh<>' + IfThen(edtDruhDefekt.Text='', '0', edtDruhDefekt.Text) +} CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Atest_Defekt_Vystavuje=' + NullOrNQuotedStr (cbVystDefekt.Text, true) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + {' AND Atest_Defekt_Vystavuje<>N' + QuotedStr(cbVystDefekt.Text) +} CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Atest_Defekt_Pozaduje=' + NullOrNQuotedStr (cbPozadDefekt.Text, true) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + {' AND Atest_Defekt_Pozaduje<>N' + QuotedStr(cbPozadDefekt.Text) +} CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Koop_Defekt_Popis=' + NullOrNQuotedStr (mPoznDefekt.Lines.Text, true) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + {' AND Koop_Defekt_Popis<>N' + QuotedStr(mPoznDefekt.Lines.Text.Trim) +} CRLF; edtDruhJine.Text:= Trim(edtDruhJine.Text); lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Koop_Jine=' + cbAtestJine.Checked.ToString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; // lSQL:= lSQL + IfThen(idOdlRodic=0, idOdl.ToString, idOdlRodic.ToString); lSQL:= lSQL + {' AND Koop_Jine<>' + cbAtestJine.Checked.ToString +} CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Atest_Jine_Druh=' + IfThen(edtDruhJine.Text='', '0', edtDruhJine.Text) + ' WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + {' AND Atest_Jine_Druh<>' + IfThen(edtDruhJine.Text='', '0', edtDruhJine.Text) +} CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Atest_Jine_Vystavuje=N' + cbVystJine.Text.QuotedString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + {' AND Atest_Jine_Vystavuje<>N' + QuotedStr(cbVystJine.Text) +} CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Atest_Jine_Pozaduje=N' + cbPozadJine.Text.QuotedString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + {' AND Atest_Jine_Pozaduje<>N' + QuotedStr(cbPozadJine.Text) +} CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Koop_Jine_Popis=N' + mPoznJine.Lines.Text.Trim.QuotedString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + {' AND Koop_Jine_Popis<>N' + QuotedStr(mPoznJine.Lines.Text.Trim) +} CRLF; edtDruhMat.Text:= Trim(edtDruhMat.Text); lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Atest_Material=' + cbAtestMat.Checked.ToString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + {' AND Atest_Material<>' + cbAtestMat.Checked.ToString +} CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Atest_Material_Druh=' + IfThen(edtDruhMat.Text='', '0', edtDruhMat.Text) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + {' AND Atest_Material_Druh<>' + IfThen(edtDruhMat.Text='', '0', edtDruhMat.Text) +} CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Atest_Material_Vystavuje=N' + QuotedStr(cbVystMat.Text) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + {' AND Atest_Material_Vystavuje<>N' + QuotedStr(cbVystMat.Text) +} CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Atest_Material_Pozaduje=N' + QuotedStr(cbPozadMat.Text) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + {' AND Atest_Material_Pozaduje<>N' + QuotedStr(cbPozadMat.Text) +} CRLF; lng:= 'CZ'; case cbJazyk.ItemIndex of 1: lng:= 'DE'; 2: lng:= 'EN'; end; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Atest_Jazyk=N' + lng.QuotedString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND Atest_Jazyk<>N' + lng.QuotedString + CRLF; // rodic if (idOdlRodic>0) then begin lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Vykres=N' + edtVykres.Text.QuotedString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(Vykres,N'''')<>N' + edtVykres.Text.QuotedString + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET CisloPKZ=N' + edtPKZ.Text.QuotedString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(CisloPKZ,N'''')<>N' + edtPKZ.Text.QuotedString + CRLF; lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Poznamka=N' + Trim(mPozn.Lines.Text.Trim).QuotedString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(Poznamka,N'''')<>N' + Trim(mPozn.Lines.Text.Trim).QuotedString + CRLF; { if (kOdlitek.vykres='') and (kRodic.vykres<>'') then begin lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET Vykres=N' + kRodic.vykres.QuotedString + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idOdl.ToString; lSQL:= lSQL + ' AND Vykres<>N' + kRodic.vykres.QuotedString + CRLF; end; } lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET HmotnostObrobku=' + StringReplace(edtHmotObr.Value.ToString, ',', '.', [rfReplaceAll]); lSQL:= lSQL + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString; lSQL:= lSQL + ' AND ISNULL(HmotnostObrobku,0)<>' + StringReplace(edtHmotObr.Value.ToString, ',', '.', [rfReplaceAll]); end; { if (kOdlitek.hmotObrob=0) and (kRodic.hmotObrob>0) then begin lSQL:= lSQL + 'UPDATE ' + tblOdlitky + ' SET HmotnostObrobku=' + StringReplace(kRodic.hmotObrob.ToString, ',', '.', [rfReplaceAll]); lSQL:= lSQL + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idOdl.ToString; lSQL:= lSQL + ' AND ISNULL(HmotnostObrobku,0)<>' + StringReplace(kRodic.hmotObrob.ToString, ',', '.', [rfReplaceAll]); end; } Helios.ExecSQL(lSQL); end; Close; end; procedure TformOdlitek.btnStornoClick (Sender: TObject); begin Close; end; procedure TformOdlitek.btnStornoMouseUp (Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if (jenView) then if (Shift * [ssCtrl, ssAlt, ssShift] = [ssCtrl, ssShift]) and (Button=TMouseButton.mbRight) then begin Helios.ExecSQL ('UPDATE ' + tblOdlitky + ' SET BlokovaniEditoru=NULL WHERE ID=' + idProUpd.ToString); btnStornoClick (Sender); end; end; procedure TformOdlitek.cbAtestObrClick (Sender: TObject); begin mPoznObr.Enabled:= cbAtestObr.Checked; end; procedure TformOdlitek.cbAtestTepelClick (Sender: TObject); begin mPoznTepel.Enabled:= cbAtestTepel.Checked; end; procedure TformOdlitek.cbAtestDefektClick (Sender: TObject); begin mPoznDefekt.Enabled:= cbAtestDefekt.Checked; end; procedure TformOdlitek.cbAtestJineClick(Sender: TObject); begin mPoznJine.Enabled:= cbAtestJine.Checked; end; procedure TformOdlitek.cbAtestPovrchClick (Sender: TObject); begin mPoznPovrch.Enabled:= cbAtestPovrch.Checked; end; procedure TformOdlitek.edtCisOrgExit(Sender: TObject); begin edtCisOrg.Text:= Trim(edtCisOrg.Text); if (edtCisOrg.Text='') then edtOrg.Text:= ''; end; procedure TformOdlitek.edtHmotNettoExit (Sender: TObject); begin ZmenaVypoctu; end; procedure TformOdlitek.edtHmotStrExit (Sender: TObject); begin ZmenaVypoctu; end; procedure TformOdlitek.edtKSNaStromExit(Sender: TObject); begin ZmenaVypoctu; end; procedure TformOdlitek.edtMatOdlitKeyDown (Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Key=VK_BACK) then edtMatOdlit.Text:= ''; Key:=0; end; procedure TformOdlitek.edtMatOdlitKeyPress(Sender: TObject; var Key: Char); begin Key:= #0; end; procedure TformOdlitek.edtMatOdlitKeyUp (Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Key=VK_BACK) then edtMatOdlit.Text:= ''; Key:=0; end; procedure TformOdlitek.edtOrgExit(Sender: TObject); begin edtOrg.Text:= Trim(edtOrg.Text); if (edtOrg.Text='') then edtCisOrg.Text:= ''; end; procedure TformOdlitek.edtStrNaTavbuExit(Sender: TObject); begin ZmenaVypoctu; end; procedure TformOdlitek.FormClose(Sender: TObject; var Action: TCloseAction); begin if not(jenView) then Helios.ExecSQL('UPDATE ' + tblOdlitky + ' SET BlokovaniEditoru=NULL, JeNovaVetaEditor=0 WHERE ID=' + idOdl.ToString); Action:= caFree; Helios.ExecSQL('UPDATE ' + tblOdlitky + ' SET MatecniOdlitek=N'''' WHERE ID=' + idOdl.ToString + ' AND ISNULL(MatecniOdlitek,N'''')=Odlitek'); Helios.Refresh(true); if (tempTab<>'') then Helios.ExecSQL('DROP TABLE IF EXISTS ' + tempTab); end; procedure TformOdlitek.FormShow(Sender: TObject); var lSQL, sTemp: string; i: integer; begin self.ParentWindow:= Helios.MainApplicationHandle; self.Icon.Handle:= Helios.MainApplicationIconHandle; if (skinName<>'') then TStyleManager.SetStyle(skinName); self.Font.Name:= Helios.Font; self.Font.Height:= Helios.FontHeight; pgCtrl.Font.Name:= Helios.Font; pgCtrl.Font.Size:= Helios.FontHeight; for i:=0 to Self.ComponentCount-1 do begin if (Self.Components[i] is TButton) then begin (Self.Components[i] as TButton).Font.Name:= Helios.Font; (Self.Components[i] as TButton).Font.Height:= Helios.FontHeight; end; if (Self.Components[i] is TComboEdit) then begin (Self.Components[i] as TComboEdit).Width:= 26; (Self.Components[i] as TComboEdit).Height:= 26; end; if (Self.Components[i] is TNumberBox) then (Self.Components[i] as TNumberBox).DisplayFormat:= '#,##0.####'; end; bidAtestyDruhy:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT DPBID FROM ' + tblObecPrehled + ' WHERE NazevSys=N''hvw_AtestyDruhy'''); bidGarant:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT DPBID FROM ' + tblObecPrehled + ' WHERE NazevSys=N''hvw_OdlitkyParam_Garant'''); bidMaterial:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT DPBID FROM ' + tblObecPrehled + ' WHERE NazevSys=N''hvw_Material'''); cbJazyk.Items.Clear; cbJazyk.Items.Add('Čeština'); cbJazyk.Items.Add('Němčina'); cbJazyk.Items.Add('Angličtina'); cbJazyk.ItemIndex:= 0; cbVystTepel.Items.Clear; cbVystTepel.Items.Add(''); with Helios.OpenSQL('SELECT Kod FROM ' + tblAtestVyst + ' ORDER BY Kod') do if (RecordCount>0) then begin First; while not(EOF) do begin cbVystTepel.Items.Add(VarToStr(FieldValues(0))); Next; end; end; cbVystTepel.ItemIndex:= 0; cbPozadTepel.Items.Clear; cbPozadTepel.Items.Add(''); cbPozadTepel.Items.AddStrings(cbVystTepel.Items); cbPozadTepel.ItemIndex:= 0; cbMaterial.Items.Clear; cbMaterial.Items.Add(''); with Helios.OpenSQL('SELECT Kod + N'' : '' + Znacka FROM ' + tblMaterial + ' ORDER BY Kod') do if (RecordCount>0) then begin First; while not(EOF) do begin cbMaterial.Items.Add(VarToStr(FieldValues(0))); Next; end; end; cbMaterial.ItemIndex:= 0; cbVystObr.Items.Clear; cbVystObr.Items.Add(''); cbVystObr.Items.AddStrings(cbVystTepel.Items); cbVystObr.ItemIndex:= 0; cbPozadObr.Items.Clear; cbPozadObr.Items.Add(''); cbPozadObr.Items.AddStrings(cbVystTepel.Items); cbPozadObr.ItemIndex:= 0; cbVystPU.Items.Clear; cbVystPU.Items.Add(''); cbVystPU.Items.AddStrings(cbVystTepel.Items); cbVystPU.ItemIndex:= 0; cbPozadPU.Items.Clear; cbPozadPU.Items.Add(''); cbPozadPU.Items.AddStrings(cbVystTepel.Items); cbPozadPU.ItemIndex:= 0; cbVystDefekt.Items.Clear; cbVystDefekt.Items.Add(''); cbVystDefekt.Items.AddStrings(cbVystTepel.Items); cbVystDefekt.ItemIndex:= 0; cbPozadDefekt.Items.Clear; cbPozadDefekt.Items.Add(''); cbPozadDefekt.Items.AddStrings(cbVystTepel.Items); cbPozadDefekt.ItemIndex:= 0; cbVystJine.Items.Clear; cbVystJine.Items.Add(''); cbVystJine.Items.AddStrings(cbVystTepel.Items); cbVystJine.ItemIndex:= 0; cbPozadJine.Items.Clear; cbPozadJine.Items.Add(''); cbPozadJine.Items.AddStrings(cbVystTepel.Items); cbPozadJine.ItemIndex:= 0; cbVystMat.Items.Clear; cbVystMat.Items.Add(''); cbVystMat.Items.AddStrings(cbVystTepel.Items); cbVystMat.ItemIndex:= 0; cbPozadMat.Items.Clear; cbPozadMat.Items.Add(''); cbPozadMat.Items.AddStrings(cbVystTepel.Items); cbPozadMat.ItemIndex:= 0; if not(jenView) then begin if (helUtils.HeliosExistsTest(Helios, tblOdlitkyPrava, 'IDRole=(SELECT IDRole FROM '+ tblUziv + ' WHERE LoginName=SUSER_SNAME())')) then jenView:= helUtils.getHeliosBoolVal(Helios, true, 'SELECT ReadOnly FROM ' + tblOdlitkyPrava + ' WHERE IDRole=(SELECT IDRole FROM '+ tblUziv + ' WHERE LoginName=SUSER_SNAME())'); if (helUtils.HeliosExistsTest(Helios, tblOdlitkyPrava, 'LoginName=SUSER_SNAME()')) then jenView:= helUtils.getHeliosBoolVal(Helios, true, 'SELECT ReadOnly FROM ' + tblOdlitkyPrava + ' WHERE LoginName=SUSER_SNAME()'); with Helios.OpenSQL('SELECT * FROM ' + tblOdlitkyPrava) do if (RecordCount=0) then jenView:= false; end; idOdl:= 0; idOdlRodic:= 0; mamMatOdlitek:= false; odlitek:= Trim(odlitek); if (odlitek<>'') then begin idOdl:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT ID FROM ' + tblOdlitky + ' WHERE Odlitek=N' + odlitek.QuotedString); idOdlRodic:= idOdl; Self.Caption:= ' Odlitek: '; with Helios.OpenSQL('SELECT ID FROM ' + tblOdlitky + ' WHERE ID=' + idOdl.ToString + ' AND MamMatecniOdlitek=1') do if (RecordCount=1) then begin Self.Caption:= ' Obrobek: '; mamMatOdlitek:= true; end; lSQL:= 'SELECT TOP(1) k.Nazev1 FROM ' + tblOdlitky + ' o INNER JOIN ' + tblKZ + ' k ON (k.RegCis=o.Odlitek) WHERE o.ID=' + idOdl.ToString; lSQL:= lSQL + ' AND k.SkupZbo IN (N''VOB'', N''VOD'', N''P51'', ''P41'') ORDER BY k.SkupZbo DESC'; Self.Caption:= Self.Caption + odlitek + ' ' + helUtils.getHeliosStrVal(Helios, '', lSQL); NactiParametry; if not(jenView) then Helios.ExecSQL('UPDATE ' + tblOdlitky + ' SET BlokovaniEditoru=' + Helios.UserId.ToString + ' WHERE ID=' + idOdl.ToString); end; if (jenView) then Self.Caption:= Self.Caption + ' (jen pro čtení)'; if (jenView) then btnOK.Enabled:= false else btnOK.Enabled:= true; tempTab:= '_temp_TabOdlitek' + FormatDateTime('yyyymmddhhnnsszzz', Now); lSQL:= 'IF OBJECT_ID(''dbo.ep_HDC_VytvorKopiiTabulky'') IS NOT NULL EXEC dbo.ep_HDC_VytvorKopiiTabulky @zdroj=N''_hdc_TabOdlitky'', @cil=N' + tempTab.QuotedString + CRLF; sTemp:= 'Odlitek=N' + odlitek.QuotedString; lSQL:= lSQL + 'IF OBJECT_ID(''dbo.ep_HDC_InsertKopieTabulky'', ''P'') IS NOT NULL EXEC dbo.ep_HDC_InsertKopieTabulky'; lSQL:= lSQL + ' @zdroj=N''_hdc_TabOdlitky'', @cil=N' + tempTab.QuotedString + ', @skipSloupce=N''ID'', @where=N' + sTemp.QuotedString; Helios.ExecSQL(lSQL); pgCtrl.ActivePageIndex:= 0; edtDruhTech.SetFocus; end; procedure TformOdlitek.selCisOrgClick(Sender: TObject); begin try if Helios.Prenos(bidCisOrg, 'TabCisOrg.CisloOrg', oVar1, '', 'Vyberte Organizaci', True) then begin edtCisOrg.Text:= VarToStr(oVar1); edtOrg.Text:= helUtils.getHeliosStrVal(Helios, '', 'SELECT Nazev FROM ' + tblCOrg + ' WHERE CisloOrg=' + edtCisOrg.Text); end; except on E:Exception do Helios.Error(E.Message); end; end; procedure TformOdlitek.selDoplDil1Click(Sender: TObject); begin podm:= tblKZ + '.SkupZbo=N''P10'' AND LEFT(RIGHT(REPLACE(dbo.ef_RemoveAlpha(RegCis),N''-'',N''''),4),1)=N''1'''; if Helios.Prenos(bidKZ, 'ID', oVar1, podm, 'Vyberte Doplňkový díl 1', true) then edtDoplDil1.Text:= helUtils.getHeliosStrVal(Helios, '', 'SELECT RegCis FROM ' + tblKZ + ' WHERE ID=' + VarToStr(oVar1)); end; procedure TformOdlitek.selDoplDil2Click(Sender: TObject); begin podm:= tblKZ + '.SkupZbo=N''P10'' AND LEFT(RIGHT(REPLACE(dbo.ef_RemoveAlpha(RegCis),N''-'',N''''),4),1)=N''1'''; if Helios.Prenos(bidKZ, 'ID', oVar1, podm, 'Vyberte Doplňkový díl 2', true) then edtDoplDil2.Text:= helUtils.getHeliosStrVal(Helios, '', 'SELECT RegCis FROM ' + tblKZ + ' WHERE ID=' + VarToStr(oVar1)); end; procedure TformOdlitek.selDoplDil3Click(Sender: TObject); begin podm:= tblKZ + '.SkupZbo=N''P10'' AND LEFT(RIGHT(REPLACE(dbo.ef_RemoveAlpha(RegCis),N''-'',N''''),4),1)=N''1'''; if Helios.Prenos(bidKZ, 'ID', oVar1, podm, 'Vyberte Doplňkový díl 3', true) then edtDoplDil3.Text:= helUtils.getHeliosStrVal(Helios, '', 'SELECT RegCis FROM ' + tblKZ + ' WHERE ID=' + VarToStr(oVar1)); end; procedure TformOdlitek.selDruhDefektClick(Sender: TObject); begin oVar1:= edtDruhDefekt.Text; if (bidAtestyDruhy=0) then Helios.Error('Nelze dohledat přehled k zobrazení (hvw_AtestyDruhy)') else if Helios.Prenos(bidAtestyDruhy, 'Kod', oVar1, '', 'Vyberte Druh atestu/zkoušky', true) then edtDruhDefekt.Text:= VarToStr(oVar1); end; procedure TformOdlitek.selDruhForAClick(Sender: TObject); begin if Helios.Prenos(100057, 'DruhFormy', oVar1, '', 'Vyberte formu/přípravek', true) then edtDruhForA.Text:= VarToStr(oVar1); end; procedure TformOdlitek.selDruhForClick(Sender: TObject); begin if Helios.Prenos(100057, 'DruhFormy', oVar1, '', 'Vyberte formu/přípravek', true) then edtDruhFor.Text:= VarToStr(oVar1); end; procedure TformOdlitek.selDruhJineClick(Sender: TObject); begin oVar1:= edtDruhJine.Text; if Helios.Prenos(bidAtestyDruhy, 'Kod', oVar1, '', 'Vyberte Druh atestu/zkoušky', true) then edtDruhJine.Text:= VarToStr(oVar1); end; procedure TformOdlitek.selDruhMatClick(Sender: TObject); begin oVar1:= edtDruhMat.Text; if (bidAtestyDruhy=0) then Helios.Error('Nelze dohledat přehled k zobrazení (hvw_AtestyDruhy)') else if Helios.Prenos(bidAtestyDruhy, 'Kod', oVar1, '', 'Vyberte Druh atestu/zkoušky', true) then edtDruhMat.Text:= VarToStr(oVar1); end; procedure TformOdlitek.selDruhObrClick(Sender: TObject); begin oVar1:= edtDruhObr.Text; if (bidAtestyDruhy=0) then Helios.Error('Nelze dohledat přehled k zobrazení (hvw_AtestyDruhy)') else if Helios.Prenos(bidAtestyDruhy, 'Kod', oVar1, '', 'Vyberte Druh atestu/zkoušky', true) then edtDruhObr.Text:= VarToStr(oVar1); end; procedure TformOdlitek.selDruhPovrchClick(Sender: TObject); begin oVar1:= edtDruhPovrch.Text; if (bidAtestyDruhy=0) then Helios.Error('Nelze dohledat přehled k zobrazení (hvw_AtestyDruhy)') else if Helios.Prenos(bidAtestyDruhy, 'Kod', oVar1, '', 'Vyberte Druh atestu/zkoušky', true) then edtDruhPovrch.Text:= VarToStr(oVar1); end; procedure TformOdlitek.selDruhTZClick(Sender: TObject); begin oVar1:= edtDruhTepel.Text; if (bidAtestyDruhy=0) then Helios.Error('Nelze dohledat přehled k zobrazení (hvw_AtestyDruhy)') else if Helios.Prenos(bidAtestyDruhy, 'Kod', oVar1, '', 'Vyberte Druh atestu/zkoušky', true) then edtDruhTepel.Text:= VarToStr(oVar1); end; procedure TformOdlitek.selDruhVtokuClick(Sender: TObject); begin podm:= tblKZ + '.SkupZbo=N''P10'' AND LEFT(RIGHT(REPLACE(dbo.ef_RemoveAlpha(RegCis),N''-'',N''''),4),1)=N''2'''; if Helios.Prenos(bidKZ, 'ID', oVar1, podm, 'Vyberte Druh vtoku', true) then edtDruhVtoku.Text:= helUtils.getHeliosStrVal(Helios, '', 'SELECT RegCis FROM ' + tblKZ + ' WHERE ID=' + VarToStr(oVar1)); end; procedure TformOdlitek.selGarantButtonClick(Sender: TObject); begin oVar1:= edtGarant.Text; if (bidGarant=0) then Helios.Error('Nelze dohledat přehled k zobrazení (hvw_OdlitkyParam_Garant)') else if Helios.Prenos(bidGarant, 'Zkratka', oVar1, '', 'Vyberte Garanta', true) then edtGarant.Text:= VarToStr(oVar1); end; procedure TformOdlitek.selMatOdlitClick(Sender: TObject); var lSQL: string; begin podm:= 'SkupZbo IN (SELECT s.SkupZbo FROM ' + tblSZ + ' s INNER JOIN ' + tblSZe + ' se ON (se.ID=s.ID) WHERE se._MuzeBytMatecniOdlitek=1) AND RegCis<>N' + odlitek.QuotedString; if Helios.Prenos(bidKZ, 'ID', oVar1, podm, 'Vyberte Mateční odlitek', true) then begin idKZ:= StrToInt(VarToStr(oVar1)); edtMatOdlit.Text:= helUtils.getHeliosStrVal(Helios, '', 'SELECT RegCis FROM ' + tblKZ + ' WHERE ID=' + idKZ.ToString); lSQL:= 'SELECT ID FROM ' + tblOdlitky + ' WHERE Odlitek=N' + QuotedStr(edtMatOdlit.Text) + CRLF + 'IF NOT EXISTS(SELECT ID FROM ' + tblOdlitky; lSQL:= lSQL + ' WHERE Odlitek=N' + QuotedStr(edtMatOdlit.Text) + ') INSERT ' + tblOdlitky; lSQL:= lSQL + ' (Odlitek, JeNovaVetaEditor) VALUES (N' + QuotedStr(edtMatOdlit.Text) + ', 1)' + CRLF + 'SELECT SCOPE_IDENTITY()'; with Helios.OpenSQL(lSQL) do if (RecordCount=1) then idOdl:= StrToInt(VarToStr(FieldValues(0))) else idOdl:= 0; end; end; procedure TformOdlitek.selOrgClick(Sender: TObject); begin try oVar1:= Variant(edtOrg.Text); if Helios.Prenos2(bidCisOrg, 'TabCisOrg.Nazev', 'TabCisOrg.CisloOrg', oVar1, oVar2, '', 'Vyberte Organizaci', True, False, False, 1) then begin edtCisOrg.Text:= VarToStr(oVar2); edtOrg.Text:= VarToStr(oVar1); end; except on E:Exception do Helios.Error(E.Message); end; end; end.