TprxADODataSetDetail

De Pragma Wiki
Revisión del 20:20 16 may 2025 de Luciano Carou (discusión | contribs.) (Página creada con «=Descripción= El objeto '''TprxADODataSetDetail''' (Funcionalidad genérica para detalles de comprobantes.) implementa funcionalidad genérica para detalles de comprobantes. =Identidad= Category:MANUAL/PROGRAMADOR Category:DATASETS *Ancestro: TprxADODataSetMaster *Carpeta: C:\DevelopPrx\library *Archivo: prxADODataSetDetail.pas =Declaración= <pre> type TprxADODataSetDetail = class(TprxADODataSetMaster) private FMaste…»)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegación Ir a la búsqueda

Descripción

El objeto TprxADODataSetDetail (Funcionalidad genérica para detalles de comprobantes.) implementa funcionalidad genérica para detalles de comprobantes.

Identidad

Declaración

type
  TprxADODataSetDetail = class(TprxADODataSetMaster)
  private
    FMasterDataSet: TprxADODataSetEdit;

    FCmpMasterDataSet: TprxADODataSetEdit;

    FNuevoSubtotal: Boolean;

    FApplyMasterKey_Count: Integer;

    procedure   FieldMessage(var Message: TprxADODataSetMessage); message MSG_PRXADODATASETMESSAGE;
  protected
    procedure   SetTableName(aValue: String); override;

    procedure   Notification(AComponent: TComponent; Operation: TOperation); override;

    function    Get_TAG_READONLY: Boolean; override;

    function    KeepFormOpen_Get: Boolean; override;

    procedure   SetMasterDataSet(aValue: TprxADODataSetEdit); virtual;
    function    EvaluarEstadoCabecera: Boolean;

    property    CmpMasterDataSet: TprxADODataSetEdit read FCmpMasterDataSet write FCmpMasterDataSet;
    property    xxNuevoSubtotal: Boolean read FNuevoSubtotal write FNuevoSubtotal;

    property    ApplyMasterKey_Count: Integer read FApplyMasterKey_Count; // write FApplyMasterKey_Count;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure   Loaded; override;
    procedure   Activate(aLoadRecords: Boolean); override;

    function    IsTransactionMaster: Boolean; override;

    procedure   AssignMasterKey(Sender: TObject);

    function    CanInsertXtd: Boolean; override;
    procedure   InsertXtd(Sender: TObject); override;

    function    CanEditXtd: Boolean; override;
    procedure   EditXtd(Sender: TObject); override;

    function    CanDeleteXtd(aAsk: Boolean): Boolean; override;
    procedure   DeleteXtd(Sender: TObject); override;

    function    PostXtd(Sender: TObject): Boolean; override;

    procedure   ApplyMasterKey;
  published
    property    MasterDataSet: TprxADODataSetEdit read FMasterDataSet write SetMasterDataSet; //FMasterDataSet;
  end;

FMasterDataSet: TprxADODataSetEdit

Apunta al dataset que es su maestro en la relación master-detail.

FCmpMasterDataSet: TprxADODataSetEdit

Apunta al dataset que es su maestro en la relación master-detail, pero solo cuando

          if MasterDataSet is TprxCmpCABECERA then
             CmpMasterDataSet := MasterDataSet;


Implementación

procedure SetMasterDataSet(aValue: TprxADODataSetEdit)

Procedimiento para inicializar el master del dataset (propiedad FMasterDataSet).

function EvaluarEstadoCabecera: Boolean

Si el MasterDataSet es una cabecera de comprobante evalúa su estado, si es Nuevo o Abierto retorna True, de lo contrario retorna False.

procedure FieldMessage(var Message: TprxADODataSetMessage)

Recibe mensajes (Ver prxDataTypes, si el master está activo y ante alguno de los siguientes eventos aplica la clave del master para que el dataset se refresque trayendo los registros que corresponde a su maestro.

  • msgNewRecord.
  • msgScroll.
  • msgEdit.
  • msgCancel.