TcmpDETALLE pragma XTD implemented

De Pragma Wiki
Ir a la navegación Ir a la búsqueda

Introducción

El objeto TcmpDETALLE_pragma_XTD_implemented (Funcionalidad básica para detalle con campo FCMPLINEA.) define campos básicos para detalles de comprobantes, es similar a TprxCmpDETALLE pero implementa los campos en mayúsculas y con el prefijo F.

Usa los campos definidos en TcmpDETALLE_pragma_XTD_implemented.

Identidad

  • Ancestro: TprxADODataSetDetail
  • Carpeta: C:\DevelopPrx\implemented
  • Archivo: cmpDETALLE_pragma_XTD_implemented.pas

Declaración

type
  TcmpDETALLE_pragma_XTD_implemented = class(TprxADODataSetDetail)
  private
  protected
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy;  override;
    procedure   Loaded; override;

    function    CanInsertXtd: Boolean; override;
    function    CanEditXtd: Boolean; override;
    procedure   InsertXtd(Sender: TObject); override;
  published
  end;
<pre>

=Implementación=
===function CanInsertXtd: Boolean===
Además de ejecutar el inherited verifica que la cabecera del comprobante no se encuentre ni anulada ni registrada.

===function CanEditXtd: Boolean===
Además de ejecutar el inherited verifica que la cabecera del comprobante no se encuentre ni anulada ni registrada.

===procedure InsertXtd(Sender: TObject)===
Incrementa el valor del campo FCMPLINEA en 1 y ejecuta su OnExit:
<pre>
procedure TcmpDETALLE_pragma_XTD_implemented.InsertXtd(Sender: TObject);
var
  vErrMsg: String;
begin
  inherited InsertXtd(Sender);

  // Incrementamos el número de linea...

  FieldByName('FCMPLINEA').ReadOnly  := False;
  FieldValues['FCMPLINEA']           := FieldMaxValue('FCMPLINEA') + 1;

// prxadodatasetedit

  if LocalInsertXtdFlag = False then
     begin
     OnExitFieldXtd(Self, 'FCMPLINEA', FieldByName('FCMPLINEA').AsInteger, vErrMsg);
     end;

  vErrMsg := vErrMsg;
end;