mirror of
http://gitlab.expertsoft.com.ua/git/expertcad
synced 2026-01-11 22:45:39 +02:00
149 lines
4.0 KiB
ObjectPascal
149 lines
4.0 KiB
ObjectPascal
unit U_MakeEditProducer;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, U_LNG, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
Dialogs, ExtCtrls, RzPanel, RzButton, StdCtrls, RzEdit, Mask,
|
|
|
|
U_BaseCommon, U_BaseConstants, kbmMemTable, siComp, siLngLnk;
|
|
|
|
type
|
|
TF_MakeEditProducer = class(TForm)
|
|
RzGroupBox1: TRzGroupBox;
|
|
RzGroupBox2: TRzGroupBox;
|
|
btOk: TRzBitBtn;
|
|
btCancel: TRzBitBtn;
|
|
edName: TRzEdit;
|
|
meDescription: TRzMemo;
|
|
Label1: TLabel;
|
|
Label2: TLabel;
|
|
lng_Forms: TsiLangLinked;
|
|
private
|
|
GForm: TForm;
|
|
public
|
|
NewID: Integer;
|
|
|
|
constructor Create(AOwner: TComponent; AForm: TForm);
|
|
destructor Destroy; override;
|
|
|
|
function Execute(AMakeEdit: TMakeEdit; AMemTable: TkbmMemTable): Boolean;
|
|
end;
|
|
|
|
//var
|
|
// F_MakeEditProducer: TF_MakeEditProducer;
|
|
|
|
implementation
|
|
Uses U_Main, Unit_DM_SCS, DB;
|
|
{$R *.dfm}
|
|
|
|
{ TF_MakeEditProducer }
|
|
|
|
constructor TF_MakeEditProducer.Create(AOwner: TComponent; AForm: TForm);
|
|
begin
|
|
GForm := AForm;
|
|
inherited Create(AOwner);
|
|
end;
|
|
|
|
destructor TF_MakeEditProducer.Destroy;
|
|
begin
|
|
|
|
inherited;
|
|
end;
|
|
|
|
function TF_MakeEditProducer.Execute(AMakeEdit: TMakeEdit; AMemTable: TkbmMemTable): Boolean;
|
|
var
|
|
Producer: TProducer;
|
|
ProducerID: Integer;
|
|
begin
|
|
Result := false;
|
|
try
|
|
Caption := '';
|
|
NewID := 0;
|
|
ProducerID := 0;
|
|
case AMakeEdit of
|
|
meMake:
|
|
begin
|
|
Caption := cMakeEditProducer_Msg1_1;
|
|
edName.Text := '';
|
|
meDescription.Lines.Clear;
|
|
end;
|
|
meEdit:
|
|
begin
|
|
Caption := cMakeEditProducer_Msg1_2;
|
|
if AMemTable <> nil then
|
|
begin
|
|
ProducerID := AMemTable.FieldByName(fnID).AsInteger;
|
|
edName.Text := AMemTable.FieldByName(fnName).AsString;
|
|
meDescription.Lines.Text := AMemTable.FieldByName(fnDescription).AsString;
|
|
end
|
|
else
|
|
with TF_Main(GForm).DM do
|
|
begin
|
|
ProducerID := DataSet_PRODUCERS.FN(fnID).AsInteger;
|
|
edName.Text := DataSet_PRODUCERS.FN(fnName).AsString;
|
|
meDescription.Lines.Text := DataSet_PRODUCERS.FN(fnDescription).AsString;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
if ShowModal = mrOk then
|
|
begin
|
|
Result := true;
|
|
if AMemTable <> nil then
|
|
begin
|
|
case AMakeEdit of
|
|
meMake:
|
|
AMemTable.Append;
|
|
meEdit:
|
|
AMemTable.Edit;
|
|
end;
|
|
if AMemTable.State <> dsBrowse then
|
|
begin
|
|
AMemTable.FieldByName(fnName).AsString := edName.Text;
|
|
AMemTable.FieldByName(fnDescription).AsString := meDescription.Lines.Text;
|
|
AMemTable.FieldByName(fnIsModified).AsBoolean := true;
|
|
AMemTable.Post;
|
|
if AMakeEdit = meMake then
|
|
NewID := AMemTable.FieldByName(fnID).AsInteger;
|
|
end;
|
|
end
|
|
else
|
|
with TF_Main(GForm).DM do
|
|
begin
|
|
ZeroMemory(@Producer, SizeOf(TProducer));
|
|
Producer.ID := ProducerID;
|
|
Producer.Name := edName.Text;
|
|
Producer.Description := meDescription.Lines.Text;
|
|
|
|
SaveProducer(AMakeEdit, @Producer);
|
|
if AMakeEdit = meMake then
|
|
NewID := Producer.ID
|
|
else
|
|
if AMakeEdit = meEdit then
|
|
DataSet_PRODUCERS.ReopenLocate(fnID); //DataSet_PRODUCERS.FullRefresh;
|
|
|
|
|
|
{case AMakeEdit of
|
|
meMake:
|
|
DataSet_PRODUCERS.Append;
|
|
meEdit:
|
|
DataSet_PRODUCERS.Edit;
|
|
end;
|
|
if DataSet_PRODUCERS.State <> dsBrowse then
|
|
begin
|
|
DataSet_PRODUCERS.FN(fnName).AsString := edName.Text;
|
|
DataSet_PRODUCERS.FN(fnDescription).AsString := meDescription.Lines.Text;
|
|
DataSet_PRODUCERS.Post;
|
|
if AMakeEdit = meMake then
|
|
NewID := DataSet_PRODUCERS.FN(fnID).AsInteger;
|
|
end;}
|
|
end;
|
|
end;
|
|
except
|
|
on E: Exception do AddExceptionToLog('TF_MakeEditProducer.Execute: '+E.Message);
|
|
end;
|
|
end;
|
|
|
|
end.
|