TTfvsCatalogoImportarForm

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

Descripción

El objeto TTfvsCatalogoImportarForm (Importar catálogo) permite importar transacciones de catálogo originadas con TTfvsCatalogoExportarForm.

La pantalla es:

Importar catálogo.

En el form tenemos que indicar:

  • Desde qué carpeta queremos importar los archivos con las transacciones, debe ser la misma carpeta a la que fueron exportados. En este caso la carpeta es C:\pragmaclient\Devlog.
  • El campo Evaluación indicará cuántas transacciones hay para importar, cosa que ocurrirá cuando presionemos el botón Importar.
  • Cuando presionemos el botón Aplicar se aplicarán los cambios a la base de datos.

Debe quedar claro que el importar las transacciones no las aplica a la base de datos, solo las guarda para que sean aplicadas posteriormente.

Este formulario mostrará otro con un detalle de las transacciones que se están aplicando.

Identidad

  • Ancestro: TfvsForm
  • Carpeta: C:\DevelopPrx\explorer
  • Archivo: fvsCatalogoImportarForm.pas

Declaración

const
  fvs_caption_importar = 'Importar';
  fvs_caption_aplicar = 'Aplicar';

type
  TTfvsCatalogoImportarForm = class(TTfvsForm)
    StatusBar1: TStatusBar;
    PageControl1: TPageControl;
    TabSheet_Importacion: TTabSheet;
    Panel1: TPanel;
    Bevel1: TBevel;
    Panel_GUARDAR: TPanel;
    Panel5: TPanel;
    Panel6: TPanel;
    ProgressBar_GUARDAR: TProgressBar;
    Panel_APLICAR: TPanel;
    Button_APLICAR: TButton;
    Panel2: TPanel;
    Panel3: TPanel;
    Panel7: TPanel;
    Edit_SeleccionarCarpeta: TEdit;
    Panel4: TPanel;
    Button_SeleccionarCarpeta: TButton;
    Panel10: TPanel;
    Panel11: TPanel;
    Panel12: TPanel;
    ProgressBar_Evaluacion: TProgressBar;
    Panel13: TPanel;
    Button_IMPORTAR: TButton;
    TabSheet_Catálogos: TTabSheet;
    Panel8: TPanel;
    Memo_Catalogos: TMemo;
    SpeedButton_PENDIENTES_APLICACION: TprxSpeedButton;
    procedure FormShow(Sender: TObject); //override;
    procedure Button_SeleccionarCarpetaClick(Sender: TObject); //override;
    procedure Button_IMPORTARClick(Sender: TObject);
    procedure Button_APLICARClick(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Edit_SeleccionarCarpetaChange(Sender: TObject);
    procedure SpeedButton_PENDIENTES_APLICACIONClick(Sender: TObject);
  private
    FQueryLista: TprxADOQuery;
    Fdevlog_component: Tfva_dropbox_bandeja_devlog;
    Fguardando_flag: Boolean;
    Faplicando_flag: Boolean;
    FFolderName: String;
    FFolderNameOk: Boolean;
    FRecordCount_Importar: Integer;
    FRecordCount_Aplicar: Integer;
    FRefreshing: Boolean;
    FListaIdentificadores: TStringList;
  protected
    procedure   SetFolderNameOk(aValue: Boolean);
    procedure   SetRecordCount_Importar(aValue: Integer);
    procedure   SetRecordCount_Aplicar(aValue: Integer);

    procedure   show_progress(a_bar: TProgressBar; a_index: Integer; a_count: Integer);

    function    BuscarIdentificadoresEnCarpeta: Integer;

    property    devlog_component: Tfva_dropbox_bandeja_devlog read Fdevlog_component write Fdevlog_component;
    property    guardando_flag: Boolean read Fguardando_flag write Fguardando_flag;
    property    aplicando_flag: Boolean read Faplicando_flag write Faplicando_flag;
    property    FolderName: String read FFolderName write FFolderName;
    property    FolderNameOk: Boolean read FFolderNameOk write SetFolderNameOk;
    property    RecordCount_Importar: Integer read FRecordCount_Importar write SetRecordCount_Importar;
    property    RecordCount_Aplicar: Integer read FRecordCount_Aplicar write SetRecordCount_Aplicar;
    property    QueryLista: TprxADOQuery read FQueryLista write FQueryLista;
    property    ListaIdentificadores: TStringList read FListaIdentificadores write FListaIdentificadores;
    property    Refreshing: Boolean read FRefreshing write FRefreshing;
  public
  end;

Implementación

function BuscarIdentificadoresEnCarpeta: Integer

Dada la carpeta carga la lista de archivos y arma una lista con aquellos que no existen en la BD, la carga de archivos se hace por catálogo y de esa manera se informa el progreso.

procedure Button_IMPORTARClick(Sender: TObject)

Importa los archivos generados en el paso anterior y los guarda en:

Usando:

if devlog_component.SaveToDevlog(False) then
   ;

procedure Button_APLICARClick(Sender: TObject)

Aplica los cambios pendientes usando TTfvsCatalogoRefrescarForm.

procedure SpeedButton_PENDIENTES_APLICACIONClick(Sender: TObject)

Abre un form TTprxSelectFromGridForm y permite ver una lista de transacciones pendientes de aplicar, tiene dos consultas: una resumida y otra detallada.

Uso

Solo se usa desde TfvsClassCatalogos.menuCatalogoImportarClick.