Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-04-2019
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Como verificar la correlativad de documentos

tengo una relacion de facturas

Cita:
F001-0008
F002-0001
F002-0002
F002-0003
F002-0005
como podría implementar una rutina para determinar que falta la factura F002-0004

tengo algunas ideas de capturar el primer registro e ir verificando (Sumando 1) después de la serie la numeración, pero me estoy enredando un poco.

ahora en la primera factura que aparece F001-0008, no hay cambios ni errores pq la siguiente es la serie F002

alguien tiene una rutina semejante
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #2  
Antiguo 20-04-2019
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
No entiendo que te enrueda?

Ordenas todo, particionas por F... y haces lo que dices de ir sumando...
__________________
El malabarista.
Responder Con Cita
  #3  
Antiguo 20-04-2019
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
al parecer no explique bien el problema,
existen diferentes tipos de documento (F,B,T)

pero ya lo soluciones de esta manera

Código Delphi [-]
  SqlStr := 'Select TDC, DOC ' +
            'From TblFacturasC ' +
            'Where Empresa = ' + QuotedStr(dmGlobal.g_CodigoEmpresa) +
            ' and Periodo = ' + QuotedStr(dmGlobal.g_Periodo) +
            ' order by TDC, DOC' ;

  CdsCorrelativoVenta.EmptyDataSet;
  CdsCorrelativoVenta.Open;
  qryVerCorrelativoVenta.Close;
  qryVerCorrelativoVenta.SQL.Clear;
  qryVerCorrelativoVenta.SQL.Add(SqlStr);
  qryVerCorrelativoVenta.Open;
  qryVerCorrelativoVenta.First;
  ProgressBarXls.Max := qryVerCorrelativoVenta.RecordCount;
  ProgressBarXls.Position := 0;
  ProgressBarXls.Visible := True;
  _TDC := qryVerCorrelativoVentaTDC.AsString;
  _DOC := qryVerCorrelativoVentaDOC.AsString;
  qryVerCorrelativoVenta.Next;
  While not qryVerCorrelativoVenta.eof Do
  Begin
    Application.ProcessMessages;
    if Izquierda(_DOC, Pos('-', _DOC)) <> Izquierda(qryVerCorrelativoVentaDOC.AsString, pos ('-', qryVerCorrelativoVentaDOC.AsString)) then
    Begin
      _TDC := qryVerCorrelativoVentaTDC.AsString;
      _DOC := qryVerCorrelativoVentaDOC.AsString;
    End
    Else
    if StrToInt(Desde(_DOC, Pos('-', _DOC)+1)) + 1 <> StrToInt(Desde(qryVerCorrelativoVentaDOC.AsString, Pos('-', qryVerCorrelativoVentaDOC.AsString)+1)) then
    begin
      x_DOC := StrToInt(Desde(_DOC, Pos('-', _DOC)+1)) + 1;
      while StrToInt(Desde(qryVerCorrelativoVentaDOC.AsString, Pos('-', qryVerCorrelativoVentaDOC.AsString)+1)) > x_DOC do
      begin
        CdsCorrelativoVenta.Append;
        CdsCorrelativoVentaTDC.AsString := _TDC;
        CdsCorrelativoVentaDOC.AsString := IntToStr(x_DOC);
        CdsCorrelativoVenta.Post;
        Inc(x_DOC);
      end;
      _DOC := qryVerCorrelativoVentaDOC.AsString;
    end
    else
    begin
      _TDC := qryVerCorrelativoVentaTDC.AsString;
      _DOC := qryVerCorrelativoVentaDOC.AsString;
    end;
    qryVerCorrelativoVenta.Next;
    ProgressBarXls.Position := ProgressBarXls.Position + 1;
  End;
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #4  
Antiguo 20-04-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Tampoco he entendido el problema
Responder Con Cita
  #5  
Antiguo 21-04-2019
Javierus Javierus is offline
Miembro
 
Registrado: jun 2017
Posts: 88
Poder: 7
Javierus Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Tampoco he entendido el problema
Ver si la relación de facturas emitidas está bien o hay huecos( que van a suponer un problema fiscal)
Responder Con Cita
  #6  
Antiguo 21-04-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Sí, eso está claro, lo que no he entendido es cuál problema tiene para no tener los documentos correlativos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿Cómo verificar que 2 imagenes son iguales o distintas? deliriun Gráficos 11 28-09-2015 20:20:34
¿Cómo verificar clave ingresada por usuario? titooo MS SQL Server 9 24-04-2013 17:07:28
Como verificar si un e-mail existe? pnsd_89 Internet 2 19-07-2011 18:35:26
como verificar el cambio de estado o valor de una variable gonza_619 Varios 7 06-09-2010 20:48:41
Como verificar si un txt existe? danytorres Varios 1 02-12-2003 15:51:20


La franja horaria es GMT +2. Ahora son las 12:26:44.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi