TcmpDETALLE pragma XTD implemented
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 cmpDETALLE_pragma_XTD.
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;
Implementación
function CanInsertXtd: Boolean
Además de verificar su inherited, verifica que la cabecera del comprobante no esté anulada ni registrada.
function CanEditXtd: Boolean
Además de verificar su inherited, verifica que la cabecera del comprobante no esté anulada ni registrada.
procedure InsertXtd(Sender: TObject)
Suma 1 al valor del campo FCMPLINEA y llama a su evento OnExit:
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;