Ver Mensaje Individual
  #10  
Antiguo 07-03-2013
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Reputación: 18
jafera Va por buen camino
Aqui va todo lo relacionado con el proceso de alta, en ningun momento hago referencia a la tabla auxiliar ya que hasta que la principal no se graba, el ID no tiene valor con lo cual no puedo relacionarlo

Código Delphi [-]
 
procedure TF_Rebut.ToolButton1Click(Sender: TObject);
var id: integer;
begin
        ToolBar1.Visible := False;
        ToolBar2.Visible := True;
        Max_Id.Close;
        Max_Id.Open;
        if Max_IdMAX.Text = '' then
        begin
                id:=1;
        end
        else
        begin
                id := StrToInt(Max_IdMAX.Text)+1;
        end;
        F_ModulDades.Rebut.Append;
        F_ModulDades.RebutID_REBUT.Value := id;         //aqui con el addwacth el valor es "S" pero no tiene que ser ya que no hay relacion
        F_ModulDades.RebutDATA.Value := Date;
        F_ModulDades.RebutDATA.FocusControl;
end;
                                                            //aqui con el addwacth el valor es "N" pero no tiene que ser ya que no hay relacion, aun no he dado ninguna alta

procedure TF_ModulDades.RebutAfterDelete(DataSet: TDataSet);
begin
        IBTRebuts.CommitRetaining;
end;
procedure TF_ModulDades.RebutAfterPost(DataSet: TDataSet);
begin
        IBTRebuts.CommitRetaining;
end;
procedure TF_ModulDades.RebutBeforePost(DataSet: TDataSet);
begin
        if RebutCODI_CLUB.Value = 0 then
        begin
                ShowMessage('Has de possar un club abans de gravar');
                F_Rebut.DBEdit21.SetFocus;
                Abort;
        end;
end;
procedure TF_ModulDades.RebutNewRecord(DataSet: TDataSet);
begin
        RebutI1.Value := 'N';
        RebutI2.Value := 'N';
        RebutI3.Value := 'N';
        RebutI4.Value := 'N';
        RebutI5.Value := 'N';
        RebutTI1.Value := 0;
        RebutTI2.Value := 0;
        RebutTI3.Value := 0;
        RebutTI4.Value := 0;
        RebutTI5.Value := 0;
        RebutARBITRES.Value := 0;
        RebutIMPORT.Value := 0;
        RebutMATERIAL.Value := 0;
        RebutTOTAL_REBUT.Value := 0;
        RebutSUSPENSIO.Value := 'N';
        RebutASPIRANT.Value := 'N';
        RebutPREU_FIX.Value := 'N';
        RebutZONA.Value := 0;
        RebutTRANSP.Value :='N';
        RebutGRAVAT.Value :='N';
        RebutACUMULAT.Value :='N';
        RebutPREU_FIX.Value :='N';
        RebutCAMPIONAT.Value := IncrementsCAMPIONAT.Value;
        RebutFEINER.Value := IncrementsFEINER.Value;
        RebutDOS_SECTORS.Value := IncrementsDOS_SECTORS.Value;
        RebutI10.Value := IncrementsI10.Value;
        RebutID_USUARI.Value := F_Inici.Usuari;
        RebutCREA_REBUT.Value := ConfiguracioTIPUS_REBUT.Value;
end;
procedure TF_Rebut.ToolButton6Click(Sender: TObject);
begin
        If F_ModulDades.Rebut.State in [dsEdit,dsInsert] then
        begin
              If F_ModulDades.RebutSUSPENSIO.Value = 'N' then
              begin
                      F_ModulDades.RebutTI4.Value := 0;
                      F_ModulDades.RebutTI5.Value := 0;
                      If F_ModulDades.RebutIMPORT_2.Value <> 0 then
                      begin
                              F_ModulDades.RebutTOTAL_REBUT.Value:= F_ModulDades.RebutIMPORT_2.Value;
                      end
                      else
                      F_ModulDades.RebutTOTAL_REBUT.Value := StrToInt(DBEdit4.text) + F_ModulDades.RebutTI1.Value +     F_ModulDades.RebutTI2.Value +         F_ModulDades.RebutTI3.Value;
              end
              else
              If F_ModulDades.RebutSUSPENSIO.Value = 'S' then
              begin
                      If F_ModulDades.RebutI4.Value = 'S' then
                      begin
                              F_ModulDades.RebutTI4.Value := F_ModulDades.RebutIMPORT.Value / 2;
                              F_ModulDades.RebutTI5.Value := 0;
                              F_ModulDades.RebutTOTAL_REBUT.Value := F_ModulDades.RebutTI2.Value + F_ModulDades.RebutTI3.Value +          F_Moduldades.RebutTI4.Value;
                      end
                      else
                      If F_ModulDades.RebutI4.Value = 'N' then
                      begin
                              F_ModulDades.RebutTI4.Value := 0;
                              F_ModulDades.RebutTI5.Value := F_Moduldades.RebutARBITRES.Value * F_Moduldades.RebutI10.Value;
                              F_ModulDades.RebutTOTAL_REBUT.Value := F_ModulDades.RebutTI2.Value + F_ModulDades.RebutTI3.Value +          
F_Moduldades.RebutTI5.Value + F_ModulDades.RebutKM_TOTALS.Value * F_ModulDades.IncrementsPREU_KM.Value;
                      end;
              end;
              F_ModulDades.Rebut.Post;
        end;
        ToolBar2.Visible := False;
        ToolBar1.Visible := True;
        DBEdit1.Enabled := True;
end;

Saludos

Última edición por Casimiro Notevi fecha: 07-03-2013 a las 22:49:36.
Responder Con Cita