Como insiro os outros dados na OFIord
Ao clicar no botao chamo a função transação
procedure TfrmCadOS.btnInsAltClick(Sender: TObject);
begin
transacao('CadOS','confirma',cdsCadOS);
if btnInsAlt.Caption = 'Inserir' then
Messagedlg('Ordem de serviço gerada com sucesso!', mtInformation, [mbOk], 0);
btnCan.Enabled := true;
edtCod.SetFocus;
end;
procedure Transacao(Tellog, acao: string; ds: TClientDataSet);
var
ID : integer;
trans : TTransactionDesc;
begin
try
log(Tellog, acao, ds);
if acao = 'confirma' then
begin
camposrequeridos(ds);
ds.Post;
end;
if acao = 'Excluir' then
begin
ds.Delete;
end;
dm.Conexao.CloseDataSets;
//qr.SQLConnection := dm.Conexao2;
ds.ApplyUpdates(-1);
//qr.SQLConnection := dm.Conexao;
ds.Open;
except
ds.Cancel;
MessageDlg('Não foi possivel executar a operação!', mtError, [mbOk], 0);
Abort;
end;
end;
Nela contem a procedure camposrequiridos
procedure camposrequeridos(ds: TClientDataSet);
var
i, cont: Integer;
msg: string;
begin
cont := 0;
msg := 'Os campos abaixo não foram informados:' + #13;
for i := 0 to ds.Fields.Count - 1 do
begin
if (ds.Fields[i].Required) and (ds.Fields[i].IsNull) then
begin
msg := msg + 'Campo: ' + ds.Fields[i].DisplayLabel + #13;
cont := cont + 1;
end;
end;
if cont > 0 then
begin
MessageDlg(msg, mtWarning, [mbOk], 0);
abort;
end;
end;