Files
Kdynium-plgKdynium/frmOdlitek.pas
2025-05-21 21:19:51 +02:00

1817 lines
81 KiB
ObjectPascal

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<T:record>=record
class function IfThen(aCondition:Boolean;aIfTrue, aIfFalse:TFunc<T>):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<T>.IfThen(aCondition:Boolean;aIfTrue, aIfFalse:TFunc<T>):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<Self.ComponentCount-1) do
begin
if (Self.Components[i] is TLabeledEdit) then
(Self.Components[i] as TLabeledEdit).Text:= Trim((Self.Components[i] as TLabeledEdit).Text);
if (Self.Components[i] is TEdit) then
(Self.Components[i] as TEdit).Text:= Trim((Self.Components[i] as TEdit).Text);
if (Self.Components[i] is TMemo) then
(Self.Components[i] as TMemo).Text:= Trim((Self.Components[i] as TMemo).Text);
Inc(i);
end;
if (edtMatOdlit.Text='') then
begin
idOdl:= idOdlRodic;
Helios.ExecSQL ('UPDATE ' + tblOdlitky + ' SET MatecniOdlitek=N'''' WHERE ID=' + idOdl.ToString);
end
else
if (idOdl>0) and (idOdlRodic>0) then
Helios.ExecSQL ('UPDATE ' + tblOdlitky + ' SET MatecniOdlitek=N' + edtMatOdlit.Text.QuotedString + ' WHERE ID=' + idOdlRodic.ToString);
idProUpd:= IfThen(idOdlRodic=0, idOdl, idOdlRodic);
lSQL:= 'UPDATE ' + tblOdlitky + ' SET DruhTechnologie=' + NullOrNQuotedStr (edtDruhTech.Text) + ', Zmenil=SUSER_SNAME(), DatZmeny=GETDATE() WHERE ID=' + idProUpd.ToString;
lSQL:= lSQL + ' AND ISNULL(DruhTechnologie,N'''')<>' + 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.