Framework Guia Formulario Maestro

Guia para crear un formulario Maestro con uniGui / Zendevp

BD
Tipos de datos
Llave Primaria
Llaves unicas
Llaves foraneas
Triggers
UniDac
Clausulas sql
generadores

Configuración de Campos uniDac

Para que más adelante los uniDBGrid tomen por defecto los nombres de las columnnas corregidos se deben configurar inicialmente en los uniQuery, para ello, picar botón derecho sobre el uniQuery > Fields Editor y modificar según se necesite las propiedades:

DisplayLabel
ReadOnly
Requeired
Visible

Configurar para datos Fecha (TDateField)

DisplayFormat > dd/mm/yyy
EditMask > !99/99/0000;1;_

Configurar para datos Hora (TTimeField)

DisplayFormat > HH:MM
EditMask > !90:00;1;_

Configurar para datos Numéricos (TFloatField, TBCDField, TCurerncyField)

DisplayFormat > ###,#####0.##

Campos calculados motor

Creación del formulario
File > New > Other > uniGui for Delphi > Inheritable Items

Seleccionar FrmEstandar
Conexion datos

Formulario Integracion del formulario al proyecto

El formulario debe registrarse en el formulario Main

uses
  ...
  Frm_NuevoFormulario;
  ...
procedure TMainForm.NavTreeClick(Sender: TObject);
  ...
  InsertFrameTab('TFrmNuevoFormulario',  'Nuevo Formulario');
  ...
initialization
  RegisterClasses([
                  ...
                  TFrmNuevoFormulario
                 ]);

Importante: El nombre del objeto en el InsertFrameTab debe ser exatamente igual al nombre de la clase registrada, de no ser así, la posición del formulario no cambiará y al salir del formulario el frame no se cerrará.

Prueba en modo listado

Generador de código
Generar objetos de datos por generador
Agegar campos del generador al formulario
Campos especiales
configurar /prueba campos tipo lista
configurar /prueba campos tipo búsqueda
configurar /prueba campos tipo checkbox

Configuración de Campos en la uniTabSheetMaestraEdicion

Configurar objetos TUniDBEdit en mayúsculas / minúsculas / normal

Charcase > ecUpperCase
Charcase > ecLowerCase
Charcase > ecNormal

Configurar objetos TUniDBComboBox para manejar una lista no modificable

Style > csDropDownList;  

Configuración de Campos uniDBGrid

Si no se ha configurado previamente las propiedades de los campos de los componentes uniQuery, debe modificarse manualmente la propiedad

Title > Caption

Para que los títulos queden en minúsculas, originalmente el framework hacía la conversión en tiempo de ejecución pero se suspendió debido a la sobrecarga que genera para una aplicación web.

Pruebas
Verificar navegacion / navegacion fitlrado
Consultas
Infomres

menos lineas de codiog > menos errores next.js

procedure TDMGeneral.IndicesDocumentalesDOC_INDICEChange(Sender: TField); var cadena: string; begin //Elimina espacios en blanco porque este campo corresponde al nombre que tendrá //la tabla cadena := StringReplace(Sender.AsString, ' ‘, ‘’, [rfReplaceAll]); if cadena <> Sender.AsString then begin Sender.AsString := cadena; end; //Pasa a mayusculas el valor para el campo if not Sender.IsNull then if UpperCase(Sender.Value) <> Sender.Value then Sender.Value := UpperCase(Sender.Value); end;

Objetos con eventos ExtJS uniPageControlMaestra uniTabSheetMaestraEdicion uniTabSheetMaestraListado
uniDBGridMaestro
uniTabSheetDetalle uniDBGridDetalle