Ver Mensaje Individual
  #16  
Antiguo 16-01-2008
Yun-i Yun-i is offline
Miembro
 
Registrado: ene 2008
Posts: 125
Reputación: 17
Yun-i Va por buen camino
todo el codigo

procedure TFFacturacionDirecta.FormCreate(Sender: TObject);
begin
New(Permiso);
Permiso:=FDMPrincipal.leerPermiso('FFACTURACIONMESA');
ADODSServ.Open;
ADODSClie.Open;
ADODSRfc.Open;
ADODSEven.Open;
end;
procedure TFFacturacionDirecta.actNuevoExecute(Sender: TObject);
begin
ADODSFact.Open;
ADODSDetaFact.Open;
ADODSFact.Last;
if ADODSFactNUM_FACTURA.IsNull then
intFactura:=1
else
intFactura:=ADODSFactNUM_FACTURA.Value+1;
try
ADODSFact.Append;
ADODSFact.Post;
ADODSFact.Edit
except
FDMPrincipal.capturarExcepcion;
end;
end;
procedure TFFacturacionDirecta.ADODSFactBeforeInsert(DataSet: TDataSet);
begin
if Permiso^.Insertar=False then
Raise Exception.Create('No Posee Privilegios Para Ingresar Registros En Este Módulo');
end;
procedure TFFacturacionDirecta.ADODSFactNewRecord(DataSet: TDataSet);
begin
intIDFactura:=FDMPrincipal.obtenerMaxID('ID_FACTURA','SIE_FACTURACIONMESA');
ADODSFactID_FACTURA.Value:=intIDFactura;
ADODSFactNUM_FACTURA.Value:=intFactura;
ADODSFactID_CLIENTE.Value:=0;
ADODSFactSUBTOTAL.Value:=0;
ADODSFactIVA.Value:=0;
ADODSFactTOTAL.Value:=0;
ADODSFactNUM_EVENTO.Value:=0;
ADODSFactFECHA_FACTURACION.Value:=Date;
ADODSFactTASA_IMPUESTO.Value:=currIVA;
end;
procedure TFFacturacionDirecta.ADODSFactID_CLIENTEValidate(Sender: TField);
begin
if not ADODSClie.Locate('ID_CLIENTE',ADODSFactID_CLIENTE.Value,[]) then
Raise Exception.Create('El cliente especificado no existe. Seleccione otro');
end;
procedure TFFacturacionDirecta.actBusqClieExecute(Sender: TObject);
begin
Application.CreateForm(TFRBusquedaCliente,FRBusquedaCliente);
if FRBusquedaCliente.ShowModal = mrOk then
begin
ADODSFact.Edit;
ADODSFactID_CLIENTE.Value:=FRBusquedaCliente.intCliente;
end;
FRBusquedaCliente.Free;
end;
procedure TFFacturacionDirecta.dbEdtClieKeyUp(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if Key=VK_F2 then
actBusqClie.Execute;
end;
procedure TFFacturacionDirecta.ADODSClieAfterScroll(DataSet: TDataSet);
begin
intCliente:=ADODSClieID_CLIENTE.Value;
ADODSRFC.Close;
ADODSRFC.Parameters.ParamByName('IDCLIE1').Value:=intCliente;
ADODSRFC.Parameters.ParamByName('IDCLIE2').Value:=intCliente;
ADODSRFC.Open;
DBCBoxRFC.KeyValue:=ADODSRFCRFC.Value;
end;
procedure TFFacturacionDirecta.actBusqEvenExecute(Sender: TObject);
begin
Application.CreateForm(TFRBusquedaEventos,FRBusquedaEventos);
if FRBusquedaEventos.ShowModal = mrOk then
begin
ADODSFact.Edit;
ADODSFactNUM_EVENTO.Value:=FRBusquedaEventos.intEvento;
end;
FRBusquedaEventos.Free;
end;
procedure TFFacturacionDirecta.ADODSFactNUM_EVENTOValidate(Sender: TField);
begin
if ADODSFactNUM_EVENTO.Value<>0 then
begin
if not ADODSEven.Locate('ID_EVENTO',ADODSFactNUM_EVENTO.Value,[]) then
Raise Exception.Create('El evento especificado no existe. Seleccione otro')
else
ADODSFactEVENTO.Value:=ADODSEvenCONCEPTO.Value;
end
else
ADODSFactEVENTO.Value:=EVENTO_DEFAULT;
end;
procedure TFFacturacionDirecta.dbEdtEvenKeyUp(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if Key=VK_F2 then
actBusqEven.Execute;
end;
procedure TFFacturacionDirecta.ADODSDetaFactNewRecord(DataSet: TDataSet);
begin
ADODSDetaFactID_EMPRESA.Value:=intEmpresa;
ADODSDetaFactID_USUARIO.Value:=intUsuario;
ADODSDetaFactID_FACTURA.Value:=intIDFactura;
ADODSDetaFactNUM_FACTURA.Value:=0;
ADODSDetaFactPER_DESCTO.Value:=0;
ADODSDetaFactDESCUENTO.Value:=0;
ADODSDetaFactFECHA_REGISTRO.Value:=Date;
ADODSDetaFactCANTIDAD.Value:=1;
end;
procedure TFFacturacionDirecta.actBusqServExecute(Sender: TObject);
begin
Application.CreateForm(TFRBusquedaServicios,FRBusquedaServicios);
if FRBusquedaServicios.ShowModal = mrOk then
begin
ADODSDetaFact.Edit;
ADODSDetaFactCLAVE_SERVICIO.Value:=FRBusquedaServicios.cveServicio;
end;
FRBusquedaServicios.Free;
end;
procedure TFFacturacionDirecta.ADODSDetaFactCLAVE_SERVICIOValidate(
Sender: TField);
begin
if not ADODSServ.Locate('CLAVE',ADODSDetaFactCLAVE_SERVICIO.Value,[]) then
Raise Exception.Create('El servicio especificado no existe. Seleccione otro')
else
begin
ADODSDetaFactPRECIO_VENTA.Value:=ADODSServPRECIO_VENTA.Value;
ADODSDetaFactID_SERVICIO.Value:=ADODSServID_SERVICIO.Value;
end;
end;

procedure TFFacturacionDirecta.dbGridDetaFactDblClick(Sender: TObject);
begin
if dbGridDetaFact.SelectedField.FieldName='CLAVE_SERVICIO' then
actBusqServ.Execute;
end;
procedure TFFacturacionDirecta.dbGridDetaFactKeyUp(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if KEY=VK_F2 then
begin
if dbGridDetaFact.SelectedField.FieldName='CLAVE_SERVICIO' then
actBusqServ.Execute;
end;
end;
procedure TFFacturacionDirecta.ADODSDetaFactCANTIDADValidate(
Sender: TField);
begin
if ADODSDetaFactCANTIDAD.Value<1 then
Raise Exception.Create('La cantidad del servicio debe ser mayor o igual a 1 (uno)');
end;
procedure TFFacturacionDirecta.ADODSDetaFactCANTIDAD_UNIDADValidate(
Sender: TField);
begin
if ADODSDetaFactCANTIDAD_UNIDAD.Value<1 then
Raise Exception.Create('El número de unidades debe ser mayor o igual a 1 (uno)');
end;
procedure TFFacturacionDirecta.dbGridDetaFactKeyPress(Sender: TObject;
var Key: Char);
begin
if dbGridDetaFact.SelectedField.FieldName='PRECIO_VENTA' then
begin
if bolModiPrecServicioMesa then
begin
if ADODSDetaFactMOD.Value=False then
key:=#0;
end
else
Key:=#0;
end;
end;
procedure TFFacturacionDirecta.ADODSDetaFactCalcFields(DataSet: TDataSet);
var
Sub:Currency;
begin
Sub:=ADODSDetaFactPRECIO_VENTA.Value*ADODSDetaFactCANTIDAD.Value*ADODSDetaFactCANTIDAD_UNIDAD.Value;
ADODSDetaFactIMPORTEC.Value:=Sub;
end;
procedure TFFacturacionDirecta.ADODSDetaFactBeforePost(DataSet: TDataSet);
begin
if ADODSDetaFactID_SERVICIO.IsNull then
begin
Raise Exception.Create('Especifíque la Clave del Producto');
Exit;
end;
ADODSDetaFactIMPORTE.Value:=ADODSDetaFactIMPORTEC.AsCurrency;
end;
end.
Responder Con Cita