PDA

Ver la Versión Completa : Como verificar la correlativad de documentos


oscarac
20-04-2019, 02:23:53
tengo una relacion de facturas


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

mamcx
20-04-2019, 02:46:46
No entiendo que te enrueda?

Ordenas todo, particionas por F... y haces lo que dices de ir sumando...

oscarac
20-04-2019, 03:08:06
al parecer no explique bien el problema,
existen diferentes tipos de documento (F,B,T)

pero ya lo soluciones de esta manera

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;

Casimiro Notevi
20-04-2019, 10:31:28
Tampoco he entendido el problema :(

Javierus
21-04-2019, 16:53:04
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)

Casimiro Notevi
21-04-2019, 19:33:41
Sí, eso está claro, lo que no he entendido es cuál problema tiene para no tener los documentos correlativos.

oscarac
21-04-2019, 21:38:54
el problema es que en el sistema, el usuario mismo puede elegir la numeracion y en algunos casos se puede confundir, es por eso que posteriormente se ejecuta un proceso de verificacion

en realidad la numeracion no se deberia cambiar, pero con los usuarios finales nunca se sabe

Casimiro Notevi
21-04-2019, 21:41:34
¿Y por qué pueden elegir ellos el número?

Javierus
21-04-2019, 21:59:39
¿Y por qué pueden elegir ellos el número?

A veces hace falta. Por ejemplo, porque hay usuarios que así lo quieren, dejando de lado la fiscalidad y yendo a la vida real.
Y el que paga manda.

Casimiro Notevi
22-04-2019, 00:53:37
Ya sé qué puede ocurrir eso, pero para evitar esos problemas, desde hace años es raro que encuentres un software que lo permita, no ya porque sea ilegal, sino incluso porque no tiene ninguna lógica. Y, sí, también sé lo que me vas a decir en relación a la "lógica" y los motivos por los que a veces se permite esto :)

De todas formas,habría que conocer exactamente cómo será el tema legalmente en Perú, país de oscarac.

oscarac
22-04-2019, 01:23:13
ya se esta hablando de facturacion electronica en Perú
y mientras no se declare la factura a la entidad supervisora (SUNAT) pues, es un papel cualquiera con informacion nada mas.

Casimiro Notevi
22-04-2019, 09:33:39
... es un papel cualquiera con informacion nada mas. Entonces no hay preocupación ;)