Diferencia entre revisiones de «TcmpDETALLE pragma XTD implemented»
Ir a la navegación
Ir a la búsqueda
Sin resumen de edición |
|||
Línea 38: | Línea 38: | ||
===procedure InsertXtd(Sender: TObject)=== | ===procedure InsertXtd(Sender: TObject)=== | ||
Incrementa el valor del campo FCMPLINEA en 1 y ejecuta su OnExit: | 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; | |||
</pre> | |||
=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: | |||
<pre> | <pre> | ||
procedure TcmpDETALLE_pragma_XTD_implemented.InsertXtd(Sender: TObject); | procedure TcmpDETALLE_pragma_XTD_implemented.InsertXtd(Sender: TObject); |
Revisión actual - 19:42 19 may 2025
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;