This repository has been archived on 2024-12-02. You can view files and clone it, but cannot push or open issues or pull requests.
FactuGES/Contabilidad/InformeTrimestral.pas
2007-06-26 08:08:27 +00:00

696 lines
23 KiB
ObjectPascal

{
===============================================================================
Copyright (©) 2002. Rodax Software.
===============================================================================
Los contenidos de este fichero son propiedad de Rodax Software titular del
copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado,
en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
acuerdo con los términos y condiciones establecidas en el acuerdo/contrato
bajo el que se suministra.
-----------------------------------------------------------------------------
Web: www.rodax-software.com
===============================================================================
Fecha primera versión: 25-12-2002
Versión actual: 1.0.0
Fecha versión actual: 25-12-2002
===============================================================================
Modificaciones:
Fecha Comentarios
---------------------------------------------------------------------------
===============================================================================
}
unit InformeTrimestral;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
RdxFrameInformeTrimestral, Grids, DBGrids, ComCtrls, RdxBotones, ToolWin, ExtCtrls,
Menus, RXDBCtrl, Configuracion, RdxFrame,
Db, RdxPaneles, RdxBarras, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxEdit, cxDBData, cxGridLevel, cxClasses, cxControls, cxGridCustomView,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid,
am2000menuitem, am2000popupmenu, am2000, cxContainer, cxTextEdit,
cxMaskEdit, cxDropDownEdit, StdCtrls, ActnList, StrUtils,
Entidades, InformeTrimestralVentas, InformeTrimestralCompras, vistaPrevia,
RdxTitulos, ImgList,
RdxEmpresaActiva, am2000utils, cxDataStorage, cxTL, cxInplaceContainer,
cxTLData, cxDBTL;
type
TfrInformeTrimestral = class(TRdxFrameInformeTrimestral)
dsFacturas: TDataSource;
pnlCuerpo: TRdxPanel;
pnlContenido: TRdxPanel;
pnlExtra: TRdxBarraSuperior;
Acciones: TActionList;
actImprimir: TAction;
actAceptar: TAction;
dsTrimestres: TDataSource;
pnlGrid: TRdxPanel;
pnlListaTrimestres: TRdxPanel;
gridFacturas: TcxGrid;
gridFacturasDBTableView1: TcxGridDBTableView;
gridFacturasLevel1: TcxGridLevel;
bAnular: TRdxBoton;
bAceptar: TRdxBoton;
actAsignarTri: TAction;
Splitter1: TSplitter;
pnlTitulo: TRdxPanelTituloOperacion;
brSalir: TRdxBarraInferior;
bSalir: TRdxBoton;
ImageList1: TImageList;
MenuTrimestres: TPopupMenu2000;
mnuAnadir: TMenuItem2000;
mnuModificar: TMenuItem2000;
actAbrirTrimestre: TAction;
actCerrarTrimestre: TAction;
RdxBoton1: TRdxBoton;
RdxBoton2: TRdxBoton;
bSeparador1: TShape;
cbxTipos: TcxComboBox;
RdxPanel1: TRdxPanel;
eTrimestre: TLabel;
tlTrimestres: TcxDBTreeList;
cxDBTreeList1cxDBTreeListColumn1: TcxDBTreeListColumn;
cxDBTreeList1cxDBTreeListColumn2: TcxDBTreeListColumn;
cxDBTreeList1cxDBTreeListColumn3: TcxDBTreeListColumn;
cxDBTreeList1cxDBTreeListColumn4: TcxDBTreeListColumn;
bCambioTrimestre: TRdxBoton;
actCambioTrimestre: TAction;
procedure gridFacturasDBTableView1CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
procedure gridFacturasDBTableView1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure actImprimirExecute(Sender: TObject);
procedure actAceptarExecute(Sender: TObject);
procedure actAsignarTriExecute(Sender: TObject);
procedure RdxFrameInformeTrimestralShow(Sender: TObject);
procedure gridFacturasDBTableView1DblClick(Sender: TObject);
procedure tlTrimestresGetLevelColor(Sender: TObject; ALevel: Integer;
var AColor: TColor);
procedure actAbrirTrimestreUpdate(Sender: TObject);
procedure actAbrirTrimestreExecute(Sender: TObject);
procedure actCerrarTrimestreUpdate(Sender: TObject);
procedure actCerrarTrimestreExecute(Sender: TObject);
procedure gridFacturasDBTableView1StartDrag(Sender: TObject;
var DragObject: TDragObject);
procedure gridFacturasDBTableView1EndDrag(Sender, Target: TObject; X,
Y: Integer);
procedure tlTrimestresEndDrag(Sender, Target: TObject; X, Y: Integer);
procedure actAsignarTriUpdate(Sender: TObject);
procedure cbxTiposPropertiesChange(Sender: TObject);
procedure tlTrimestresGetNodeImageIndex(Sender: TObject;
ANode: TcxTreeListNode; AIndexType: TcxTreeListImageIndexType;
var AIndex: TImageIndex);
procedure tlTrimestresCustomDrawCell(Sender: TObject;
ACanvas: TcxCanvas; AViewInfo: TcxTreeListEditCellViewInfo;
var ADone: Boolean);
procedure tlTrimestresFocusedNodeChanged(Sender: TObject;
APrevFocusedNode, AFocusedNode: TcxTreeListNode);
procedure tlTrimestresDragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
procedure tlTrimestresDragDrop(Sender, Source: TObject; X, Y: Integer);
procedure actCambioTrimestreExecute(Sender: TObject);
private
FCodigoTipFacLista : TStrings;
FCodigoTipFac : Variant;
FCodigoFactura : String;
FInformeTrimestralVentas : TdmInformeTrimestralVentas;
FInformeTrimestralCompras : TdmInformeTrimestralCompras;
procedure ActualizarBotones;
procedure Refrescar;
procedure AplicarFiltro;
function AsignarTrimestre(CodigoFactura, CodigoTrimestre: String) : Boolean;
procedure setCodigoTipFac(const Value: variant);
protected
property CodigoTipFac: variant read FCodigoTipFac write setCodigoTipFac;
function CambiarEntidad(EntidadAnterior, Entidad : TRdxEntidad): Boolean; override;
public
constructor Create (AOwner : TComponent); override;
destructor Destroy; override;
end;
var
frInformeTrimestral: TfrInformeTrimestral;
implementation
{$R *.DFM}
uses
BaseDatos, TablaFacturasCliente, TablaFacturasProveedor, IBDatabase, FacturaCliente,
Literales, IBCustomDataSet, Mensajes, Variants, ImprimirFacturasCliente,
Constantes, TablaTrimestres, cxVariants, AsignarTrimestre, FacturaProveedor,
ImprimirInformeTrimestral, StrFunc, TablaEmpresas, TrimestrePredeterminado;
var
FArrastrando : Boolean;
FTriInicioArrastre : String;
function GetDragSourceGridView(Source: TObject): TcxCustomGridView;
begin
if (TDragControlObject(Source).Control is TcxGridSite) then
Result := TcxGridSite(TDragControlObject(Source).Control).GridView
else
Result := nil;
end;
constructor TfrInformeTrimestral.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
BaseDatos := dmBaseDatos.BD;
Transaccion := dmBaseDatos.Transaccion;
TablaFacturas := TIBDataSet.Create(Self);
dsFacturas.DataSet := TablaFacturas;
TablaTrimestres := TIBDataSet.Create(Self);
dsTrimestres.DataSet := TablaTrimestres;
end;
destructor TfrInformeTrimestral.Destroy;
begin
TablaFacturas.Close;
TablaFacturas.UnPrepare;
TablaFacturas.Free;
TablaTrimestres.Close;
TablaTrimestres.UnPrepare;
TablaTrimestres.Free;
FreeAndNil(FCodigoTipFacLista);
inherited;
end;
procedure TfrInformeTrimestral.ActualizarBotones;
begin
if BaseDatos.IsReadOnly then
begin
actImprimir.Enabled := True;
Exit;
end;
if TablaFacturas.RecordCount = 0 then
begin
actImprimir.Enabled := False;
end
else begin
actImprimir.Enabled := True;
end;
end;
procedure TfrInformeTrimestral.actImprimirExecute(Sender: TObject);
begin
Contenido := TfrImprimirInformeTrimestral.Create(Self);
(Contenido as TfrImprimirInformeTrimestral).CodigoTrimestre := TablaTrimestres.FieldByName('CODIGO').AsString;
Contenido.Entidad := Entidad;
Contenido.Modo := Imprimir;
end;
procedure TfrInformeTrimestral.actAceptarExecute(Sender: TObject);
begin
CloseFrame;
end;
procedure TfrInformeTrimestral.gridFacturasDBTableView1CustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
var
IndiceCol : Integer;
begin
if not AViewInfo.Selected then
begin
IndiceCol := (Sender as TcxGridDBTableView).GetColumnByFieldName('CLASEFACTURA').Index;
if UpperCase(AViewInfo.GridRecord.DisplayTexts[IndiceCol]) = CTE_CF_ABONO then
ACanvas.Canvas.Font.Color := $000000CC;
if (TablaFacturas.FieldByName('SITUACIONTRIMESTRE').AsString = CTE_CERRADO) then
ACanvas.Canvas.Font.Color := clGray;
end;
end;
function TfrInformeTrimestral.CambiarEntidad(EntidadAnterior, Entidad: TRdxEntidad): Boolean;
begin
Result := inherited CambiarEntidad(EntidadAnterior, Entidad);
with TablaTrimestres do
begin
DisableControls;
Close;
Database := BaseDatos;
Transaction := Transaccion;
SelectSQL.Assign(dmTablaTrimestres.sqlConsultarGridTrimestres);
ParamByName('CODIGOEMPRESA').AsInteger := EmpresaActiva.Codigo;
Prepare;
Open;
EnableControls;
end;
with TablaFacturas do
begin
DisableControls;
Close;
Database := BaseDatos;
Transaction := Transaccion;
case Entidad of
entInformeTrimestralVentas : SelectSQL.Assign(dmTablaFacturasCliente.sqlConsultarGridFacturasTrimestre);
entInformeTrimestralCompras: SelectSQL.Assign(dmTablaFacturasProveedor.sqlConsultarGridFacturasTrimestre);
else
//LOG
end;
ParamByName('CODIGOEMPRESA').AsInteger := EmpresaActiva.Codigo;
Prepare;
Open;
EnableControls;
ActualizarBotones;
end;
case Entidad of
entInformeTrimestralVentas : begin
dmTablaFacturasCliente.InicializarTablaFacturas(@TablaFacturas);
dmTablaFacturasCliente.InicializarGridFacturasTrimestre(gridFacturas);
//Inicializamos lista de tipos de facturas
cbxTipos.Properties.Items := dmTablaFacturasCliente.DarTiposOpDesTrimestral(FCodigoTipFacLista);
cbxTipos.ItemIndex := 0;
end;
entInformeTrimestralCompras: begin
dmTablaFacturasProveedor.InicializarTablaFacturas(@TablaFacturas);
dmTablaFacturasProveedor.InicializarGridFacturasTrimestre(gridFacturas);
cbxTipos.Properties.Items := dmTablaFacturasProveedor.DarTiposOpDesTrimestral(FCodigoTipFacLista);
cbxTipos.ItemIndex := 0;
end;
else
//LOG
end;
//Expandimos la lista
tlTrimestres.FullExpand;
TablaTrimestres.Locate('CODIGO', EmpresaActiva.CodigoTrimestre, []);
//Colocamos el puntero en el primer registro
gridFacturasDBTableView1.Controller.GoToFirst;
end;
function TfrInformeTrimestral.AsignarTrimestre(CodigoFactura, CodigoTrimestre: String) : Boolean;
begin
//Validamos
if (length(CodigoTrimestre) = 2) then
raise Exception.Create(msgTriCodigoErroneo);
case Entidad of
entInformeTrimestralVentas :
begin
if not dmTablaTrimestres.EstaTrimestreAbierto(CodigoTrimestre) then
raise Exception.Create(msgTriCerrado);
if not dmTablaFacturasCliente.ComprobarTrimestreFactura(CodigoFactura) then
raise Exception.Create(msgTriFacTriCer);
end;
entInformeTrimestralCompras:
begin
if not dmTablaTrimestres.EstaTrimestreAbierto(CodigoTrimestre) then
raise Exception.Create(msgTriCerrado);
if not dmTablaFacturasProveedor.ComprobarTrimestreFactura(CodigoFactura) then
raise Exception.Create(msgTriFacTriCer);
end;
end;
//Realizamos la operacion
if (Entidad = entInformeTrimestralVentas) then
Result := dmTablaFacturasCliente.AsignarTrimestre(CodigoFactura, CodigoTrimestre)
else if (Entidad = entInformeTrimestralCompras) then
Result := dmTablaFacturasProveedor.AsignarTrimestre(CodigoFactura, CodigoTrimestre)
end;
procedure TfrInformeTrimestral.actAsignarTriExecute(Sender: TObject);
var
iCounter: integer;
Index: integer;
Columna : TcxGridDBColumn;
begin
fAsignarTrimestre := TfAsignarTrimestre.Create(Self);
try
fAsignarTrimestre.ShowModal;
if fAsignarTrimestre.ModalResult = mrOK then
begin
Columna := gridFacturasDBTableView1.GetColumnByFieldName('CODIGO');
try
for iCounter := 0 to gridFacturasDBTableView1.ViewData.DataController.GetSelectedCount - 1 do
begin
Index := gridFacturasDBTableView1.ViewData.DataController.GetSelectedRowIndex(iCounter);
FCodigoFactura := gridFacturasDBTableView1.ViewData.Records[Index].Values[Columna.Index];
if not EsCadenaVacia(FCodigoFactura) then
AsignarTrimestre(FCodigoFactura, fAsignarTrimestre.CodigoTrimestre)
end;
except
Rollback;
raise;
end;
end;
finally
fAsignarTrimestre.Free
end;
AplicarFiltro;
Refrescar;
end;
procedure TfrInformeTrimestral.RdxFrameInformeTrimestralShow(Sender: TObject);
begin
FArrastrando := False;
gridFacturas.SetFocus;
end;
procedure TfrInformeTrimestral.AplicarFiltro;
var
lsCodigoTrimestre : String;
begin
lsCodigoTrimestre := TablaTrimestres.FieldByName('CODIGO').AsString;
//Filtro de año
if (Length(lsCodigoTrimestre) = 2) then
begin
lsCodigoTrimestre := lsCodigoTrimestre + '%';
with gridFacturas.ActiveView.DataController.Filter do
begin
BeginUpdate;
try
Root.Clear;
Root.AddItem((gridFacturas.ActiveView as TcxGridDBTableView).GetColumnByFieldName('CODIGOTRIMESTRE'), foLike, lsCodigoTrimestre, 'Trimestre');
Active := True;
finally
EndUpdate;
end;
end;
end
else //Filtro de trimestre
begin
with gridFacturas.ActiveView.DataController.Filter do
begin
BeginUpdate;
try
Root.Clear;
Root.AddItem((gridFacturas.ActiveView as TcxGridDBTableView).GetColumnByFieldName('CODIGOTRIMESTRE'), foEqual, lsCodigoTrimestre, 'Trimestre');
Active := True;
finally
EndUpdate;
end;
end;
end;
if not VarIsNull(FCodigoTipFac) then
begin
with gridFacturas.ActiveView.DataController.Filter do
begin
BeginUpdate;
try
if AnsiPos('>',FCodigoTipFac) <> 0 then
Root.AddItem((gridFacturas.ActiveView as TcxGridDBTableView).GetColumnByFieldName('TIPOFACTURA'), foGreater, AnsiRightStr(FCodigoTipFac, length(FCodigoTipFac)-1), 'Tipo factura')
else if AnsiPos('<',FCodigoTipFac) <> 0 then
Root.AddItem((gridFacturas.ActiveView as TcxGridDBTableView).GetColumnByFieldName('TIPOFACTURA'), foLess, AnsiRightStr(FCodigoTipFac, length(FCodigoTipFac)-1), 'Tipo factura')
else
Root.AddItem((gridFacturas.ActiveView as TcxGridDBTableView).GetColumnByFieldName('TIPOFACTURA'), foEqual, FCodigoTipFac, 'Tipo factura');
Active := True;
finally
EndUpdate;
end;
end;
end;
//Posicionamos en el primer registro
gridFacturasDBTableView1.Controller.GoToFirst;
end;
procedure TfrInformeTrimestral.gridFacturasDBTableView1MouseDown(
Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,
Y: Integer);
begin
if Button = mbLeft then
begin
with TcxGridSite(Sender) do
begin
if ViewInfo.GetHitTest(X, Y).HitTestCode = htCell then
FCodigoFactura := TablaFacturas.FieldByName('CODIGO').AsString;
end;
end;
end;
procedure TfrInformeTrimestral.Refrescar;
var
BookmarkAux : String;
begin
tlTrimestres.BeginUpdate;
try
with TablaTrimestres do
begin
BookmarkAux := Bookmark;
DisableControls;
Close;
Open;
Bookmark := BookmarkAux;
EnableControls;
end;
with TablaFacturas do
begin
DisableControls;
Close;
Open;
EnableControls;
end;
dmTablaFacturasCliente.InicializarTablaFacturas(@TablaFacturas);
//Colocamos el puntero en el primer registro
gridFacturasDBTableView1.Controller.GoToFirst;
finally
tlTrimestres.FullRefresh;
tlTrimestres.EndUpdate;
//Expandimos la lista
tlTrimestres.FullExpand;
end;
end;
procedure TfrInformeTrimestral.gridFacturasDBTableView1DblClick(
Sender: TObject);
begin
if Entidad = entInformeTrimestralVentas then
begin
Contenido := TfrFacturaCliente.Create(Self);
(Contenido as TfrFacturaCliente).CodigoFactura := FCodigoFactura;
Contenido.Modo := Consultar;
end;
if Entidad = entInformeTrimestralCompras then
begin
Contenido := TfrFacturaProveedor.Create(Self);
(Contenido as TfrFacturaProveedor).CodigoFactura := FCodigoFactura;
Contenido.Modo := Consultar;
end;
end;
procedure TfrInformeTrimestral.tlTrimestresGetLevelColor(Sender: TObject;
ALevel: Integer; var AColor: TColor);
begin
if ALevel = 0 then
AColor := $0093CAB1;
end;
procedure TfrInformeTrimestral.actAbrirTrimestreUpdate(Sender: TObject);
begin
if (UpperCase(TablaTrimestres.FieldByName('SITUACION').AsString) = CTE_CERRADO) and
(Length(TablaTrimestres.FieldByName('CODIGO').AsString) > 2) then
(Sender as TAction).Enabled := True
else
(Sender as TAction).Enabled := False;
end;
procedure TfrInformeTrimestral.actAbrirTrimestreExecute(Sender: TObject);
begin
dmTablaTrimestres.AbrirTrimestre(TablaTrimestres.FieldByName('CODIGO').AsString);
Commit;
Refrescar;
end;
procedure TfrInformeTrimestral.actCerrarTrimestreUpdate(Sender: TObject);
begin
if (UpperCase(TablaTrimestres.FieldByName('SITUACION').AsString) = CTE_ABIERTO) and
(Length(TablaTrimestres.FieldByName('CODIGO').AsString) > 2) then
(Sender as TAction).Enabled := True
else
(Sender as TAction).Enabled := False;
end;
procedure TfrInformeTrimestral.actCerrarTrimestreExecute(Sender: TObject);
begin
if (EmpresaActiva.CodigoTrimestre = TablaTrimestres.FieldByName('CODIGO').AsString) then
verMensaje(msgTriCerrarPredeterminado)
else
begin
dmTablaTrimestres.CerrarTrimestre(TablaTrimestres.FieldByName('CODIGO').AsString);
Commit;
Refrescar;
end;
end;
procedure TfrInformeTrimestral.gridFacturasDBTableView1StartDrag(
Sender: TObject; var DragObject: TDragObject);
begin
FArrastrando := True;
FTriInicioArrastre := tlTrimestres.Columns[0].DataBinding.Field.AsString;
end;
procedure TfrInformeTrimestral.gridFacturasDBTableView1EndDrag(Sender,
Target: TObject; X, Y: Integer);
begin
FArrastrando := False;
FTriInicioArrastre := '';
end;
procedure TfrInformeTrimestral.tlTrimestresEndDrag(Sender, Target: TObject;
X, Y: Integer);
begin
FArrastrando := False;
FTriInicioArrastre := '';
end;
procedure TfrInformeTrimestral.actAsignarTriUpdate(Sender: TObject);
begin
if (Length(TablaTrimestres.FieldByName('CODIGO').AsString) > 2) then
(Sender as TAction).Enabled := True
else
(Sender as TAction).Enabled := False;
end;
procedure TfrInformeTrimestral.cbxTiposPropertiesChange(Sender: TObject);
var
Index : Integer;
begin
Index := (Sender as TcxComboBox).Properties.Items.Count - FCodigoTipFacLista.Count;
Index := (Sender as TcxComboBox).ItemIndex - Index;
//Casos especiales
if (Index < 0) then
case (Sender as TcxComboBox).ItemIndex of
0: CodigoTipFac := Null;
1: CodigoTipFac := '<50';
2: CodigoTipFac := '>49';
end
//Filtro normal
else CodigoTipFac := FCodigoTipFacLista[Index];
end;
procedure TfrInformeTrimestral.setCodigoTipFac(const Value: variant);
begin
FCodigoTipFac := Value;
AplicarFiltro;
end;
procedure TfrInformeTrimestral.tlTrimestresGetNodeImageIndex(
Sender: TObject; ANode: TcxTreeListNode;
AIndexType: TcxTreeListImageIndexType; var AIndex: TImageIndex);
begin
case ANode.Level of
0 : if ANode.Values[3] = CTE_CERRADO then
AIndex := 3
else
AIndex := 2;
1 : if ANode.Values[3] = CTE_CERRADO then
AIndex := 1
else
AIndex := 0;
end;
end;
procedure TfrInformeTrimestral.tlTrimestresCustomDrawCell(Sender: TObject;
ACanvas: TcxCanvas; AViewInfo: TcxTreeListEditCellViewInfo;
var ADone: Boolean);
begin
if AViewInfo.Node.Level = 0 then
ACanvas.Font.Style := [fsBold];
if AViewInfo.Node.Texts[3] = CTE_CERRADO then
ACanvas.Font.Color := clGray;
if AViewInfo.Node.Selected then
ACanvas.Font.Style := [fsBold];
end;
procedure TfrInformeTrimestral.tlTrimestresFocusedNodeChanged(
Sender: TObject; APrevFocusedNode, AFocusedNode: TcxTreeListNode);
begin
if not FArrastrando then
AplicarFiltro;
end;
procedure TfrInformeTrimestral.tlTrimestresDragOver(Sender,
Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
begin
Accept := False;
with TcxGridSite(TDragControlObject(Source).Control) do
begin
if (GridView = gridFacturasDBTableView1) and Assigned(tlTrimestres.HitTest.HitNode) then
Accept := (tlTrimestres.HitTest.HitNode.Texts[3] = CTE_ABIERTO);
end;
end;
procedure TfrInformeTrimestral.tlTrimestresDragDrop(Sender,
Source: TObject; X, Y: Integer);
var
lsCodigoTrimestre : String;
AGridView: TcxGridDBTableView;
iCounter: integer;
Index: integer;
Columna : TcxGridDBColumn;
FNodo: TcxTreeListNode;
begin
lsCodigoTrimestre := tlTrimestres.HitTest.HitNode.Texts[0];
if not (Source is TcxDragControlObject) then
Exit;
AGridView := GetDragSourceGridView(Source) as TcxGridDBTableView;
if AGridView = nil then
Exit;
Columna := AGridView.GetColumnByFieldName('CODIGO');
try
for iCounter := 0 to AGridView.ViewData.DataController.GetSelectedCount - 1 do
begin
Index := AGridView.ViewData.DataController.GetSelectedRowIndex(iCounter);
FCodigoFactura := AGridView.ViewData.Records[Index].Values[Columna.Index];
if not EsCadenaVacia(FCodigoFactura) then
AsignarTrimestre(FCodigoFactura, lsCodigoTrimestre)
end;
except
Rollback;
raise;
end;
FNodo := tlTrimestres.FindNodeByKeyValue(FTriInicioArrastre, tlTrimestres.Columns[2]);
if FNodo <> NIL then
FNodo.Focused := True;
AplicarFiltro;
Refrescar;
end;
procedure TfrInformeTrimestral.actCambioTrimestreExecute(Sender: TObject);
var
fTrimestrePredeterminado : TfTrimestrePredeterminado;
begin
fTrimestrePredeterminado := TfTrimestrePredeterminado.Create(Self);
fTrimestrePredeterminado.Entidad := entInformes;
try
fTrimestrePredeterminado.ShowModal;
finally
fTrimestrePredeterminado.Free;
end;
end;
end.