Prvotni verze pro Giteu

This commit is contained in:
2025-09-05 12:22:48 +02:00
parent fdc66e476a
commit cab52aaa5a
29 changed files with 14982 additions and 0 deletions

17
.gitignore vendored
View File

@ -80,4 +80,21 @@ __recovery/
# Boss dependency manager vendor folder https://github.com/HashLoad/boss
modules/
.git/
*.otares
*.cmds
*.skincfg
*.bmp
*.mp3
*.mes
*.vtd
*.xls
*.xlsx
*.vlb
*.tmp
*.xml
*.zip
*.7z

477
ComObjekt.pas Normal file
View File

@ -0,0 +1,477 @@
unit ComObjekt;
interface
uses System.SysUtils, System.Win.ComObj, ddPlugin_TLB;
const
Class_plgPolanskych: TGUID = '{0E52DB47-274A-44D3-A492-85BD0BE8760E}';
type
TUctenkaVydejItem = record
id, idZboSklad, idUctoR: integer;
jcEvid, jcJC: single;
end;
TUctenkaItem = record
id, idZboSklad, idKmen, idUctoR: integer;
isVyrobek: boolean;
rada: string;
mnozstvi, jcEvid, jcJC: single;
end;
TUctenkaHlava = record
id, typDokladu: integer;
rada: string;
vydejkyItems: TArray<TUctenkaVydejItem>;
end;
TUctenkaDoklad = record
id, druhPohybu, vstupniCena: integer;
mena, doklad: string;
kurz, jednotkaMeny, kurzEuro: single;
end;
TplgPolanskych = class(TComObject, IHePlugin)
private
procedure Run(const Helios: IHelios); safecall;
public
function KontrolyLikvidaceOK(const Helios: IHelios): boolean; safecall;
procedure VytvorStornoVydejky (const Helios: IHelios; const idDZ: integer); safecall;
procedure VytvorVydejkaDoSpotreby (const Helios: IHelios; const idDZ: integer); safecall;
procedure ZrusCertifikatEETTrzby (const Helios: IHelios; arrID: TArray<integer>); safecall;
procedure OdeslatEmail(const Helios: IHelios; idDZ: integer; idTiskFrm: integer); safecall;
end;
implementation
uses System.Win.ComServ, System.Variants, System.StrUtils, System.UITypes, Vcl.Themes, Vcl.Forms,
frmOrder, frmOrder2, frmOrder21024, frmOrder21366, frmLikvidace, frmLikvidace1024, frmPrijem, frmPrijem1024,
frmZamena,
helUtils, myUtils;
var
oVar1, oVar2: OleVariant;
jeTest: boolean;
stylWin10: TStyleManager.TStyleServicesHandle;
delkaPoradCisla: byte;
procedure TplgPolanskych.OdeslatEmail(const Helios: IHelios; idDZ: Integer; idTiskFrm: Integer);
var lSQL: string;
begin
if (idDZ>0) and (idTiskFrm>0) then
begin
end;
end;
function TplgPolanskych.KontrolyLikvidaceOK(const Helios: IHelios): Boolean;
var lSQL: string;
begin
{
result:= false;
lSQL:= 'SELECT ID FROM ' + tblKZ + ' WHERE Aktu'
with Helios.OpenSQL(lSQL) do
if (RecordCount=0) then
}
result:= true;
end;
procedure TplgPolanskych.VytvorVydejkaDoSpotreby (const Helios: IHelios; const idDZ: integer);
var lSQL: string;
uct: TUctenkaHlava;
begin
uct.id:= idDZ;
uct.rada:= '';
uct.typDokladu:= helUtils.getHeliosIntVal(Helios, -1, 'SELECT TypDokladu FROM ' + tblUctenkaH + ' WHERE ID=' + idDZ.ToString);
if (uct.typDokladu=1) or (uct.typDokladu=2) then
begin
uct.rada:= helUtils.getHeliosStrVal(Helios, '', 'SELECT Rada FROM ' + tblUctenkaH + ' WHERE ID=' + idDZ.ToString);
end;
end;
procedure TplgPolanskych.VytvorStornoVydejky(const Helios: IHelios; const idDZ: integer);
var uct: TUctenkaHlava;
itm: TUctenkaItem;
begin
uct.id:= idDZ;
uct.rada:= '';
uct.typDokladu:= helUtils.getHeliosIntVal(Helios, -1, 'SELECT TypDokladu FROM ' + tblUctenkaH + ' WHERE ID=' + idDZ.ToString);
if (uct.typDokladu=1) or (uct.typDokladu=2) then
begin
uct.rada:= helUtils.getHeliosStrVal(Helios, '', 'SELECT Rada FROM ' + tblUctenkaH + ' WHERE ID=' + idDZ.ToString);
with Helios.OpenSQL('SELECT * FROM ' + tblUctenkaR + ' WHERE IDHlava=' + idDZ.ToString + ' ORDER BY PoradiPolozky') do
begin
First;
while not(EOF) do
begin
itm.id:= StrToInt(VarToStr(FieldByNameValues('ID')));
itm.idZboSklad:= StrToInt(VarToStr(FieldByNameValues('IDZboSklad')));
itm.idKmen:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT IDKmenZbozi FROM ' + tblSS + ' WHERE ID=' + itm.idZboSklad.ToString);
itm.mnozstvi:= StrToFloat(VarToStr(FieldByNameValues('Mnozstvi')));
// itm.isVyrobek
itm.jcEvid:= StrToFloat(VarToStr(FieldByNameValues('ID')));
itm.jcJC:= StrToFloat(VarToStr(FieldByNameValues('ID')));
Next;
end;
end;
end;
end;
procedure TplgPolanskych.ZrusCertifikatEETTrzby(const Helios: IHelios; arrID: TArray<integer>);
var lSQL: string;
i: Integer;
begin
lSQL:= '';
for i:=0 to Length(arrID)-1 do
begin
lSQL:= 'UPDATE dbo.TabEETTrzba SET SCertByName=NULL, SCertSN=NULL, SCertStoreLocation=NULL, SCertStoreName=NULL, Pocitac=N'''' WHERE ID=' + arrID[i].ToString ;
Helios.ExecSQL(lSQL);
end;
end;
procedure TplgPolanskych.Run(const Helios: IHelios);
const MinVerzeHeO = $030020220300;
var sql, IDcka, podm: string;
params, vlastTbl, vlastTbl2, verText: string;
browId, typAkce, cRec, cntID, l_loop, scrW: integer;
arrId: TArray<integer>;
contInfo, sTmp1, sTmp2: string;
fOrd: TformOrder;
fOrd2: TformOrder2;
fOrd21024: TformOrder21024;
fOrd21366: TformOrder21366;
fLikv: TformLikvidace;
fLikv1024: TformLikvidace1024;
fPrij: TformPrijem;
fPrij1024: TformPrijem1024;
fZamena: TformZamena;
begin
// Application.Handle:= Helios.MainApplicationHandle;
// Application.Icon.Handle:= Helios.MainApplicationIconHandle;
with Helios.OpenSQL('SELECT CONVERT(nvarchar(128),CONTEXT_INFO(),2)') do
if VarIsNull(FieldValues(0)) then
contInfo:= 'NULL'
else
contInfo:= VarToStr(FieldValues(0));
Helios.ExecSQL('SET CONTEXT_INFO 0x' + StringToHex2('HDC - plgPolanskych')); // nastav context v sys.sysprocesses
verText:= StringReplace(GetFileVersion2(GetModuleName(HInstance)),'.','',[rfReplaceAll]);
verText:= '0300' + MidStr(verText,3,8);
if Length(verText)=11 then
verText:= LeftStr(verText,8) + '0' + RightStr(verText,3);
{$REGION 'Region - zjistit jeTest, typAkce, browID, vlastTbl, vytvor #TabExtKom'}
jeTest:= false;
typAkce:= 0;
vlastTbl:= '';
vlastTbl2:= '';
params:= '';
with Helios.OpenSQL('SELECT Parametry FROM TabExtKom WHERE ID=' + IntToStr(Helios.ExtKomID)) do
begin
params:= VarToStr(FieldValues(0));
jeTest:= ContainsText(params, ';test');
if Pos(';',params)>0 then
begin
typAkce:= StrToInt(LeftStr(params, Pos(';', params)-1));
params:= MidStr(params,Pos(';',params)+1,255);
if (Pos(';',params)>0) then
begin
if not(TryStrToInt(LeftStr(params, Pos(';', params)-1), browId)) then
browID:= 0;
end
else
if not(TryStrToInt(params, browId)) then
browID:= 0;
if (Pos(';', params)>0) then // zadany 3 parametry (akce, browID, vlastnikID)
begin
params:= MidStr(params, Pos(';', params)+1,255);
vlastTbl:= params;
if (Pos(';', vlastTbl)>0) then
begin
vlastTbl:= LeftStr(vlastTbl, Pos(';', vlastTbl)-1);
vlastTbl2:= MidStr(vlastTbl, Pos(';', vlastTbl)+1,255);
end;
end;
end
else
raise Exception.Create('Nem<65>m pot<6F>ebn<62> po<70>et parametr<74> !');
end;
sql:= 'IF OBJECT_ID(N''tempdb..#TabExtKom'', N''U'') IS NOT NULL DROP TABLE #TabExtKom' + CRLF;
sql:= sql + 'CREATE TABLE #TabExtKom (Poznamka nvarchar(255) NOT NULL, Typ TINYINT)';
Helios.ExecSQL(sql);
{$ENDREGION}
if (Helios.HeVersion<MinVerzeHeO) then
raise Exception.Create('Plugin vy<76>aduje min verzi Heliosu ' + IntToHex(MinVerzeHeO, 12));
IDcka:= '';
cRec:= 0;
if (Helios.SelectedRecordIDs<>'') then
IDcka:= Helios.SelectedRecordIDs
else
if not VarIsNull(Helios.CurrentRecordID) then
begin
cRec:= StrToInt(VarToStr(Helios.CurrentRecordID));
IDcka:= IntToStr(cRec);
end;
if (IDcka<>'') then
begin
cntID:= 1 + Length(IDcka)-Length(StringReplace(IDcka, ',', '', [rfReplaceAll]));
SetLength(arrID,cntID);
for l_loop:=0 to cntID-1 do
begin
if Pos(',', IDcka)>0 then
begin
arrID[l_loop]:= StrToInt(LeftStr(IDcka,Pos(',', IDcka)-1));
IDcka:= MidStr(IDcka,Pos(',', IDcka)+1, 20*1024)
end
else
arrID[l_loop]:= StrToInt(IDcka);
end;
cRec:= arrID[0];
end;
vlastTbl:= vlastTbl.Replace('''', '').Replace(';','');
scrW:= Screen.WorkAreaWidth;
case typAkce of
1: begin
sql:= 'SELECT s.ID FROM ' + tblStrom + ' s LEFT JOIN ' + tblStromE + ' se ON (se.ID=s.ID) WHERE s.Cislo=N';
sql:= sql + Helios.Sklad.QuotedString + ' AND ISNULL(se._App_Objednavka,0)=1';
with Helios.OpenSQL(sql) do
if (RecordCount>0) then
begin
helUtils.waitStart(nil, 'Na<4E><61>t<EFBFBD>m historick<63> data...', 0, 0);
if (scrW>1020) and (scrW<1030) then
begin
fOrd21024:= TformOrder21024.Create(nil);
try
fOrd21024.Helios:= Helios;
fOrd21024.jeTest:= jeTest;
fOrd21024.oznacKOdeslani:= (vlastTbl='1');
fOrd21024.ShowModal;
finally
fOrd21024.Free;
end;
end
else
if (scrW>1360) and (scrW<1380) then
begin
fOrd21366:= TformOrder21366.Create(nil);
try
fOrd21366.Helios:= Helios;
fOrd21366.jeTest:= jeTest;
fOrd21366.oznacKOdeslani:= (vlastTbl='1');
fOrd21366.ShowModal;
finally
fOrd21366.Free;
end;
end
else
begin
fOrd2:= TformOrder2.Create(nil);
try
fOrd2.Helios:= Helios;
fOrd2.jeTest:= jeTest;
fOrd2.oznacKOdeslani:= (vlastTbl='1');
fOrd2.ShowModal;
finally
fOrd2.Free;
end;
end;
end
else
Helios.Error('Na tomto sklad<61> nen<65> aplikace Objedn<64>vka povolena.');
helUtils.waitEnd;
end;
2: begin
if (Length(arrID)>1) then
Helios.Error(#1'Akci lze spustit pouze nad jednim dokladem'#1)
else
VytvorStornoVydejky(Helios, cRec);
end;
3: begin
if Length(arrId)>0 then
ZrusCertifikatEETTrzby(Helios, arrID);
end;
4: begin // z <20><>tenky generuj v<>d/stor (plg)
if (Length(arrID)>1) then
Helios.Error(#1'Akci lze spustit pouze nad jednim dokladem'#1)
else
// VytvorVydejkaDoSpotreby(Helios, cRec);
if (vlastTbl<>'') and (LeftStr(vlastTbl,4)='dbo.') then
try
sql:= 'IF OBJECT_ID(N' + vlastTbl.QuotedString + ', N''P'') IS NOT NULL EXEC ' + vlastTbl + ' ' + cRec.ToString;
if (vlastTbl2<>'') then
sql:= sql + ', ' + vlastTbl2;
Helios.ExecSQL(sql);
except on E:Exception do
Helios.Error(#1'Chyba HDC plg (4) - '#1 + E.Message);
end;
end;
5: begin
// if (KontrolyLikvidaceOK(Helios)) then
begin
sql:= 'SELECT s.ID FROM ' + tblStrom + ' s LEFT JOIN ' + tblStromE + ' se ON (se.ID=s.ID) WHERE s.Cislo=N';
sql:= sql + Helios.Sklad.QuotedString + ' AND ISNULL(se._App_Likvidace,0)=1';
with Helios.OpenSQL(sql) do
if (RecordCount>0) then
begin
helUtils.waitStart(nil, 'Na<4E><61>t<EFBFBD>m data skladu...', 0, 0);
if (scrW>1020) and (scrW<1030) then
begin
fLikv1024:= TformLikvidace1024.Create(nil);
try
fLikv1024.Helios:= Helios;
fLikv1024.jeTest:= jeTest;
fLikv1024.ShowModal;
finally
fLikv1024.Free;
end;
end
else
begin
fLikv:= TformLikvidace.Create(nil);
try
fLikv.Helios:= Helios;
fLikv.jeTest:= jeTest;
fLikv.ShowModal;
finally
fLikv.Free;
end;
end
end
else
Helios.Error('Na tomto sklad<61> nen<65> aplikace Likvidace povolena.');
helUtils.waitEnd;
end;
end;
6: begin
sql:= 'SELECT ID FROM ' + tblPZ + ' WHERE DruhPohybuZbo=6 AND IDDoklad=' + cRec.ToString;
with Helios.OpenSQL(sql) do
if (RecordCount>0) then
begin
sql:= 'SELECT p.ID FROM ' + tblPZ + ' p LEFT JOIN ' + tblPZe + ' pe ON (pe.ID=p.ID) INNER JOIN ' + tblDZ + ' d ON (d.ID=p.IDDoklad) WHERE d.DruhPohybuZbo=6 AND d.ID=' + cRec.ToString;
sql:= sql + ' AND (p.Mnozstvi-p.MnOdebrane-p.MnozstviStorno)>0 AND d.Splneno=0';
with Helios.OpenSQL(sql) do
if (RecordCount=0) then
begin
Helios.Error(#1'Vydan<61> objedn<64>vka je pln<6C> p<>evedena do p<><70>jemky, akci nelze opakovat.'#1);
Exit;
end;
helUtils.waitStart(nil, 'Na<4E><61>t<EFBFBD>m data objedn<64>vky...', 0, 0);
if (scrW>1020) and (scrW<1030) then
begin
fPrij1024:= TformPrijem1024.Create(nil);
try
fPrij1024.idDZ:= cRec;
fPrij1024.Helios:= Helios;
fPrij1024.jeTest:= jeTest;
fPrij1024.ShowModal;
finally
fPrij1024.Free;
end;
end
else
if (scrW>1360) then
begin
fPrij:= TformPrijem.Create(nil);
try
fPrij.idDZ:= cRec;
fPrij.Helios:= Helios;
fPrij.jeTest:= jeTest;
fPrij.ShowModal;
finally
fPrij.Free;
end;
end;
helUtils.waitEnd;
end
else
Helios.Error(#1'! Na dokladu Vydan<61> objedn<64>vky nejsou polo<6C>ky !'#1);
end;
7: begin
sql:= 'SELECT s.ID FROM ' + tblStrom + ' s LEFT JOIN ' + tblStromE + ' se ON (se.ID=s.ID) WHERE s.Cislo=N';
sql:= sql + Helios.Sklad.QuotedString + ' AND ISNULL(se._App_Zamena,0)=1';
with Helios.OpenSQL(sql) do
if (RecordCount>0) then
begin
fZamena:= TformZamena.Create(nil);
try
fZamena.Helios:= Helios;
fZamena.jeTest:= jeTest;
fZamena.ShowModal;
finally
fZamena.Free;
end;
end
else
Helios.Error('Na tomto sklad<61> nen<65> aplikace Z<>m<EFBFBD>na povolena.');
end;
8: begin
if (cRec>0) then
begin
try
Helios.ExecSQL('IF OBJECT_ID(N''dbo.ep_HDC_NavazneDoklady'', N''P'') IS NOT NULL EXEC dbo.ep_HDC_NavazneDoklady @IDSrc=' + cRec.ToString);
Helios.OpenBrowse(231, '');
except
end;
end;
end;
end;
Helios.Refresh(true);
if (contInfo='NULL') then
Helios.ExecSQL('SET CONTEXT_INFO 0x00')
else
Helios.ExecSQL('SET CONTEXT_INFO 0x' + contInfo); // vymaz context v sys.sysprocesses
end;
initialization
TComObjectFactory.Create(ComServer, TplgPolanskych, Class_plgPolanskych, 'runMe', '', ciMultiInstance, tmSingle);
TStyleManager.SystemHooks := [];
// stylWin10:= TStyleManager.LoadFromResource(HInstance, 'stylWin10Blue');
// TStyleManager.SetStyle(stylWin10);
finalization
end.

277
datModObj.dfm Normal file
View File

@ -0,0 +1,277 @@
object dmObj: TdmObj
Height = 240
Width = 640
PixelsPerInch = 96
object vTabObj: TMemTableEh
Params = <>
Left = 24
Top = 20
object vTabPoradiSort: TSingleField
FieldName = 'PoradiSort'
Visible = False
end
object vTabK1: TStringField
FieldName = 'K1'
Size = 10
end
object vTabK2: TStringField
FieldName = 'K2'
Size = 10
end
object vTabSortiment: TStringField
FieldName = 'Sortiment'
Required = True
Size = 50
end
object vTabIDZboSklad: TIntegerField
FieldName = 'IDZboSklad'
Visible = False
end
object vTabRegCis: TStringField
FieldName = 'RegCis'
Size = 30
end
object vTabNazev: TStringField
FieldName = 'Nazev'
Size = 100
end
object vTabRano: TFloatField
DisplayLabel = 'R'#225'no'
FieldName = 'Rano'
end
object vTabDoporuceno: TFloatField
FieldName = 'Doporuceno'
end
object vTabPoledne: TFloatField
FieldName = 'Poledne'
end
object vTabStavSkladu: TFloatField
DisplayLabel = 'Stav skladu'
FieldName = 'StavSkladu'
end
object vTabPriorita: TIntegerField
DisplayWidth = 10
FieldName = 'Priorita'
Visible = False
end
object vTabCisloZbozi: TStringField
FieldName = 'CisloZbozi'
Visible = False
Size = 33
end
object vTabIDKZ: TIntegerField
FieldName = 'IDKZ'
Visible = False
end
object vTabSkupZbo: TStringField
FieldName = 'SkupZbo'
Visible = False
Size = 3
end
object vTabDodavatel: TIntegerField
FieldName = 'Dodavatel'
Visible = False
end
object vTabJenRano: TSmallintField
FieldName = 'JenRano'
Visible = False
end
object vTabMinimum: TFloatField
FieldName = 'Minimum'
Visible = False
end
object vTabDelitelnost: TFloatField
FieldName = 'Delitelnost'
Visible = False
end
object vTabPoradi: TSingleField
FieldName = 'Poradi'
Visible = False
end
object vTabK1K2: TStringField
FieldName = 'K1K2'
Visible = False
Size = 15
end
object vTabPoradiSortNazev: TStringField
FieldName = 'PoradiSortNazev'
Size = 100
end
object MemTableData: TMemTableDataEh
object DataStruct: TMTDataStructEh
object PoradiSortNazev: TMTStringDataFieldEh
FieldName = 'PoradiSortNazev'
StringDataType = fdtStringEh
DisplayWidth = 100
Size = 100
end
object Delitelnost: TMTNumericDataFieldEh
FieldName = 'Delitelnost'
NumericDataType = fdtFloatEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object Minimum: TMTNumericDataFieldEh
FieldName = 'Minimum'
NumericDataType = fdtFloatEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object JenRano: TMTNumericDataFieldEh
FieldName = 'JenRano'
NumericDataType = fdtSmallintEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object Dodavatel: TMTNumericDataFieldEh
FieldName = 'Dodavatel'
NumericDataType = fdtIntegerEh
AutoIncrement = False
DisplayWidth = 20
Visible = False
currency = False
Precision = 15
end
object SkupZbo: TMTStringDataFieldEh
FieldName = 'SkupZbo'
StringDataType = fdtStringEh
DisplayWidth = 3
Visible = False
Size = 3
end
object PoradiSort: TMTNumericDataFieldEh
FieldName = 'PoradiSort'
NumericDataType = fdtSingleEh
AutoIncrement = False
DisplayWidth = 20
Visible = False
currency = False
Precision = 15
end
object K1: TMTStringDataFieldEh
FieldName = 'K1'
StringDataType = fdtStringEh
DisplayWidth = 10
Size = 10
end
object K2: TMTStringDataFieldEh
FieldName = 'K2'
StringDataType = fdtStringEh
DisplayWidth = 10
Size = 10
end
object Sortiment: TMTStringDataFieldEh
FieldName = 'Sortiment'
StringDataType = fdtStringEh
DisplayWidth = 50
Size = 50
end
object IDZboSklad: TMTNumericDataFieldEh
FieldName = 'IDZboSklad'
NumericDataType = fdtIntegerEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object IDKZ: TMTNumericDataFieldEh
FieldName = 'IDKZ'
NumericDataType = fdtIntegerEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object RegCis: TMTStringDataFieldEh
FieldName = 'RegCis'
StringDataType = fdtStringEh
DisplayWidth = 10
Size = 30
end
object Nazev: TMTStringDataFieldEh
FieldName = 'Nazev'
StringDataType = fdtStringEh
DisplayWidth = 50
Size = 100
end
object StavSkladu: TMTNumericDataFieldEh
FieldName = 'StavSkladu'
NumericDataType = fdtFloatEh
AutoIncrement = False
DisplayLabel = '0'
DisplayWidth = 20
currency = False
Precision = 10
end
object Doporuceno: TMTNumericDataFieldEh
FieldName = 'Doporuceno'
NumericDataType = fdtFloatEh
AutoIncrement = False
DisplayLabel = '0'
DisplayWidth = 20
currency = False
Precision = 10
end
object Rano: TMTNumericDataFieldEh
FieldName = 'Rano'
NumericDataType = fdtFloatEh
AutoIncrement = False
DisplayLabel = '0'
DisplayWidth = 20
currency = False
Precision = 10
end
object Poledne: TMTNumericDataFieldEh
FieldName = 'Poledne'
NumericDataType = fdtFloatEh
AutoIncrement = False
DisplayLabel = '0'
DisplayWidth = 20
currency = False
Precision = 10
end
object K1K2: TMTStringDataFieldEh
FieldName = 'K1K2'
StringDataType = fdtStringEh
DisplayWidth = 20
Visible = False
end
object Poradi: TMTNumericDataFieldEh
FieldName = 'Poradi'
NumericDataType = fdtSingleEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object Priorita: TMTNumericDataFieldEh
FieldName = 'Priorita'
NumericDataType = fdtSmallintEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 3
end
object CisloZbozi: TMTStringDataFieldEh
FieldName = 'CisloZbozi'
StringDataType = fdtStringEh
DisplayWidth = 50
Size = 33
end
end
object RecordsList: TRecordsListEh
end
end
end
object dsObj: TDataSource
DataSet = vTabObj
Left = 85
Top = 21
end
end

178
datModObj.pas Normal file
View File

@ -0,0 +1,178 @@
unit datModObj;
interface
uses
System.SysUtils, System.Classes, MemTableDataEh, Data.DB, MemTableEh, ddPlugin_TLB, Vcl.ComCtrls;
const
CRLF = #13#10;
type
TdmObj = class(TDataModule)
vTabObj: TMemTableEh;
dsObj: TDataSource;
vTabPoradiSort: TSingleField;
vTabK1: TStringField;
vTabK2: TStringField;
vTabSortiment: TStringField;
vTabIDZboSklad: TIntegerField;
vTabRegCis: TStringField;
vTabNazev: TStringField;
vTabRano: TFloatField;
vTabPoledne: TFloatField;
vTabStavSkladu: TFloatField;
vTabDoporuceno: TFloatField;
vTabPriorita: TIntegerField;
vTabCisloZbozi: TStringField;
vTabIDKZ: TIntegerField;
vTabSkupZbo: TStringField;
vTabDodavatel: TIntegerField;
vTabJenRano: TSmallintField;
vTabMinimum: TFloatField;
vTabDelitelnost: TFloatField;
vTabPoradi: TSingleField;
vTabK1K2: TStringField;
vTabPoradiSortNazev: TStringField;
procedure vTabRanoValidate(Sender: TField);
procedure vTabPoledneValidate(Sender: TField);
procedure vTabAfterPost(DataSet: TDataSet);
procedure vTabAfterDelete(DataSet: TDataSet);
private
public
Helios: IHelios;
procedure ZapisObjednavky(tbl: TMemTableEh; cOrgDod, cisloObj: integer; dt: TDatetimePicker);
end;
var
dmObj: TdmObj;
implementation
uses System.Variants, frmOrder2, frmOrder21024, frmOrder21366;
{%CLASSGROUP 'Vcl.Controls.TControl'}
{$R *.dfm}
procedure TdmObj.ZapisObjednavky(tbl: TMemTableEh; cOrgDod, cisloObj: integer; dt: TDatetimePicker);
var lSQL: string;
idH, i: integer;
begin
if (tbl.RecordCount>0) then
begin
idH:= 0;
lSQL:= 'INSERT dbo._HDC_Objednavky (CisloOrg, IDSklad, CisloObj, DatPozadavek) SELECT ISNULL(TRY_PARSE(N' + cOrgDod.ToString.Replace(';', '').Replace('-','').Replace(' ', '').QuotedString;
lSQL:= lSQL + ' AS INT), 0), N' + Helios.Sklad.QuotedString + ', ' + cisloObj.ToString + ', CONVERT(datetime, N' + FormatDateTime('d.m.yyyy', dt.Date).QuotedString + ', 104)' + CRLF;
lSQL:= lSQL + 'SELECT SCOPE_IDENTITY()';
with Helios.OpenSQL(lSQL) do
idH:= VarToStr(FieldValues(0)).ToInteger;
tbl.DisableControls;
i:= tbl.RecNo;
tbl.First;
while not(tbl.Eof) do
begin
if (tbl.FieldByName('Rano').AsSingle>0) or (tbl.FieldByName('Poledne').AsSingle>0) then
begin
lSQL:= 'INSERT dbo._HDC_ObjednavkyR (IDHlava, IDZboSklad, MnRano, MnPoledne) SELECT ' + idH.ToString + ', ' + tbl.FieldByName('IDZboSklad').AsString;
lSQL:= lSQL + ', ' + tbl.FieldByName('Rano').AsSingle.ToString + ', ' + tbl.FieldByName('Poledne').AsSingle.ToString;
Helios.ExecSQL(lSQL);
end;
tbl.Next;
end;
tbl.RecNo:= i;
tbl.EnableControls;
end;
end;
procedure TdmObj.vTabAfterDelete(DataSet: TDataSet);
begin
if (formOrder2.Visible) then
formOrder2.btnVynulovat.Enabled:= (DataSet.RecordCount>0);
if (formOrder21024.Visible) then
formOrder21024.btnVynulovat.Enabled:= (DataSet.RecordCount>0);
if (formOrder21366.Visible) then
formOrder21366.btnVynulovat.Enabled:= (DataSet.RecordCount>0);
end;
procedure TdmObj.vTabAfterPost(DataSet: TDataSet);
begin
if (formOrder2.Visible) then
formOrder2.btnVynulovat.Enabled:= (DataSet.RecordCount>0);
if (formOrder21024.Visible) then
formOrder21024.btnVynulovat.Enabled:= (DataSet.RecordCount>0);
if (formOrder21366.Visible) then
formOrder21366.btnVynulovat.Enabled:= (DataSet.RecordCount>0);
end;
procedure TdmObj.vTabPoledneValidate(Sender: TField);
var canCont: Boolean;
mv, mm: Single;
begin
canCont:= true;
mv:= TField(Sender).AsFloat;
mm:= TField(Sender).DataSet.FieldByName('Minimum').AsSingle;
if (TField(Sender).AsInteger<>0) and (TField(Sender).DataSet.FieldByName('JenRano').AsInteger=1) then
begin
TField(Sender).DataSet.Cancel;
Helios.Error(#1'Položka "' + TField(Sender).DataSet.FieldByName('RegCis').AsString +'" je určena jen pro ranní závoz.'#1);
canCont:= false;
end;
if (canCont) and (TField(Sender).AsInteger<0) then
begin
canCont:= false;
Helios.Error(#1'Položka "' + TField(Sender).DataSet.FieldByName('RegCis').AsString +'" je určena jen pro ranní závoz.'#1);
end;
if (canCont) and (mv<mm) then
begin
canCont:= false;
Helios.Error(#1'Minimální množství je ' + FormatFloat('#,##0.###', mm) + #1);
end;
if not(canCont) then
TField(Sender).DataSet.Cancel;
end;
procedure TdmObj.vTabRanoValidate(Sender: TField);
var canCont: Boolean;
mv, mm: Single;
begin
canCont:= true;
mv:= TField(Sender).AsFloat;
mm:= TField(Sender).DataSet.FieldByName('Minimum').AsSingle;
if (TField(Sender).AsInteger<0) then
begin
canCont:= false;
Helios.Error(#1'Lze zadávat jen kladná čísla.'#1);
end;
if (canCont) and (mv<mm) then
begin
canCont:= false;
Helios.Error(#1'Minimální množství je ' + FormatFloat('#,##0.###', mm) + #1);
end;
if not(canCont) then
TField(Sender).DataSet.Cancel;
end;
end.

217
datModPrij.dfm Normal file
View File

@ -0,0 +1,217 @@
object dmPrij: TdmPrij
Height = 240
Width = 640
PixelsPerInch = 96
object vTabPrij: TMemTableEh
Params = <>
Options = [mtoPersistentStructEh]
OnFilterRecord = vTabFilterRecord
Left = 27
Top = 17
object vTabPoradiSort: TSingleField
FieldName = 'PoradiSort'
Visible = False
end
object vTabPoradi: TSmallintField
DisplayLabel = 'Po'#345'ad'#237
FieldName = 'Poradi'
DisplayFormat = '#0'
end
object vTabRegCis: TStringField
DisplayLabel = #268#237'slo'
FieldName = 'RegCis'
Required = True
Size = 30
end
object vTabNazev1: TStringField
DisplayLabel = 'N'#225'zev'
FieldName = 'Nazev1'
Size = 100
end
object vTabMnozstvi: TFloatField
DisplayLabel = 'Mno'#382'stv'#237
FieldName = 'Mnozstvi'
OnValidate = vTabMnozstviValidate
DisplayFormat = '##0.##'
end
object vTabSkupZbo: TStringField
FieldName = 'SkupZbo'
Visible = False
Size = 3
end
object vTabIDZboSklad: TIntegerField
FieldName = 'IDZboSklad'
Required = True
Visible = False
end
object vTabIDPohybZboziObj: TIntegerField
FieldName = 'IDPohybZboziObj'
Required = True
Visible = False
end
object vTabSortiment: TStringField
FieldName = 'Sortiment'
Size = 100
end
object vTabK2: TStringField
FieldName = 'K2'
Size = 10
end
object vTabK1: TStringField
FieldName = 'K1'
Size = 10
end
object vTabTypZavozu: TStringField
FieldName = 'TypZavozu'
Visible = False
Size = 1
end
object vTabPoradiExt: TSingleField
FieldName = 'PoradiExt'
Visible = False
end
object vTabK1K2: TStringField
FieldName = 'K1K2'
Visible = False
Size = 15
end
object vTabPoradiSortNazev: TStringField
FieldName = 'PoradiSortNazev'
Size = 100
end
object vTabJCbezDaniKc: TSingleField
FieldName = 'JCbezDaniKc'
end
object MemTableData: TMemTableDataEh
object DataStruct: TMTDataStructEh
object JCbezDaniKc: TMTNumericDataFieldEh
FieldName = 'JCbezDaniKc'
NumericDataType = fdtSingleEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object PoradiSortNazev: TMTStringDataFieldEh
FieldName = 'PoradiSortNazev'
StringDataType = fdtStringEh
DisplayWidth = 100
Size = 100
end
object PoradiExt: TMTNumericDataFieldEh
FieldName = 'PoradiExt'
NumericDataType = fdtSingleEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object PoradiSort: TMTNumericDataFieldEh
FieldName = 'PoradiSort'
NumericDataType = fdtSingleEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object Poradi: TMTNumericDataFieldEh
FieldName = 'Poradi'
NumericDataType = fdtSmallintEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object TypZavozu: TMTStringDataFieldEh
FieldName = 'TypZavozu'
StringDataType = fdtStringEh
DisplayWidth = 1
Size = 1
end
object Sortiment: TMTStringDataFieldEh
FieldName = 'Sortiment'
StringDataType = fdtStringEh
DisplayWidth = 100
Size = 100
end
object K2: TMTStringDataFieldEh
FieldName = 'K2'
StringDataType = fdtStringEh
DisplayWidth = 10
Visible = False
Size = 10
end
object K1: TMTStringDataFieldEh
FieldName = 'K1'
StringDataType = fdtStringEh
DisplayWidth = 10
Visible = False
Size = 10
end
object Nazev1: TMTStringDataFieldEh
FieldName = 'Nazev1'
StringDataType = fdtStringEh
DisplayWidth = 100
Size = 100
end
object RegCis: TMTStringDataFieldEh
FieldName = 'RegCis'
StringDataType = fdtStringEh
DisplayWidth = 30
Required = True
Size = 30
end
object SkupZbo: TMTStringDataFieldEh
FieldName = 'SkupZbo'
StringDataType = fdtStringEh
DisplayWidth = 3
Visible = False
Size = 3
end
object IDZboSklad: TMTNumericDataFieldEh
FieldName = 'IDZboSklad'
NumericDataType = fdtIntegerEh
AutoIncrement = False
DisplayWidth = 20
Required = True
Visible = False
currency = False
Precision = 15
end
object Mnozstvi: TMTNumericDataFieldEh
FieldName = 'Mnozstvi'
NumericDataType = fdtFloatEh
AutoIncrement = False
DisplayLabel = '0'
DisplayWidth = 20
DisplayFormat = '##0.##'
currency = False
Precision = 15
end
object K1K2: TMTStringDataFieldEh
FieldName = 'K1K2'
StringDataType = fdtStringEh
DisplayWidth = 20
Visible = False
end
object IDPohybZboziObj: TMTNumericDataFieldEh
FieldName = 'IDPohybZboziObj'
NumericDataType = fdtIntegerEh
AutoIncrement = False
DisplayWidth = 20
Required = True
Visible = False
currency = False
Precision = 15
end
end
object RecordsList: TRecordsListEh
end
end
end
object dsPrij: TDataSource
DataSet = vTabPrij
Left = 100
Top = 18
end
end

142
datModPrij.pas Normal file
View File

@ -0,0 +1,142 @@
unit datModPrij;
interface
uses
System.SysUtils, System.Classes, MemTableDataEh, Data.DB, MemTableEh, ddPlugin_TLB;
type
TdmPrij = class(TDataModule)
vTabPrij: TMemTableEh;
dsPrij: TDataSource;
vTabPoradiSort: TSingleField;
vTabPoradi: TSmallintField;
vTabPoradiSortNazev: TStringField;
vTabNazev1: TStringField;
vTabRegCis: TStringField;
vTabSkupZbo: TStringField;
vTabIDZboSklad: TIntegerField;
vTabMnozstvi: TFloatField;
vTabIDPohybZboziObj: TIntegerField;
vTabSortiment: TStringField;
vTabK2: TStringField;
vTabK1: TStringField;
vTabTypZavozu: TStringField;
vTabPoradiExt: TSingleField;
vTabK1K2: TStringField;
vTabJCbezDaniKc: TSingleField;
procedure vTabFilterRecord(DataSet: TDataSet; var Accept: Boolean);
procedure vTabMnozstviValidate(Sender: TField);
procedure vTabRanoValidate(Sender: TField);
procedure vTabPoledneValidate(Sender: TField);
private
public
Helios: IHelios;
end;
var
dmPrij: TdmPrij;
implementation
uses frmPrijem;
{%CLASSGROUP 'Vcl.Controls.TControl'}
{$R *.dfm}
procedure TdmPrij.vTabFilterRecord(DataSet: TDataSet; var Accept: Boolean);
var t: string;
begin
if (vTabPrij.RecordCount>0) then
begin
t:= vTabPrij.FieldByName('TypZavozu').AsString;
case formPrijem.cbZavoz.ItemIndex of
0: Accept:= (t='R');
1: Accept:= (t='P');
end;
end;
end;
procedure TdmPrij.vTabMnozstviValidate(Sender: TField);
var canCont: Boolean;
mv, mm: Single;
begin
canCont:= true;
mv:= TField(Sender).AsFloat;
if (mv<0) then
canCont:=false;
if not(canCont) then
TField(Sender).DataSet.Cancel;
end;
procedure TdmPrij.vTabPoledneValidate(Sender: TField);
var canCont: Boolean;
mv, mm: Single;
begin
canCont:= true;
mv:= TField(Sender).AsFloat;
mm:= TField(Sender).DataSet.FieldByName('Minimum').AsSingle;
if (TField(Sender).AsInteger<>0) and (TField(Sender).DataSet.FieldByName('JenRano').AsInteger=1) then
begin
TField(Sender).DataSet.Cancel;
Helios.Error(#1'Položka "' + TField(Sender).DataSet.FieldByName('RegCis').AsString +'" je určena jen pro ranní závoz.'#1);
canCont:= false;
end;
if (canCont) and (TField(Sender).AsInteger<0) then
begin
canCont:= false;
Helios.Error(#1'Položka "' + TField(Sender).DataSet.FieldByName('RegCis').AsString +'" je určena jen pro ranní závoz.'#1);
end;
if (canCont) and (mv<mm) then
begin
canCont:= false;
Helios.Error(#1'Minimální množství je ' + FormatFloat('#,##0.###', mm) + #1);
end;
if not(canCont) then
TField(Sender).DataSet.Cancel;
end;
procedure TdmPrij.vTabRanoValidate(Sender: TField);
var canCont: Boolean;
mv, mm: Single;
begin
canCont:= true;
mv:= TField(Sender).AsFloat;
mm:= TField(Sender).DataSet.FieldByName('Minimum').AsSingle;
if (TField(Sender).AsInteger<0) then
begin
canCont:= false;
Helios.Error(#1'Lze zadávat jen kladná čísla.'#1);
end;
if (canCont) and (mv<mm) then
begin
canCont:= false;
Helios.Error(#1'Minimální množství je ' + FormatFloat('#,##0.###', mm) + #1);
end;
if not(canCont) then
TField(Sender).DataSet.Cancel;
end;
end.

384
frmLikvidace.dfm Normal file
View File

@ -0,0 +1,384 @@
object formLikvidace: TformLikvidace
Left = 0
Top = 0
BorderIcons = [biSystemMenu]
BorderStyle = bsSingle
Caption = ' V'#221'DEJ ZBO'#381#205' K LIKVIDACI'
ClientHeight = 744
ClientWidth = 1364
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -21
Font.Name = 'Tahoma'
Font.Style = []
Position = poOwnerFormCenter
OnClose = FormClose
OnShow = FormShow
PixelsPerInch = 96
DesignSize = (
1364
744)
TextHeight = 25
object gbPolozky: TGroupBox
Left = 14
Top = 12
Width = 1058
Height = 709
Anchors = [akLeft, akTop, akRight, akBottom]
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -21
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 1
object grdPol: TDBGridEh
Left = 2
Top = 27
Width = 1054
Height = 680
Align = alClient
AllowedSelections = []
DataGrouping.Active = True
DataGrouping.Color = 13425149
DataGrouping.GroupLevels = <
item
ColumnName = 'Column_0_NazevSort'
end>
DataGrouping.ParentColor = False
DataSource = dSource
DynProps = <>
GridLineParams.ColorScheme = glcsThemedEh
GridLineParams.VertEmptySpaceStyle = dessNonEh
IndicatorOptions = []
Options = [dgEditing, dgTitles, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit]
OptionsEh = [dghFixed3D, dghData3D, dghHighlightFocus, dghClearSelection, dghRowHighlight]
SelectionDrawParams.SelectionStyle = gsdsClassicEh
TabOrder = 0
TitleParams.Color = clMoneyGreen
TitleParams.FillStyle = cfstSolidEh
TitleParams.MultiTitle = True
TitleParams.SecondColor = clMoneyGreen
OnGetCellParams = grdPolGetCellParams
Columns = <
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'NazevSort'
Footers = <>
MRUList.AutoAdd = False
STFilter.Visible = False
Visible = False
end
item
Alignment = taCenter
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'RegCis'
Footers = <>
ReadOnly = True
TextEditing = False
Title.Caption = 'Zbo'#382#237'|'#268#237'slo'
Width = 189
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'Nazev1'
Footers = <>
ReadOnly = True
TextEditing = False
Title.Caption = 'Zbo'#382#237'|N'#225'zev'
Width = 572
end
item
Alignment = taCenter
CellButtons = <>
DisplayFormat = '###0.##'
DynProps = <>
EditButtons = <>
FieldName = 'StavSkladu'
Footers = <>
ReadOnly = True
TextEditing = False
Title.Caption = 'Mno'#382'stv'#237'|Stav skladu'
Width = 125
end
item
Alignment = taCenter
CellButtons = <>
DisplayFormat = '###0.##'
DynProps = <>
EditButtons = <>
FieldName = 'KeVraceni'
Footers = <>
Layout = tlCenter
Title.Caption = 'Mno'#382'stv'#237'|Ke vr'#225'cen'#237
Width = 124
OnAdvDrawDataCell = grdPolColumns4AdvDrawDataCell
OnGetCellParams = grdPolColumns4GetCellParams
OnUpdateData = grdPolColumns4UpdateData
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'Priorita'
Footers = <>
Visible = False
end>
object RowDetailData: TRowDetailPanelControlEh
end
end
end
object btnOK: TButton
Left = 1102
Top = 66
Width = 244
Height = 69
Anchors = [akTop, akRight]
Caption = 'Ulo'#382'it v'#253'dej k likvidaci'
TabOrder = 0
OnClick = btnOKClick
end
object btnRozbalit: TButton
Left = 1102
Top = 209
Width = 244
Height = 46
Anchors = [akTop, akRight]
Caption = 'Rozbalit v'#353'e'
TabOrder = 2
OnClick = btnRozbalitClick
end
object btnSbalit: TButton
Left = 1102
Top = 277
Width = 244
Height = 45
Anchors = [akTop, akRight]
Caption = 'Sbalit v'#353'e'
TabOrder = 3
OnClick = btnSbalitClick
end
object btnZavrit: TButton
Left = 1102
Top = 385
Width = 244
Height = 65
Anchors = [akTop, akRight]
Caption = 'Zav'#345#237't (bez ulo'#382'en'#237')'
TabOrder = 4
OnClick = btnZavritClick
end
object Button1: TButton
Left = 1089
Top = 663
Width = 166
Height = 50
Anchors = [akRight, akBottom]
Caption = '(HDC) Save tbl'
TabOrder = 5
Visible = False
OnClick = Button1Click
end
object btnNuluj: TButton
Left = 1089
Top = 594
Width = 253
Height = 50
Anchors = [akRight, akBottom]
Caption = '(HDC) Vymazat mno'#382'stv'#237
TabOrder = 6
Visible = False
OnClick = btnNulujClick
end
object dSource: TDataSource
DataSet = vTab
Left = 1224
Top = 10
end
object vTab: TMemTableEh
Params = <>
Left = 1278
Top = 12
object vTabSortimentK1: TStringField
Alignment = taCenter
FieldName = 'K1'
Visible = False
Size = 10
end
object vTabSortimentK2: TStringField
Alignment = taCenter
FieldName = 'K2'
Visible = False
Size = 10
end
object vTabNazevSort: TStringField
DisplayLabel = 'Sortiment'
FieldName = 'NazevSort'
Size = 100
end
object vTabSkupZbo: TStringField
FieldName = 'SkupZbo'
Visible = False
Size = 3
end
object vTabRegCis: TStringField
FieldName = 'RegCis'
Size = 30
end
object vTabNazev1: TStringField
FieldName = 'Nazev1'
Size = 100
end
object vTabStavSkladu: TFloatField
FieldName = 'StavSkladu'
DisplayFormat = '0'
EditFormat = '0'
Precision = 2
end
object vTabKeVraceni: TFloatField
FieldName = 'KeVraceni'
DisplayFormat = '0'
EditFormat = '0'
Precision = 2
end
object vTabIDStavSkladu: TIntegerField
FieldName = 'IDStavSkladu'
Visible = False
end
object vTabAktDodavatel: TIntegerField
FieldName = 'AktDodavatel'
Visible = False
end
object vTabPriorita: TIntegerField
FieldName = 'Priorita'
Visible = False
end
object vTabPoradiSortNazev: TStringField
FieldName = 'PoradiSortNazev'
Visible = False
Size = 100
end
object vTabK1K2: TStringField
FieldName = 'K1K2'
Visible = False
end
object vTabPoradiVSort: TSingleField
FieldName = 'PoradiVSort'
Visible = False
end
object MemTableData: TMemTableDataEh
object DataStruct: TMTDataStructEh
object PoradiVSort: TMTNumericDataFieldEh
FieldName = 'PoradiVSort'
NumericDataType = fdtSingleEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object K1K2: TMTStringDataFieldEh
FieldName = 'K1K2'
StringDataType = fdtStringEh
DisplayWidth = 20
Visible = False
end
object PoradiSortNazev: TMTStringDataFieldEh
FieldName = 'PoradiSortNazev'
StringDataType = fdtStringEh
DisplayWidth = 20
Visible = False
Size = 100
end
object Priorita: TMTNumericDataFieldEh
FieldName = 'Priorita'
NumericDataType = fdtIntegerEh
AutoIncrement = False
DisplayWidth = 2
currency = False
Precision = 0
end
object AktDodavatel: TMTNumericDataFieldEh
FieldName = 'AktDodavatel'
NumericDataType = fdtIntegerEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object IDStavSkladu: TMTNumericDataFieldEh
FieldName = 'IDStavSkladu'
NumericDataType = fdtIntegerEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object KeVraceni: TMTNumericDataFieldEh
FieldName = 'KeVraceni'
NumericDataType = fdtFloatEh
AutoIncrement = False
Alignment = taCenter
DisplayWidth = 20
DisplayFormat = '0'
currency = False
Precision = 2
end
object StavSkladu: TMTNumericDataFieldEh
FieldName = 'StavSkladu'
NumericDataType = fdtFloatEh
AutoIncrement = False
Alignment = taCenter
DisplayWidth = 20
DisplayFormat = '0'
currency = False
Precision = 2
end
object Nazev1: TMTStringDataFieldEh
FieldName = 'Nazev1'
StringDataType = fdtStringEh
DisplayWidth = 20
Size = 100
end
object RegCis: TMTStringDataFieldEh
FieldName = 'RegCis'
StringDataType = fdtStringEh
DisplayWidth = 20
Size = 30
end
object SkupZbo: TMTStringDataFieldEh
FieldName = 'SkupZbo'
StringDataType = fdtStringEh
DisplayWidth = 20
Size = 3
end
object NazevSort: TMTStringDataFieldEh
FieldName = 'NazevSort'
StringDataType = fdtStringEh
DisplayWidth = 20
Size = 100
end
object K2: TMTStringDataFieldEh
FieldName = 'K2'
StringDataType = fdtStringEh
DisplayWidth = 20
Size = 10
end
object K1: TMTStringDataFieldEh
FieldName = 'K1'
StringDataType = fdtStringEh
DisplayWidth = 20
Size = 10
end
end
object RecordsList: TRecordsListEh
end
end
end
end

426
frmLikvidace.pas Normal file
View File

@ -0,0 +1,426 @@
unit frmLikvidace;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Types, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, System.ImageList, Vcl.StdCtrls, Vcl.Buttons,
Vcl.ComCtrls, ddPlugin_TLB, TBPackageU, Vcl.WinXPickers, Vcl.Mask, DBGridEhGrouping, ToolCtrlsEh, DBGridEhToolCtrls,
DynVarsEh, Data.DB, EhLibVCL, GridsEh, DBAxisGridsEh, DBGridEh, MemDS, MemTableDataEh, MemTableEh;
type
TWideStringHelper = record helper for WideString
function QuotedString: string; overload;
end;
TformLikvidace = class(TForm)
gbPolozky: TGroupBox;
btnOK: TButton;
btnRozbalit: TButton;
btnSbalit: TButton;
btnZavrit: TButton;
dSource: TDataSource;
vTab: TMemTableEh;
vTabSortimentK1: TStringField;
vTabSortimentK2: TStringField;
vTabSkupZbo: TStringField;
vTabRegCis: TStringField;
vTabNazev1: TStringField;
vTabStavSkladu: TFloatField;
vTabKeVraceni: TFloatField;
vTabNazevSort: TStringField;
Button1: TButton;
grdPol: TDBGridEh;
vTabIDStavSkladu: TIntegerField;
vTabAktDodavatel: TIntegerField;
vTabPriorita: TIntegerField;
vTabPoradiSortNazev: TStringField;
vTabK1K2: TStringField;
vTabPoradiVSort: TSingleField;
btnNuluj: TButton;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure btnZavritClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure grdPolColumns4GetCellParams(Sender: TObject; EditMode: Boolean; Params: TColCellParamsEh);
procedure grdPolColumns4UpdateData(Sender: TObject; var Text: string; var Value: Variant; var UseText,
Handled: Boolean);
procedure btnRozbalitClick(Sender: TObject);
procedure btnSbalitClick(Sender: TObject);
procedure grdPolColumns4AdvDrawDataCell(Sender: TCustomDBGridEh; Cell, AreaCell: TGridCoord; Column: TColumnEh;
const ARect: TRect; var Params: TColCellParamsEh; var Processed: Boolean);
procedure btnOKClick(Sender: TObject);
procedure grdPolGetCellParams(Sender: TObject; Column: TColumnEh; AFont: TFont; var Background: TColor;
State: TGridDrawState);
procedure btnNulujClick(Sender: TObject);
private
procedure NactiData;
function ZjistiBranchID: Integer;
public
Helios: IHelios;
jeTest: boolean;
end;
var
formLikvidace: TformLikvidace;
branchId: integer;
implementation
uses System.StrUtils, System.RegularExpressions, helUtils;
{$R *.dfm}
{$IF CompilerVersion>=34} // Sydney a vys
{$ENDIF}
function TWideStringHelper.QuotedString: string;
begin
Result:= string(Self).QuotedString;
end;
function TformLikvidace.ZjistiBranchID: Integer;
var s: string;
begin
result:= -1;
s:= Helios.Sklad;
if (LeftStr(s, 3)='005') then
result:= RightStr(s, 1).ToInteger;
end;
procedure TformLikvidace.btnOKClick(Sender: TObject);
var lSQL, cZbo: string;
begin
if (Helios.YesNo('Opravdu ulo<6C>it doklad k likvidaci ?', false)) then
begin
lSQL:= 'IF OBJECT_ID(N''dbo._temp_TabLikvidaceR'') IS NOT NULL DELETE FROM dbo._temp_TabLikvidaceR WHERE Autor=SUSER_SNAME()' + CRLF;
lSQL:= lSQL + 'IF OBJECT_ID(N''dbo._temp_TabLikvidaceR'') IS NOT NULL' + CRLF + ' IF NOT EXISTS(SELECT * FROM dbo._temp_TabLikvidaceR)' + CRLF;
lSQL:= lSQL + ' DROP TABLE dbo._temp_TabLikvidaceR' + CRLF;
lSQL:= lSQL + 'IF OBJECT_ID(N''tempdb..#HDC_TabLikvidaceR'') IS NOT NULL DROP TABLE #HDC_TabLikvidaceR' + CRLF;
Helios.ExecSQL(lSQL);
if (vTab.RecordCount>0) then
begin
lSQL:= lSQL + 'IF OBJECT_ID(N''tempdb..#HDC_TabLikvidaceR'') IS NULL' + CRLF;
lSQL:= lSQL + ' CREATE TABLE #HDC_TabLikvidaceR (ID INT IDENTITY(1,1) NOT NULL, Sklad NVARCHAR(30), Autor NVARCHAR(80) NOT NULL DEFAULT SUSER_SNAME(), IDZboSklad INT NOT NULL';
lSQL:= lSQL + ', Mnozstvi NUMERIC(15,4) NOT NULL DEFAULT 0.0, CisloZbozi NVARCHAR(33) NOT NULL, DatPorizeni DATETIME NOT NULL DEFAULT GETDATE())';
if (jeTest) then
begin
lSQL:= lSQL.Replace('tempdb..#HDC_TabLi', 'dbo._temp_TabLi');
lSQL:= lSQL.Replace('#HDC_TabLi', 'dbo._temp_TabLi');
end;
Helios.ExecSQL(lSQL);
vTab.First;
while not(vTab.Eof) do
begin
if (vTab.FieldByName('IDStavSkladu').AsInteger>0) and (vTab.FieldByName('KeVraceni').AsFloat>0) then
begin
cZbo:= vTab.FieldByName('SkupZbo').AsString + vTab.FieldByName('RegCis').AsString;
lSQL:= 'INSERT #HDC_TabLikvidaceR (IDZboSklad, Sklad, Mnozstvi, CisloZbozi) SELECT ' + vTab.FieldByName('IDStavSkladu').AsString + ', N' + Helios.Sklad.QuotedString + ', ';
lSQL:= lSQL + vTab.FieldByName('KeVraceni').AsString.Replace(',', '.') + ', N' + cZbo.QuotedString;
if (jeTest) then
lSQL:= lSQL.Replace('#HDC_TabLi', 'dbo._temp_TabLi');
Helios.ExecSQL(lSQL);
end;
vTab.Next;
end;
if not(jeTest) then
begin
helUtils.waitStart(self, 'Prob<6F>h<EFBFBD> generov<6F>n<EFBFBD> likvidace/v<>dejky...', 0, 0);
try
Helios.ExecSQL('IF OBJECT_ID(N''dbo.ep_HDC_App_Likvidace'') IS NOT NULL EXEC dbo.ep_HDC_App_Likvidace @Sklad=N' + Helios.Sklad.QuotedString);
except
end;
helUtils.waitEnd;
end;
Close;
end;
end;
end;
procedure TformLikvidace.btnRozbalitClick(Sender: TObject);
begin
grdPol.DataGrouping.ActiveGroupLevels[0].ExpandNodes;
end;
procedure TformLikvidace.btnSbalitClick(Sender: TObject);
begin
grdPol.DataGrouping.ActiveGroupLevels[0].CollapseNodes;
end;
procedure TformLikvidace.btnZavritClick(Sender: TObject);
begin
Close;
end;
procedure TformLikvidace.Button1Click(Sender: TObject);
var s: string;
begin
s:= ExtractFilePath(GetModuleName(hInstance));
s:= GetEnvironmentVariable('USERPROFILE') + '/Desktop/';
vTab.SaveToFile(s + 'data.vtd');
Helios.Info(#1'Ulo<6C>eno na plochu - data.vtd'#1);
end;
procedure TformLikvidace.btnNulujClick(Sender: TObject);
var i: integer;
begin
if (vTab.RecordCount>0) then
begin
i:= vTab.RecNo;
vTab.DisableControls;
vTab.First;
while not(vTab.Eof) do
begin
vTab.Edit;
vTab.FieldByName('KeVraceni').AsInteger:= 0;
vTab.Post;
vTab.Next;
end;
vTab.RecNo:= i;
vTab.EnableControls;
end;
end;
procedure TformLikvidace.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if (vTab.Active) then
vTab.Close;
Action:= caFree;
end;
procedure TformLikvidace.NactiData;
var lSQL: string;
nazevSort, nazevSort2, K1, K2: string;
idSort: integer;
poradiSort, poradiSort2: Single;
begin
lSQL:= 'SELECT DISTINCT(k.IDSortiment) AS IDSortiment, s.K1, s.K2, s.Nazev FROM ' + tblKZ + ' k INNER JOIN ' + tblSortim + ' s ON (s.ID=k.IDSortiment)';
lSQL:= lSQL + ' LEFT JOIN' + tblSortimE + ' se ON (se.ID=s.ID) INNER JOIN ' + tblSS + ' ss ON (ss.IDKmenZbozi=k.ID AND ss.IDSklad=N' + Helios.Sklad.QuotedString;
lSQL:= lSQL + ') WHERE (s.K1 IN (SELECT so.K1 FROM ' + tblSortim + ' so INNER JOIN ' + tblSortimE + ' soe ON (soe.ID=so.ID) WHERE soe._ProLikvidaci=1)';
lSQL:= lSQL + ' OR ISNULL(se._ProLikvidaci,0)=1) AND ss.Mnozstvi>0 AND ISNULL(s.K2,N'''')<>N'''' ORDER BY s.Nazev';
with Helios.OpenSQL(lSQL) do
if (RecordCount>0) then
begin
if not(vTab.Active) then
vTab.Open;
First;
while not(EOF) do
begin
idSort:= VarToStr(FieldByNameValues('IDSortiment')).ToInteger;
K1:= VarToStr(FieldByNameValues('K1'));
K2:= VarToStr(FieldByNameValues('K2'));
lSQL:= 'SELECT ISNULL(se.';
case branchID of
1: lSQL:= lSQL + '_PoradiObj_Klas1';
2: lSQL:= lSQL + '_PoradiObj_MozPi';
3: lSQL:= lSQL + '_PoradiObj_MozVod';
else
lSQL:= lSQL + '_priorita';
end;
lSQL:= lSQL + ', ISNULL(se._priorita, 999)) FROM ' + tblSortim + ' s LEFT JOIN ' + tblSortimE + ' se ON (se.ID=s.ID) WHERE K2 IS NULL AND K1=N' + k1.QuotedString;
poradiSort:= helUtils.getHeliosFloatVal(Helios, 0, lSQL);
lSQL:= 'SELECT ISNULL(se.';
case branchID of
1: lSQL:= lSQL + '_PoradiObj_Klas1';
2: lSQL:= lSQL + '_PoradiObj_MozPi';
3: lSQL:= lSQL + '_PoradiObj_MozVod';
else
lSQL:= lSQL + '_priorita';
end;
lSQL:= lSQL + ', ISNULL(se._priorita, 999)) FROM ' + tblSortim + ' s LEFT JOIN ' + tblSortimE + ' se ON (se.ID=s.ID) WHERE K3 IS NULL AND K2=N' + k2.QuotedString;
lSQL:= lSQL + ' AND K1=N' + k1.QuotedString;
poradiSort2:= helUtils.getHeliosFloatVal(Helios, 0, lSQL);
{
nazevSort:= K2 + ' ' + VarToStr(FieldByNameValues('Nazev'));
nazevSort2:= VarToStr(FieldByNameValues('Nazev'));
vTab.Append;
vTab.FieldByName('K1').AsString:= K1;
vTab.FieldByName('K2').AsString:= K2;
vTab.FieldByName('NazevSort').AsString:= nazevSort;
vTab.Post;
}
lSQL:= 'SELECT k.SkupZbo, k.RegCis, k.Nazev1, so.Nazev, s.Mnozstvi, s.ID AS idSS, ISNULL(k.Aktualni_Dodavatel, -1) AS Aktualni_Dodavatel, ISNULL(ke._priorita, 0) AS Priorita';
lSQL:= lSQL + ', ISNULL(ke._poradivsortimentu, ISNULL(ke._poradivsortimentu, 999)) AS PoradiVSort';
lSQL:= lSQL + ' FROM ' + tblKZ;
lSQL:= lSQL + ' k INNER JOIN ' + tblKZe + ' ke ON (ke.ID=k.ID) INNER JOIN ' + tblSortim + ' so ON (so.ID=k.IDSortiment) INNER JOIN ';
lSQL:= lSQL + tblSS + ' s ON (s.IDKmenZbozi=k.ID AND s.IDSklad=N' + Helios.Sklad.QuotedString + ') WHERE so.K1=N' + K1.QuotedString;
lSQL:= lSQL + ' AND so.K2=N' + K2.QuotedString + ' AND so.K3 IS NULL AND s.Mnozstvi>0 ORDER BY k.SkupZbo, k.RegCis';
with Helios.OpenSQL(lSQL) do
if (RecordCount>0) then
begin
First;
while not(EOF) do
begin
vTab.Append;
vTab.FieldByName('K1').AsString:= K1;
vTab.FieldByName('K2').AsString:= K2;
vTab.FieldByName('K1K2').AsString:= K1+K2;
vTab.FieldByName('PoradiSortNazev').AsString:= ((poradiSort*1000.0)+poradiSort2).ToString.Replace(',', '.') + ' ' + nazevSort2;
vTab.FieldByName('NazevSort').AsString:= nazevSort2;
vTab.FieldByName('SkupZbo').AsString:= VarToStr(FieldByNameValues('SkupZbo'));
vTab.FieldByName('RegCis').AsString:= VarToStr(FieldByNameValues('RegCis'));
vTab.FieldByName('Nazev1').AsString:= VarToStr(FieldByNameValues('Nazev1'));
vTab.FieldByName('StavSkladu').AsFloat:= VarToStr(FieldByNameValues('Mnozstvi')).ToSingle;
vTab.FieldByName('KeVraceni').AsFloat:= VarToStr(FieldByNameValues('Mnozstvi')).ToSingle;
vTab.FieldByName('IDStavSkladu').AsInteger:= VarToStr(FieldByNameValues('idSS')).ToInteger;
vTab.FieldByName('AktDodavatel').AsInteger:= VarToStr(FieldByNameValues('Aktualni_Dodavatel')).ToInteger;
vTab.FieldByName('Priorita').AsInteger:= VarToStr(FieldByNameValues('Priorita')).ToInteger;
vTab.FieldByName('PoradiVSort').AsSingle:= VarToStr(FieldByNameValues('PoradiVSort')).ToSingle;
vTab.Post;
Next;
end;
end;
Next;
end;
vTab.SortByFields('PoradiSortNazev, PoradiVSort, SkupZbo, RegCis');
vTab.First;
vTab.DisableControls;
while not(vTab.Eof) do
begin
if (vTab.FieldByName('K1').AsString='') then
vTab.Delete;
vTab.Next;
end;
vTab.First;
vTab.EnableControls;
grdPol.Invalidate;
end;
helUtils.waitEnd;
end;
procedure TformLikvidace.FormShow(Sender: TObject);
var rHeight: integer;
lSQL: string;
begin
UseLatestCommonDialogs:= true;
self.SetBounds(Screen.WorkAreaRect.Left, 0, Screen.WorkAreaRect.Width, Screen.WorkAreaRect.Height);
branchId:= ZjistiBranchID;
if (Helios.LoginName='hdc') then
Button1.Visible:= true;
{
grd.RowCount:= 2;
grd.FixedRows:= 1;
rHeight:= grd.Canvas.TextHeight('<27><>');
grd.DefaultRowHeight:= grd.Font.Size + 18;
// grd.RowHeights[1]:= grd.Canvas.TextHeight('Akce') + 4;
grd.Cells[0, 0]:= 'Akce';
grd.Cells[1, 0]:= '<27><>slo';
grd.Cells[2, 0]:= 'N<>zev';
grd.Cells[3, 0]:= 'Doporu<72>eno';
grd.Cells[4, 0]:= 'R<>no';
grd.Cells[5, 0]:= 'Poledne';
}
btnNuluj.Visible:= (Helios.LoginName='hdc');
NactiData;
end;
procedure TformLikvidace.grdPolColumns4AdvDrawDataCell(Sender: TCustomDBGridEh; Cell, AreaCell: TGridCoord;
Column: TColumnEh; const ARect: TRect; var Params: TColCellParamsEh; var Processed: Boolean);
var x: single;
begin
if (vTab.FieldByName('StavSkladu').AsSingle<>vTab.FieldByName('KeVraceni').AsSingle) then
Params.Background:= $00A4A4FF;
end;
procedure TformLikvidace.grdPolColumns4GetCellParams(Sender: TObject; EditMode: Boolean; Params: TColCellParamsEh);
begin
Params.Alignment:= taCenter;
end;
procedure TformLikvidace.grdPolColumns4UpdateData(Sender: TObject; var Text: string; var Value: Variant; var UseText, Handled: Boolean);
var s: single;
begin
Text:= Text.Trim.Replace(' ', '').Replace('.', ',');
if not(VarIsNull(Value)) then
if (Text='') then
begin
Helios.Error(#1'Mus<75>te zadat <20><>slo'#1);
Handled:= true;
end
else
begin
if not(TryStrToFloat(Text,s)) then
s:= 0;
if ((s<0) or (s>vTab.FieldByName('StavSkladu').AsSingle)) then
begin
Helios.Error(#1'Nelze vr<76>tit mno<6E>stv<74> men<65><6E> ne<6E> 0 a v<>t<EFBFBD><74> ne<6E> je skladem'#1);
Handled:= true;
end;
end;
end;
procedure TformLikvidace.grdPolGetCellParams(Sender: TObject; Column: TColumnEh; AFont: TFont; var Background: TColor; State: TGridDrawState);
begin
// if (State<>[]) then
// if (gdRowSelected in State) then
if (Column.FieldName='KeVraceni') then
Background:= grdPol.Color;
if (vTab.FieldByName('Priorita').AsInteger=1) or (vTab.FieldByName('Priorita').AsInteger=2) then
Background:= clSilver;
end;
end.

384
frmLikvidace1024.dfm Normal file
View File

@ -0,0 +1,384 @@
object formLikvidace1024: TformLikvidace1024
Left = 0
Top = 0
BorderIcons = [biSystemMenu]
BorderStyle = bsSingle
Caption = ' V'#221'DEJ ZBO'#381#205' K LIKVIDACI'
ClientHeight = 729
ClientWidth = 1008
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'Tahoma'
Font.Style = []
Position = poOwnerFormCenter
OnClose = FormClose
OnShow = FormShow
PixelsPerInch = 96
DesignSize = (
1008
729)
TextHeight = 23
object gbPolozky: TGroupBox
Left = 7
Top = 12
Width = 746
Height = 700
Anchors = [akLeft, akTop, akRight, akBottom]
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -21
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 1
object grdPol: TDBGridEh
Left = 2
Top = 27
Width = 742
Height = 671
Align = alClient
AllowedSelections = []
DataGrouping.Active = True
DataGrouping.Color = 13425149
DataGrouping.GroupLevels = <
item
ColumnName = 'Column_0_NazevSort'
end>
DataGrouping.ParentColor = False
DataSource = dSource
DynProps = <>
GridLineParams.ColorScheme = glcsThemedEh
GridLineParams.VertEmptySpaceStyle = dessNonEh
IndicatorOptions = []
Options = [dgEditing, dgTitles, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit]
OptionsEh = [dghFixed3D, dghData3D, dghHighlightFocus, dghClearSelection, dghRowHighlight]
SelectionDrawParams.SelectionStyle = gsdsClassicEh
TabOrder = 0
TitleParams.Color = clMoneyGreen
TitleParams.FillStyle = cfstSolidEh
TitleParams.MultiTitle = True
TitleParams.SecondColor = clMoneyGreen
OnGetCellParams = grdPolGetCellParams
Columns = <
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'NazevSort'
Footers = <>
MRUList.AutoAdd = False
STFilter.Visible = False
Visible = False
end
item
Alignment = taCenter
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'RegCis'
Footers = <>
ReadOnly = True
TextEditing = False
Title.Caption = 'Zbo'#382#237'|'#268#237'slo'
Width = 150
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'Nazev1'
Footers = <>
ReadOnly = True
TextEditing = False
Title.Caption = 'Zbo'#382#237'|N'#225'zev'
Width = 374
end
item
Alignment = taCenter
CellButtons = <>
DisplayFormat = '###0.##'
DynProps = <>
EditButtons = <>
FieldName = 'StavSkladu'
Footers = <>
ReadOnly = True
TextEditing = False
Title.Caption = 'Mno'#382'stv'#237'|Stav skl.'
Width = 93
end
item
Alignment = taCenter
CellButtons = <>
DisplayFormat = '###0.##'
DynProps = <>
EditButtons = <>
FieldName = 'KeVraceni'
Footers = <>
Layout = tlCenter
Title.Caption = 'Mno'#382'stv'#237'|Vr'#225'tit'
Width = 85
OnAdvDrawDataCell = grdPolColumns4AdvDrawDataCell
OnGetCellParams = grdPolColumns4GetCellParams
OnUpdateData = grdPolColumns4UpdateData
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'Priorita'
Footers = <>
Visible = False
end>
object RowDetailData: TRowDetailPanelControlEh
end
end
end
object btnOK: TButton
Left = 770
Top = 66
Width = 221
Height = 69
Anchors = [akTop, akRight]
Caption = 'Ulo'#382'it v'#253'dej k likvidaci'
TabOrder = 0
OnClick = btnOKClick
end
object btnRozbalit: TButton
Left = 770
Top = 209
Width = 221
Height = 46
Anchors = [akTop, akRight]
Caption = 'Rozbalit v'#353'e'
TabOrder = 2
OnClick = btnRozbalitClick
end
object btnSbalit: TButton
Left = 770
Top = 277
Width = 221
Height = 45
Anchors = [akTop, akRight]
Caption = 'Sbalit v'#353'e'
TabOrder = 3
OnClick = btnSbalitClick
end
object btnZavrit: TButton
Left = 770
Top = 385
Width = 221
Height = 65
Anchors = [akTop, akRight]
Caption = 'Zav'#345#237't (bez ulo'#382'en'#237')'
TabOrder = 4
OnClick = btnZavritClick
end
object Button1: TButton
Left = 791
Top = 639
Width = 166
Height = 50
Anchors = [akRight, akBottom]
Caption = '(HDC) Save tbl'
TabOrder = 5
Visible = False
OnClick = Button1Click
end
object btnNuluj: TButton
Left = 764
Top = 579
Width = 229
Height = 50
Anchors = [akRight, akBottom]
Caption = '(HDC) Vymazat mno'#382'stv'#237
TabOrder = 6
Visible = False
OnClick = btnNulujClick
end
object dSource: TDataSource
DataSet = vTab
Left = 1224
Top = 10
end
object vTab: TMemTableEh
Params = <>
Left = 1278
Top = 12
object vTabSortimentK1: TStringField
Alignment = taCenter
FieldName = 'K1'
Visible = False
Size = 10
end
object vTabSortimentK2: TStringField
Alignment = taCenter
FieldName = 'K2'
Visible = False
Size = 10
end
object vTabNazevSort: TStringField
DisplayLabel = 'Sortiment'
FieldName = 'NazevSort'
Size = 100
end
object vTabSkupZbo: TStringField
FieldName = 'SkupZbo'
Visible = False
Size = 3
end
object vTabRegCis: TStringField
FieldName = 'RegCis'
Size = 30
end
object vTabNazev1: TStringField
FieldName = 'Nazev1'
Size = 100
end
object vTabStavSkladu: TFloatField
FieldName = 'StavSkladu'
DisplayFormat = '0'
EditFormat = '0'
Precision = 2
end
object vTabKeVraceni: TFloatField
FieldName = 'KeVraceni'
DisplayFormat = '0'
EditFormat = '0'
Precision = 2
end
object vTabIDStavSkladu: TIntegerField
FieldName = 'IDStavSkladu'
Visible = False
end
object vTabAktDodavatel: TIntegerField
FieldName = 'AktDodavatel'
Visible = False
end
object vTabPriorita: TIntegerField
FieldName = 'Priorita'
Visible = False
end
object vTabPoradiSortNazev: TStringField
FieldName = 'PoradiSortNazev'
Visible = False
Size = 100
end
object vTabK1K2: TStringField
FieldName = 'K1K2'
Visible = False
end
object vTabPoradiVSort: TSingleField
FieldName = 'PoradiVSort'
Visible = False
end
object MemTableData: TMemTableDataEh
object DataStruct: TMTDataStructEh
object PoradiVSort: TMTNumericDataFieldEh
FieldName = 'PoradiVSort'
NumericDataType = fdtSingleEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object K1K2: TMTStringDataFieldEh
FieldName = 'K1K2'
StringDataType = fdtStringEh
DisplayWidth = 20
Visible = False
end
object PoradiSortNazev: TMTStringDataFieldEh
FieldName = 'PoradiSortNazev'
StringDataType = fdtStringEh
DisplayWidth = 20
Visible = False
Size = 100
end
object Priorita: TMTNumericDataFieldEh
FieldName = 'Priorita'
NumericDataType = fdtIntegerEh
AutoIncrement = False
DisplayWidth = 2
currency = False
Precision = 0
end
object AktDodavatel: TMTNumericDataFieldEh
FieldName = 'AktDodavatel'
NumericDataType = fdtIntegerEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object IDStavSkladu: TMTNumericDataFieldEh
FieldName = 'IDStavSkladu'
NumericDataType = fdtIntegerEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object KeVraceni: TMTNumericDataFieldEh
FieldName = 'KeVraceni'
NumericDataType = fdtFloatEh
AutoIncrement = False
Alignment = taCenter
DisplayWidth = 20
DisplayFormat = '0'
currency = False
Precision = 2
end
object StavSkladu: TMTNumericDataFieldEh
FieldName = 'StavSkladu'
NumericDataType = fdtFloatEh
AutoIncrement = False
Alignment = taCenter
DisplayWidth = 20
DisplayFormat = '0'
currency = False
Precision = 2
end
object Nazev1: TMTStringDataFieldEh
FieldName = 'Nazev1'
StringDataType = fdtStringEh
DisplayWidth = 20
Size = 100
end
object RegCis: TMTStringDataFieldEh
FieldName = 'RegCis'
StringDataType = fdtStringEh
DisplayWidth = 20
Size = 30
end
object SkupZbo: TMTStringDataFieldEh
FieldName = 'SkupZbo'
StringDataType = fdtStringEh
DisplayWidth = 20
Size = 3
end
object NazevSort: TMTStringDataFieldEh
FieldName = 'NazevSort'
StringDataType = fdtStringEh
DisplayWidth = 20
Size = 100
end
object K2: TMTStringDataFieldEh
FieldName = 'K2'
StringDataType = fdtStringEh
DisplayWidth = 20
Size = 10
end
object K1: TMTStringDataFieldEh
FieldName = 'K1'
StringDataType = fdtStringEh
DisplayWidth = 20
Size = 10
end
end
object RecordsList: TRecordsListEh
end
end
end
end

423
frmLikvidace1024.pas Normal file
View File

@ -0,0 +1,423 @@
unit frmLikvidace1024;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Types, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, System.ImageList, Vcl.StdCtrls, Vcl.Buttons,
Vcl.ComCtrls, ddPlugin_TLB, TBPackageU, Vcl.WinXPickers, Vcl.Mask, DBGridEhGrouping, ToolCtrlsEh, DBGridEhToolCtrls,
DynVarsEh, Data.DB, EhLibVCL, GridsEh, DBAxisGridsEh, DBGridEh, MemDS, MemTableDataEh, MemTableEh;
type
TWideStringHelper = record helper for WideString
function QuotedString: string; overload;
end;
TformLikvidace1024 = class(TForm)
gbPolozky: TGroupBox;
btnOK: TButton;
btnRozbalit: TButton;
btnSbalit: TButton;
btnZavrit: TButton;
dSource: TDataSource;
vTab: TMemTableEh;
vTabSortimentK1: TStringField;
vTabSortimentK2: TStringField;
vTabSkupZbo: TStringField;
vTabRegCis: TStringField;
vTabNazev1: TStringField;
vTabStavSkladu: TFloatField;
vTabKeVraceni: TFloatField;
vTabNazevSort: TStringField;
Button1: TButton;
grdPol: TDBGridEh;
vTabIDStavSkladu: TIntegerField;
vTabAktDodavatel: TIntegerField;
vTabPriorita: TIntegerField;
vTabPoradiSortNazev: TStringField;
vTabK1K2: TStringField;
vTabPoradiVSort: TSingleField;
btnNuluj: TButton;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure btnZavritClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure grdPolColumns4GetCellParams(Sender: TObject; EditMode: Boolean; Params: TColCellParamsEh);
procedure grdPolColumns4UpdateData(Sender: TObject; var Text: string; var Value: Variant; var UseText,
Handled: Boolean);
procedure btnRozbalitClick(Sender: TObject);
procedure btnSbalitClick(Sender: TObject);
procedure grdPolColumns4AdvDrawDataCell(Sender: TCustomDBGridEh; Cell, AreaCell: TGridCoord; Column: TColumnEh;
const ARect: TRect; var Params: TColCellParamsEh; var Processed: Boolean);
procedure btnOKClick(Sender: TObject);
procedure grdPolGetCellParams(Sender: TObject; Column: TColumnEh; AFont: TFont; var Background: TColor;
State: TGridDrawState);
procedure btnNulujClick(Sender: TObject);
private
procedure NactiData;
function ZjistiBranchID: Integer;
public
Helios: IHelios;
jeTest: boolean;
end;
var
formLikvidace1024: TformLikvidace1024;
branchId: integer;
implementation
uses System.StrUtils, helUtils;
{$R *.dfm}
{$IF CompilerVersion>=34} // Sydney a vys
{$ENDIF}
function TWideStringHelper.QuotedString: string;
begin
Result:= string(Self).QuotedString;
end;
function TformLikvidace1024.ZjistiBranchID: Integer;
var s: string;
begin
result:= -1;
s:= Helios.Sklad;
if (LeftStr(s, 3)='005') then
result:= RightStr(s, 1).ToInteger;
end;
procedure TformLikvidace1024.btnOKClick(Sender: TObject);
var lSQL, cZbo: string;
begin
if (Helios.YesNo('Opravdu ulo<6C>it doklad k likvidaci ?', false)) then
begin
lSQL:= 'IF OBJECT_ID(N''dbo._temp_TabLikvidaceR'') IS NOT NULL DELETE FROM dbo._temp_TabLikvidaceR WHERE Autor=SUSER_SNAME()' + CRLF;
lSQL:= lSQL + 'IF OBJECT_ID(N''dbo._temp_TabLikvidaceR'') IS NOT NULL' + CRLF + ' IF NOT EXISTS(SELECT * FROM dbo._temp_TabLikvidaceR)' + CRLF;
lSQL:= lSQL + ' DROP TABLE dbo._temp_TabLikvidaceR' + CRLF;
lSQL:= lSQL + 'IF OBJECT_ID(N''tempdb..#HDC_TabLikvidaceR'') IS NOT NULL DROP TABLE #HDC_TabLikvidaceR' + CRLF;
Helios.ExecSQL(lSQL);
if (vTab.RecordCount>0) then
begin
lSQL:= lSQL + 'IF OBJECT_ID(N''tempdb..#HDC_TabLikvidaceR'') IS NULL' + CRLF;
lSQL:= lSQL + ' CREATE TABLE #HDC_TabLikvidaceR (ID INT IDENTITY(1,1) NOT NULL, Sklad NVARCHAR(30), Autor NVARCHAR(80) NOT NULL DEFAULT SUSER_SNAME(), IDZboSklad INT NOT NULL';
lSQL:= lSQL + ', Mnozstvi NUMERIC(15,4) NOT NULL DEFAULT 0.0, CisloZbozi NVARCHAR(33) NOT NULL, DatPorizeni DATETIME NOT NULL DEFAULT GETDATE())';
if (jeTest) then
begin
lSQL:= lSQL.Replace('tempdb..#HDC_TabLi', 'dbo._temp_TabLi');
lSQL:= lSQL.Replace('#HDC_TabLi', 'dbo._temp_TabLi');
end;
Helios.ExecSQL(lSQL);
vTab.First;
while not(vTab.Eof) do
begin
if (vTab.FieldByName('IDStavSkladu').AsInteger>0) and (vTab.FieldByName('KeVraceni').AsFloat>0) then
begin
cZbo:= vTab.FieldByName('SkupZbo').AsString + vTab.FieldByName('RegCis').AsString;
lSQL:= 'INSERT #HDC_TabLikvidaceR (IDZboSklad, Sklad, Mnozstvi, CisloZbozi) SELECT ' + vTab.FieldByName('IDStavSkladu').AsString + ', N' + Helios.Sklad.QuotedString + ', ';
lSQL:= lSQL + vTab.FieldByName('KeVraceni').AsString.Replace(',', '.') + ', N' + cZbo.QuotedString;
if (jeTest) then
lSQL:= lSQL.Replace('#HDC_TabLi', 'dbo._temp_TabLi');
Helios.ExecSQL(lSQL);
end;
vTab.Next;
end;
if not(jeTest) then
begin
helUtils.waitStart(self, 'Prob<6F>h<EFBFBD> generov<6F>n<EFBFBD> likvidace/v<>dejky...', 0, 0);
try
Helios.ExecSQL('IF OBJECT_ID(N''dbo.ep_HDC_App_Likvidace'') IS NOT NULL EXEC dbo.ep_HDC_App_Likvidace @Sklad=N' + Helios.Sklad.QuotedString);
except
end;
helUtils.waitEnd;
end;
Close;
end;
end;
end;
procedure TformLikvidace1024.btnRozbalitClick(Sender: TObject);
begin
grdPol.DataGrouping.ActiveGroupLevels[0].ExpandNodes;
end;
procedure TformLikvidace1024.btnSbalitClick(Sender: TObject);
begin
grdPol.DataGrouping.ActiveGroupLevels[0].CollapseNodes;
end;
procedure TformLikvidace1024.btnZavritClick(Sender: TObject);
begin
Close;
end;
procedure TformLikvidace1024.Button1Click(Sender: TObject);
var s: string;
begin
s:= ExtractFilePath(GetModuleName(hInstance));
s:= GetEnvironmentVariable('USERPROFILE') + '/Desktop/';
vTab.SaveToFile(s + 'data.vtd');
Helios.Info(#1'Ulo<6C>eno na plochu - data.vtd'#1);
end;
procedure TformLikvidace1024.btnNulujClick(Sender: TObject);
var i: integer;
begin
if (vTab.RecordCount>0) then
begin
i:= vTab.RecNo;
vTab.DisableControls;
vTab.First;
while not(vTab.Eof) do
begin
vTab.Edit;
vTab.FieldByName('KeVraceni').AsInteger:= 0;
vTab.Post;
vTab.Next;
end;
vTab.RecNo:= i;
vTab.EnableControls;
end;
end;
procedure TformLikvidace1024.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if (vTab.Active) then
vTab.Close;
Action:= caFree;
end;
procedure TformLikvidace1024.NactiData;
var lSQL: string;
nazevSort, nazevSort2, K1, K2: string;
idSort: integer;
poradiSort, poradiSort2: Single;
begin
lSQL:= 'SELECT DISTINCT(k.IDSortiment) AS IDSortiment, s.K1, s.K2, s.Nazev FROM ' + tblKZ + ' k INNER JOIN ' + tblSortim + ' s ON (s.ID=k.IDSortiment)';
lSQL:= lSQL + ' LEFT JOIN' + tblSortimE + ' se ON (se.ID=s.ID) INNER JOIN ' + tblSS + ' ss ON (ss.IDKmenZbozi=k.ID AND ss.IDSklad=N' + Helios.Sklad.QuotedString;
lSQL:= lSQL + ') WHERE (s.K1 IN (SELECT so.K1 FROM ' + tblSortim + ' so INNER JOIN ' + tblSortimE + ' soe ON (soe.ID=so.ID) WHERE soe._ProLikvidaci=1)';
lSQL:= lSQL + ' OR ISNULL(se._ProLikvidaci,0)=1) AND ss.Mnozstvi>0 AND ISNULL(s.K2,N'''')<>N'''' ORDER BY s.Nazev';
with Helios.OpenSQL(lSQL) do
if (RecordCount>0) then
begin
if not(vTab.Active) then
vTab.Open;
First;
while not(EOF) do
begin
idSort:= VarToStr(FieldByNameValues('IDSortiment')).ToInteger;
K1:= VarToStr(FieldByNameValues('K1'));
K2:= VarToStr(FieldByNameValues('K2'));
lSQL:= 'SELECT ISNULL(se.';
case branchID of
1: lSQL:= lSQL + '_PoradiObj_Klas1';
2: lSQL:= lSQL + '_PoradiObj_MozPi';
3: lSQL:= lSQL + '_PoradiObj_MozVod';
else
lSQL:= lSQL + '_priorita';
end;
lSQL:= lSQL + ', ISNULL(se._priorita, 999)) FROM ' + tblSortim + ' s LEFT JOIN ' + tblSortimE + ' se ON (se.ID=s.ID) WHERE K2 IS NULL AND K1=N' + k1.QuotedString;
poradiSort:= helUtils.getHeliosFloatVal(Helios, 0, lSQL);
lSQL:= 'SELECT ISNULL(se.';
case branchID of
1: lSQL:= lSQL + '_PoradiObj_Klas1';
2: lSQL:= lSQL + '_PoradiObj_MozPi';
3: lSQL:= lSQL + '_PoradiObj_MozVod';
else
lSQL:= lSQL + '_priorita';
end;
lSQL:= lSQL + ', ISNULL(se._priorita, 999)) FROM ' + tblSortim + ' s LEFT JOIN ' + tblSortimE + ' se ON (se.ID=s.ID) WHERE K3 IS NULL AND K2=N' + k2.QuotedString;
lSQL:= lSQL + ' AND K1=N' + k1.QuotedString;
poradiSort2:= helUtils.getHeliosFloatVal(Helios, 0, lSQL);
{
nazevSort:= K2 + ' ' + VarToStr(FieldByNameValues('Nazev'));
nazevSort2:= VarToStr(FieldByNameValues('Nazev'));
vTab.Append;
vTab.FieldByName('K1').AsString:= K1;
vTab.FieldByName('K2').AsString:= K2;
vTab.FieldByName('NazevSort').AsString:= nazevSort;
vTab.Post;
}
lSQL:= 'SELECT k.SkupZbo, k.RegCis, k.Nazev1, so.Nazev, s.Mnozstvi, s.ID AS idSS, ISNULL(k.Aktualni_Dodavatel, -1) AS Aktualni_Dodavatel, ISNULL(ke._priorita, 0) AS Priorita';
lSQL:= lSQL + ', ISNULL(ke._poradivsortimentu, ISNULL(ke._poradivsortimentu, 999)) AS PoradiVSort';
lSQL:= lSQL + ' FROM ' + tblKZ;
lSQL:= lSQL + ' k INNER JOIN ' + tblKZe + ' ke ON (ke.ID=k.ID) INNER JOIN ' + tblSortim + ' so ON (so.ID=k.IDSortiment) INNER JOIN ';
lSQL:= lSQL + tblSS + ' s ON (s.IDKmenZbozi=k.ID AND s.IDSklad=N' + Helios.Sklad.QuotedString + ') WHERE so.K1=N' + K1.QuotedString;
lSQL:= lSQL + ' AND so.K2=N' + K2.QuotedString + ' AND so.K3 IS NULL AND s.Mnozstvi>0 ORDER BY k.SkupZbo, k.RegCis';
with Helios.OpenSQL(lSQL) do
if (RecordCount>0) then
begin
First;
while not(EOF) do
begin
vTab.Append;
vTab.FieldByName('K1').AsString:= K1;
vTab.FieldByName('K2').AsString:= K2;
vTab.FieldByName('K1K2').AsString:= K1+K2;
vTab.FieldByName('PoradiSortNazev').AsString:= ((poradiSort*1000.0)+poradiSort2).ToString.Replace(',', '.') + ' ' + nazevSort2;
vTab.FieldByName('NazevSort').AsString:= nazevSort2;
vTab.FieldByName('SkupZbo').AsString:= VarToStr(FieldByNameValues('SkupZbo'));
vTab.FieldByName('RegCis').AsString:= VarToStr(FieldByNameValues('RegCis'));
vTab.FieldByName('Nazev1').AsString:= VarToStr(FieldByNameValues('Nazev1'));
vTab.FieldByName('StavSkladu').AsFloat:= VarToStr(FieldByNameValues('Mnozstvi')).ToSingle;
vTab.FieldByName('KeVraceni').AsFloat:= VarToStr(FieldByNameValues('Mnozstvi')).ToSingle;
vTab.FieldByName('IDStavSkladu').AsInteger:= VarToStr(FieldByNameValues('idSS')).ToInteger;
vTab.FieldByName('AktDodavatel').AsInteger:= VarToStr(FieldByNameValues('Aktualni_Dodavatel')).ToInteger;
vTab.FieldByName('Priorita').AsInteger:= VarToStr(FieldByNameValues('Priorita')).ToInteger;
vTab.FieldByName('PoradiVSort').AsSingle:= VarToStr(FieldByNameValues('PoradiVSort')).ToSingle;
vTab.Post;
Next;
end;
end;
Next;
end;
vTab.SortByFields('PoradiSortNazev, PoradiVSort, SkupZbo, RegCis');
vTab.First;
vTab.DisableControls;
while not(vTab.Eof) do
begin
if (vTab.FieldByName('K1').AsString='') then
vTab.Delete;
vTab.Next;
end;
vTab.First;
vTab.EnableControls;
grdPol.Invalidate;
end;
helUtils.waitEnd;
end;
procedure TformLikvidace1024.FormShow(Sender: TObject);
var rHeight: integer;
lSQL: string;
begin
UseLatestCommonDialogs:= true;
self.SetBounds(Screen.WorkAreaRect.Left, 0, Screen.WorkAreaRect.Width, Screen.WorkAreaRect.Height);
branchId:= ZjistiBranchID;
if (Helios.LoginName='hdc') then
Button1.Visible:= true;
{
grd.RowCount:= 2;
grd.FixedRows:= 1;
rHeight:= grd.Canvas.TextHeight('<27><>');
grd.DefaultRowHeight:= grd.Font.Size + 18;
// grd.RowHeights[1]:= grd.Canvas.TextHeight('Akce') + 4;
grd.Cells[0, 0]:= 'Akce';
grd.Cells[1, 0]:= '<27><>slo';
grd.Cells[2, 0]:= 'N<>zev';
grd.Cells[3, 0]:= 'Doporu<72>eno';
grd.Cells[4, 0]:= 'R<>no';
grd.Cells[5, 0]:= 'Poledne';
}
btnNuluj.Visible:= (Helios.LoginName='hdc');
NactiData;
end;
procedure TformLikvidace1024.grdPolColumns4AdvDrawDataCell(Sender: TCustomDBGridEh; Cell, AreaCell: TGridCoord;
Column: TColumnEh; const ARect: TRect; var Params: TColCellParamsEh; var Processed: Boolean);
var x: single;
begin
if (vTab.FieldByName('StavSkladu').AsSingle<>vTab.FieldByName('KeVraceni').AsSingle) then
Params.Background:= $00A4A4FF;
end;
procedure TformLikvidace1024.grdPolColumns4GetCellParams(Sender: TObject; EditMode: Boolean; Params: TColCellParamsEh);
begin
Params.Alignment:= taCenter;
end;
procedure TformLikvidace1024.grdPolColumns4UpdateData(Sender: TObject; var Text: string; var Value: Variant; var UseText, Handled: Boolean);
var s: single;
begin
Text:= Text.Trim.Replace(' ', '').Replace('.', ',');
if not(VarIsNull(Value)) then
if (Text='') then
begin
Helios.Error(#1'Mus<75>te zadat <20><>slo'#1);
Handled:= true;
end
else
begin
if not(TryStrToFloat(Text,s)) then
s:= 0;
if ((s<0) or (s>vTab.FieldByName('StavSkladu').AsSingle)) then
begin
Helios.Error(#1'Nelze vr<76>tit mno<6E>stv<74> men<65><6E> ne<6E> 0 a v<>t<EFBFBD><74> ne<6E> je skladem'#1);
Handled:= true;
end;
end;
end;
procedure TformLikvidace1024.grdPolGetCellParams(Sender: TObject; Column: TColumnEh; AFont: TFont; var Background: TColor; State: TGridDrawState);
begin
// if (State<>[]) then
// if (gdRowSelected in State) then
if (Column.FieldName='KeVraceni') then
Background:= grdPol.Color;
if (vTab.FieldByName('Priorita').AsInteger=1) or (vTab.FieldByName('Priorita').AsInteger=2) then
Background:= clSilver;
end;
end.

409
frmOrder.dfm Normal file
View File

@ -0,0 +1,409 @@
object formOrder: TformOrder
Left = 0
Top = 0
BorderIcons = [biSystemMenu]
BorderStyle = bsSingle
Caption = ' Vytvo'#345'en'#237' objedn'#225'vky'
ClientHeight = 766
ClientWidth = 1475
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -21
Font.Name = 'Tahoma'
Font.Style = []
Position = poOwnerFormCenter
OnClose = FormClose
OnShow = FormShow
PixelsPerInch = 96
DesignSize = (
1475
766)
TextHeight = 25
object Label1: TLabel
Left = 41
Top = 82
Width = 138
Height = 25
Caption = 'Datum z'#225'vozu:'
end
object Label3: TLabel
Left = 20
Top = 22
Width = 160
Height = 25
Caption = 'Druh sortimentu:'
end
object Label4: TLabel
Left = 15
Top = 138
Width = 162
Height = 25
Caption = #268#237'slo objedn'#225'vky:'
end
object gbDodavatel: TGroupBox
Left = 569
Top = 19
Width = 594
Height = 169
Caption = ' Dodavatel '
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -21
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 4
object Label2: TLabel
Left = 28
Top = 88
Width = 71
Height = 25
Caption = 'Adresa:'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -21
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
end
object lblDodAdresa: TLabel
Left = 129
Top = 88
Width = 445
Height = 29
AutoSize = False
end
object lblDodICO: TLabel
Left = 52
Top = 126
Width = 485
Height = 29
AutoSize = False
end
object selCOrg: TComboEdit
Left = 28
Top = 32
Width = 127
Height = 33
Alignment = taCenter
GlyphKind = gkEllipsis
NumGlyphs = 1
TabOrder = 0
Text = ''
end
object selOrg: TComboEdit
Left = 168
Top = 32
Width = 407
Height = 33
GlyphKind = gkEllipsis
NumGlyphs = 1
TabOrder = 1
Text = ''
end
end
object gbPolozky: TGroupBox
Left = 20
Top = 234
Width = 1175
Height = 507
Anchors = [akLeft, akTop, akBottom]
Caption = ' Polo'#382'ky '
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -21
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 5
DesignSize = (
1175
507)
object Panel1: TPanel
Left = 8
Top = 30
Width = 763
Height = 35
Caption = 'Zbo'#382#237
Color = 14471860
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Tahoma'
Font.Style = []
ParentBackground = False
ParentFont = False
TabOrder = 0
end
object Panel2: TPanel
Left = 770
Top = 30
Width = 389
Height = 35
Anchors = [akTop, akRight]
Caption = 'Objedn'#225'no'
Color = 14471860
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Tahoma'
Font.Style = []
ParentBackground = False
ParentFont = False
TabOrder = 1
end
object polTree: TVirtualStringTree
Left = 8
Top = 98
Width = 1151
Height = 403
Anchors = [akLeft, akTop, akRight, akBottom]
Colors.BorderColor = 15987699
Colors.DisabledColor = clGray
Colors.DropMarkColor = 15385233
Colors.DropTargetColor = 15385233
Colors.DropTargetBorderColor = 15385233
Colors.FocusedSelectionColor = 15385233
Colors.FocusedSelectionBorderColor = 15385233
Colors.GridLineColor = 15987699
Colors.HeaderHotColor = clBlack
Colors.HotColor = clBlack
Colors.SelectionRectangleBlendColor = 15385233
Colors.SelectionRectangleBorderColor = 15385233
Colors.SelectionTextColor = clBlack
Colors.TreeLineColor = 9471874
Colors.UnfocusedColor = clGray
Colors.UnfocusedSelectionColor = 13421772
Colors.UnfocusedSelectionBorderColor = 13421772
Header.AutoSizeIndex = 0
Header.Height = 25
SelectionCurveRadius = 5
TabOrder = 2
TreeOptions.AnimationOptions = [toAnimatedToggle]
TreeOptions.AutoOptions = [toAutoDropExpand, toAutoTristateTracking, toAutoDeleteMovedNodes, toAutoChangeScale]
TreeOptions.PaintOptions = [toShowButtons, toShowDropmark, toThemeAware, toUseBlendedImages]
TreeOptions.SelectionOptions = [toExtendedFocus, toFullRowSelect]
TreeOptions.StringOptions = [toAutoAcceptEditChange]
OnGetText = polTreeGetText
Columns = <
item
Alignment = taCenter
Position = 0
Text = 'Akce'
Width = 73
end
item
Alignment = taCenter
Position = 1
Text = #268#237'slo'
Width = 152
end
item
Position = 2
Text = 'N'#225'zev'
end
item
Alignment = taCenter
Position = 3
Text = 'Doporu'#269'eno'
end
item
Alignment = taCenter
Position = 4
Text = 'R'#225'no'
end
item
Alignment = taCenter
Position = 5
Text = 'Poledne'
end>
end
object pnlAkce: TPanel
Left = 8
Top = 64
Width = 73
Height = 35
Caption = 'Akce'
Color = 14471860
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Tahoma'
Font.Style = []
ParentBackground = False
ParentFont = False
TabOrder = 3
end
object pnlCislo: TPanel
Left = 81
Top = 64
Width = 152
Height = 35
Caption = #268#237'slo'
Color = 14471860
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Tahoma'
Font.Style = []
ParentBackground = False
ParentFont = False
TabOrder = 4
end
object pnlNazev: TPanel
Left = 233
Top = 64
Width = 320
Height = 35
Caption = 'N'#225'zev'
Color = 14471860
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Tahoma'
Font.Style = []
ParentBackground = False
ParentFont = False
TabOrder = 5
end
object pnlDoporuceno: TPanel
Left = 552
Top = 64
Width = 219
Height = 35
Caption = 'Doporu'#269'eno'
Color = 14471860
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Tahoma'
Font.Style = []
ParentBackground = False
ParentFont = False
TabOrder = 6
end
object pnlRano: TPanel
Left = 770
Top = 64
Width = 191
Height = 35
Caption = 'R'#225'no'
Color = 14471860
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Tahoma'
Font.Style = []
ParentBackground = False
ParentFont = False
TabOrder = 7
end
object pnlPoledne: TPanel
Left = 960
Top = 64
Width = 199
Height = 35
Caption = 'Poledne'
Color = 14471860
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Tahoma'
Font.Style = []
ParentBackground = False
ParentFont = False
TabOrder = 8
end
end
object btnOK: TButton
Left = 1213
Top = 234
Width = 244
Height = 69
Anchors = [akLeft, akTop, akRight]
Caption = 'Ulo'#382'it objedn'#225'vku'
TabOrder = 0
end
object dtZavoz: TDateTimePicker
Left = 191
Top = 79
Width = 149
Height = 33
Date = 44268.000000000000000000
Time = 0.431178437502239800
TabOrder = 1
end
object cbSortiment: TComboBox
Left = 191
Top = 19
Width = 339
Height = 33
Style = csDropDownList
TabOrder = 2
OnChange = cbSortimentChange
end
object edtCisloObj: TNumberBox
Left = 191
Top = 135
Width = 97
Height = 33
Alignment = taCenter
Enabled = False
TabOrder = 3
end
object btnTisk: TButton
Left = 1213
Top = 320
Width = 244
Height = 49
Anchors = [akLeft, akTop, akRight]
Caption = 'Vytisknout'
TabOrder = 6
end
object btnPoslat: TButton
Left = 1213
Top = 392
Width = 244
Height = 51
Anchors = [akLeft, akTop, akRight]
Caption = 'Odeslat dodavateli'
TabOrder = 7
end
object btnRozbalit: TButton
Left = 1213
Top = 504
Width = 244
Height = 46
Anchors = [akLeft, akTop, akRight]
Caption = 'Rozbalit v'#353'e'
TabOrder = 8
end
object btnSbalit: TButton
Left = 1213
Top = 572
Width = 244
Height = 45
Anchors = [akLeft, akTop, akRight]
Caption = 'Sbalit v'#353'e'
TabOrder = 9
end
object btnZavrit: TButton
Left = 1213
Top = 680
Width = 244
Height = 61
Anchors = [akLeft, akTop, akRight, akBottom]
Caption = 'Zav'#345#237't'
TabOrder = 10
end
object cbSortimentX: TComboBox
Left = 385
Top = 51
Width = 145
Height = 33
TabOrder = 11
Text = 'cbSortimentX'
Visible = False
end
end

215
frmOrder.pas Normal file
View File

@ -0,0 +1,215 @@
unit frmOrder;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Types, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, System.ImageList, Vcl.ImgList, Vcl.StdCtrls, Vcl.Buttons,
Vcl.ComCtrls, ddPlugin_TLB, TBPackageU, Vcl.WinXPickers, Vcl.Mask, RxToolEdit, Vcl.NumberBox, Vcl.Grids, VirtualTrees;
type
PPolozka = ^TPolozka;
TPolozka = packed record
idKZ: integer;
regCislo, nazev: string;
k1, k2: string;
mnRano, mnPoledne, mnDoporuceno: smallint;
{$IF CompilerVersion>=34} // Sydney a vys
class operator Initialize(out Dest: TPolozka);
{$ENDIF}
end;
TTreeData = record
regCislo: string[35];
PNodePolozka: Pointer;
end;
TformOrder = class(TForm)
gbDodavatel: TGroupBox;
gbPolozky: TGroupBox;
selCOrg: TComboEdit;
selOrg: TComboEdit;
Label1: TLabel;
dtZavoz: TDateTimePicker;
btnOK: TButton;
Label2: TLabel;
lblDodAdresa: TLabel;
lblDodICO: TLabel;
cbSortiment: TComboBox;
Label3: TLabel;
edtCisloObj: TNumberBox;
Label4: TLabel;
btnTisk: TButton;
btnPoslat: TButton;
btnRozbalit: TButton;
btnSbalit: TButton;
btnZavrit: TButton;
Panel1: TPanel;
Panel2: TPanel;
polTree: TVirtualStringTree;
pnlAkce: TPanel;
pnlCislo: TPanel;
pnlNazev: TPanel;
pnlDoporuceno: TPanel;
pnlRano: TPanel;
pnlPoledne: TPanel;
cbSortimentX: TComboBox;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure cbSortimentChange(Sender: TObject);
procedure polTreeGetText(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType;
var CellText: string);
private
public
Helios: IHelios;
jeTest: boolean;
end;
var
formOrder: TformOrder;
implementation
uses helUtils;
{$R *.dfm}
{$IF CompilerVersion>=34} // Sydney a vys
class operator TPolozka.Initialize(out Dest: TPolozka);
begin
dest.idKZ:= 0;
dest.regCislo:= '';
dest.nazev:= '';
dest.k1:= '';
dest.k2:= '';
dest.mnRano:= 0;
dest.mnPoledne:= 0;
dest.mnDoporuceno:= 0;
end;
{$ENDIF}
procedure TformOrder.cbSortimentChange(Sender: TObject);
var lSQL: string;
idSort: integer;
rNode, pNode: PVirtualNode;
myRec: PPolozka;
begin
cbSortimentX.ItemIndex:= cbSortiment.ItemIndex;
lSQL:= 'SELECT s.ID FROM ' + tblSortim + ' s INNER JOIN ' + tblSortimE + ' se ON (se.ID=s.ID) WHERE se._Objednavky_Zobrazit=1';
lSQL:= lSQL + ' AND s.K1=N' + cbSortimentX.Items[0].QuotedString + ' AND s.K2 IS NOT NULL';
with Helios.OpenSQL(lSQL) do
begin
polTree.BeginUpdate;
polTree.Clear;
if (RecordCount>0) then
begin
idSort:= VarToStr(FieldByNameValues('ID')).ToInteger;
lSQL:= 'SELECT ID, SkupZbo, RegCis, Nazev1 FROM ' + tblKZ + ' WHERE IDSortiment=' + idSort.ToString + ' ORDER BY SkupZbo, RegCis';
with Helios.OpenSQL(lSQL) do
if (RecordCount>0) then
begin
First;
rNode:= polTree.AddChild(nil); // root
while not(EOF) do
begin
pNode:= polTree.AddChild(nil);
myRec:= polTree.GetNodeData(pNode);
myRec.idKZ:= VarToStr(FieldByNameValues('ID')).ToInteger;
myRec.regCislo:= VarToStr(FieldByNameValues('RegCis'));
myRec.nazev:= VarToStr(FieldByNameValues('Nazev1'));
pNode:= polTree.AddChild(rNode, myRec);
Next;
end;
end;
end;
polTree.EndUpdate;
end;
end;
procedure TformOrder.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:= caFree;
end;
procedure TformOrder.FormShow(Sender: TObject);
var rHeight: integer;
lSQL: string;
begin
UseLatestCommonDialogs:= true;
self.SetBounds(Screen.WorkAreaRect.Left, Screen.WorkAreaRect.Top, Screen.WorkAreaRect.Width, Screen.WorkAreaRect.Height);
{
grd.RowCount:= 2;
grd.FixedRows:= 1;
rHeight:= grd.Canvas.TextHeight('<27><>');
grd.DefaultRowHeight:= grd.Font.Size + 18;
// grd.RowHeights[1]:= grd.Canvas.TextHeight('Akce') + 4;
grd.Cells[0, 0]:= 'Akce';
grd.Cells[1, 0]:= '<27><>slo';
grd.Cells[2, 0]:= 'N<>zev';
grd.Cells[3, 0]:= 'Doporu<72>eno';
grd.Cells[4, 0]:= 'R<>no';
grd.Cells[5, 0]:= 'Poledne';
}
polTree.NodeDataSize:= SizeOf(TPolozka);
polTree.DefaultNodeHeight:= polTree.Canvas.TextHeight('<27><>') + 8;
polTree.Header.Columns[0].Width:= pnlAkce.Width-1;
polTree.Header.Columns[1].Width:= pnlCislo.Width-1;
polTree.Header.Columns[2].Width:= pnlNazev.Width-1;
polTree.Header.Columns[3].Width:= pnlDoporuceno.Width-1;
polTree.Header.Columns[4].Width:= pnlRano.Width-1;
polTree.Header.Columns[5].Width:= pnlPoledne.Width-1;
polTree.RootNodeCount:= 1;
cbSortiment.Items.Clear;
cbSortimentX.Items.Clear;
lSQL:= 'SELECT DISTINCT(s.K1), ISNULL(e._priorita, 999) AS PoradiSort FROM ' + tblSortim + ' s INNER JOIN ' + tblSortimE + ' e ON (e.ID=s.ID) WHERE e._Objednavky_Zobrazit=1 GROUP BY s.K1';
with Helios.OpenSQL(lSQL) do
if (RecordCount>0) then
begin
First;
while not(EOF) do
begin
cbSortimentX.Items.Add(VarToStr(FieldValues(0)));
lSQL:= helUtils.getHeliosStrVal(Helios, '', 'SELECT Nazev FROM ' + tblSortim + ' WHERE K2 IS NULL AND K1=N' + VarToStr(FieldValues(0)).QuotedString);
cbSortiment.Items.Add(lSQL);
Next;
end;
cbSortiment.ItemIndex:= 0;
cbSortimentChange(Sender);
end;
end;
procedure TformOrder.polTreeGetText(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType; var CellText: string);
var myRec: PPolozka;
begin
myRec:= Sender.GetNodeData(Node);
case Column of
0: CellText:= '';
1: CellText:= myRec.regCislo;
2: CellText:= myRec.nazev;
end;
end;
end.

895
frmOrder2.dfm Normal file
View File

@ -0,0 +1,895 @@
object formOrder2: TformOrder2
Left = 0
Top = 0
BorderIcons = [biSystemMenu]
BorderStyle = bsSingle
Caption = ' Vytvo'#345'en'#237' objedn'#225'vky'
ClientHeight = 766
ClientWidth = 1413
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -21
Font.Name = 'Tahoma'
Font.Style = []
Position = poOwnerFormCenter
OnClose = FormClose
OnResize = FormResize
OnShow = FormShow
PixelsPerInch = 96
DesignSize = (
1413
766)
TextHeight = 25
object lblInfo: TLabel
Left = 80
Top = 194
Width = 4
Height = 16
Anchors = [akLeft, akBottom]
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
Visible = False
end
object gbDodavatel: TGroupBox
Left = 666
Top = 19
Width = 640
Height = 169
Caption = ' Dodavatel '
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -21
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 1
object Label2: TLabel
Left = 28
Top = 72
Width = 71
Height = 25
Caption = 'Adresa:'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -21
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
end
object lblDodAdresa: TLabel
Left = 130
Top = 72
Width = 445
Height = 29
AutoSize = False
end
object lblDodMisto: TLabel
Left = 130
Top = 110
Width = 405
Height = 29
AutoSize = False
end
object lblDodICO: TLabel
Left = 130
Top = 142
Width = 7
Height = 25
end
object lblDodDIC: TLabel
Left = 360
Top = 142
Width = 7
Height = 25
end
object cbxDodavatel: TComboBox
Left = 28
Top = 33
Width = 589
Height = 33
Style = csDropDownList
TabOrder = 0
OnChange = cbxDodavatelChange
end
end
object gbPolozky: TGroupBox
Left = 20
Top = 276
Width = 1139
Height = 462
Anchors = [akLeft, akTop, akRight, akBottom]
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -21
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 2
object btnNovaPolozka: TSpeedButton
Left = 15
Top = 0
Width = 37
Height = 28
Glyph.Data = {
36100000424D3610000000000000360000002800000020000000200000000100
2000000000000010000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000020003092A0145145902911C7B02C9219103ED239C03FF239C03FF2192
03EF1C7C02CB145A02940A2C0149000200040000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000200040E3F
01681F8803DF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF1F8B03E30F43016E01030005000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000061A002A1C7E02CE239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF1D8102D3061D00300000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000A2E014B219503F4239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF229703F60B33
0153000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000A2D0149229903FA239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239A
03FC0B3301530000000000000000000000000000000000000000000000000000
0000000000000000000006190029219403F3239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF229703F6061D003000000000000000000000000000000000000000000000
000000000000000200031C7C02CC239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF1D8102D301030005000000000000000000000000000000000000
0000000000000E3C0163239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF0F43016E000000000000000000000000000000000000
0000000100011E8503DA239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF1F8A03E3000200040000000000000000000000000000
00000826013E239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF0A2C01490000000000000000000000000000
000013540289239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF145A02940000000000000000000000000000
00001A7602C0239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF1C7C02CB0000000000000000000000000000
00001F8B03E4239C03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF239C03FF239C
03FF239C03FF239C03FF239C03FF219203EE0000000000000000000000000000
0000229503F4239C03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF0000000000000000000000000000
0000229503F4239C03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF0000000000000000000000000000
00001F8A03E3239C03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF239C03FF239C
03FF239C03FF239C03FF239C03FF219103ED0000000000000000000000000000
00001A7402BF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF1C7B02C90000000000000000000000000000
000012520286239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF145902910000000000000000000000000000
00000823013A239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF092A01450000000000000000000000000000
0000000000011D8302D6239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF1F8803DF000200030000000000000000000000000000
0000000000000D39015D239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF0E3F0168000000000000000000000000000000000000
000000000000000100021B7902C6239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF1C7E02CE00020004000000000000000000000000000000000000
0000000000000000000005160024219203EF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF219503F4061A002A00000000000000000000000000000000000000000000
000000000000000000000000000009280141229803F8239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF2299
03FA0A2E014B0000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000009280141219203EF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF219403F30A2D
0149000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000051600241B7902C6239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF1C7C02CC061900290000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000100020D39
015D1D8302D6239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF1E8503DA0E3D016300020003000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000100010823013A125202871A7502BF1F8B03E3229503F4229503F41F8B
03E41A7602C0135402890826013E000100010000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000}
OnClick = btnNovaPolozkaClick
end
object polGrd: TDBGridEh
Left = 2
Top = 27
Width = 1135
Height = 433
Align = alClient
DataGrouping.Active = True
DataGrouping.DefaultStateExpanded = True
DataGrouping.GroupLevels = <
item
ColumnName = 'Column_15_PoradiSortNazev'
end>
DataSource = ds
DynProps = <>
GridLineParams.VertEmptySpaceStyle = dessNonEh
IndicatorOptions = []
EmptyDataInfo.Active = True
EmptyDataInfo.Text = #381#225'dn'#233' polo'#382'ky nenalezeny'
Options = [dgEditing, dgTitles, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit]
OptionsEh = [dghFixed3D, dghData3D, dghHighlightFocus, dghClearSelection, dghRowHighlight]
SelectionDrawParams.SelectionStyle = gsdsClassicEh
TabOrder = 0
TitleParams.Color = clMoneyGreen
TitleParams.FillStyle = cfstSolidEh
TitleParams.MultiTitle = True
TitleParams.SecondColor = clMoneyGreen
OnDataGroupGetRowText = polGrdDataGroupGetRowText
OnKeyUp = polGrdKeyUp
Columns = <
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'PoradiSort'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'K1'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'K2'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'Sortiment'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'IDZboSklad'
Footers = <>
Visible = False
end
item
Alignment = taCenter
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'Poradi'
Footers = <>
Title.Caption = 'Po'#345'ad'#237
Visible = False
Width = 80
end
item
Alignment = taCenter
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'RegCis'
Footers = <>
ReadOnly = True
TextEditing = False
Title.Caption = #268#237'slo'
Width = 158
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'Nazev'
Footers = <>
ReadOnly = True
TextEditing = False
Width = 441
end
item
Alignment = taCenter
CellButtons = <>
DisplayFormat = '##0.##'
DynProps = <>
EditButtons = <>
FieldName = 'StavSkladu'
Footers = <>
ReadOnly = True
TextEditing = False
Width = 126
end
item
Alignment = taCenter
CellButtons = <>
DisplayFormat = '##0.##'
DynProps = <>
EditButtons = <>
FieldName = 'Doporuceno'
Footers = <>
ReadOnly = True
TextEditing = False
Title.Caption = 'Doporu'#269'eno'
Width = 125
end
item
Alignment = taCenter
CellButtons = <>
DisplayFormat = '##0.##'
DynProps = <>
EditButtons = <>
FieldName = 'Rano'
Footers = <>
Width = 112
end
item
Alignment = taCenter
CellButtons = <>
DisplayFormat = '##0.##'
DynProps = <>
EditButtons = <>
FieldName = 'Poledne'
Footers = <>
Width = 120
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'Priorita'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'CisloZbozi'
Footers = <>
STFilter.DataField = 'CisloZbozi'
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'K1K2'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'PoradiSortNazev'
Footers = <>
TextEditing = False
Visible = False
end>
object RowDetailData: TRowDetailPanelControlEh
end
end
end
object btnOK: TButton
Left = 1187
Top = 204
Width = 208
Height = 99
Anchors = [akTop, akRight]
Caption = 'Ulo'#382'it a odeslat objedn'#225'vku'
TabOrder = 0
WordWrap = True
OnClick = btnOKClick
end
object btnTisk: TButton
Left = 1187
Top = 320
Width = 208
Height = 49
Anchors = [akTop, akRight]
Caption = 'Vytisknout'
TabOrder = 3
Visible = False
OnClick = btnTiskClick
end
object btnPoslat: TButton
Left = 1187
Top = 392
Width = 208
Height = 51
Anchors = [akTop, akRight]
Caption = 'Odeslat dodavateli'
TabOrder = 4
Visible = False
OnClick = btnPoslatClick
end
object btnRozbalit: TButton
Left = 1187
Top = 504
Width = 208
Height = 46
Anchors = [akRight, akBottom]
Caption = 'Rozbalit v'#353'e'
TabOrder = 5
OnClick = btnRozbalitClick
end
object btnSbalit: TButton
Left = 1187
Top = 572
Width = 208
Height = 45
Anchors = [akRight, akBottom]
Caption = 'Sbalit v'#353'e'
TabOrder = 6
OnClick = btnSbalitClick
end
object btnZavrit: TButton
Left = 1187
Top = 680
Width = 208
Height = 61
Anchors = [akRight, akBottom]
Caption = 'Zav'#345#237't'
TabOrder = 7
OnClick = btnZavritClick
end
object edtNumEditor: TNxEdit6
Left = 501
Top = 190
Width = 121
Height = 41
Alignment = taCenter
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -27
Font.Name = 'Tahoma'
Font.Style = []
MaxLength = 3
NumbersOnly = True
ParentFont = False
TabOrder = 8
Visible = False
UserDefinedColorPalette.GeometryHoverColor = clBlack
OnClick = edtNumEditorClick
end
object Panel1: TPanel
Left = 20
Top = 242
Width = 855
Height = 35
Anchors = [akLeft, akTop, akRight]
Caption = 'Zbo'#382#237
Color = 14471860
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Tahoma'
Font.Style = []
ParentBackground = False
ParentFont = False
TabOrder = 9
end
object Panel2: TPanel
Left = 874
Top = 242
Width = 243
Height = 35
Anchors = [akTop, akRight]
Caption = 'Objedn'#225'no'
Color = 14471860
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Tahoma'
Font.Style = []
ParentBackground = False
ParentFont = False
TabOrder = 10
end
object btnVynulovat: TButton
Left = 885
Top = 194
Width = 220
Height = 42
Anchors = [akLeft, akTop, akRight]
Caption = 'Vynulovat mno'#382'stv'#237
TabOrder = 11
OnClick = btnVynulovatClick
end
object gbSortiment: TGroupBox
Left = 80
Top = 19
Width = 559
Height = 175
TabOrder = 12
object Label1: TLabel
Left = 38
Top = 74
Width = 138
Height = 25
Caption = 'Datum z'#225'vozu:'
end
object Label3: TLabel
Left = 16
Top = 16
Width = 160
Height = 25
Caption = 'Druh sortimentu:'
end
object Label4: TLabel
Left = 14
Top = 125
Width = 162
Height = 25
Caption = #268#237'slo objedn'#225'vky:'
end
object cbxSortiment: TComboBox
Left = 196
Top = 13
Width = 339
Height = 33
Style = csDropDownList
TabOrder = 0
OnChange = cbxSortimentChange
end
object dtZavoz: TDateTimePicker
Left = 196
Top = 70
Width = 149
Height = 33
Date = 44268.000000000000000000
Time = 0.431178437502239800
TabOrder = 1
OnChange = dtZavozChange
end
object edtCisloObj: TNumberBox
Left = 196
Top = 122
Width = 97
Height = 33
Alignment = taCenter
DisplayFormat = '#####0'
Enabled = False
TabOrder = 2
end
end
object vTab: TMemTableEh
Params = <>
AfterPost = vTabAfterPost
AfterDelete = vTabAfterDelete
Left = 12
Top = 11
object vTabPoradiSort: TSingleField
FieldName = 'PoradiSort'
Visible = False
end
object vTabK1: TStringField
FieldName = 'K1'
Size = 10
end
object vTabK2: TStringField
FieldName = 'K2'
Size = 10
end
object vTabSortiment: TStringField
FieldName = 'Sortiment'
Required = True
Size = 50
end
object vTabIDZboSklad: TIntegerField
FieldName = 'IDZboSklad'
Visible = False
end
object vTabRegCis: TStringField
FieldName = 'RegCis'
Size = 30
end
object vTabNazev: TStringField
FieldName = 'Nazev'
Size = 100
end
object vTabRano: TFloatField
DisplayLabel = 'R'#225'no'
FieldName = 'Rano'
OnValidate = vTabRanoValidate
end
object vTabDoporuceno: TFloatField
FieldName = 'Doporuceno'
end
object vTabPoledne: TFloatField
FieldName = 'Poledne'
OnValidate = vTabPoledneValidate
end
object vTabStavSkladu: TFloatField
DisplayLabel = 'Stav skladu'
FieldName = 'StavSkladu'
end
object vTabPriorita: TIntegerField
DisplayWidth = 10
FieldName = 'Priorita'
Visible = False
end
object vTabCisloZbozi: TStringField
FieldName = 'CisloZbozi'
Visible = False
Size = 33
end
object vTabIDKZ: TIntegerField
FieldName = 'IDKZ'
Visible = False
end
object vTabSkupZbo: TStringField
FieldName = 'SkupZbo'
Visible = False
Size = 3
end
object vTabDodavatel: TIntegerField
FieldName = 'Dodavatel'
Visible = False
end
object vTabJenRano: TSmallintField
FieldName = 'JenRano'
Visible = False
end
object vTabMinimum: TFloatField
FieldName = 'Minimum'
Visible = False
end
object vTabDelitelnost: TFloatField
FieldName = 'Delitelnost'
Visible = False
end
object vTabPoradi: TSingleField
FieldName = 'Poradi'
Visible = False
end
object vTabK1K2: TStringField
FieldName = 'K1K2'
Visible = False
Size = 15
end
object vTabPoradiSortNazev: TStringField
FieldName = 'PoradiSortNazev'
Size = 100
end
object MemTableData: TMemTableDataEh
object DataStruct: TMTDataStructEh
object PoradiSortNazev: TMTStringDataFieldEh
FieldName = 'PoradiSortNazev'
StringDataType = fdtStringEh
DisplayWidth = 100
Size = 100
end
object Delitelnost: TMTNumericDataFieldEh
FieldName = 'Delitelnost'
NumericDataType = fdtFloatEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object Minimum: TMTNumericDataFieldEh
FieldName = 'Minimum'
NumericDataType = fdtFloatEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object JenRano: TMTNumericDataFieldEh
FieldName = 'JenRano'
NumericDataType = fdtSmallintEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object Dodavatel: TMTNumericDataFieldEh
FieldName = 'Dodavatel'
NumericDataType = fdtIntegerEh
AutoIncrement = False
DisplayWidth = 20
Visible = False
currency = False
Precision = 15
end
object SkupZbo: TMTStringDataFieldEh
FieldName = 'SkupZbo'
StringDataType = fdtStringEh
DisplayWidth = 3
Visible = False
Size = 3
end
object PoradiSort: TMTNumericDataFieldEh
FieldName = 'PoradiSort'
NumericDataType = fdtSingleEh
AutoIncrement = False
DisplayWidth = 20
Visible = False
currency = False
Precision = 15
end
object K1: TMTStringDataFieldEh
FieldName = 'K1'
StringDataType = fdtStringEh
DisplayWidth = 10
Size = 10
end
object K2: TMTStringDataFieldEh
FieldName = 'K2'
StringDataType = fdtStringEh
DisplayWidth = 10
Size = 10
end
object Sortiment: TMTStringDataFieldEh
FieldName = 'Sortiment'
StringDataType = fdtStringEh
DisplayWidth = 50
Size = 50
end
object IDZboSklad: TMTNumericDataFieldEh
FieldName = 'IDZboSklad'
NumericDataType = fdtIntegerEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object IDKZ: TMTNumericDataFieldEh
FieldName = 'IDKZ'
NumericDataType = fdtIntegerEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object RegCis: TMTStringDataFieldEh
FieldName = 'RegCis'
StringDataType = fdtStringEh
DisplayWidth = 10
Size = 30
end
object Nazev: TMTStringDataFieldEh
FieldName = 'Nazev'
StringDataType = fdtStringEh
DisplayWidth = 50
Size = 100
end
object StavSkladu: TMTNumericDataFieldEh
FieldName = 'StavSkladu'
NumericDataType = fdtFloatEh
AutoIncrement = False
DisplayLabel = '0'
DisplayWidth = 20
currency = False
Precision = 10
end
object Doporuceno: TMTNumericDataFieldEh
FieldName = 'Doporuceno'
NumericDataType = fdtFloatEh
AutoIncrement = False
DisplayLabel = '0'
DisplayWidth = 20
currency = False
Precision = 10
end
object Rano: TMTNumericDataFieldEh
FieldName = 'Rano'
NumericDataType = fdtFloatEh
AutoIncrement = False
DisplayLabel = '0'
DisplayWidth = 20
currency = False
Precision = 10
end
object Poledne: TMTNumericDataFieldEh
FieldName = 'Poledne'
NumericDataType = fdtFloatEh
AutoIncrement = False
DisplayLabel = '0'
DisplayWidth = 20
currency = False
Precision = 10
end
object K1K2: TMTStringDataFieldEh
FieldName = 'K1K2'
StringDataType = fdtStringEh
DisplayWidth = 20
Visible = False
end
object Poradi: TMTNumericDataFieldEh
FieldName = 'Poradi'
NumericDataType = fdtSingleEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object Priorita: TMTNumericDataFieldEh
FieldName = 'Priorita'
NumericDataType = fdtSmallintEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 3
end
object CisloZbozi: TMTStringDataFieldEh
FieldName = 'CisloZbozi'
StringDataType = fdtStringEh
DisplayWidth = 50
Size = 33
end
end
object RecordsList: TRecordsListEh
end
end
end
object ds: TDataSource
DataSet = vTab
Left = 13
Top = 60
end
end

1202
frmOrder2.pas Normal file

File diff suppressed because it is too large Load Diff

901
frmOrder21024.dfm Normal file
View File

@ -0,0 +1,901 @@
object formOrder21024: TformOrder21024
Left = 0
Top = 0
BorderIcons = [biSystemMenu]
BorderStyle = bsSingle
Caption = ' Vytvo'#345'en'#237' objedn'#225'vky'
ClientHeight = 729
ClientWidth = 1008
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'Tahoma'
Font.Style = []
Position = poOwnerFormCenter
OnClose = FormClose
OnResize = FormResize
OnShow = FormShow
PixelsPerInch = 96
DesignSize = (
1008
729)
TextHeight = 23
object lblInfo: TLabel
Left = 12
Top = 197
Width = 4
Height = 16
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
Visible = False
end
object gbDodavatel: TGroupBox
Left = 522
Top = 19
Width = 478
Height = 169
Caption = ' Dodavatel '
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -21
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 1
object Label2: TLabel
Left = 28
Top = 68
Width = 71
Height = 25
Caption = 'Adresa:'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -21
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
end
object lblDodAdresa: TLabel
Left = 111
Top = 68
Width = 362
Height = 29
AutoSize = False
end
object lblDodMisto: TLabel
Left = 111
Top = 104
Width = 359
Height = 29
AutoSize = False
end
object lblDodICO: TLabel
Left = 111
Top = 135
Width = 7
Height = 25
end
object lblDodDIC: TLabel
Left = 301
Top = 135
Width = 7
Height = 25
end
object cbxDodavatel: TComboBox
Left = 28
Top = 29
Width = 439
Height = 33
Style = csDropDownList
TabOrder = 0
OnChange = cbxDodavatelChange
end
end
object gbPolozky: TGroupBox
Left = 4
Top = 276
Width = 778
Height = 425
Anchors = [akLeft, akTop, akRight, akBottom]
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -21
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 2
object btnNovaPolozka: TSpeedButton
Left = 15
Top = 0
Width = 37
Height = 28
Glyph.Data = {
36100000424D3610000000000000360000002800000020000000200000000100
2000000000000010000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000020003092A0145145902911C7B02C9219103ED239C03FF239C03FF2192
03EF1C7C02CB145A02940A2C0149000200040000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000200040E3F
01681F8803DF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF1F8B03E30F43016E01030005000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000061A002A1C7E02CE239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF1D8102D3061D00300000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000A2E014B219503F4239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF229703F60B33
0153000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000A2D0149229903FA239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239A
03FC0B3301530000000000000000000000000000000000000000000000000000
0000000000000000000006190029219403F3239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF229703F6061D003000000000000000000000000000000000000000000000
000000000000000200031C7C02CC239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF1D8102D301030005000000000000000000000000000000000000
0000000000000E3C0163239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF0F43016E000000000000000000000000000000000000
0000000100011E8503DA239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF1F8A03E3000200040000000000000000000000000000
00000826013E239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF0A2C01490000000000000000000000000000
000013540289239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF145A02940000000000000000000000000000
00001A7602C0239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF1C7C02CB0000000000000000000000000000
00001F8B03E4239C03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF239C03FF239C
03FF239C03FF239C03FF239C03FF219203EE0000000000000000000000000000
0000229503F4239C03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF0000000000000000000000000000
0000229503F4239C03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF0000000000000000000000000000
00001F8A03E3239C03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF239C03FF239C
03FF239C03FF239C03FF239C03FF219103ED0000000000000000000000000000
00001A7402BF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF1C7B02C90000000000000000000000000000
000012520286239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF145902910000000000000000000000000000
00000823013A239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF092A01450000000000000000000000000000
0000000000011D8302D6239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF1F8803DF000200030000000000000000000000000000
0000000000000D39015D239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF0E3F0168000000000000000000000000000000000000
000000000000000100021B7902C6239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF1C7E02CE00020004000000000000000000000000000000000000
0000000000000000000005160024219203EF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF219503F4061A002A00000000000000000000000000000000000000000000
000000000000000000000000000009280141229803F8239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF2299
03FA0A2E014B0000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000009280141219203EF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF219403F30A2D
0149000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000051600241B7902C6239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF1C7C02CC061900290000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000100020D39
015D1D8302D6239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF1E8503DA0E3D016300020003000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000100010823013A125202871A7502BF1F8B03E3229503F4229503F41F8B
03E41A7602C0135402890826013E000100010000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000}
OnClick = btnNovaPolozkaClick
end
object polGrd: TDBGridEh
Left = 2
Top = 27
Width = 774
Height = 396
Align = alClient
DataGrouping.Active = True
DataGrouping.DefaultStateExpanded = True
DataGrouping.GroupLevels = <
item
ColumnName = 'Column_15_PoradiSortNazev'
end>
DataSource = ds
DynProps = <>
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'Tahoma'
Font.Style = []
GridLineParams.VertEmptySpaceStyle = dessNonEh
IndicatorOptions = []
EmptyDataInfo.Active = True
EmptyDataInfo.Text = #381#225'dn'#233' polo'#382'ky nenalezeny'
Options = [dgEditing, dgTitles, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit]
OptionsEh = [dghFixed3D, dghData3D, dghHighlightFocus, dghClearSelection, dghRowHighlight]
ParentFont = False
SelectionDrawParams.SelectionStyle = gsdsClassicEh
TabOrder = 0
TitleParams.Color = clMoneyGreen
TitleParams.FillStyle = cfstSolidEh
TitleParams.MultiTitle = True
TitleParams.SecondColor = clMoneyGreen
OnDataGroupGetRowText = polGrdDataGroupGetRowText
OnKeyUp = polGrdKeyUp
Columns = <
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'PoradiSort'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'K1'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'K2'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'Sortiment'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'IDZboSklad'
Footers = <>
Visible = False
end
item
Alignment = taCenter
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'Poradi'
Footers = <>
Title.Caption = 'Po'#345'ad'#237
Visible = False
Width = 80
end
item
Alignment = taCenter
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'RegCis'
Footers = <>
ReadOnly = True
TextEditing = False
Title.Caption = #268#237'slo'
Width = 112
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'Nazev'
Footers = <>
ReadOnly = True
TextEditing = False
Width = 291
end
item
Alignment = taCenter
CellButtons = <>
DisplayFormat = '##0.##'
DynProps = <>
EditButtons = <>
FieldName = 'StavSkladu'
Footers = <>
ReadOnly = True
TextEditing = False
Title.Caption = 'Stav skl.'
Width = 89
end
item
Alignment = taCenter
CellButtons = <>
DisplayFormat = '##0.##'
DynProps = <>
EditButtons = <>
FieldName = 'Doporuceno'
Footers = <>
ReadOnly = True
TextEditing = False
Title.Caption = 'Doporu'#269'.'
Width = 91
end
item
Alignment = taCenter
CellButtons = <>
DisplayFormat = '##0.##'
DynProps = <>
EditButtons = <>
FieldName = 'Rano'
Footers = <>
Width = 65
end
item
Alignment = taCenter
CellButtons = <>
DisplayFormat = '##0.##'
DynProps = <>
EditButtons = <>
FieldName = 'Poledne'
Footers = <>
Width = 82
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'Priorita'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'CisloZbozi'
Footers = <>
STFilter.DataField = 'CisloZbozi'
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'K1K2'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'PoradiSortNazev'
Footers = <>
TextEditing = False
Visible = False
end>
object RowDetailData: TRowDetailPanelControlEh
end
end
end
object btnOK: TButton
Left = 793
Top = 198
Width = 208
Height = 105
Anchors = [akTop, akRight]
Caption = 'Ulo'#382'it a odeslat objedn'#225'vku'
TabOrder = 0
WordWrap = True
OnClick = btnOKClick
end
object btnTisk: TButton
Left = 793
Top = 320
Width = 208
Height = 49
Anchors = [akTop, akRight]
Caption = 'Vytisknout'
TabOrder = 3
Visible = False
OnClick = btnTiskClick
end
object btnPoslat: TButton
Left = 793
Top = 392
Width = 208
Height = 51
Anchors = [akTop, akRight]
Caption = 'Odeslat dodavateli'
TabOrder = 4
Visible = False
OnClick = btnPoslatClick
end
object btnRozbalit: TButton
Left = 793
Top = 488
Width = 208
Height = 46
Anchors = [akRight, akBottom]
Caption = 'Rozbalit v'#353'e'
TabOrder = 5
OnClick = btnRozbalitClick
end
object btnSbalit: TButton
Left = 793
Top = 556
Width = 208
Height = 45
Anchors = [akRight, akBottom]
Caption = 'Sbalit v'#353'e'
TabOrder = 6
OnClick = btnSbalitClick
end
object btnZavrit: TButton
Left = 793
Top = 643
Width = 208
Height = 61
Anchors = [akRight, akBottom]
Caption = 'Zav'#345#237't'
TabOrder = 7
OnClick = btnZavritClick
end
object edtNumEditor: TNxEdit6
Left = 102
Top = 195
Width = 121
Height = 41
Alignment = taCenter
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -27
Font.Name = 'Tahoma'
Font.Style = []
MaxLength = 3
NumbersOnly = True
ParentFont = False
TabOrder = 8
Visible = False
UserDefinedColorPalette.GeometryHoverColor = clBlack
OnClick = edtNumEditorClick
end
object Panel1: TPanel
Left = 7
Top = 242
Width = 585
Height = 35
Anchors = [akLeft, akTop, akRight]
Caption = 'Zbo'#382#237
Color = 14471860
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Tahoma'
Font.Style = []
ParentBackground = False
ParentFont = False
TabOrder = 9
end
object Panel2: TPanel
Left = 591
Top = 242
Width = 153
Height = 35
Anchors = [akTop, akRight]
Caption = 'Objedn'#225'no'
Color = 14471860
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Tahoma'
Font.Style = []
ParentBackground = False
ParentFont = False
TabOrder = 10
end
object btnVynulovat: TButton
Left = 579
Top = 198
Width = 183
Height = 42
Anchors = [akLeft, akTop, akRight]
Caption = 'Vynulovat mno'#382'stv'#237
TabOrder = 11
OnClick = btnVynulovatClick
end
object gbSortiment: TGroupBox
Left = 9
Top = 19
Width = 503
Height = 175
TabOrder = 12
object Label1: TLabel
Left = 38
Top = 74
Width = 125
Height = 23
Caption = 'Datum z'#225'vozu:'
end
object Label3: TLabel
Left = 16
Top = 16
Width = 144
Height = 23
Caption = 'Druh sortimentu:'
end
object Label4: TLabel
Left = 14
Top = 125
Width = 145
Height = 23
Caption = #268#237'slo objedn'#225'vky:'
end
object cbxSortiment: TComboBox
Left = 171
Top = 13
Width = 320
Height = 31
Style = csDropDownList
TabOrder = 0
OnChange = cbxSortimentChange
end
object dtZavoz: TDateTimePicker
Left = 171
Top = 70
Width = 149
Height = 31
Date = 44268.000000000000000000
Time = 0.431178437502239800
TabOrder = 1
OnChange = dtZavozChange
end
object edtCisloObj: TNumberBox
Left = 171
Top = 122
Width = 97
Height = 31
Alignment = taCenter
DisplayFormat = '#####0'
Enabled = False
TabOrder = 2
end
end
object vTab: TMemTableEh
Params = <>
AfterPost = vTabAfterPost
AfterDelete = vTabAfterDelete
Left = 12
Top = 11
object vTabPoradiSort: TSingleField
FieldName = 'PoradiSort'
Visible = False
end
object vTabK1: TStringField
FieldName = 'K1'
Size = 10
end
object vTabK2: TStringField
FieldName = 'K2'
Size = 10
end
object vTabSortiment: TStringField
FieldName = 'Sortiment'
Required = True
Size = 50
end
object vTabIDZboSklad: TIntegerField
FieldName = 'IDZboSklad'
Visible = False
end
object vTabRegCis: TStringField
FieldName = 'RegCis'
Size = 30
end
object vTabNazev: TStringField
FieldName = 'Nazev'
Size = 100
end
object vTabRano: TFloatField
DisplayLabel = 'R'#225'no'
FieldName = 'Rano'
OnValidate = vTabRanoValidate
end
object vTabDoporuceno: TFloatField
FieldName = 'Doporuceno'
end
object vTabPoledne: TFloatField
FieldName = 'Poledne'
OnValidate = vTabPoledneValidate
end
object vTabStavSkladu: TFloatField
DisplayLabel = 'Stav skladu'
FieldName = 'StavSkladu'
end
object vTabPriorita: TIntegerField
DisplayWidth = 10
FieldName = 'Priorita'
Visible = False
end
object vTabCisloZbozi: TStringField
FieldName = 'CisloZbozi'
Visible = False
Size = 33
end
object vTabIDKZ: TIntegerField
FieldName = 'IDKZ'
Visible = False
end
object vTabSkupZbo: TStringField
FieldName = 'SkupZbo'
Visible = False
Size = 3
end
object vTabDodavatel: TIntegerField
FieldName = 'Dodavatel'
Visible = False
end
object vTabJenRano: TSmallintField
FieldName = 'JenRano'
Visible = False
end
object vTabMinimum: TFloatField
FieldName = 'Minimum'
Visible = False
end
object vTabDelitelnost: TFloatField
FieldName = 'Delitelnost'
Visible = False
end
object vTabPoradi: TSingleField
FieldName = 'Poradi'
Visible = False
end
object vTabK1K2: TStringField
FieldName = 'K1K2'
Visible = False
Size = 15
end
object vTabPoradiSortNazev: TStringField
FieldName = 'PoradiSortNazev'
Size = 100
end
object MemTableData: TMemTableDataEh
object DataStruct: TMTDataStructEh
object PoradiSortNazev: TMTStringDataFieldEh
FieldName = 'PoradiSortNazev'
StringDataType = fdtStringEh
DisplayWidth = 100
Size = 100
end
object Delitelnost: TMTNumericDataFieldEh
FieldName = 'Delitelnost'
NumericDataType = fdtFloatEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object Minimum: TMTNumericDataFieldEh
FieldName = 'Minimum'
NumericDataType = fdtFloatEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object JenRano: TMTNumericDataFieldEh
FieldName = 'JenRano'
NumericDataType = fdtSmallintEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object Dodavatel: TMTNumericDataFieldEh
FieldName = 'Dodavatel'
NumericDataType = fdtIntegerEh
AutoIncrement = False
DisplayWidth = 20
Visible = False
currency = False
Precision = 15
end
object SkupZbo: TMTStringDataFieldEh
FieldName = 'SkupZbo'
StringDataType = fdtStringEh
DisplayWidth = 3
Visible = False
Size = 3
end
object PoradiSort: TMTNumericDataFieldEh
FieldName = 'PoradiSort'
NumericDataType = fdtSingleEh
AutoIncrement = False
DisplayWidth = 20
Visible = False
currency = False
Precision = 15
end
object K1: TMTStringDataFieldEh
FieldName = 'K1'
StringDataType = fdtStringEh
DisplayWidth = 10
Size = 10
end
object K2: TMTStringDataFieldEh
FieldName = 'K2'
StringDataType = fdtStringEh
DisplayWidth = 10
Size = 10
end
object Sortiment: TMTStringDataFieldEh
FieldName = 'Sortiment'
StringDataType = fdtStringEh
DisplayWidth = 50
Size = 50
end
object IDZboSklad: TMTNumericDataFieldEh
FieldName = 'IDZboSklad'
NumericDataType = fdtIntegerEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object IDKZ: TMTNumericDataFieldEh
FieldName = 'IDKZ'
NumericDataType = fdtIntegerEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object RegCis: TMTStringDataFieldEh
FieldName = 'RegCis'
StringDataType = fdtStringEh
DisplayWidth = 10
Size = 30
end
object Nazev: TMTStringDataFieldEh
FieldName = 'Nazev'
StringDataType = fdtStringEh
DisplayWidth = 50
Size = 100
end
object StavSkladu: TMTNumericDataFieldEh
FieldName = 'StavSkladu'
NumericDataType = fdtFloatEh
AutoIncrement = False
DisplayLabel = '0'
DisplayWidth = 20
currency = False
Precision = 10
end
object Doporuceno: TMTNumericDataFieldEh
FieldName = 'Doporuceno'
NumericDataType = fdtFloatEh
AutoIncrement = False
DisplayLabel = '0'
DisplayWidth = 20
currency = False
Precision = 10
end
object Rano: TMTNumericDataFieldEh
FieldName = 'Rano'
NumericDataType = fdtFloatEh
AutoIncrement = False
DisplayLabel = '0'
DisplayWidth = 20
currency = False
Precision = 10
end
object Poledne: TMTNumericDataFieldEh
FieldName = 'Poledne'
NumericDataType = fdtFloatEh
AutoIncrement = False
DisplayLabel = '0'
DisplayWidth = 20
currency = False
Precision = 10
end
object K1K2: TMTStringDataFieldEh
FieldName = 'K1K2'
StringDataType = fdtStringEh
DisplayWidth = 20
Visible = False
end
object Poradi: TMTNumericDataFieldEh
FieldName = 'Poradi'
NumericDataType = fdtSingleEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object Priorita: TMTNumericDataFieldEh
FieldName = 'Priorita'
NumericDataType = fdtSmallintEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 3
end
object CisloZbozi: TMTStringDataFieldEh
FieldName = 'CisloZbozi'
StringDataType = fdtStringEh
DisplayWidth = 50
Size = 33
end
end
object RecordsList: TRecordsListEh
end
end
end
object ds: TDataSource
DataSet = vTab
Left = 13
Top = 60
end
end

1198
frmOrder21024.pas Normal file

File diff suppressed because it is too large Load Diff

895
frmOrder21366.dfm Normal file
View File

@ -0,0 +1,895 @@
object formOrder21366: TformOrder21366
Left = 0
Top = 0
BorderIcons = [biSystemMenu]
BorderStyle = bsSingle
Caption = ' Vytvo'#345'en'#237' objedn'#225'vky'
ClientHeight = 729
ClientWidth = 1350
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -21
Font.Name = 'Tahoma'
Font.Style = []
Position = poOwnerFormCenter
OnClose = FormClose
OnResize = FormResize
OnShow = FormShow
PixelsPerInch = 96
DesignSize = (
1350
729)
TextHeight = 25
object lblInfo: TLabel
Left = 80
Top = 200
Width = 4
Height = 16
Anchors = [akLeft, akBottom]
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
Visible = False
end
object gbDodavatel: TGroupBox
Left = 666
Top = 19
Width = 640
Height = 169
Caption = ' Dodavatel '
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -21
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 1
object Label2: TLabel
Left = 28
Top = 72
Width = 71
Height = 25
Caption = 'Adresa:'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -21
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
end
object lblDodAdresa: TLabel
Left = 130
Top = 72
Width = 445
Height = 29
AutoSize = False
end
object lblDodMisto: TLabel
Left = 130
Top = 110
Width = 405
Height = 29
AutoSize = False
end
object lblDodICO: TLabel
Left = 130
Top = 142
Width = 7
Height = 25
end
object lblDodDIC: TLabel
Left = 360
Top = 142
Width = 7
Height = 25
end
object cbxDodavatel: TComboBox
Left = 28
Top = 33
Width = 589
Height = 33
Style = csDropDownList
TabOrder = 0
OnChange = cbxDodavatelChange
end
end
object gbPolozky: TGroupBox
Left = 20
Top = 276
Width = 1076
Height = 425
Anchors = [akLeft, akTop, akRight, akBottom]
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -21
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 2
object btnNovaPolozka: TSpeedButton
Left = 15
Top = 0
Width = 37
Height = 28
Glyph.Data = {
36100000424D3610000000000000360000002800000020000000200000000100
2000000000000010000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000020003092A0145145902911C7B02C9219103ED239C03FF239C03FF2192
03EF1C7C02CB145A02940A2C0149000200040000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000200040E3F
01681F8803DF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF1F8B03E30F43016E01030005000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000061A002A1C7E02CE239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF1D8102D3061D00300000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000A2E014B219503F4239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF229703F60B33
0153000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000A2D0149229903FA239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239A
03FC0B3301530000000000000000000000000000000000000000000000000000
0000000000000000000006190029219403F3239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF229703F6061D003000000000000000000000000000000000000000000000
000000000000000200031C7C02CC239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF1D8102D301030005000000000000000000000000000000000000
0000000000000E3C0163239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF0F43016E000000000000000000000000000000000000
0000000100011E8503DA239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF1F8A03E3000200040000000000000000000000000000
00000826013E239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF0A2C01490000000000000000000000000000
000013540289239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF145A02940000000000000000000000000000
00001A7602C0239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF1C7C02CB0000000000000000000000000000
00001F8B03E4239C03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF239C03FF239C
03FF239C03FF239C03FF239C03FF219203EE0000000000000000000000000000
0000229503F4239C03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF0000000000000000000000000000
0000229503F4239C03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF0000000000000000000000000000
00001F8A03E3239C03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF239C03FF239C
03FF239C03FF239C03FF239C03FF219103ED0000000000000000000000000000
00001A7402BF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF1C7B02C90000000000000000000000000000
000012520286239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF145902910000000000000000000000000000
00000823013A239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF092A01450000000000000000000000000000
0000000000011D8302D6239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF1F8803DF000200030000000000000000000000000000
0000000000000D39015D239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF0E3F0168000000000000000000000000000000000000
000000000000000100021B7902C6239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF1C7E02CE00020004000000000000000000000000000000000000
0000000000000000000005160024219203EF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF219503F4061A002A00000000000000000000000000000000000000000000
000000000000000000000000000009280141229803F8239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF2299
03FA0A2E014B0000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000009280141219203EF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF219403F30A2D
0149000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000051600241B7902C6239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF239C03FF239C03FF1C7C02CC061900290000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000100020D39
015D1D8302D6239C03FF239C03FF239C03FF239C03FF239C03FF239C03FF239C
03FF239C03FF239C03FF239C03FF1E8503DA0E3D016300020003000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000100010823013A125202871A7502BF1F8B03E3229503F4229503F41F8B
03E41A7602C0135402890826013E000100010000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000}
OnClick = btnNovaPolozkaClick
end
object polGrd: TDBGridEh
Left = 2
Top = 27
Width = 1072
Height = 396
Align = alClient
DataGrouping.Active = True
DataGrouping.DefaultStateExpanded = True
DataGrouping.GroupLevels = <
item
ColumnName = 'Column_15_PoradiSortNazev'
end>
DataSource = ds
DynProps = <>
GridLineParams.VertEmptySpaceStyle = dessNonEh
IndicatorOptions = []
EmptyDataInfo.Active = True
EmptyDataInfo.Text = #381#225'dn'#233' polo'#382'ky nenalezeny'
Options = [dgEditing, dgTitles, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit]
OptionsEh = [dghFixed3D, dghData3D, dghHighlightFocus, dghClearSelection, dghRowHighlight]
SelectionDrawParams.SelectionStyle = gsdsClassicEh
TabOrder = 0
TitleParams.Color = clMoneyGreen
TitleParams.FillStyle = cfstSolidEh
TitleParams.MultiTitle = True
TitleParams.SecondColor = clMoneyGreen
OnDataGroupGetRowText = polGrdDataGroupGetRowText
OnKeyUp = polGrdKeyUp
Columns = <
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'PoradiSort'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'K1'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'K2'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'Sortiment'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'IDZboSklad'
Footers = <>
Visible = False
end
item
Alignment = taCenter
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'Poradi'
Footers = <>
Title.Caption = 'Po'#345'ad'#237
Visible = False
Width = 80
end
item
Alignment = taCenter
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'RegCis'
Footers = <>
ReadOnly = True
TextEditing = False
Title.Caption = #268#237'slo'
Width = 142
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'Nazev'
Footers = <>
ReadOnly = True
TextEditing = False
Width = 409
end
item
Alignment = taCenter
CellButtons = <>
DisplayFormat = '##0.##'
DynProps = <>
EditButtons = <>
FieldName = 'StavSkladu'
Footers = <>
ReadOnly = True
TextEditing = False
Width = 118
end
item
Alignment = taCenter
CellButtons = <>
DisplayFormat = '##0.##'
DynProps = <>
EditButtons = <>
FieldName = 'Doporuceno'
Footers = <>
ReadOnly = True
TextEditing = False
Title.Caption = 'Doporu'#269'eno'
Width = 125
end
item
Alignment = taCenter
CellButtons = <>
DisplayFormat = '##0.##'
DynProps = <>
EditButtons = <>
FieldName = 'Rano'
Footers = <>
Width = 104
end
item
Alignment = taCenter
CellButtons = <>
DisplayFormat = '##0.##'
DynProps = <>
EditButtons = <>
FieldName = 'Poledne'
Footers = <>
Width = 109
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'Priorita'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'CisloZbozi'
Footers = <>
STFilter.DataField = 'CisloZbozi'
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'K1K2'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'PoradiSortNazev'
Footers = <>
TextEditing = False
Visible = False
end>
object RowDetailData: TRowDetailPanelControlEh
end
end
end
object btnOK: TButton
Left = 1124
Top = 200
Width = 208
Height = 103
Anchors = [akTop, akRight]
Caption = 'Ulo'#382'it a odeslat objedn'#225'vku'
TabOrder = 0
WordWrap = True
OnClick = btnOKClick
end
object btnTisk: TButton
Left = 1124
Top = 320
Width = 208
Height = 49
Anchors = [akTop, akRight]
Caption = 'Vytisknout'
TabOrder = 3
Visible = False
OnClick = btnTiskClick
end
object btnPoslat: TButton
Left = 1124
Top = 392
Width = 208
Height = 51
Anchors = [akTop, akRight]
Caption = 'Odeslat dodavateli'
TabOrder = 4
Visible = False
OnClick = btnPoslatClick
end
object btnRozbalit: TButton
Left = 1124
Top = 467
Width = 208
Height = 46
Anchors = [akRight, akBottom]
Caption = 'Rozbalit v'#353'e'
TabOrder = 5
OnClick = btnRozbalitClick
end
object btnSbalit: TButton
Left = 1124
Top = 535
Width = 208
Height = 45
Anchors = [akRight, akBottom]
Caption = 'Sbalit v'#353'e'
TabOrder = 6
OnClick = btnSbalitClick
end
object btnZavrit: TButton
Left = 1124
Top = 643
Width = 208
Height = 61
Anchors = [akRight, akBottom]
Caption = 'Zav'#345#237't'
TabOrder = 7
OnClick = btnZavritClick
end
object edtNumEditor: TNxEdit6
Left = 501
Top = 190
Width = 121
Height = 41
Alignment = taCenter
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -27
Font.Name = 'Tahoma'
Font.Style = []
MaxLength = 3
NumbersOnly = True
ParentFont = False
TabOrder = 8
Visible = False
UserDefinedColorPalette.GeometryHoverColor = clBlack
OnClick = edtNumEditorClick
end
object Panel1: TPanel
Left = 20
Top = 242
Width = 792
Height = 35
Anchors = [akLeft, akTop, akRight]
Caption = 'Zbo'#382#237
Color = 14471860
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Tahoma'
Font.Style = []
ParentBackground = False
ParentFont = False
TabOrder = 9
end
object Panel2: TPanel
Left = 811
Top = 242
Width = 243
Height = 35
Anchors = [akTop, akRight]
Caption = 'Objedn'#225'no'
Color = 14471860
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Tahoma'
Font.Style = []
ParentBackground = False
ParentFont = False
TabOrder = 10
end
object btnVynulovat: TButton
Left = 816
Top = 197
Width = 235
Height = 42
Anchors = [akLeft, akTop, akRight]
Caption = 'Vynulovat mno'#382'stv'#237
TabOrder = 11
OnClick = btnVynulovatClick
end
object gbSortiment: TGroupBox
Left = 80
Top = 19
Width = 559
Height = 175
TabOrder = 12
object Label1: TLabel
Left = 38
Top = 74
Width = 138
Height = 25
Caption = 'Datum z'#225'vozu:'
end
object Label3: TLabel
Left = 16
Top = 16
Width = 160
Height = 25
Caption = 'Druh sortimentu:'
end
object Label4: TLabel
Left = 14
Top = 125
Width = 162
Height = 25
Caption = #268#237'slo objedn'#225'vky:'
end
object cbxSortiment: TComboBox
Left = 196
Top = 13
Width = 339
Height = 33
Style = csDropDownList
TabOrder = 0
OnChange = cbxSortimentChange
end
object dtZavoz: TDateTimePicker
Left = 196
Top = 70
Width = 149
Height = 33
Date = 44268.000000000000000000
Time = 0.431178437502239800
TabOrder = 1
OnChange = dtZavozChange
end
object edtCisloObj: TNumberBox
Left = 196
Top = 122
Width = 97
Height = 33
Alignment = taCenter
DisplayFormat = '#####0'
Enabled = False
TabOrder = 2
end
end
object vTab: TMemTableEh
Params = <>
AfterPost = vTabAfterPost
AfterDelete = vTabAfterDelete
Left = 12
Top = 11
object vTabPoradiSort: TSingleField
FieldName = 'PoradiSort'
Visible = False
end
object vTabK1: TStringField
FieldName = 'K1'
Size = 10
end
object vTabK2: TStringField
FieldName = 'K2'
Size = 10
end
object vTabSortiment: TStringField
FieldName = 'Sortiment'
Required = True
Size = 50
end
object vTabIDZboSklad: TIntegerField
FieldName = 'IDZboSklad'
Visible = False
end
object vTabRegCis: TStringField
FieldName = 'RegCis'
Size = 30
end
object vTabNazev: TStringField
FieldName = 'Nazev'
Size = 100
end
object vTabRano: TFloatField
DisplayLabel = 'R'#225'no'
FieldName = 'Rano'
OnValidate = vTabRanoValidate
end
object vTabDoporuceno: TFloatField
FieldName = 'Doporuceno'
end
object vTabPoledne: TFloatField
FieldName = 'Poledne'
OnValidate = vTabPoledneValidate
end
object vTabStavSkladu: TFloatField
DisplayLabel = 'Stav skladu'
FieldName = 'StavSkladu'
end
object vTabPriorita: TIntegerField
DisplayWidth = 10
FieldName = 'Priorita'
Visible = False
end
object vTabCisloZbozi: TStringField
FieldName = 'CisloZbozi'
Visible = False
Size = 33
end
object vTabIDKZ: TIntegerField
FieldName = 'IDKZ'
Visible = False
end
object vTabSkupZbo: TStringField
FieldName = 'SkupZbo'
Visible = False
Size = 3
end
object vTabDodavatel: TIntegerField
FieldName = 'Dodavatel'
Visible = False
end
object vTabJenRano: TSmallintField
FieldName = 'JenRano'
Visible = False
end
object vTabMinimum: TFloatField
FieldName = 'Minimum'
Visible = False
end
object vTabDelitelnost: TFloatField
FieldName = 'Delitelnost'
Visible = False
end
object vTabPoradi: TSingleField
FieldName = 'Poradi'
Visible = False
end
object vTabK1K2: TStringField
FieldName = 'K1K2'
Visible = False
Size = 15
end
object vTabPoradiSortNazev: TStringField
FieldName = 'PoradiSortNazev'
Size = 100
end
object MemTableData: TMemTableDataEh
object DataStruct: TMTDataStructEh
object PoradiSortNazev: TMTStringDataFieldEh
FieldName = 'PoradiSortNazev'
StringDataType = fdtStringEh
DisplayWidth = 100
Size = 100
end
object Delitelnost: TMTNumericDataFieldEh
FieldName = 'Delitelnost'
NumericDataType = fdtFloatEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object Minimum: TMTNumericDataFieldEh
FieldName = 'Minimum'
NumericDataType = fdtFloatEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object JenRano: TMTNumericDataFieldEh
FieldName = 'JenRano'
NumericDataType = fdtSmallintEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object Dodavatel: TMTNumericDataFieldEh
FieldName = 'Dodavatel'
NumericDataType = fdtIntegerEh
AutoIncrement = False
DisplayWidth = 20
Visible = False
currency = False
Precision = 15
end
object SkupZbo: TMTStringDataFieldEh
FieldName = 'SkupZbo'
StringDataType = fdtStringEh
DisplayWidth = 3
Visible = False
Size = 3
end
object PoradiSort: TMTNumericDataFieldEh
FieldName = 'PoradiSort'
NumericDataType = fdtSingleEh
AutoIncrement = False
DisplayWidth = 20
Visible = False
currency = False
Precision = 15
end
object K1: TMTStringDataFieldEh
FieldName = 'K1'
StringDataType = fdtStringEh
DisplayWidth = 10
Size = 10
end
object K2: TMTStringDataFieldEh
FieldName = 'K2'
StringDataType = fdtStringEh
DisplayWidth = 10
Size = 10
end
object Sortiment: TMTStringDataFieldEh
FieldName = 'Sortiment'
StringDataType = fdtStringEh
DisplayWidth = 50
Size = 50
end
object IDZboSklad: TMTNumericDataFieldEh
FieldName = 'IDZboSklad'
NumericDataType = fdtIntegerEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object IDKZ: TMTNumericDataFieldEh
FieldName = 'IDKZ'
NumericDataType = fdtIntegerEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object RegCis: TMTStringDataFieldEh
FieldName = 'RegCis'
StringDataType = fdtStringEh
DisplayWidth = 10
Size = 30
end
object Nazev: TMTStringDataFieldEh
FieldName = 'Nazev'
StringDataType = fdtStringEh
DisplayWidth = 50
Size = 100
end
object StavSkladu: TMTNumericDataFieldEh
FieldName = 'StavSkladu'
NumericDataType = fdtFloatEh
AutoIncrement = False
DisplayLabel = '0'
DisplayWidth = 20
currency = False
Precision = 10
end
object Doporuceno: TMTNumericDataFieldEh
FieldName = 'Doporuceno'
NumericDataType = fdtFloatEh
AutoIncrement = False
DisplayLabel = '0'
DisplayWidth = 20
currency = False
Precision = 10
end
object Rano: TMTNumericDataFieldEh
FieldName = 'Rano'
NumericDataType = fdtFloatEh
AutoIncrement = False
DisplayLabel = '0'
DisplayWidth = 20
currency = False
Precision = 10
end
object Poledne: TMTNumericDataFieldEh
FieldName = 'Poledne'
NumericDataType = fdtFloatEh
AutoIncrement = False
DisplayLabel = '0'
DisplayWidth = 20
currency = False
Precision = 10
end
object K1K2: TMTStringDataFieldEh
FieldName = 'K1K2'
StringDataType = fdtStringEh
DisplayWidth = 20
Visible = False
end
object Poradi: TMTNumericDataFieldEh
FieldName = 'Poradi'
NumericDataType = fdtSingleEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object Priorita: TMTNumericDataFieldEh
FieldName = 'Priorita'
NumericDataType = fdtSmallintEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 3
end
object CisloZbozi: TMTStringDataFieldEh
FieldName = 'CisloZbozi'
StringDataType = fdtStringEh
DisplayWidth = 50
Size = 33
end
end
object RecordsList: TRecordsListEh
end
end
end
object ds: TDataSource
DataSet = vTab
Left = 13
Top = 60
end
end

1204
frmOrder21366.pas Normal file

File diff suppressed because it is too large Load Diff

677
frmPrijem.dfm Normal file
View File

@ -0,0 +1,677 @@
object formPrijem: TformPrijem
Left = 0
Top = 0
Align = alLeft
BorderIcons = [biSystemMenu]
BorderStyle = bsSingle
Caption = ' P'#345#237'jem objedn'#225'vky'
ClientHeight = 774
ClientWidth = 1324
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -21
Font.Name = 'Tahoma'
Font.Style = []
Position = poOwnerFormCenter
OnClose = FormClose
OnShow = FormShow
PixelsPerInch = 96
DesignSize = (
1324
774)
TextHeight = 25
object Label1: TLabel
Left = 138
Top = 82
Width = 130
Height = 25
Caption = 'Datum p'#345#237'jmu'
end
object Label3: TLabel
Left = 120
Top = 31
Width = 160
Height = 25
Caption = 'Druh sortimentu:'
end
object Label4: TLabel
Left = 112
Top = 138
Width = 162
Height = 25
Caption = #268#237'slo objedn'#225'vky:'
end
object Label5: TLabel
Left = 91
Top = 193
Width = 60
Height = 25
Caption = 'Z'#225'voz:'
end
object Label6: TLabel
Left = 365
Top = 193
Width = 85
Height = 25
Alignment = taRightJustify
Caption = 'Dod.fakt:'
end
object gbDodavatel: TGroupBox
Left = 666
Top = 19
Width = 640
Height = 169
Caption = ' Dodavatel '
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -21
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 8
object Label2: TLabel
Left = 28
Top = 72
Width = 71
Height = 25
Caption = 'Adresa:'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -21
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
end
object lblDodAdresa: TLabel
Left = 130
Top = 72
Width = 445
Height = 29
AutoSize = False
end
object lblDodMisto: TLabel
Left = 130
Top = 110
Width = 405
Height = 29
AutoSize = False
end
object lblDodICO: TLabel
Left = 130
Top = 142
Width = 7
Height = 25
end
object lblDodDIC: TLabel
Left = 360
Top = 142
Width = 7
Height = 25
end
object cbxDodavatel: TComboBox
Left = 28
Top = 33
Width = 589
Height = 33
Style = csDropDownList
TabOrder = 0
end
end
object gbPolozky: TGroupBox
Left = 3
Top = 276
Width = 1089
Height = 470
Anchors = [akLeft, akTop, akRight, akBottom]
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -21
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 9
object polGrd: TDBGridEh
Left = 2
Top = 27
Width = 1085
Height = 441
Align = alClient
DataGrouping.Active = True
DataGrouping.DefaultStateExpanded = True
DataGrouping.GroupLevels = <
item
ColumnName = 'Column_12_PoradiSortNazev'
end>
DataSource = ds
DynProps = <>
GridLineParams.VertEmptySpaceStyle = dessNonEh
IndicatorOptions = []
EmptyDataInfo.Active = True
EmptyDataInfo.Text = #381#225'dn'#233' polo'#382'ky nenalezeny'
Options = [dgTitles, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit]
OptionsEh = [dghFixed3D, dghData3D, dghHighlightFocus, dghClearSelection, dghRowHighlight]
SelectionDrawParams.SelectionStyle = gsdsClassicEh
STFilter.Local = True
TabOrder = 0
TitleParams.Color = clMoneyGreen
TitleParams.FillStyle = cfstSolidEh
TitleParams.MultiTitle = True
TitleParams.SecondColor = clMoneyGreen
OnDataGroupGetRowText = polGrdDataGroupGetRowText
OnDrawColumnCell = polGrdDrawColumnCell
OnKeyUp = polGrdKeyUp
Columns = <
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'PoradiSort'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'K1'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'K2'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'Sortiment'
Footers = <>
Visible = False
end
item
Alignment = taCenter
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'RegCis'
Footers = <>
ReadOnly = True
TextEditing = False
Width = 230
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'Nazev1'
Footers = <>
ReadOnly = True
TextEditing = False
Width = 594
end
item
Alignment = taCenter
CellButtons = <>
DisplayFormat = '##0.##'
DynProps = <>
EditButtons = <>
FieldName = 'Mnozstvi'
Footers = <>
Width = 105
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'IDZboSklad'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'Poradi'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'SkupZbo'
Footers = <>
Visible = False
WordWrap = True
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'IDPohybZboziObj'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'PoradiExt'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'PoradiSortNazev'
Footers = <>
TextEditing = False
Visible = False
end
item
Alignment = taCenter
CellButtons = <>
DisplayFormat = '##0.##'
DynProps = <>
EditButtons = <>
FieldName = 'JCbezDaniKc'
Footers = <>
Title.Caption = 'JC bez DPH'
Width = 120
end>
object RowDetailData: TRowDetailPanelControlEh
end
end
end
object btnOK: TButton
Left = 1124
Top = 234
Width = 191
Height = 69
Anchors = [akTop, akRight]
Caption = 'Ulo'#382'it p'#345#237'jemku'
TabOrder = 0
OnClick = btnOKClick
end
object dtZavoz: TDateTimePicker
Left = 288
Top = 79
Width = 149
Height = 33
Date = 44268.000000000000000000
Time = 0.431178437502239800
TabOrder = 1
end
object cbxSortiment: TComboBox
Left = 291
Top = 28
Width = 339
Height = 33
Style = csDropDownList
TabOrder = 2
OnChange = cbxSortimentChange
end
object edtCisloObj: TNumberBox
Left = 288
Top = 135
Width = 97
Height = 33
Alignment = taCenter
Enabled = False
TabOrder = 3
OnExit = edtCisloObjExit
end
object btnTisk: TButton
Left = 1124
Top = 320
Width = 188
Height = 49
Anchors = [akTop, akRight]
Caption = 'Vytisknout'
TabOrder = 10
Visible = False
OnClick = btnTiskClick
end
object btnRozbalit: TButton
Left = 1124
Top = 504
Width = 188
Height = 46
Anchors = [akRight, akBottom]
Caption = 'Rozbalit v'#353'e'
TabOrder = 11
OnClick = btnRozbalitClick
end
object btnSbalit: TButton
Left = 1124
Top = 572
Width = 188
Height = 45
Anchors = [akRight, akBottom]
Caption = 'Sbalit v'#353'e'
TabOrder = 12
OnClick = btnSbalitClick
end
object btnZavrit: TButton
Left = 1124
Top = 680
Width = 188
Height = 69
Anchors = [akRight, akBottom]
Caption = 'Zav'#345#237't'
TabOrder = 13
OnClick = btnZavritClick
end
object edtNumEditor: TNxEdit6
Left = 8
Top = 177
Width = 121
Height = 41
Alignment = taCenter
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -27
Font.Name = 'Tahoma'
Font.Style = []
MaxLength = 3
NumbersOnly = True
ParentFont = False
TabOrder = 14
Visible = False
UserDefinedColorPalette.GeometryHoverColor = clBlack
OnClick = edtNumEditorClick
end
object Panel1: TPanel
Left = 3
Top = 242
Width = 829
Height = 35
Caption = 'Zbo'#382#237
Color = 14471860
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Tahoma'
Font.Style = []
ParentBackground = False
ParentFont = False
TabOrder = 15
end
object Panel2: TPanel
Left = 831
Top = 242
Width = 232
Height = 35
Caption = 'P'#345#237'jem'
Color = 14471860
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Tahoma'
Font.Style = []
ParentBackground = False
ParentFont = False
TabOrder = 16
end
object btnNactiObj: TButton
Left = 398
Top = 133
Width = 117
Height = 37
Caption = 'Na'#269'ti data'
TabOrder = 4
OnClick = btnNactiObjClick
end
object cbZavoz: TComboBox
Left = 160
Top = 190
Width = 163
Height = 33
Style = csDropDownList
ExtendedUI = True
ItemIndex = 0
TabOrder = 5
Text = ' R'#225'no'
OnChange = cbZavozChange
Items.Strings = (
' R'#225'no'
' Poledne')
end
object btnNuluj: TButton
Left = 831
Top = 199
Width = 109
Height = 37
Caption = 'Vynulovat'
TabOrder = 7
Visible = False
OnClick = btnNulujClick
end
object edtDodFak: TEdit
Left = 456
Top = 189
Width = 198
Height = 33
MaxLength = 20
TabOrder = 6
end
object vTab: TMemTableEh
Params = <>
Options = [mtoPersistentStructEh]
OnFilterRecord = vTabFilterRecord
Left = 27
Top = 17
object vTabPoradiSort: TSingleField
FieldName = 'PoradiSort'
Visible = False
end
object vTabPoradi: TSmallintField
DisplayLabel = 'Po'#345'ad'#237
FieldName = 'Poradi'
DisplayFormat = '#0'
end
object vTabRegCis: TStringField
DisplayLabel = #268#237'slo'
FieldName = 'RegCis'
Required = True
Size = 30
end
object vTabNazev1: TStringField
DisplayLabel = 'N'#225'zev'
FieldName = 'Nazev1'
Size = 100
end
object vTabMnozstvi: TFloatField
DisplayLabel = 'Mno'#382'stv'#237
FieldName = 'Mnozstvi'
OnValidate = vTabMnozstviValidate
DisplayFormat = '##0.##'
end
object vTabSkupZbo: TStringField
FieldName = 'SkupZbo'
Visible = False
Size = 3
end
object vTabIDZboSklad: TIntegerField
FieldName = 'IDZboSklad'
Required = True
Visible = False
end
object vTabIDPohybZboziObj: TIntegerField
FieldName = 'IDPohybZboziObj'
Required = True
Visible = False
end
object vTabSortiment: TStringField
FieldName = 'Sortiment'
Size = 100
end
object vTabK2: TStringField
FieldName = 'K2'
Size = 10
end
object vTabK1: TStringField
FieldName = 'K1'
Size = 10
end
object vTabTypZavozu: TStringField
FieldName = 'TypZavozu'
Visible = False
Size = 1
end
object vTabPoradiExt: TSingleField
FieldName = 'PoradiExt'
Visible = False
end
object vTabK1K2: TStringField
FieldName = 'K1K2'
Visible = False
Size = 15
end
object vTabPoradiSortNazev: TStringField
FieldName = 'PoradiSortNazev'
Size = 100
end
object vTabJCbezDaniKc: TSingleField
FieldName = 'JCbezDaniKc'
end
object MemTableData: TMemTableDataEh
object DataStruct: TMTDataStructEh
object JCbezDaniKc: TMTNumericDataFieldEh
FieldName = 'JCbezDaniKc'
NumericDataType = fdtSingleEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object PoradiSortNazev: TMTStringDataFieldEh
FieldName = 'PoradiSortNazev'
StringDataType = fdtStringEh
DisplayWidth = 100
Size = 100
end
object PoradiExt: TMTNumericDataFieldEh
FieldName = 'PoradiExt'
NumericDataType = fdtSingleEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object PoradiSort: TMTNumericDataFieldEh
FieldName = 'PoradiSort'
NumericDataType = fdtSingleEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object Poradi: TMTNumericDataFieldEh
FieldName = 'Poradi'
NumericDataType = fdtSmallintEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object TypZavozu: TMTStringDataFieldEh
FieldName = 'TypZavozu'
StringDataType = fdtStringEh
DisplayWidth = 1
Size = 1
end
object Sortiment: TMTStringDataFieldEh
FieldName = 'Sortiment'
StringDataType = fdtStringEh
DisplayWidth = 100
Size = 100
end
object K2: TMTStringDataFieldEh
FieldName = 'K2'
StringDataType = fdtStringEh
DisplayWidth = 10
Visible = False
Size = 10
end
object K1: TMTStringDataFieldEh
FieldName = 'K1'
StringDataType = fdtStringEh
DisplayWidth = 10
Visible = False
Size = 10
end
object Nazev1: TMTStringDataFieldEh
FieldName = 'Nazev1'
StringDataType = fdtStringEh
DisplayWidth = 100
Size = 100
end
object RegCis: TMTStringDataFieldEh
FieldName = 'RegCis'
StringDataType = fdtStringEh
DisplayWidth = 30
Required = True
Size = 30
end
object SkupZbo: TMTStringDataFieldEh
FieldName = 'SkupZbo'
StringDataType = fdtStringEh
DisplayWidth = 3
Visible = False
Size = 3
end
object IDZboSklad: TMTNumericDataFieldEh
FieldName = 'IDZboSklad'
NumericDataType = fdtIntegerEh
AutoIncrement = False
DisplayWidth = 20
Required = True
Visible = False
currency = False
Precision = 15
end
object Mnozstvi: TMTNumericDataFieldEh
FieldName = 'Mnozstvi'
NumericDataType = fdtFloatEh
AutoIncrement = False
DisplayLabel = '0'
DisplayWidth = 20
DisplayFormat = '##0.##'
currency = False
Precision = 15
end
object K1K2: TMTStringDataFieldEh
FieldName = 'K1K2'
StringDataType = fdtStringEh
DisplayWidth = 20
Visible = False
end
object IDPohybZboziObj: TMTNumericDataFieldEh
FieldName = 'IDPohybZboziObj'
NumericDataType = fdtIntegerEh
AutoIncrement = False
DisplayWidth = 20
Required = True
Visible = False
currency = False
Precision = 15
end
end
object RecordsList: TRecordsListEh
end
end
end
object ds: TDataSource
DataSet = vTab
Left = 34
Top = 81
end
end

1004
frmPrijem.pas Normal file

File diff suppressed because it is too large Load Diff

677
frmPrijem1024.dfm Normal file
View File

@ -0,0 +1,677 @@
object formPrijem1024: TformPrijem1024
Left = 0
Top = 0
Align = alLeft
BorderIcons = [biSystemMenu]
BorderStyle = bsSingle
Caption = ' P'#345#237'jem objedn'#225'vky'
ClientHeight = 729
ClientWidth = 1008
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -19
Font.Name = 'Tahoma'
Font.Style = []
Position = poOwnerFormCenter
OnClose = FormClose
OnShow = FormShow
PixelsPerInch = 96
DesignSize = (
1008
729)
TextHeight = 23
object Label1: TLabel
Left = 42
Top = 69
Width = 116
Height = 23
Caption = 'Datum p'#345#237'jmu'
end
object Label3: TLabel
Left = 24
Top = 18
Width = 144
Height = 23
Caption = 'Druh sortimentu:'
end
object Label4: TLabel
Left = 16
Top = 125
Width = 145
Height = 23
Caption = #268#237'slo objedn'#225'vky:'
end
object Label5: TLabel
Left = 15
Top = 180
Width = 55
Height = 23
Caption = 'Z'#225'voz:'
end
object Label6: TLabel
Left = 270
Top = 180
Width = 78
Height = 23
Alignment = taRightJustify
Caption = 'Dod.fakt:'
end
object gbDodavatel: TGroupBox
Left = 528
Top = 15
Width = 468
Height = 169
Caption = ' Dodavatel '
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -21
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 5
object Label2: TLabel
Left = 28
Top = 72
Width = 71
Height = 25
Caption = 'Adresa:'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -21
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
end
object lblDodAdresa: TLabel
Left = 130
Top = 72
Width = 445
Height = 29
AutoSize = False
end
object lblDodMisto: TLabel
Left = 130
Top = 110
Width = 405
Height = 29
AutoSize = False
end
object lblDodICO: TLabel
Left = 130
Top = 142
Width = 7
Height = 25
end
object lblDodDIC: TLabel
Left = 360
Top = 142
Width = 7
Height = 25
end
object cbxDodavatel: TComboBox
Left = 28
Top = 33
Width = 435
Height = 33
Style = csDropDownList
TabOrder = 0
end
end
object gbPolozky: TGroupBox
Left = 5
Top = 276
Width = 788
Height = 425
Anchors = [akLeft, akTop, akRight, akBottom]
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -21
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 6
object polGrd: TDBGridEh
Left = 2
Top = 27
Width = 784
Height = 396
Align = alClient
DataGrouping.Active = True
DataGrouping.DefaultStateExpanded = True
DataGrouping.GroupLevels = <
item
ColumnName = 'Column_12_PoradiSortNazev'
end>
DataSource = ds
DynProps = <>
GridLineParams.VertEmptySpaceStyle = dessNonEh
IndicatorOptions = []
EmptyDataInfo.Active = True
EmptyDataInfo.Text = #381#225'dn'#233' polo'#382'ky nenalezeny'
Options = [dgTitles, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit]
OptionsEh = [dghFixed3D, dghData3D, dghHighlightFocus, dghClearSelection, dghRowHighlight]
SelectionDrawParams.SelectionStyle = gsdsClassicEh
STFilter.Local = True
TabOrder = 0
TitleParams.Color = clMoneyGreen
TitleParams.FillStyle = cfstSolidEh
TitleParams.MultiTitle = True
TitleParams.SecondColor = clMoneyGreen
OnDataGroupGetRowText = polGrdDataGroupGetRowText
OnDrawColumnCell = polGrdDrawColumnCell
OnKeyUp = polGrdKeyUp
Columns = <
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'PoradiSort'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'K1'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'K2'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'Sortiment'
Footers = <>
Visible = False
end
item
Alignment = taCenter
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'RegCis'
Footers = <>
ReadOnly = True
TextEditing = False
Width = 115
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'Nazev1'
Footers = <>
ReadOnly = True
TextEditing = False
Width = 397
end
item
Alignment = taCenter
CellButtons = <>
DisplayFormat = '##0.##'
DynProps = <>
EditButtons = <>
FieldName = 'Mnozstvi'
Footers = <>
Width = 94
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'IDZboSklad'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'Poradi'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'SkupZbo'
Footers = <>
Visible = False
WordWrap = True
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'IDPohybZboziObj'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'PoradiExt'
Footers = <>
Visible = False
end
item
CellButtons = <>
DynProps = <>
EditButtons = <>
FieldName = 'PoradiSortNazev'
Footers = <>
TextEditing = False
Visible = False
end
item
Alignment = taCenter
CellButtons = <>
DisplayFormat = '##0.##'
DynProps = <>
EditButtons = <>
FieldName = 'JCbezDaniKc'
Footers = <>
Title.Caption = 'JC bez DPH'
Width = 120
end>
object RowDetailData: TRowDetailPanelControlEh
end
end
end
object btnOK: TButton
Left = 809
Top = 228
Width = 191
Height = 69
Anchors = [akTop, akRight]
Caption = 'Ulo'#382'it p'#345#237'jemku'
TabOrder = 0
OnClick = btnOKClick
end
object dtZavoz: TDateTimePicker
Left = 172
Top = 66
Width = 149
Height = 31
Date = 44268.000000000000000000
Time = 0.431178437502239800
TabOrder = 1
end
object cbxSortiment: TComboBox
Left = 172
Top = 15
Width = 306
Height = 31
Style = csDropDownList
TabOrder = 2
OnChange = cbxSortimentChange
end
object edtCisloObj: TNumberBox
Left = 172
Top = 122
Width = 97
Height = 31
Alignment = taCenter
Enabled = False
TabOrder = 3
OnExit = edtCisloObjExit
end
object btnTisk: TButton
Left = 809
Top = 314
Width = 188
Height = 49
Anchors = [akTop, akRight]
Caption = 'Vytisknout'
TabOrder = 7
Visible = False
OnClick = btnTiskClick
end
object btnRozbalit: TButton
Left = 809
Top = 453
Width = 188
Height = 46
Anchors = [akRight, akBottom]
Caption = 'Rozbalit v'#353'e'
TabOrder = 8
OnClick = btnRozbalitClick
end
object btnSbalit: TButton
Left = 809
Top = 521
Width = 188
Height = 45
Anchors = [akRight, akBottom]
Caption = 'Sbalit v'#353'e'
TabOrder = 9
OnClick = btnSbalitClick
end
object btnZavrit: TButton
Left = 809
Top = 629
Width = 188
Height = 69
Anchors = [akRight, akBottom]
Caption = 'Zav'#345#237't'
TabOrder = 10
OnClick = btnZavritClick
end
object edtNumEditor: TNxEdit6
Left = 882
Top = 190
Width = 121
Height = 41
Alignment = taCenter
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -27
Font.Name = 'Tahoma'
Font.Style = []
MaxLength = 3
NumbersOnly = True
ParentFont = False
TabOrder = 11
Visible = False
UserDefinedColorPalette.GeometryHoverColor = clBlack
OnClick = edtNumEditorClick
end
object Panel1: TPanel
Left = 5
Top = 242
Width = 518
Height = 35
Caption = 'Zbo'#382#237
Color = 14471860
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Tahoma'
Font.Style = []
ParentBackground = False
ParentFont = False
TabOrder = 12
end
object Panel2: TPanel
Left = 522
Top = 242
Width = 219
Height = 35
Caption = 'P'#345#237'jem'
Color = 14471860
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Tahoma'
Font.Style = []
ParentBackground = False
ParentFont = False
TabOrder = 13
end
object btnNactiObj: TButton
Left = 282
Top = 120
Width = 117
Height = 37
Caption = 'Na'#269'ti data'
TabOrder = 14
OnClick = btnNactiObjClick
end
object cbZavoz: TComboBox
Left = 84
Top = 177
Width = 163
Height = 31
Style = csDropDownList
ExtendedUI = True
ItemIndex = 0
TabOrder = 4
Text = ' R'#225'no'
OnChange = cbZavozChange
Items.Strings = (
' R'#225'no'
' Poledne')
end
object btnNuluj: TButton
Left = 570
Top = 205
Width = 106
Height = 37
Caption = 'Vynulovat'
TabOrder = 15
Visible = False
OnClick = btnNulujClick
end
object edtDodFak: TEdit
Left = 354
Top = 177
Width = 162
Height = 31
MaxLength = 20
TabOrder = 16
end
object vTab: TMemTableEh
Params = <>
Options = [mtoPersistentStructEh]
OnFilterRecord = vTabFilterRecord
Left = 3
Top = 2
object vTabPoradiSort: TSingleField
FieldName = 'PoradiSort'
Visible = False
end
object vTabPoradi: TSmallintField
DisplayLabel = 'Po'#345'ad'#237
FieldName = 'Poradi'
DisplayFormat = '#0'
end
object vTabRegCis: TStringField
DisplayLabel = #268#237'slo'
FieldName = 'RegCis'
Required = True
Size = 30
end
object vTabNazev1: TStringField
DisplayLabel = 'N'#225'zev'
FieldName = 'Nazev1'
Size = 100
end
object vTabMnozstvi: TFloatField
DisplayLabel = 'Mno'#382'stv'#237
FieldName = 'Mnozstvi'
OnValidate = vTabMnozstviValidate
DisplayFormat = '##0.##'
end
object vTabSkupZbo: TStringField
FieldName = 'SkupZbo'
Visible = False
Size = 3
end
object vTabIDZboSklad: TIntegerField
FieldName = 'IDZboSklad'
Required = True
Visible = False
end
object vTabIDPohybZboziObj: TIntegerField
FieldName = 'IDPohybZboziObj'
Required = True
Visible = False
end
object vTabSortiment: TStringField
FieldName = 'Sortiment'
Size = 100
end
object vTabK2: TStringField
FieldName = 'K2'
Size = 10
end
object vTabK1: TStringField
FieldName = 'K1'
Size = 10
end
object vTabTypZavozu: TStringField
FieldName = 'TypZavozu'
Visible = False
Size = 1
end
object vTabPoradiExt: TSingleField
FieldName = 'PoradiExt'
Visible = False
end
object vTabK1K2: TStringField
FieldName = 'K1K2'
Visible = False
Size = 15
end
object vTabPoradiSortNazev: TStringField
FieldName = 'PoradiSortNazev'
Size = 100
end
object vTabJCbezDaniKc: TSingleField
FieldName = 'JCbezDaniKc'
end
object MemTableData: TMemTableDataEh
object DataStruct: TMTDataStructEh
object JCbezDaniKc: TMTNumericDataFieldEh
FieldName = 'JCbezDaniKc'
NumericDataType = fdtSingleEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object PoradiSortNazev: TMTStringDataFieldEh
FieldName = 'PoradiSortNazev'
StringDataType = fdtStringEh
DisplayWidth = 100
Size = 100
end
object PoradiExt: TMTNumericDataFieldEh
FieldName = 'PoradiExt'
NumericDataType = fdtSingleEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object PoradiSort: TMTNumericDataFieldEh
FieldName = 'PoradiSort'
NumericDataType = fdtSingleEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object Poradi: TMTNumericDataFieldEh
FieldName = 'Poradi'
NumericDataType = fdtSmallintEh
AutoIncrement = False
DisplayWidth = 20
currency = False
Precision = 15
end
object TypZavozu: TMTStringDataFieldEh
FieldName = 'TypZavozu'
StringDataType = fdtStringEh
DisplayWidth = 1
Size = 1
end
object Sortiment: TMTStringDataFieldEh
FieldName = 'Sortiment'
StringDataType = fdtStringEh
DisplayWidth = 100
Size = 100
end
object K2: TMTStringDataFieldEh
FieldName = 'K2'
StringDataType = fdtStringEh
DisplayWidth = 10
Visible = False
Size = 10
end
object K1: TMTStringDataFieldEh
FieldName = 'K1'
StringDataType = fdtStringEh
DisplayWidth = 10
Visible = False
Size = 10
end
object Nazev1: TMTStringDataFieldEh
FieldName = 'Nazev1'
StringDataType = fdtStringEh
DisplayWidth = 100
Size = 100
end
object RegCis: TMTStringDataFieldEh
FieldName = 'RegCis'
StringDataType = fdtStringEh
DisplayWidth = 30
Required = True
Size = 30
end
object SkupZbo: TMTStringDataFieldEh
FieldName = 'SkupZbo'
StringDataType = fdtStringEh
DisplayWidth = 3
Visible = False
Size = 3
end
object IDZboSklad: TMTNumericDataFieldEh
FieldName = 'IDZboSklad'
NumericDataType = fdtIntegerEh
AutoIncrement = False
DisplayWidth = 20
Required = True
Visible = False
currency = False
Precision = 15
end
object Mnozstvi: TMTNumericDataFieldEh
FieldName = 'Mnozstvi'
NumericDataType = fdtFloatEh
AutoIncrement = False
DisplayLabel = '0'
DisplayWidth = 20
DisplayFormat = '##0.##'
currency = False
Precision = 15
end
object K1K2: TMTStringDataFieldEh
FieldName = 'K1K2'
StringDataType = fdtStringEh
DisplayWidth = 20
Visible = False
end
object IDPohybZboziObj: TMTNumericDataFieldEh
FieldName = 'IDPohybZboziObj'
NumericDataType = fdtIntegerEh
AutoIncrement = False
DisplayWidth = 20
Required = True
Visible = False
currency = False
Precision = 15
end
end
object RecordsList: TRecordsListEh
end
end
end
object ds: TDataSource
DataSet = vTab
Left = 4
Top = 57
end
end

1001
frmPrijem1024.pas Normal file

File diff suppressed because it is too large Load Diff

301
frmZamena.dfm Normal file
View File

@ -0,0 +1,301 @@
object formZamena: TformZamena
Left = 0
Top = 0
BorderIcons = [biSystemMenu]
BorderStyle = bsSingle
Caption = ' Operativn'#237' z'#225'm'#283'na'
ClientHeight = 390
ClientWidth = 492
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -27
Font.Name = 'Segoe UI'
Font.Style = []
Position = poOwnerFormCenter
OnClose = FormClose
PixelsPerInch = 96
DesignSize = (
492
390)
TextHeight = 37
object Label1: TLabel
Left = 18
Top = 27
Width = 56
Height = 32
Caption = #268#237'slo:'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Segoe UI'
Font.Style = []
ParentFont = False
end
object Label2: TLabel
Left = 18
Top = 92
Width = 71
Height = 32
Caption = 'N'#225'zev:'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Segoe UI'
Font.Style = []
ParentFont = False
end
object lblNazev: TLabel
Left = 102
Top = 92
Width = 373
Height = 32
Anchors = [akLeft, akTop, akRight]
AutoSize = False
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Segoe UI'
Font.Style = []
ParentFont = False
end
object Label3: TLabel
Left = 18
Top = 140
Width = 124
Height = 32
Caption = 'Stav skladu:'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Segoe UI'
Font.Style = []
ParentFont = False
end
object Label4: TLabel
Left = 25
Top = 204
Width = 152
Height = 32
Caption = 'N'#225'kupn'#237' cena:'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Segoe UI'
Font.Style = []
ParentFont = False
end
object Label5: TLabel
Left = 75
Top = 254
Width = 102
Height = 32
Caption = 'Mno'#382'stv'#237':'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Segoe UI'
Font.Style = []
ParentFont = False
end
object lblStav: TLabel
Left = 195
Top = 140
Width = 164
Height = 32
Anchors = [akLeft, akTop, akRight]
AutoSize = False
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -24
Font.Name = 'Segoe UI'
Font.Style = []
ParentFont = False
end
object edtKod: TEdit
Left = 80
Top = 20
Width = 320
Height = 45
Alignment = taCenter
AutoSize = False
TabOrder = 0
OnExit = edtKodExit
end
object btnHledat: TBitBtn
Left = 415
Top = 15
Width = 54
Height = 55
Glyph.Data = {
36100000424D3610000000000000360000002800000020000000200000000100
2000000000000010000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000003B3B3B853B3B3B85000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00003B3B3B85727272FF727272FF3B3B3B850000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00003636367A727272FF727272FF727272FF3B3B3B8500000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000003636367A727272FF727272FF727272FF3B3B3B85000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000003636367A727272FF727272FF727272FF3B3B3B850000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000003636367A727272FF727272FF727272FF3B3B
3B85000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000003636367A727272FF727272FF7272
72FF3B3B3B850000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000003636367A727272FF7272
72FF727272FF3B3B3B8500000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000003636367A7272
72FF727272FF727272FF3B3B3B85000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000003636
367A727272FF727272FF727272FF3B3B3B850000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00003636367A727272FF727272FF727272FF3B3B3B85000000002A1703328148
0A9ABB670FDDD57611FDD57611FDBC680FDF84490A9D2D190436000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000003636367A727272FF727272FF75726FFF945B1EC5D67711FED777
11FFD77711FFD77711FFD77711FFD77711FFD77711FFD77711FE874B0BA00905
010B000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000003636367A75726FFFBD762AFFD77711FFD17310F77641
098C2816033004020004030200042615032D723F0987CF7210F5D77711FFA65C
0DC40905010B0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000090581DBFD77711FFBF6A0FE32615032E0000
0000000000000000000000000000000000000000000022130328BA670FDDD777
11FF874A0BA00000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000002615032DD57611FDD27411F92816032F000000000000
000000000000000000000000000000000000000000000000000022130328CF72
10F5D77711FE2E19043600000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000007B440A92D77711FF7B440A9200000000000000000000
000000000000000000000000000000000000000000000000000000000000723F
0987D77711FF84490A9D00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000B3630ED5D77711FF2F1A043800000000000000000000
0000000000000000000000000000000000000000000000000000000000002615
032DD77711FFBC680FDF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000CD7110F3D77711FF0C06010E00000000000000000000
0000000000000000000000000000000000000000000000000000000000000302
0004D77711FFD57611FD00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000CC7110F2D77711FF0D07010F00000000000000000000
0000000000000000000000000000000000000000000000000000000000000402
0004D77711FFD57611FD00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000B1620ED3D77711FF311B043A00000000000000000000
0000000000000000000000000000000000000000000000000000000000002816
0330D77711FFBA670FDD00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000007843098FD77711FF7F460A9700000000000000000000
0000000000000000000000000000000000000000000000000000000000007641
098CD77711FF81470A9A00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000022130329D57611FCD37511FA2D190435000000000000
00000000000000000000000000000000000000000000000000002715032ED173
10F7D67711FE2A17033200000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000007742098DD77711FFC36C0FE72D1903350000
000000000000000000000000000000000000000000002816032FBF6A0FE3D777
11FF80470A980000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000503000698540CB4D77711FFD37511FB7F46
0A97311B043A0D07010F0C07010E2F1A04387B440A92D27411F9D77711FF9F58
0DBD070401080000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000050300067742098DD57611FCD777
11FFD77711FFD77711FFD77711FFD77711FFD77711FFD57611FD7D450A950704
0108000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000221303297943
098FB2620ED3CC7110F2CC7110F3B3630ED57C440A922615032D000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000}
TabOrder = 1
OnClick = btnHledatClick
end
object edtNakup: TNumberBox
Left = 189
Top = 197
Width = 181
Height = 45
Alignment = taCenter
Mode = nbmFloat
TabOrder = 2
OnExit = edtNakupExit
end
object edtMnoz: TNumberBox
Left = 189
Top = 248
Width = 181
Height = 45
Alignment = taCenter
Mode = nbmFloat
TabOrder = 3
end
object btnOK: TButton
Left = 57
Top = 327
Width = 139
Height = 49
Caption = 'OK'
TabOrder = 4
OnClick = btnOKClick
end
object btnStorno: TButton
Left = 324
Top = 327
Width = 139
Height = 49
Caption = 'Storno'
TabOrder = 5
OnClick = btnStornoClick
end
end

162
frmZamena.pas Normal file
View File

@ -0,0 +1,162 @@
unit frmZamena;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Buttons, Vcl.NumberBox, ddPlugin_TLB;
type
TformZamena = class(TForm)
Label1: TLabel;
edtKod: TEdit;
btnHledat: TBitBtn;
Label2: TLabel;
lblNazev: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
edtNakup: TNumberBox;
edtMnoz: TNumberBox;
btnOK: TButton;
btnStorno: TButton;
lblStav: TLabel;
procedure btnHledatClick(Sender: TObject);
procedure edtNakupExit(Sender: TObject);
procedure btnOKClick(Sender: TObject);
procedure btnStornoClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure edtKodExit(Sender: TObject);
private
public
Helios: IHelios;
jeTest: boolean;
end;
var
formZamena: TformZamena;
idKZ, idSS: integer;
mj: string;
stav: Extended;
implementation
uses helUtils;
{$R *.dfm}
procedure TformZamena.btnHledatClick(Sender: TObject);
var lSQL: string;
begin
edtKod.Text:= edtKod.Text.Trim;
if (edtKod.Text<>'') then
begin
try
with Helios.OpenSQL('SELECT ID FROM ' + tblKZ + ' WHERE RegCis=N' + edtKod.Text.QuotedString) do
if (RecordCount=1) then
begin
idKZ:= helUtils.getHeliosIntVal(Helios, 0, 'SELECT ID FROM ' + tblKZ + ' WHERE RegCis=N' + edtKod.Text.QuotedString);
lblNazev.Caption:= helUtils.getHeliosStrVal(Helios, '', 'SELECT Nazev1 FROM ' + tblKZ + ' WHERE ID=' + idKZ.ToString);
mj:= helUtils.getHeliosStrVal(Helios, '', 'SELECT MJEvidence FROM ' + tblKZ + ' WHERE ID=' + idKZ.ToString);
stav:= helUtils.getHeliosFloatVal(Helios, 0, 'SELECT Mnozstvi FROM ' + tblSS + ' WHERE IDSklad=N' + Helios.Sklad.QuotedString + ' AND IDKmenZbozi=' + idKZ.toString);
lblStav.Caption:= Trim(stav.ToString + ' ' + mj);
lSQL:= 'CASE Mnozstvi WHEN 0 THEN 0 ELSE StavSkladuSouvis/Mnozstvi END';
edtNakup.Value:= helUtils.getHeliosFloatVal(Helios, 0, 'SELECT ' + lSQL + ' FROM ' + tblSS + ' WHERE IDSklad=N' + Helios.Sklad.QuotedString + ' AND IDKmenZbozi=' + idKZ.toString);
end
else
begin
stav:= 0;
lblStav.Caption:= '';
lblNazev.Caption:= '';
idKZ:= 0;
if (RecordCount=0) then
Helios.Error(#1'Nebyla nalezena žádná karta'#1)
else
Helios.Error(#1'Zadanému kódu odpovídá víc než 1 karta'#1);
if (edtKod.CanFocus) then
edtKod.SetFocus;
end;
except
end;
end;
end;
procedure TformZamena.btnOKClick(Sender: TObject);
var lSQL: string;
begin
if (edtMnoz.Value<(-1.0*stav)) then
begin
Helios.Error(#1'!! Nelze vydat víc než máte skladem !!'#1);
if (edtMnoz.CanFocus) then
begin
edtMnoz.SetFocus;
Exit;
end;
end;
if (edtMnoz.Value=0) then
Helios.Error(#1'Zadejte množství'#1)
else
if (idKZ=0) then
Helios.Error(#1'Není specifikována karta zboží'#1)
else
begin
lSQL:= 'IF OBJECT_ID(N''tempdb..#TabAppZamena'') IS NOT NULL DROP TABLE #TabAppZamena' + CRLF;
lSQL:= lSQL + 'CREATE TABLE #TabAppZamena (IDKmenZbozi INT, IDSklad NVARCHAR(30) NOT NULL, Mnozstvi NUMERIC(19,6) NOT NULL DEFAULT 0.0';
lSQL:= lSQL + ', NakupniCena NUMERIC(19,6) NOT NULL DEFAULT 0.0, UserID INT NOT NULL)' + CRLF;
lSQL:= lSQL + 'INSERT #TabAppZamena (IDKmenZbozi, IDSklad, Mnozstvi, NakupniCena, UserID) SELECT ' + idKZ.ToString + ', N' + Helios.Sklad.QuotedString;
lSQL:= lSQL + ', ' + edtMnoz.Value.ToString.Replace(',', '.') + ', ' + edtNakup.Value.ToString.Replace(',', '.') + ', ' + Helios.UserId.ToString + CRLF;
lSQL:= lSQL + 'IF OBJECT_ID(N''dbo.ep_HDC_App_Zamena'') IS NOT NULL EXEC dbo.ep_HDC_App_Zamena';
try
helUtils.waitStart(nil, 'Generuji doklad...', 0, 255);
Helios.ExecSQL(lSQL);
helUtils.waitEnd;
except on E:Exception do
Helios.Error('Chyba: ' + E.Message);
end;
Close;
end;
end;
procedure TformZamena.btnStornoClick(Sender: TObject);
begin
Close;
end;
procedure TformZamena.edtKodExit(Sender: TObject);
begin
btnHledatClick(Sender);
end;
procedure TformZamena.edtNakupExit(Sender: TObject);
begin
if (edtNakup.Value<=0) then
begin
Helios.Error(#1'!! Nákupní cena musí být větší než 0 !!'#1);
if (edtNakup.CanFocus) then
edtNakup.SetFocus;
end;
end;
procedure TformZamena.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:= caFree;
end;
end.

5
plgPolanskych.ctp Normal file
View File

@ -0,0 +1,5 @@
4
AutoGen False
GAC:mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

55
plgPolanskych.dpr Normal file
View File

@ -0,0 +1,55 @@
library plgPolanskych;
{$WEAKLINKRTTI ON}
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}
{$IFOPT D-}
{$SetPEFlags $AE0E}
{$SetPEOptFlags $AE0E}
{$ELSE}
{$SetPEFlags $AC02}
{$SetPEOptFlags $AC02}
{$ENDIF}
// IMAGE_FILE_RELOCS_STRIPPED = $0001
// IMAGE_FILE_EXECUTABLE_IMAGE = $0002 *
// IMAGE_FILE_LINE_NUMS_STRIPPED = $0004 *
// IMAGE_FILE_LOCAL_SYMS_STRIPPED = $0008 *
// IMAGE_FILE_AGGRESIVE_WS_TRIM = $0010
// IMAGE_FILE_LARGE_ADDRESS_AWARE = $0020
// IMAGE_FILE_BYTES_REVERSED_LO = $0080
// IMAGE_FILE_32BIT_MACHINE = $0100
// IMAGE_FILE_DEBUG_STRIPPED = $0200
// IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP = $0400 *
// IMAGE_FILE_NET_RUN_FROM_SWAP = $0800 *
// IMAGE_FILE_SYSTEM = $1000
// IMAGE_FILE_DLL = $2000 *
// IMAGE_FILE_UP_SYSTEM_ONLY = $4000
// IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE = $8000 *
uses
System.Win.ComServ,
ComObjekt in 'ComObjekt.pas',
frmLikvidace in 'frmLikvidace.pas' {formLikvidace},
frmLikvidace1024 in 'frmLikvidace1024.pas' {formLikvidace1024},
frmPrijem in 'frmPrijem.pas' {formPrijem},
frmPrijem1024 in 'frmPrijem1024.pas' {formPrijem1024},
frmOrder in 'frmOrder.pas' {formOrder},
frmOrder2 in 'frmOrder2.pas' {formOrder2},
frmOrder21024 in 'frmOrder21024.pas' {formOrder21024},
frmOrder21366 in 'frmOrder21366.pas' {formOrder21366},
frmZamena in 'frmZamena.pas' {formZamena},
datModObj in 'datModObj.pas' {dm: TDataModule},
datModPrij in 'datModPrij.pas' {dm: TDataModule};
exports
DllGetClassObject,
DllCanUnloadNow,
DllRegisterServer,
DllUnregisterServer;
{$R *.RES}
begin
end.

1249
plgPolanskych.dproj Normal file

File diff suppressed because it is too large Load Diff

7
plgPolanskych.eof Normal file
View File

@ -0,0 +1,7 @@

[Exception Log]
EurekaLog Version=7007
Activate=0
DeleteMapAfterCompile=0
Encrypt Password=""

BIN
plgPolanskych.res Normal file

Binary file not shown.