mirror of
http://gitlab.expertsoft.com.ua/git/expertcad
synced 2026-01-11 22:45:39 +02:00
188 lines
6.1 KiB
ObjectPascal
188 lines
6.1 KiB
ObjectPascal
unit U_MakeEditSupplyKind;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, U_LNG, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
Dialogs,
|
|
U_BaseCommon, U_BaseConstants, RzButton, ExtCtrls, RzPanel, StdCtrls, RzEdit, Mask, kbmMemTable,
|
|
siComp, siLngLnk;
|
|
|
|
type
|
|
TF_MakeEditSupplyKind = class(TForm)
|
|
RzGroupBox1: TRzGroupBox;
|
|
RzGroupBox2: TRzGroupBox;
|
|
btOk: TRzBitBtn;
|
|
btCancel: TRzBitBtn;
|
|
lng_Forms: TsiLangLinked;
|
|
RzGroupBox3: TRzGroupBox;
|
|
Label1: TLabel;
|
|
Label2: TLabel;
|
|
Label3: TLabel;
|
|
edName: TRzEdit;
|
|
edIzm: TRzEdit;
|
|
neUnitKolvo: TRzNumericEdit;
|
|
RzGroupBox4: TRzGroupBox;
|
|
Label4: TLabel;
|
|
Label5: TLabel;
|
|
Label6: TLabel;
|
|
edNameTradUOM: TRzEdit;
|
|
edIzmTradUOM: TRzEdit;
|
|
neUnitKolvoTradUOM: TRzNumericEdit;
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure RzGroupBox2Resize(Sender: TObject);
|
|
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_MakeEditSupplyKind: TF_MakeEditSupplyKind;
|
|
|
|
implementation
|
|
Uses U_Main, Unit_DM_SCS, DB;
|
|
{$R *.dfm}
|
|
|
|
{ TF_MakeEditSupplyKind }
|
|
|
|
constructor TF_MakeEditSupplyKind.Create(AOwner: TComponent; AForm: TForm);
|
|
begin
|
|
GForm := AForm;
|
|
inherited Create(AOwner);
|
|
end;
|
|
|
|
destructor TF_MakeEditSupplyKind.Destroy;
|
|
begin
|
|
|
|
inherited;
|
|
end;
|
|
|
|
function TF_MakeEditSupplyKind.Execute(AMakeEdit: TMakeEdit; AMemTable: TkbmMemTable): Boolean;
|
|
var
|
|
SupplyKindID: Integer;
|
|
SuppliesKind: TSuppliesKind;
|
|
begin
|
|
Result := false;
|
|
try
|
|
Caption := '';
|
|
NewID := 0;
|
|
SupplyKindID := 0;
|
|
case AMakeEdit of
|
|
meMake:
|
|
begin
|
|
Caption := cMakeEditSupplyKind_Msg1_1;
|
|
edName.Text := '';
|
|
edIzm.Text := '';
|
|
neUnitKolvo.Value := 1;
|
|
end;
|
|
meEdit:
|
|
begin
|
|
Caption := cMakeEditSupplyKind_Msg1_2;
|
|
if AMemTable <> nil then
|
|
begin
|
|
SupplyKindID := AMemTable.FieldByName(fnID).AsInteger;
|
|
edName.Text := AMemTable.FieldByName(fnName).AsString;
|
|
edNameTradUOM.Text := AMemTable.FieldByName(fnNameTradUOM).AsString;
|
|
edIzm.Text := AMemTable.FieldByName(fnIzm).AsString;
|
|
edIzmTradUOM.Text := AMemTable.FieldByName(fnIzmTradUOM).AsString;
|
|
neUnitKolvo.Value := RoundCP(AMemTable.FieldByName(fnUnitKolvo).AsFloat);
|
|
neUnitKolvoTradUOM.Value := RoundCP(AMemTable.FieldByName(fnUnitKolvoTradUOM).AsFloat);
|
|
end
|
|
else
|
|
with TF_Main(GForm).DM do
|
|
begin
|
|
SupplyKindID := DataSet_SuppliesKinds.FN(fnID).AsInteger;
|
|
edName.Text := DataSet_SuppliesKinds.FN(fnName).AsString;
|
|
edNameTradUOM.Text := DataSet_SuppliesKinds.FN(fnNameTradUOM).AsString;
|
|
edIzm.Text := DataSet_SuppliesKinds.FN(fnIzm).AsString;
|
|
edIzmTradUOM.Text := DataSet_SuppliesKinds.FN(fnIzmTradUOM).AsString;
|
|
neUnitKolvo.Value := RoundCP(DataSet_SuppliesKinds.FN(fnUnitKolvo).AsFloat);
|
|
neUnitKolvoTradUOM.Value := RoundCP(DataSet_SuppliesKinds.FN(fnUnitKolvoTradUOM).AsFloat);
|
|
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(fnNameTradUOM).AsString := edNameTradUOM.Text;
|
|
AMemTable.FieldByName(fnIzm).AsString := edIzm.Text;
|
|
AMemTable.FieldByName(fnIzmTradUOM).AsString := edIzmTradUOM.Text;
|
|
AMemTable.FieldByName(fnUnitKolvo).AsFloat := RoundCP(neUnitKolvo.Value);
|
|
AMemTable.FieldByName(fnUnitKolvoTradUOM).AsFloat := RoundCP(neUnitKolvoTradUOM.Value);
|
|
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(@SuppliesKind, SizeOf(TSuppliesKind));
|
|
SuppliesKind.ID := SupplyKindID;
|
|
SuppliesKind.Name := edName.Text;
|
|
SuppliesKind.NameTradUOM := edNameTradUOM.Text;
|
|
SuppliesKind.Izm := edIzm.Text;
|
|
SuppliesKind.IzmTradUOM := edIzmTradUOM.Text;
|
|
SuppliesKind.UnitKolvo := RoundCP(neUnitKolvo.Value);
|
|
SuppliesKind.UnitKolvoTradUOM := RoundCP(neUnitKolvoTradUOM.Value);
|
|
SaveSuppliesKind(AMakeEdit, @SuppliesKind);
|
|
if AMakeEdit = meMake then
|
|
NewID := SuppliesKind.ID
|
|
else
|
|
if AMakeEdit = meEdit then
|
|
DataSet_SuppliesKinds.FullRefresh;
|
|
|
|
{case AMakeEdit of
|
|
meMake:
|
|
DataSet_SuppliesKinds.Append;
|
|
meEdit:
|
|
DataSet_SuppliesKinds.Edit;
|
|
end;
|
|
if DataSet_SuppliesKinds.State <> dsBrowse then
|
|
begin
|
|
DataSet_SuppliesKinds.FN(fnName).AsString := edName.Text;
|
|
DataSet_SuppliesKinds.FN(fnIzm).AsString := edIzm.Text;
|
|
DataSet_SuppliesKinds.FN(fnUnitKolvo).AsFloat := RoundCP(neUnitKolvo.Value);
|
|
DataSet_SuppliesKinds.Post;
|
|
if AMakeEdit = meMake then
|
|
NewID := DataSet_SuppliesKinds.FN(fnID).AsInteger;
|
|
end;}
|
|
end;
|
|
end;
|
|
except
|
|
on E: Exception do AddExceptionToLog('TF_MakeEditSupplyKind.Execute: '+E.Message);
|
|
end;
|
|
end;
|
|
|
|
procedure TF_MakeEditSupplyKind.FormCreate(Sender: TObject);
|
|
begin
|
|
neUnitKolvo.DisplayFormat := GetDisplayFormatForFloat;
|
|
neUnitKolvoTradUOM.DisplayFormat := GetDisplayFormatForFloat;
|
|
end;
|
|
|
|
procedure TF_MakeEditSupplyKind.RzGroupBox2Resize(Sender: TObject);
|
|
begin
|
|
SetMiddleControlChilds(TControl(Sender), TControl(Self));
|
|
end;
|
|
|
|
end.
|