Pridana funkcnost zmeny planovaneho ukonceni prikazu podle tabulky (comObject akce 36) + prvni verze generovani KoopObj dle stare HDC funkcnosti ctecky
This commit is contained in:
@@ -0,0 +1,617 @@
|
||||
unit frmGenKoopObj;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
||||
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Data.DB, Vcl.Grids, Vcl.DBGrids, JvExDBGrids,
|
||||
JvDBGrid, RzTabs, Vcl.StdCtrls, RzCmboBx, Vcl.ComCtrls,
|
||||
ddPlugin_TLB, Vcl.Menus;
|
||||
|
||||
type
|
||||
TformGenKoopObj = class(TForm)
|
||||
pnl1: TGridPanel;
|
||||
grdHlavicky: TJvDBGrid;
|
||||
pgCtrl: TRzPageControl;
|
||||
shHlavicky: TRzTabSheet;
|
||||
shNovaObj: TRzTabSheet;
|
||||
btnNovaObj: TButton;
|
||||
btnPrijem: TButton;
|
||||
btnReload: TButton;
|
||||
pnl2: TGridPanel;
|
||||
pnl3: TGridPanel;
|
||||
btnPolUloz: TButton;
|
||||
btnPolSmaz: TButton;
|
||||
GridPanel1: TGridPanel;
|
||||
Label1: TLabel;
|
||||
cbKooperanti: TRzComboBox;
|
||||
Label2: TLabel;
|
||||
dtPozadDodani: TDateTimePicker;
|
||||
btnNovaPol: TButton;
|
||||
edtBarcode: TEdit;
|
||||
grdNovePolozky: TJvDBGrid;
|
||||
lblTypKodu: TLabel;
|
||||
pMenu: TPopupMenu;
|
||||
pM1ZmenaMnoz: TMenuItem;
|
||||
N1: TMenuItem;
|
||||
pM1Smazat: TMenuItem;
|
||||
procedure edtBarcodeExit (Sender: TObject);
|
||||
procedure shNovaObjShow (Sender: TObject);
|
||||
procedure btnNovaPolClick (Sender: TObject);
|
||||
procedure cbKooperantiChange (Sender: TObject);
|
||||
procedure FormShow (Sender: TObject);
|
||||
procedure btnNovaObjClick (Sender: TObject);
|
||||
procedure btnPolSmazClick (Sender: TObject);
|
||||
procedure pM1SmazatClick(Sender: TObject);
|
||||
procedure pM1ZmenaMnozClick(Sender: TObject);
|
||||
procedure btnPolUlozClick(Sender: TObject);
|
||||
strict private
|
||||
function SumPolozkyDleDavky (const idDavky: integer): Extended;
|
||||
function SumPolozkyDlePrikazu (const idPrikaz: integer): Extended;
|
||||
procedure NactiKooperanty;
|
||||
public
|
||||
Helios: IHelios;
|
||||
typObj: integer;
|
||||
end;
|
||||
|
||||
var
|
||||
formGenKoopObj: TformGenKoopObj;
|
||||
jsemKooperace, operUzavrena, skenPrikaz, skipMe: boolean;
|
||||
idDavka, idDavkaRodic, locIDDavka, locIDDavkaSelf, ksNaStrom, dokladPrP: integer;
|
||||
idKoopObj, idPrikaz, idKmen, idOperace, idKoop, idKoopNew, typOper, cOrgKooperant, stavVPr: integer;
|
||||
idKoopObjH: integer;
|
||||
numDavka, kodOp, kodKoop, radaPrikaz, mjDavky, rc, altPrP: string;
|
||||
ksSum, ks, ksZive: Extended;
|
||||
typSkenKod, typDavky: byte;
|
||||
aktCisOrgKoop, aktIdOrgKoop: integer;
|
||||
|
||||
|
||||
implementation
|
||||
uses System.RegularExpressions, System.StrUtils, System.DateUtils,
|
||||
dataMod,
|
||||
helUtils;
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformGenKoopObj.NactiKooperanty;
|
||||
var lSQL: string;
|
||||
nazevOrg: string;
|
||||
i, ii, iLoop, cOrg: integer;
|
||||
begin
|
||||
if (idKoop=0) then
|
||||
begin
|
||||
if (idKoopObj>0) then
|
||||
lSQL := 'SELECT o.Nazev, h.CisloOrg FROM ' + tblKoopH + ' h JOIN ' + tblCOrg + ' o ON (o.CisloOrg=h.CisloOrg) WHERE h.ID=' + idKoopObj.ToString
|
||||
else
|
||||
lSQL := 'SELECT k.CisloOrg, o.Nazev FROM ' + dataMod.tblHDCKooperanti + ' k JOIN ' + tblCOrg + ' o ON (o.CisloOrg=k.CisloOrg)'
|
||||
+ ' WHERE o.Stav=0 AND k.Aktivni=1 And k.Typ=1 ORDER BY o.Nazev';
|
||||
|
||||
end // idKoop=0
|
||||
else
|
||||
lSQL := 'IF OBJECT_ID(N''dbo._hdc_TabCKoopCena'', N''U'') IS NOT NULL' + CRLF
|
||||
+ ' SELECT o.Nazev, o.CisloOrg FROM ' + tblCisKoop + ' ck JOIN ' + tblCOrg + ' o ON (o.ID=ck.dodavatel) WHERE o.Stav=0 AND ck.ID=' + idKoop.ToString + CRLF
|
||||
+ ' UNION ALL' + CRLF
|
||||
+ ' SELECT o.Nazev, o.CisloOrg FROM dbo._hdc_TabCKoopCena ckc JOIN ' + tblCOrg + ' o ON (o.CisloOrg=ckc.CisloOrg) WHERE o.Stav=0 AND ckc.IDKooperace=' + idKoop.ToString + CRLF
|
||||
+ ' ELSE' + CRLF
|
||||
+ ' SELECT o.Nazev, o.CisloOrg FROM ' + tblCisKoop + ' ck JOIN ' + tblCOrg + ' o ON (o.ID=ck.dodavatel) WHERE o.Stav=0 AND ck.ID=' + idKoop.ToString;
|
||||
|
||||
i := 0;
|
||||
ii := 0;
|
||||
iLoop := 0;
|
||||
|
||||
cbKooperanti.Items.Clear;
|
||||
if (idKoopObj=0) then
|
||||
cbKooperanti.Items.Add ('-- Vyberte --');
|
||||
|
||||
|
||||
with Helios.OpenSQL (lSQL) do
|
||||
if (RecordCount>0) then
|
||||
begin
|
||||
First;
|
||||
while not(EOF) do
|
||||
begin
|
||||
cOrg := FieldByNameValues('CisloOrg');
|
||||
if (cOrg=cOrgKooperant) then
|
||||
ii := iLoop;
|
||||
nazevOrg := FieldByNameValues('Nazev');
|
||||
cbKooperanti.Items.AddObject (cOrg.ToString + ' - ' + nazevOrg, TKooperant.Create (nazevOrg, cOrg, Helios) );
|
||||
Inc (iLoop);
|
||||
Next;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformGenKoopObj.pM1SmazatClick (Sender: TObject);
|
||||
begin
|
||||
if Helios.YesNo('Smazat položku?', false) then
|
||||
dataMod.dm.tblInsOperace.Delete;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformGenKoopObj.pM1ZmenaMnozClick (Sender: TObject);
|
||||
var iBox: string;
|
||||
mn, mnOrig: Extended;
|
||||
begin
|
||||
mnOrig := dataMod.dm.tblInsOperace.FieldByName('Kusy').AsExtended;
|
||||
|
||||
iBox := InputBox('Zmìna množství (bylo ' + mnOrig.ToString + ')', 'Nové množství', mnOrig.ToString);
|
||||
if not(TryStrToFloat(iBox, mn)) then
|
||||
mn := -1;
|
||||
|
||||
if (mn>0) and (mn<=mnOrig) then
|
||||
begin
|
||||
try
|
||||
dataMod.dm.tblInsOperace.Edit;
|
||||
dataMod.dm.tblInsOperace.FieldByName('Kusy').AsExtended := mn;
|
||||
dataMod.dm.tblInsOperace.Post;
|
||||
except
|
||||
dataMod.dm.tblInsOperace.Cancel;
|
||||
end;
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformGenKoopObj.btnNovaObjClick (Sender: TObject);
|
||||
var lSQL, ozn: string;
|
||||
begin
|
||||
shNovaObj.TabVisible := true;
|
||||
pgCtrl.ActivePage := shNovaObj;
|
||||
shHlavicky.TabVisible := false;
|
||||
self.Invalidate;
|
||||
|
||||
if (idKoopObjH=0) then
|
||||
begin
|
||||
ozn := InputBox('NOVÁ OJEDNÁVKA', 'Vaše oznaèení:', '');
|
||||
lSQL := 'INSERT ' + tblKoopH + ' (TypObj, DeviceID, BlokujeDevice, Oznaceni) SELECT ' + typObj.ToString + ', N' + ('H-' + Helios.LoginName).QuotedString
|
||||
+ ', N' + ('H-' + Helios.LoginName).QuotedString + ', N' + ozn.QuotedString + CRLF + 'SELECT SCOPE_IDENTITY() AS newID';
|
||||
with Helios.OpenSQL (lSQL) do
|
||||
idKoopObjH := FieldByNameValues('newID');
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformGenKoopObj.btnNovaPolClick (Sender: TObject);
|
||||
begin
|
||||
typSkenKod := 1;
|
||||
kodOp := '';
|
||||
ks := 0;
|
||||
ksZive := 0;
|
||||
ksSum := 0;
|
||||
idOperace := 0;
|
||||
idPrikaz := 0;;
|
||||
radaPrikaz := '';
|
||||
|
||||
lblTypKodu.Caption := 'Kód DÁVKY / PØÍKAZU';
|
||||
edtBarcode.Visible := true;
|
||||
self.ActiveControl := edtBarcode;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformGenKoopObj.btnPolSmazClick (Sender: TObject);
|
||||
begin
|
||||
if Helios.YesNo('Opravdu smazat zadané položky ?', false) then
|
||||
begin
|
||||
dataMod.dm.tblInsOperace.EmptyDataSet;
|
||||
edtBarcode.Text := '';
|
||||
cbKooperanti.Clear;
|
||||
cbKooperanti.Enabled := true;
|
||||
self.ActiveControl := dtPozadDodani;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformGenKoopObj.btnPolUlozClick (Sender: TObject);
|
||||
var lSQL: string;
|
||||
i: integer;
|
||||
idH: integer;
|
||||
begin
|
||||
|
||||
if (dataMod.dm.tblInsOperace.RecordCount>0) then
|
||||
begin
|
||||
// lSQL := 'DECLARE @idH INT' + CRLF + 'INSERT ' + tblKoopH + ' (TypObj, SkenPrikaz, ) '
|
||||
|
||||
dataMod.dm.tblInsOperace.First;
|
||||
while not(dataMod.dm.tblInsOperace.Eof) do
|
||||
begin
|
||||
|
||||
end;
|
||||
end
|
||||
else
|
||||
Helios.Error(#1'Objednávka nemá žádné položky.'#1);
|
||||
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
function TformGenKoopObj.SumPolozkyDleDavky (const idDavky: integer): Extended;
|
||||
begin
|
||||
result := 0;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
function TformGenKoopObj.SumPolozkyDlePrikazu (const idPrikaz: integer): Extended;
|
||||
begin
|
||||
result := 0;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformGenKoopObj.cbKooperantiChange (Sender: TObject);
|
||||
var k: TKooperant;
|
||||
begin
|
||||
if (cbKooperanti.ItemIndex>-1) then
|
||||
begin
|
||||
k := TKooperant (cbKooperanti.Items.Objects[cbKooperanti.ItemIndex]);
|
||||
aktCisOrgKoop := k.CisloOrg;
|
||||
aktIdOrgKoop := k.IdOrg;
|
||||
end
|
||||
else
|
||||
begin
|
||||
aktCisOrgKoop := -1;
|
||||
aktIdOrgKoop := -1;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformGenKoopObj.edtBarcodeExit (Sender: TObject);
|
||||
var lSQL, bc: string;
|
||||
canCont: boolean;
|
||||
tempSum1, tempSum2, tempSum3: extended;
|
||||
begin
|
||||
canCont:= true;
|
||||
edtBarcode.Text := edtBarcode.Text.Trim;
|
||||
|
||||
if (edtBarcode.Text<>'') then
|
||||
begin
|
||||
bc := edtBarcode.Text;
|
||||
|
||||
if (typSkenKod=1) then
|
||||
begin
|
||||
if (bc.StartsWith('420')) then
|
||||
begin
|
||||
if not(bc.EndsWith('D')) then
|
||||
bc := bc + 'D';
|
||||
if not(bc.StartsWith('D')) then
|
||||
bc := 'D' + bc;
|
||||
end;
|
||||
|
||||
ksSum := 0;
|
||||
|
||||
idDavka := 0;
|
||||
idDavkaRodic := 0;
|
||||
locIDDavka := 0;
|
||||
locIDDavkaSelf := 0;
|
||||
|
||||
if (bc.StartsWith('V')) and (bc.EndsWith('P')) then
|
||||
begin
|
||||
idPrikaz := TRegEx.Replace(bc.Trim, '\D', '').ToInteger;
|
||||
lSQL := 'SELECT 1 FROM ' + tblVPr + ' WHERE ID=' + idPrikaz.ToString;
|
||||
if not (helUtils.sqlExistsTestGeneral (Helios, lSQL)) then
|
||||
idPrikaz := 0;
|
||||
|
||||
if (idPrikaz>0) then
|
||||
begin
|
||||
if not (helUtils.sqlExistsTestGeneral (Helios, lSQL + ' AND StavPrikazu=30')) then
|
||||
begin
|
||||
Helios.Error (#1'Chyba: '#1 + 'výrobní pøíkaz není ve stavu Zadáno, NELZE použít');
|
||||
idPrikaz := 0;
|
||||
idDavka := 0;
|
||||
end
|
||||
else
|
||||
begin
|
||||
typSkenKod := 2;
|
||||
kodOp := '';
|
||||
ks := 0;
|
||||
ksZive := 0;
|
||||
idOperace := 0;
|
||||
radaPrikaz := '';
|
||||
lblTypKodu.Caption := 'Kód OPERACE';
|
||||
skenPrikaz := true;
|
||||
edtBarcode.Text := '';
|
||||
self.ActiveControl := edtBarcode;
|
||||
end;
|
||||
end; // idPrikaz >0
|
||||
|
||||
end // bc.startsWith V + bc.EndsWith P
|
||||
else
|
||||
begin
|
||||
skenPrikaz := false;
|
||||
if (bc.StartsWith('D420')) and (bc.EndsWith('D')) then
|
||||
begin
|
||||
lSQL := 'SELECT ID, IDRodic FROM ' + dataMod.tblDavky + ' WHERE KodDavky2=N' + bc.QuotedString + ' ORDER BY Pozice';
|
||||
with Helios.OpenSQL (lSQL) do
|
||||
begin
|
||||
locIDDavkaSelf := FieldByNameValues('ID');
|
||||
idDavka := locIDDavkaSelf;
|
||||
idDavkaRodic := FieldByNameValues('IDRodic');
|
||||
locIdDavka := idDavkaRodic;
|
||||
end;
|
||||
|
||||
if (idDavka>0) then
|
||||
begin
|
||||
lSQL := 'SELECT 1 FROM ' + dataMod.tblDavky + ' d JOIN ' + tblVPr + ' p ON (d.IDPrikazVyssiVyssi=p.ID) WHERE p.StavPrikazu<>30 AND d.ID=' + idDavka.ToString;
|
||||
if (helUtils.sqlExistsTestGeneral (Helios, lSQL)) then
|
||||
begin
|
||||
Helios.Error (#1'V dávce se nachází pøedzpracovaný/ukonèený pøíkaz, NELZE použít'#1);
|
||||
idDavka := 0;
|
||||
edtBarcode.Text := '';
|
||||
self.ActiveControl := edtBarcode;
|
||||
end
|
||||
else
|
||||
begin
|
||||
lSQL := 'SELECT CONVERT(nvarchar, DruhDavky) + N''/'' + CONVERT(nvarchar, Rok) + N'' - '' + CONVERT(nvarchar, Cislo) FROM ' + dataMod.tblDavky
|
||||
+ ' WHERE ID=' + helUtils.IfThenInt (idDavkaRodic>0, idDavkaRodic, idDavka).ToString;
|
||||
numDavka := helUtils.getHeliosStrVal (Helios, '', lSQL);
|
||||
kodOp := '';
|
||||
ks := 0;
|
||||
ksZive := 0;
|
||||
ksSum := 0;
|
||||
idOperace := 0;
|
||||
idPrikaz := 0;
|
||||
radaPrikaz := '';
|
||||
|
||||
typSkenKod := 2;
|
||||
edtBarcode.Tag := 2;
|
||||
lblTypKodu.Caption := 'Kód OPERACE';
|
||||
edtBarcode.Text := '';
|
||||
self.ActiveControl := edtBarcode;
|
||||
end;
|
||||
|
||||
end; // idDavka >0
|
||||
|
||||
end; // bc.startsWith D420 + bc.EndsWith D
|
||||
end; // not bc.startsWith V + bc.EndsWith P
|
||||
end // typSkenKod=1
|
||||
else
|
||||
if (typSkenKod=2) then
|
||||
begin
|
||||
if (bc.StartsWith('A')) and (bc.EndsWith('B')) then
|
||||
begin
|
||||
jsemKooperace := false;
|
||||
|
||||
ksSum := 0;
|
||||
ksZive := 0;
|
||||
|
||||
lSQL := 'SELECT p.ID, p.IDPrikaz, p.Kusy_pozadovane-p.KusyVKoop AS kzZive, k.RegCis, vp.RadaPrikaz, p.Doklad, p.Alt, p.IDkooperace, p.typ, k.ID AS idKmen'
|
||||
+ ', ck.Kod AS KodKoop, p.Splneno FROM ' + tblPrPost + ' p JOIN ' + tblVPr + ' vp ON (vp.ID=p.IDPrikaz) JOIN ' + tblKZ + ' k ON (k.ID=vp.IDTabKmen)'
|
||||
+ ' JOIN ' + tblCisKoop + ' ck ON (ck.ID=p.IDKooperace) WHERE p.IDOdchylkyDo IS NULL AND p.Priorita=0 AND p.BarCode=N' + bc.QuotedString;
|
||||
if (idPrikaz>0) then
|
||||
lSQL := lSQL + ' AND p.IDPrikaz=' + idPrikaz.ToString;
|
||||
|
||||
with Helios.OpenSQL(lSQL) do
|
||||
if (RecordCount>0) then
|
||||
begin
|
||||
First;
|
||||
while not(EOF) do
|
||||
begin
|
||||
canCont := true;
|
||||
|
||||
ksZive := FieldByNameValues('kzZive');
|
||||
idKmen := FieldByNameValues('idKmen');
|
||||
typOper := FieldByNameValues('typ');
|
||||
operUzavrena := FieldByNameValues('Splneno');
|
||||
rc := FieldByNameValues('RegCis');
|
||||
radaPrikaz := FieldByNameValues('RadaPrikaz');
|
||||
dokladPrP := FieldByNameValues('Doklad');
|
||||
altPrP := FieldByNameValues('Alt');
|
||||
|
||||
kodKoop := '';
|
||||
idKoop := 0;
|
||||
|
||||
jsemKooperace := (typOper=2);
|
||||
if (jsemKooperace) then
|
||||
begin
|
||||
idKoop := FieldByNameValues('IDkooperace');
|
||||
kodKoop := FieldByNameValues('KodKoop');
|
||||
NactiKooperanty;
|
||||
if (cbKooperanti.Items.Count=2) then
|
||||
begin
|
||||
cbKooperanti.ItemIndex := 1;
|
||||
cbKooperanti.Enabled := false;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
if not(jsemKooperace) then
|
||||
begin
|
||||
Helios.Error (#1'Naskenovaná operace není kooperace nebude do objednávky pøidána'#1);
|
||||
canCont := false;
|
||||
skipMe := true;
|
||||
end;
|
||||
|
||||
if (canCont) and (operUzavrena) then
|
||||
begin
|
||||
Helios.Error (#1'Naskenovaná kooperace je uzavøena, nebude do objednávky pøidána'#1);
|
||||
canCont := false;
|
||||
skipMe := true;
|
||||
end;
|
||||
|
||||
if (canCont) and (ksZive<=0) then
|
||||
begin
|
||||
Helios.Error (#1'Naskenovaná kooperace nemá živé kusy, nebude do objednávky pøidána'#1);
|
||||
canCont := false;
|
||||
skipMe := true;
|
||||
end;
|
||||
|
||||
if (canCont) then
|
||||
begin
|
||||
idOperace := FieldByNameValues('ID'); // idPrPostup
|
||||
if (idPrikaz=0) then
|
||||
idPrikaz := FieldByNameValues('IDPrikaz');
|
||||
|
||||
ksNaStrom := 1;
|
||||
mjDavky := '';
|
||||
|
||||
if (skenPrikaz) then
|
||||
begin
|
||||
lSQL := 'SELECT TOP(1) k.MJEvidence FROM ' + tblVPr + ' p JOIN ' + tblKZ + ' k ON (k.ID=p.IDTabKmen) WHERE p.ID=' + idPrikaz.ToString;
|
||||
mjDavky := helUtils.getHeliosStrVal (Helios, '', lSQL);
|
||||
end
|
||||
else
|
||||
begin
|
||||
mjDavky := helUtils.getHeliosStrVal (Helios, '', 'SELECT TOP(1) MJ FROM ' + tblDavky + ' WHERE ID=' + helUtils.IfThenInt (idDavkaRodic>0, idDavkaRodic, idDavka).ToString);
|
||||
ksZive := helUtils.getHeliosFloatVal (Helios, 0, 'SELECT SUM(Mnozstvi-MnozstviVKoop) FROM ' + tblDavky + ' WHERE IDDavkyHlavni=' + idDavka.ToString);
|
||||
end;
|
||||
|
||||
if (mjDavky.ToLower='str') then
|
||||
ksNaStrom := helUtils.getHeliosIntVal (Helios, 0, 'SELECT ISNULL(dbo.ef_HDC_PocetKsNaStromek (' + idKmen.ToString + ', NULL, NULL, NULL, NULL), 0)');
|
||||
|
||||
|
||||
if not(skenPrikaz) then
|
||||
ksZive := helUtils.getHeliosFloatVal (Helios, 0, 'SELECT SUM(MnozstviKs-OdvedenoKs-MnozstviVKoop) FROM ' + tblDavky + ' WHERE IDDavkyHlavni=' + idDavka.ToString);
|
||||
|
||||
if (ksZive<=0) and not(skenPrikaz) then
|
||||
begin
|
||||
Helios.Error ('V dávce '#1 + numDavka + #1 + ' nezbývají na tuto operaci kusy.');
|
||||
edtBarcode.Text := '';
|
||||
canCont := false;
|
||||
skipMe := true;
|
||||
end
|
||||
else
|
||||
begin
|
||||
if not(skenPrikaz) then
|
||||
begin
|
||||
lSQL := 'SELECT p.StavPrikazu FROM ' + tblVPr + ' p JOIN ' + tblDavky + ' d ON (d.IDPrikaz=p.ID) WHERE d.IDDavkyHlavni=' + idDavka.ToString;
|
||||
stavVPr := helUtils.getHeliosIntVal (Helios, 0, lSQL);
|
||||
if (stavVPr<>30) then
|
||||
canCont := false;
|
||||
end;
|
||||
|
||||
if not(canCont) then
|
||||
begin
|
||||
Helios.Error (#1'Ne všechny pøíkazy této dávky jsou ve stavu Zadáno, NELZE pokraèovat.'#1);
|
||||
edtBarcode.Text := '';
|
||||
skipMe := true;
|
||||
end
|
||||
else
|
||||
begin
|
||||
if (idKoopNew=0) and (idKoop>0) then
|
||||
idKoopNew := idKoop;
|
||||
|
||||
radaPrikaz := helUtils.getHeliosStrVal (Helios, '', 'SELECT RadaPrikaz FROM ' + tblVPr + ' WHERE ID=' + idPrikaz.ToString);
|
||||
|
||||
typDavky := 0;
|
||||
if (radaPrikaz.StartsWith('224')) then
|
||||
typDavky := 4;
|
||||
|
||||
if not(skenPrikaz) then
|
||||
tempSum3 := SumPolozkyDleDavky (locIDDavkaSelf)
|
||||
else
|
||||
tempSum3 := SumPolozkyDlePrikazu (idPrikaz);
|
||||
|
||||
skipMe := false;
|
||||
|
||||
lSQL := 'SELECT SUM(Kusy_pozadovane-KusyVKoop)-' + tempSum3.ToString.Replace(',', '.') + ' FROM ' + tblPrPost + ' WHERE IDOdchylkyDo IS NULL AND Typ=2';
|
||||
if not(skenPrikaz) then
|
||||
lSQL := lSQL + ' AND IDPrikaz IN (SELECT IDPrikazVyssiVyssi FROM ' + tblDavky + ' WHERE DruhDavky=4 And IDDavkyHlavni=' + idDavka.ToString + ')'
|
||||
else
|
||||
lSQL := lSQL + ' AND IDPrikaz=' + idPrikaz.ToString + ' AND ID=' + idOperace.ToString;
|
||||
lSQL := lSQL + ' AND IDkooperace=' + idKoop.ToString;
|
||||
|
||||
|
||||
if not(skipMe) then
|
||||
begin
|
||||
if not(dataMod.dm.tblKoopObjR.Active) then
|
||||
dataMod.dm.tblKoopObjR.Open;
|
||||
|
||||
if not(dataMod.dm.tblInsOperace.Active) then
|
||||
dataMod.dm.tblInsOperace.Open;
|
||||
dataMod.dm.tblInsOperace.Append;
|
||||
try
|
||||
try
|
||||
dataMod.dm.tblInsOperace.FieldByName('IdPrPostup').AsInteger := idOperace;
|
||||
dataMod.dm.tblInsOperace.FieldByName('IDVPr').AsInteger := idPrikaz;
|
||||
dataMod.dm.tblInsOperace.FieldByName('Kusy').AsExtended := ksZive;
|
||||
dataMod.dm.tblInsOperace.FieldByName('RegCis').AsString := rc;
|
||||
dataMod.dm.tblInsOperace.FieldByName('RadaPrikaz').AsString := radaPrikaz;
|
||||
dataMod.dm.tblInsOperace.FieldByName('Doklad').AsInteger := dokladPrP;
|
||||
dataMod.dm.tblInsOperace.FieldByName('Alt').AsString := altPrP;
|
||||
dataMod.dm.tblInsOperace.FieldByName('KsNaStr').AsInteger := ksNaStrom;
|
||||
dataMod.dm.tblInsOperace.FieldByName('IDDavka').AsInteger := idDavka;
|
||||
dataMod.dm.tblInsOperace.FieldByName('IDDavkaRodic').AsInteger := idDavkaRodic;
|
||||
dataMod.dm.tblInsOperace.FieldByName('IDKooperace').AsInteger := idKoop;
|
||||
dataMod.dm.tblInsOperace.FieldByName('KodKoop').AsString := kodKoop;
|
||||
dataMod.dm.tblInsOperace.Post;
|
||||
edtBarcode.Text := '';
|
||||
lblTypKodu.Caption := '';
|
||||
except
|
||||
dataMod.dm.tblInsOperace.Cancel;
|
||||
end;
|
||||
finally
|
||||
|
||||
end;
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
|
||||
end;
|
||||
|
||||
|
||||
Next;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
end; // bc.startsWith A + bc.EndsWith B
|
||||
end; // typSkenKod=2
|
||||
|
||||
|
||||
|
||||
end; // edtBarcode.Text
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformGenKoopObj.FormShow (Sender: TObject);
|
||||
begin
|
||||
pgCtrl.ActivePage := shHlavicky;
|
||||
shNovaObj.TabVisible := false;
|
||||
|
||||
if not(dataMod.dm.tblKoopObjH.Active) then
|
||||
dataMod.dm.tblKoopObjH.Open;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformGenKoopObj.shNovaObjShow (Sender: TObject);
|
||||
begin
|
||||
typSkenKod := 1;
|
||||
cOrgKooperant := -1;
|
||||
dtPozadDodani.Date := IncDay (DateOf(Now), 1);
|
||||
self.ActiveControl := dtPozadDodani;
|
||||
edtBarcode.Visible := false;
|
||||
end;
|
||||
|
||||
end.
|
||||
Reference in New Issue
Block a user